From c5beadf1fca501afad32579f643eb8e6a46b11b1 Mon Sep 17 00:00:00 2001 From: Jason Cheatham Date: Mon, 12 Jul 2021 10:01:45 -0400 Subject: [PATCH] Update dependencies, bump version number --- .eslintrc.json | 15 + docs/api.json | 44715 +++++++++----------------- package-lock.json | 10741 +++++-- package.json | 41 +- src/BrowserStackTunnel.ts | 53 +- src/CrossBrowserTestingTunnel.ts | 64 +- src/SauceLabsTunnel.ts | 62 +- src/SeleniumTunnel.ts | 90 +- src/TestingBotTunnel.ts | 54 +- src/Tunnel.ts | 68 +- src/index.ts | 7 + src/lib/util.ts | 22 +- tests/integration/SeleniumTunnel.ts | 34 +- tslint.json | 1 - 14 files changed, 23649 insertions(+), 32318 deletions(-) create mode 100644 .eslintrc.json create mode 100644 src/index.ts delete mode 100644 tslint.json diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..5961c61 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,15 @@ +{ + "extends": "./node_modules/@theintern/dev/eslint.config.js", + "rules": { + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/no-floating-promises": "off", + "@typescript-eslint/no-misused-promises": "off", + "@typescript-eslint/no-unnecessary-type-assertion": "off", + "@typescript-eslint/no-var-requires": "off", + "@typescript-eslint/restrict-plus-operands": "off", + "@typescript-eslint/restrict-template-expressions": "off", + "no-empty": "off", + "prefer-const": "off" + } +} diff --git a/docs/api.json b/docs/api.json index 32ef1f9..f313aab 100644 --- a/docs/api.json +++ b/docs/api.json @@ -2,355 +2,560 @@ "id": 0, "name": "@theintern/digdug", "kind": 0, + "kindString": "Project", "flags": {}, + "originalName": "", "children": [ { - "id": 213, - "name": "\"BrowserStackTunnel\"", - "kind": 1, - "kindString": "External module", - "flags": { - "isExported": true + "id": 1, + "name": "BrowserStackTunnel", + "kind": 128, + "kindString": "Class", + "flags": {}, + "comment": { + "shortText": "A BrowserStack tunnel.", + "text": "The accessKey and username properties will be initialized using\nBROWSERSTACK_ACCESS_KEY and BROWSERSTACK_USERNAME.\n" }, - "originalName": "src/BrowserStackTunnel.ts", "children": [ { - "id": 214, - "name": "BrowserStackTunnel", - "kind": 128, - "kindString": "Class", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A BrowserStack tunnel.", - "text": "The accessKey and username properties will be initialized using\nBROWSERSTACK_ACCESS_KEY and BROWSERSTACK_USERNAME.\n" - }, - "typeParameter": [ + "id": 2, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ { - "id": 302, - "name": "O", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } + "fileName": "src/BrowserStackTunnel.ts", + "line": 57, + "character": 2 } ], - "children": [ + "signatures": [ { - "id": 221, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": { - "isExported": true - }, - "signatures": [ + "id": 3, + "name": "new BrowserStackTunnel", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ { - "id": 222, - "name": "new BrowserStackTunnel", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 223, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "BrowserStackOptions", - "id": 347 - } - } - ], - "type": { - "type": "reference", - "name": "BrowserStackTunnel", - "id": 214 + "id": 4, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true }, - "overwrites": { + "type": { "type": "reference", - "name": "Tunnel.__constructor", - "id": 59 + "typeArguments": [ + { + "type": "reference", + "name": "BrowserStackProperties" + } + ], + "name": "Partial" } } ], - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 53, - "character": 23 - } - ], + "type": { + "type": "reference", + "id": 1, + "name": "default" + }, "overwrites": { "type": "reference", - "name": "Tunnel.__constructor", - "id": 59 + "id": 664, + "name": "Tunnel.constructor" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 663, + "name": "Tunnel.constructor" + } + }, + { + "id": 89, + "name": "__typeMap__", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isExternal": true, + "isOptional": true + }, + "sources": [ { - "id": 303, - "name": "__typeMap__", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true, - "isOptional": true + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 3, + "character": 14 + } + ], + "type": { + "type": "reference", + "name": "TunnelEvents" + }, + "inheritedFrom": { + "type": "reference", + "id": 742, + "name": "Tunnel.__typeMap__" + } + }, + { + "id": 53, + "name": "_handle", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 128, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 3, - "character": 25 - } - ], - "type": { + { "type": "reference", - "name": "M" + "name": "Handle" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 685, + "name": "Tunnel._handle" + } + }, + { + "id": 54, + "name": "_process", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 129, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "inheritedFrom": { + { "type": "reference", - "name": "Evented.__typeMap__" + "name": "ChildProcess" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 686, + "name": "Tunnel._process" + } + }, + { + "id": 51, + "name": "_startTask", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 266, - "name": "_handle", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 126, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 126, - "character": 19 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Handle" - }, + { + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "undefined" + "name": "any" } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._handle", - "id": 56 + ], + "name": "CancellablePromise" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 683, + "name": "Tunnel._startTask" + } + }, + { + "id": 55, + "name": "_state", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 267, - "name": "_process", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 130, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "stopped" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 127, - "character": 20 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "ChildProcess" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] + { + "type": "literal", + "value": "starting" }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._process", - "id": 57 + { + "type": "literal", + "value": "running" + }, + { + "type": "literal", + "value": "stopping" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 687, + "name": "Tunnel._state" + } + }, + { + "id": 52, + "name": "_stopTask", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 264, - "name": "_startTask", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 127, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 124, - "character": 22 - } - ], - "type": { - "type": "union", - "types": [ + { + "type": "reference", + "typeArguments": [ { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, { "type": "intrinsic", - "name": "any" + "name": "void" } ] - }, - { - "type": "intrinsic", - "name": "undefined" } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._startTask", - "id": 54 + ], + "name": "Promise" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 684, + "name": "Tunnel._stopTask" + } + }, + { + "id": 38, + "name": "accessKey", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The tunnel access key. This will be initialized with a tunnel-specific\nenvironment variable if not specified." + }, + "sources": [ { - "id": 268, - "name": "_state", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 37, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 128, - "character": 18 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "stringLiteral", - "value": "stopped" - }, - { - "type": "stringLiteral", - "value": "starting" - }, - { - "type": "stringLiteral", - "value": "running" - }, - { - "type": "stringLiteral", - "value": "stopping" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._state", - "id": 58 + { + "type": "intrinsic", + "name": "string" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 667, + "name": "Tunnel.accessKey" + }, + "implementationOf": { + "type": "reference", + "name": "BrowserStackProperties.accessKey" + } + }, + { + "id": 40, + "name": "architecture", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The architecture the tunnel will run against. This information is\nautomatically retrieved for the current system at runtime." + }, + "sources": [ { - "id": 265, - "name": "_stopTask", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 125, - "character": 21 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "void" - } - ] - } - ] - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._stopTask", - "id": 55 - } - }, + "fileName": "src/Tunnel.ts", + "line": 49, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 669, + "name": "Tunnel.architecture" + }, + "implementationOf": { + "type": "reference", + "name": "BrowserStackProperties.architecture" + } + }, + { + "id": 5, + "name": "automateOnly", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Whether or not to start the tunnel with only WebDriver support. Setting\nthis value to `false` is not supported." + }, + "sources": [ { - "id": 251, - "name": "accessKey", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The tunnel access key. This will be initialized with a tunnel-specific\nenvironment variable if not specified." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 35, - "character": 11 - } - ], - "type": { + "fileName": "src/BrowserStackTunnel.ts", + "line": 28, + "character": 2 + } + ], + "type": { + "type": "literal", + "value": true + }, + "implementationOf": { + "type": "reference", + "name": "BrowserStackProperties.automateOnly" + } + }, + { + "id": 41, + "name": "directory", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The directory where the tunnel software will be extracted. If the\ndirectory does not exist, it will be created. This value is set by the\ntunnel subclasses." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 62, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 671, + "name": "Tunnel.directory" + }, + "implementationOf": { + "type": "reference", + "name": "BrowserStackProperties.directory" + } + }, + { + "id": 6, + "name": "environmentUrl", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a service that provides a list of environments supported by\nthe tunnel." + }, + "sources": [ + { + "fileName": "src/BrowserStackTunnel.ts", + "line": 34, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "overwrites": { + "type": "reference", + "id": 666, + "name": "Tunnel.environmentUrl" + }, + "implementationOf": { + "type": "reference", + "name": "BrowserStackProperties.environmentUrl" + } + }, + { + "id": 10, + "name": "forceLocal", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "If true, route all traffic via the local machine." + }, + "sources": [ + { + "fileName": "src/BrowserStackTunnel.ts", + "line": 55, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "implementationOf": { + "type": "reference", + "name": "BrowserStackProperties.forceLocal" + } + }, + { + "id": 42, + "name": "hostname", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The host on which a WebDriver client can access the service provided by\nthe tunnel. This may or may not be the host where the tunnel application\nis running." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 75, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 673, + "name": "Tunnel.hostname" + }, + "implementationOf": { + "type": "reference", + "name": "BrowserStackProperties.hostname" + } + }, + { + "id": 7, + "name": "killOtherTunnels", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "If true, any other tunnels running on the account will be killed when\nthe tunnel is started." + }, + "sources": [ + { + "fileName": "src/BrowserStackTunnel.ts", + "line": 40, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "implementationOf": { + "type": "reference", + "name": "BrowserStackProperties.killOtherTunnels" + } + }, + { + "id": 90, + "name": "listenersMap", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 4, + "character": 14 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { "type": "union", "types": [ { @@ -359,2500 +564,2679 @@ }, { "type": "intrinsic", - "name": "undefined" + "name": "number" } ] }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.accessKey", - "id": 38 - }, - "implementationOf": { - "type": "reference", - "name": "BrowserStackProperties.accessKey", - "id": 333 - } - }, - { - "id": 253, - "name": "architecture", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The architecture the tunnel will run against. This information is\nautomatically retrieved for the current system at runtime." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 47, - "character": 14 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.architecture", - "id": 40 - }, - "implementationOf": { - "type": "reference", - "name": "BrowserStackProperties.architecture", - "id": 331 - } - }, - { - "id": 215, - "name": "automateOnly", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not to start the tunnel with only WebDriver support. Setting\nthis value to `false` is not supported." - }, - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 26, - "character": 14 + { + "type": "array", + "elementType": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "EventObject" + } + ], + "name": "EventedCallback" } - ], - "type": { - "type": "intrinsic", - "name": "true" - }, - "implementationOf": { - "type": "reference", - "name": "BrowserStackProperties.automateOnly", - "id": 325 } - }, + ], + "name": "Map" + }, + "inheritedFrom": { + "type": "reference", + "id": 743, + "name": "Tunnel.listenersMap" + } + }, + { + "id": 43, + "name": "pathname", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The path that a WebDriver client should use to access the service\nprovided by the tunnel." + }, + "sources": [ { - "id": 254, - "name": "directory", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The directory where the tunnel software will be extracted. If the\ndirectory does not exist, it will be created. This value is set by the\ntunnel subclasses." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 60, - "character": 11 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.directory", - "id": 42 - }, - "implementationOf": { - "type": "reference", - "name": "BrowserStackProperties.directory", - "id": 344 - } - }, + "fileName": "src/Tunnel.ts", + "line": 81, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 674, + "name": "Tunnel.pathname" + }, + "implementationOf": { + "type": "reference", + "name": "BrowserStackProperties.pathname" + } + }, + { + "id": 44, + "name": "platform", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The operating system the tunnel will run on. This information is\nautomatically retrieved for the current system at runtime." + }, + "sources": [ { - "id": 216, - "name": "environmentUrl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL of a service that provides a list of environments supported by\nthe tunnel." + "fileName": "src/Tunnel.ts", + "line": 87, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 675, + "name": "Tunnel.platform" + }, + "implementationOf": { + "type": "reference", + "name": "BrowserStackProperties.platform" + } + }, + { + "id": 45, + "name": "port", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The local port where the WebDriver server should be exposed by the\ntunnel. This is typed as a string for Url compatibility, but should be a\nnumber." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 94, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 676, + "name": "Tunnel.port" + }, + "implementationOf": { + "type": "reference", + "name": "BrowserStackProperties.port" + } + }, + { + "id": 46, + "name": "protocol", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The protocol (e.g., 'http') that a WebDriver client should use to access\nthe service provided by the tunnel." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 100, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 677, + "name": "Tunnel.protocol" + }, + "implementationOf": { + "type": "reference", + "name": "BrowserStackProperties.protocol" + } + }, + { + "id": 47, + "name": "proxy", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 106, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 32, - "character": 16 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.environmentUrl", - "id": 37 - }, - "implementationOf": { - "type": "reference", - "name": "BrowserStackProperties.environmentUrl", - "id": 330 } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 678, + "name": "Tunnel.proxy" + }, + "implementationOf": { + "type": "reference", + "name": "BrowserStackProperties.proxy" + } + }, + { + "id": 8, + "name": "servers", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "A list of server URLs that should be proxied by the tunnel. Only the\nhostname, port, and protocol are used." + }, + "sources": [ { - "id": 220, - "name": "forceLocal", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "If true, route all traffic via the local machine." - }, - "sources": [ + "fileName": "src/BrowserStackTunnel.ts", + "line": 46, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, { - "fileName": "BrowserStackTunnel.ts", - "line": 53, - "character": 12 + "type": "reference", + "name": "Url" } - ], - "type": { + ] + } + }, + "implementationOf": { + "type": "reference", + "name": "BrowserStackProperties.servers" + } + }, + { + "id": 9, + "name": "skipServerValidation", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Skip verification that the proxied servers are online and responding at\nthe time the tunnel starts." + }, + "sources": [ + { + "fileName": "src/BrowserStackTunnel.ts", + "line": 52, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "implementationOf": { + "type": "reference", + "name": "BrowserStackProperties.skipServerValidation" + } + }, + { + "id": 49, + "name": "tunnelId", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "A unique identifier for the newly created tunnel." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 118, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { "type": "intrinsic", - "name": "boolean" + "name": "undefined" }, - "implementationOf": { - "type": "reference", - "name": "BrowserStackProperties.forceLocal", - "id": 329 + { + "type": "intrinsic", + "name": "string" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 680, + "name": "Tunnel.tunnelId" + }, + "implementationOf": { + "type": "reference", + "name": "BrowserStackProperties.tunnelId" + } + }, + { + "id": 48, + "name": "tunnelProxy", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used.", + "text": "This overrides the `proxy` configuration allowing independent\nconfiguration for the Tunnel binary process only.\n" + }, + "sources": [ { - "id": 255, - "name": "hostname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The host on which a WebDriver client can access the service provided by\nthe tunnel. This may or may not be the host where the tunnel application\nis running." + "fileName": "src/Tunnel.ts", + "line": 115, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 73, - "character": 10 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.hostname", - "id": 44 - }, - "implementationOf": { - "type": "reference", - "name": "BrowserStackProperties.hostname", - "id": 335 } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 679, + "name": "Tunnel.tunnelProxy" + }, + "implementationOf": { + "type": "reference", + "name": "BrowserStackProperties.tunnelProxy" + } + }, + { + "id": 39, + "name": "username", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The tunnel username. This will be initialized with a tunnel-specific\nenvironment variable if not specified." + }, + "sources": [ { - "id": 217, - "name": "killOtherTunnels", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "If true, any other tunnels running on the account will be killed when\nthe tunnel is started." - }, - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 38, - "character": 18 - } - ], - "type": { + "fileName": "src/Tunnel.ts", + "line": 43, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { "type": "intrinsic", - "name": "boolean" + "name": "undefined" }, - "implementationOf": { - "type": "reference", - "name": "BrowserStackProperties.killOtherTunnels", - "id": 326 + { + "type": "intrinsic", + "name": "string" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 668, + "name": "Tunnel.username" + }, + "implementationOf": { + "type": "reference", + "name": "BrowserStackProperties.username" + } + }, + { + "id": 50, + "name": "verbose", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Whether or not to tell the tunnel to provide verbose logging output." + }, + "sources": [ { - "id": 304, - "name": "listenersMap", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 4, - "character": 26 - } - ], - "type": { - "type": "reference", - "name": "Map", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - ] - }, - { - "type": "array", - "elementType": { - "type": "reference", - "name": "EventedCallback", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - ] - } - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.listenersMap" - } - }, + "fileName": "src/Tunnel.ts", + "line": 124, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "id": 682, + "name": "Tunnel.verbose" + }, + "implementationOf": { + "type": "reference", + "name": "BrowserStackProperties.verbose" + } + }, + { + "id": 11, + "name": "auth", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "An HTTP authorization string to use when initiating connections to the\ntunnel. This value of this property is defined by Tunnel subclasses." + }, + "sources": [ { - "id": 256, - "name": "pathname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The path that a WebDriver client should use to access the service\nprovided by the tunnel." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 79, - "character": 10 - } - ], + "fileName": "src/BrowserStackTunnel.ts", + "line": 80, + "character": 6 + } + ], + "getSignature": [ + { + "id": 12, + "name": "auth", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "type": { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.pathname", - "id": 45 - }, - "implementationOf": { - "type": "reference", - "name": "BrowserStackProperties.pathname", - "id": 336 } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 670, + "name": "Tunnel.auth" + } + }, + { + "id": 56, + "name": "clientUrl", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "The URL that a WebDriver client should used to interact with this\nservice." + }, + "sources": [ { - "id": 257, - "name": "platform", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 154, + "character": 6 + } + ], + "getSignature": [ + { + "id": 57, + "name": "clientUrl", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "comment": { - "shortText": "The operating system the tunnel will run on. This information is\nautomatically retrieved for the current system at runtime." + "shortText": "The URL that a WebDriver client should used to interact with this\nservice." }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 85, - "character": 10 - } - ], "type": { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.platform", - "id": 46 - }, - "implementationOf": { - "type": "reference", - "name": "BrowserStackProperties.platform", - "id": 337 } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 688, + "name": "Tunnel.clientUrl" + } + }, + { + "id": 13, + "name": "executable", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "The executable to spawn in order to create a tunnel. This value is set\nby the tunnel subclasses." + }, + "sources": [ { - "id": 258, - "name": "port", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The local port where the WebDriver server should be exposed by the\ntunnel. This is typed as a string for Url compatibility, but should be a\nnumber." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 92, - "character": 6 - } - ], + "fileName": "src/BrowserStackTunnel.ts", + "line": 85, + "character": 6 + } + ], + "getSignature": [ + { + "id": 14, + "name": "executable", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "type": { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.port", - "id": 47 - }, - "implementationOf": { - "type": "reference", - "name": "BrowserStackProperties.port", - "id": 338 } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 672, + "name": "Tunnel.executable" + } + }, + { + "id": 15, + "name": "extraCapabilities", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "A map of additional capabilities that need to be sent to the provider\nwhen a new session is being created." + }, + "sources": [ { - "id": 259, - "name": "protocol", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The protocol (e.g., 'http') that a WebDriver client should use to access\nthe service provided by the tunnel." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 98, - "character": 10 - } - ], + "fileName": "src/BrowserStackTunnel.ts", + "line": 92, + "character": 6 + } + ], + "getSignature": [ + { + "id": 16, + "name": "extraCapabilities", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { "type": "reference", - "name": "Tunnel.protocol", - "id": 48 - }, - "implementationOf": { - "type": "reference", - "name": "BrowserStackProperties.protocol", - "id": 339 + "name": "Object" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 690, + "name": "Tunnel.extraCapabilities" + } + }, + { + "id": 58, + "name": "isDownloaded", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel software has already been downloaded." + }, + "sources": [ { - "id": 260, - "name": "proxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 169, + "character": 6 + } + ], + "getSignature": [ + { + "id": 59, + "name": "isDownloaded", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "comment": { - "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used." + "shortText": "Whether or not the tunnel software has already been downloaded." }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 104, - "character": 7 - } - ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.proxy", - "id": 49 - }, - "implementationOf": { - "type": "reference", - "name": "BrowserStackProperties.proxy", - "id": 345 + "type": "intrinsic", + "name": "boolean" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 692, + "name": "Tunnel.isDownloaded" + } + }, + { + "id": 60, + "name": "isRunning", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently running." + }, + "sources": [ { - "id": 218, - "name": "servers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 176, + "character": 6 + } + ], + "getSignature": [ + { + "id": 61, + "name": "isRunning", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "comment": { - "shortText": "A list of server URLs that should be proxied by the tunnel. Only the\nhostname, port, and protocol are used." + "shortText": "Whether or not the tunnel is currently running." }, - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 44, - "character": 9 - } - ], "type": { - "type": "array", - "elementType": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "reference", - "name": "Url" - } - ] - } - }, - "implementationOf": { - "type": "reference", - "name": "BrowserStackProperties.servers", - "id": 327 + "type": "intrinsic", + "name": "boolean" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 694, + "name": "Tunnel.isRunning" + } + }, + { + "id": 62, + "name": "isStarting", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently starting up." + }, + "sources": [ { - "id": 219, - "name": "skipServerValidation", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 183, + "character": 6 + } + ], + "getSignature": [ + { + "id": 63, + "name": "isStarting", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "comment": { - "shortText": "Skip verification that the proxied servers are online and responding at\nthe time the tunnel starts." + "shortText": "Whether or not the tunnel is currently starting up." }, - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 50, - "character": 22 - } - ], "type": { "type": "intrinsic", "name": "boolean" - }, - "implementationOf": { - "type": "reference", - "name": "BrowserStackProperties.skipServerValidation", - "id": 328 } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 696, + "name": "Tunnel.isStarting" + } + }, + { + "id": 64, + "name": "isStopping", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently stopping." + }, + "sources": [ { - "id": 262, - "name": "tunnelId", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 190, + "character": 6 + } + ], + "getSignature": [ + { + "id": 65, + "name": "isStopping", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "comment": { - "shortText": "A unique identifier for the newly created tunnel." + "shortText": "Whether or not the tunnel is currently stopping." }, - "sources": [ + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 698, + "name": "Tunnel.isStopping" + } + }, + { + "id": 17, + "name": "url", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "The URL where the tunnel software can be downloaded." + }, + "sources": [ + { + "fileName": "src/BrowserStackTunnel.ts", + "line": 105, + "character": 6 + } + ], + "getSignature": [ + { + "id": 18, + "name": "url", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 681, + "name": "Tunnel.url" + } + }, + { + "id": 75, + "name": "_downloadFile", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 373, + "character": 12 + } + ], + "signatures": [ + { + "id": 76, + "name": "_downloadFile", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 116, - "character": 10 + "id": 77, + "name": "url", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 78, + "name": "proxy", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 79, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "DownloadProperties" + } + ], + "name": "Partial" + } } ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "undefined" + "name": "void" } - ] + ], + "name": "CancellablePromise" }, "inheritedFrom": { "type": "reference", - "name": "Tunnel.tunnelId", - "id": 51 - }, - "implementationOf": { - "type": "reference", - "name": "BrowserStackProperties.tunnelId", - "id": 341 + "id": 714, + "name": "Tunnel._downloadFile" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 713, + "name": "Tunnel._downloadFile" + } + }, + { + "id": 23, + "name": "_makeArgs", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 261, - "name": "tunnelProxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/BrowserStackTunnel.ts", + "line": 138, + "character": 12 + } + ], + "signatures": [ + { + "id": 24, + "name": "_makeArgs", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used.", - "text": "This overrides the `proxy` configuration allowing independent\nconfiguration for the Tunnel binary process only.\n" + "shortText": "Creates the list of command-line arguments to be passed to the spawned\ntunnel. Implementations should override this method to provide the\nappropriate command-line arguments.", + "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n" }, - "sources": [ + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 113, - "character": 13 + "id": 25, + "name": "_values", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } } ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.tunnelProxy", - "id": 50 + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } }, - "implementationOf": { + "overwrites": { "type": "reference", - "name": "BrowserStackProperties.tunnelProxy", - "id": 340 + "id": 719, + "name": "Tunnel._makeArgs" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 718, + "name": "Tunnel._makeArgs" + } + }, + { + "id": 80, + "name": "_makeChild", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 252, - "name": "username", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 445, + "character": 12 + } + ], + "signatures": [ + { + "id": 81, + "name": "_makeChild", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "The tunnel username. This will be initialized with a tunnel-specific\nenvironment variable if not specified." + "shortText": "Creates a newly spawned child process for the tunnel software.\nImplementations should call this method to create the tunnel process.", + "text": "Arguments passed to this method will be passed as-is to\n[[Tunnel._makeArgs]] and [[Tunnel._makeOptions]].\n", + "returns": "An object containing a newly spawned Process and a Deferred that\nwill be resolved once the tunnel has started successfully.\n" }, - "sources": [ + "parameters": [ + { + "id": 82, + "name": "executor", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "ChildExecutor" + } + }, { - "fileName": "Tunnel.ts", - "line": 41, - "character": 10 + "id": 83, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } } ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "undefined" + "name": "any" } - ] + ], + "name": "CancellablePromise" }, "inheritedFrom": { "type": "reference", - "name": "Tunnel.username", - "id": 39 - }, - "implementationOf": { - "type": "reference", - "name": "BrowserStackProperties.username", - "id": 342 + "id": 722, + "name": "Tunnel._makeChild" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 721, + "name": "Tunnel._makeChild" + } + }, + { + "id": 84, + "name": "_makeOptions", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 263, - "name": "verbose", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 546, + "character": 12 + } + ], + "signatures": [ + { + "id": 85, + "name": "_makeOptions", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "Whether or not to tell the tunnel to provide verbose logging output." + "shortText": "Creates the set of options to use when spawning the tunnel process.\nImplementations should override this method to provide the appropriate\noptions for the tunnel software.", + "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n", + "returns": "A set of options matching those provided to Node.js\n`child_process.spawn`.\n" }, - "sources": [ + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 122, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.verbose", - "id": 53 - }, - "implementationOf": { - "type": "reference", - "name": "BrowserStackProperties.verbose", - "id": 343 - } - }, - { - "id": 224, - "name": "auth", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "getSignature": [ - { - "id": 225, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" + "id": 86, + "name": "_values", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isRest": true }, - "overwrites": { - "type": "reference", - "name": "Tunnel.auth", - "id": 41 + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } } } ], - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 77, - "character": 10 + "type": { + "type": "reflection", + "declaration": { + "id": 87, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 88, + "name": "env", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "type": { + "type": "reference", + "name": "ProcessEnv" + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [ + 88 + ] + } + ] } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel.auth", - "id": 41 }, - "implementationOf": { + "inheritedFrom": { "type": "reference", - "name": "BrowserStackProperties.auth", - "id": 332 + "id": 726, + "name": "Tunnel._makeOptions" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 725, + "name": "Tunnel._makeOptions" + } + }, + { + "id": 35, + "name": "_normalizeEnvironment", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 269, - "name": "clientUrl", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, + "fileName": "src/BrowserStackTunnel.ts", + "line": 288, + "character": 12 + } + ], + "signatures": [ + { + "id": 36, + "name": "_normalizeEnvironment", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "The URL that a WebDriver client should used to interact with this\nservice." + "shortText": "Attempt to normalize a BrowserStack described environment with the\nstandard Selenium capabilities", + "text": "BrowserStack returns a list of environments that looks like:\n\n{\n \"browser\": \"opera\",\n \"os_version\": \"Lion\",\n \"browser_version\":\"12.15\",\n \"device\": null,\n \"os\": \"OS X\"\n}\n", + "returns": "a normalized descriptor\n" }, - "getSignature": [ + "parameters": [ { - "id": 270, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", + "id": 37, + "name": "environment", + "kind": 32768, + "kindString": "Parameter", "flags": {}, "comment": { - "shortText": "The URL that a WebDriver client should used to interact with this\nservice." + "text": "a BrowserStack environment descriptor" }, "type": { "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.clientUrl", - "id": 62 + "name": "any" } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 152, - "character": 15 - } - ], - "inheritedFrom": { + "type": { "type": "reference", - "name": "Tunnel.clientUrl", - "id": 62 - } - }, - { - "id": 226, - "name": "executable", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true + "name": "NormalizedEnvironment" }, - "getSignature": [ - { - "id": 227, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.executable", - "id": 43 - } - } - ], - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 81, - "character": 16 - } - ], "overwrites": { "type": "reference", - "name": "Tunnel.executable", - "id": 43 - }, - "implementationOf": { - "type": "reference", - "name": "BrowserStackProperties.executable", - "id": 334 + "id": 731, + "name": "Tunnel._normalizeEnvironment" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 730, + "name": "Tunnel._normalizeEnvironment" + } + }, + { + "id": 19, + "name": "_postDownloadFile", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 228, - "name": "extraCapabilities", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true + "fileName": "src/BrowserStackTunnel.ts", + "line": 128, + "character": 12 + } + ], + "signatures": [ + { + "id": 20, + "name": "_postDownloadFile", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Called with the response after a file download has completed" }, - "getSignature": [ + "parameters": [ { - "id": 229, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", + "id": 21, + "name": "data", + "kind": 32768, + "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "name": "Object" + "name": "Buffer" + } + }, + { + "id": 22, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true }, - "overwrites": { + "type": { "type": "reference", - "name": "Tunnel.extraCapabilities", - "id": 64 + "typeArguments": [ + { + "type": "reference", + "name": "DownloadProperties" + } + ], + "name": "Partial" } } ], - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 88, - "character": 23 - } - ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise" + }, "overwrites": { "type": "reference", - "name": "Tunnel.extraCapabilities", - "id": 64 + "id": 734, + "name": "Tunnel._postDownloadFile" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 733, + "name": "Tunnel._postDownloadFile" + } + }, + { + "id": 30, + "name": "_start", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 271, - "name": "isDownloaded", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, + "fileName": "src/BrowserStackTunnel.ts", + "line": 207, + "character": 12 + } + ], + "signatures": [ + { + "id": 31, + "name": "_start", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "Whether or not the tunnel software has already been downloaded." + "shortText": "This method provides the implementation that actually starts the tunnel\nand any other logic for emitting events on the Tunnel based on data\npassed by the tunnel software.", + "text": "The default implementation that assumes the tunnel is ready for use once\nthe child process has written to `stdout` or `stderr`. This method should\nbe reimplemented by other tunnel launchers to implement correct launch\ndetection logic.\n" }, - "getSignature": [ + "parameters": [ { - "id": 272, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", + "id": 32, + "name": "executor", + "kind": 32768, + "kindString": "Parameter", "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel software has already been downloaded." - }, "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { "type": "reference", - "name": "Tunnel.isDownloaded", - "id": 66 + "name": "ChildExecutor" } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 167, - "character": 18 - } - ], - "inheritedFrom": { + "type": { "type": "reference", - "name": "Tunnel.isDownloaded", - "id": 66 - } - }, - { - "id": 273, - "name": "isRunning", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not the tunnel is currently running." - }, - "getSignature": [ - { - "id": 274, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel is currently running." - }, - "type": { + "typeArguments": [ + { "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isRunning", - "id": 68 + "name": "any" } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 174, - "character": 15 - } - ], - "inheritedFrom": { + ], + "name": "CancellablePromise" + }, + "overwrites": { "type": "reference", - "name": "Tunnel.isRunning", - "id": 68 + "id": 738, + "name": "Tunnel._start" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 737, + "name": "Tunnel._start" + } + }, + { + "id": 33, + "name": "_stop", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 275, - "name": "isStarting", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, + "fileName": "src/BrowserStackTunnel.ts", + "line": 242, + "character": 12 + } + ], + "signatures": [ + { + "id": 34, + "name": "_stop", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "Whether or not the tunnel is currently starting up." + "shortText": "This method provides the implementation that actually stops the tunnel.", + "text": "The default implementation that assumes the tunnel has been closed once\nthe child process has exited. This method should be reimplemented by\nother tunnel launchers to implement correct shutdown logic, if necessary.\n" }, - "getSignature": [ - { - "id": 276, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel is currently starting up." - }, - "type": { + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + ], + "name": "Promise" + }, + "overwrites": { + "type": "reference", + "id": 741, + "name": "Tunnel._stop" + } + } + ], + "overwrites": { + "type": "reference", + "id": 740, + "name": "Tunnel._stop" + } + }, + { + "id": 108, + "name": "destroy", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 12, + "character": 4 + } + ], + "signatures": [ + { + "id": 109, + "name": "destroy", + "kind": 4096, + "kindString": "Call signature", + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { "type": "intrinsic", "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isStarting", - "id": 70 } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 181, - "character": 16 - } - ], + ], + "name": "Promise" + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel.isStarting", - "id": 70 + "id": 762, + "name": "Tunnel.destroy" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 761, + "name": "Tunnel.destroy" + } + }, + { + "id": 66, + "name": "download", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "id": 277, - "name": "isStopping", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 207, + "character": 2 + } + ], + "signatures": [ + { + "id": 67, + "name": "download", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "Whether or not the tunnel is currently stopping." + "shortText": "Downloads and extracts the tunnel software if it is not already\ndownloaded.", + "text": "This method can be extended by implementations to perform any necessary\npost-processing, such as setting appropriate file permissions on the\ndownloaded executable.\n", + "returns": "A promise that resolves once the download and extraction process\nhas completed.\n" }, - "getSignature": [ + "parameters": [ { - "id": 278, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", + "id": 68, + "name": "forceDownload", + "kind": 32768, + "kindString": "Parameter", "flags": {}, "comment": { - "shortText": "Whether or not the tunnel is currently stopping." + "text": "Force downloading the software even if it already\nhas been downloaded." }, "type": { "type": "intrinsic", "name": "boolean" }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isStopping", - "id": 72 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 188, - "character": 16 + "defaultValue": "false" } ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "CancellablePromise" + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel.isStopping", - "id": 72 + "id": 701, + "name": "Tunnel.download" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 700, + "name": "Tunnel.download" + } + }, + { + "id": 91, + "name": "emit", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ { - "id": 230, - "name": "url", - "kind": 262144, - "kindString": "Accessor", + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 7, + "character": 4 + } + ], + "signatures": [ + { + "id": 92, + "name": "emit", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true + "isExternal": true }, - "getSignature": [ + "typeParameter": [ { - "id": 231, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" + "id": 93, + "name": "K", + "kind": 131072, + "kindString": "Type parameter", + "flags": { + "isExternal": true }, - "overwrites": { - "type": "reference", - "name": "Tunnel.url", - "id": 52 + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] } } ], - "sources": [ + "parameters": [ { - "fileName": "BrowserStackTunnel.ts", - "line": 100, - "character": 9 + "id": 94, + "name": "event", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "name": "K" + }, + "objectType": { + "type": "reference", + "name": "TunnelEvents" + } + } } ], - "overwrites": { - "type": "reference", - "name": "Tunnel.url", - "id": 52 + "type": { + "type": "intrinsic", + "name": "void" }, - "implementationOf": { + "inheritedFrom": { "type": "reference", - "name": "BrowserStackProperties.url", - "id": 346 + "id": 745, + "name": "Tunnel.emit" } }, { - "id": 288, - "name": "_downloadFile", - "kind": 2048, - "kindString": "Method", + "id": 95, + "name": "emit", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isProtected": true, - "isExported": true + "isExternal": true }, - "signatures": [ + "parameters": [ { - "id": 289, - "name": "_downloadFile", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 290, - "name": "url", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 291, - "name": "proxy", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 292, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "DownloadOptions", - "id": 207 - } - } - ], + "id": 96, + "name": "event", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, "type": { "type": "reference", - "name": "CancellablePromise", "typeArguments": [ { "type": "intrinsic", - "name": "void" + "name": "string" } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._downloadFile", - "id": 87 + ], + "name": "EventObject" } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 371, - "character": 25 - } - ], + "type": { + "type": "intrinsic", + "name": "void" + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel._downloadFile", - "id": 87 + "id": 748, + "name": "Tunnel.emit" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 744, + "name": "Tunnel.emit" + } + }, + { + "id": 69, + "name": "getEnvironments", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "id": 236, - "name": "_makeArgs", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 231, + "character": 2 + } + ], + "signatures": [ + { + "id": 70, + "name": "getEnvironments", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Get a list of environments available on the service.", + "text": "This method should be overridden and use a specific implementation that\nreturns normalized environments from the service. E.g.\n\n```js\n{\n browserName: 'firefox',\n version: '12',\n platform: 'windows',\n descriptor: { }\n}\n```\n", + "returns": "An object containing the response and helper functions\n" }, - "signatures": [ - { - "id": 237, - "name": "_makeArgs", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 238, - "name": "_values", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isRest": true - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { + "type": { + "type": "reference", + "typeArguments": [ + { "type": "array", "elementType": { - "type": "intrinsic", - "name": "string" + "type": "reference", + "name": "NormalizedEnvironment" } - }, - "overwrites": { - "type": "reference", - "name": "Tunnel._makeArgs", - "id": 92 } - } - ], - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 133, - "character": 21 - } - ], - "overwrites": { + ], + "name": "CancellablePromise" + }, + "inheritedFrom": { "type": "reference", - "name": "Tunnel._makeArgs", - "id": 92 + "id": 704, + "name": "Tunnel.getEnvironments" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 703, + "name": "Tunnel.getEnvironments" + } + }, + { + "id": 97, + "name": "on", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ { - "id": 293, - "name": "_makeChild", - "kind": 2048, - "kindString": "Method", + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 9, + "character": 4 + } + ], + "signatures": [ + { + "id": 98, + "name": "on", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isProtected": true, - "isExported": true + "isExternal": true }, - "signatures": [ + "typeParameter": [ { - "id": 294, - "name": "_makeChild", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates a newly spawned child process for the tunnel software.\nImplementations should call this method to create the tunnel process.", - "text": "Arguments passed to this method will be passed as-is to\n[[Tunnel._makeArgs]] and [[Tunnel._makeOptions]].\n", - "returns": "An object containing a newly spawned Process and a Deferred that\nwill be resolved once the tunnel has started successfully.\n" + "id": 99, + "name": "K", + "kind": 131072, + "kindString": "Type parameter", + "flags": { + "isExternal": true }, - "parameters": [ - { - "id": 295, - "name": "executor", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "ChildExecutor", - "id": 163 - } - }, - { - "id": 296, - "name": "values", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isRest": true + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } + { + "type": "intrinsic", + "name": "number" } - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeChild", - "id": 95 + ] } } ], - "sources": [ + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 445, - "character": 22 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeChild", - "id": 95 - } - }, - { - "id": 297, - "name": "_makeOptions", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ + "id": 100, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "name": "K" + } + }, { - "id": 298, - "name": "_makeOptions", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates the set of options to use when spawning the tunnel process.\nImplementations should override this method to provide the appropriate\noptions for the tunnel software.", - "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n", - "returns": "A set of options matching those provided to Node.js\n`child_process.spawn`.\n" + "id": 101, + "name": "listener", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true }, - "parameters": [ - { - "id": 299, - "name": "_values", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isRest": true + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "K" }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" + { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "name": "K" + }, + "objectType": { + "type": "reference", + "name": "TunnelEvents" } } - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 300, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 301, - "name": "env", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 546, - "character": 16 - } - ], - "type": { - "type": "reference", - "name": "ProcessEnv" - }, - "defaultValue": " process.env" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 301 - ] - } - ] - } - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeOptions", - "id": 99 + ], + "name": "EventedCallbackOrArray" } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 545, - "character": 24 - } - ], + "type": { + "type": "reference", + "name": "Handle" + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel._makeOptions", - "id": 99 + "id": 751, + "name": "Tunnel.on" } }, { - "id": 248, - "name": "_normalizeEnvironment", - "kind": 2048, - "kindString": "Method", + "id": 102, + "name": "on", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isProtected": true, - "isExported": true + "isExternal": true }, - "signatures": [ + "parameters": [ { - "id": 249, - "name": "_normalizeEnvironment", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Attempt to normalize a BrowserStack described environment with the\nstandard Selenium capabilities", - "text": "BrowserStack returns a list of environments that looks like:\n\n{\n \"browser\": \"opera\",\n \"os_version\": \"Lion\",\n \"browser_version\":\"12.15\",\n \"device\": null,\n \"os\": \"OS X\"\n}\n", - "returns": "a normalized descriptor\n" + "id": 103, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true }, - "parameters": [ - { - "id": 250, - "name": "environment", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "text": "a BrowserStack environment descriptor" - }, - "type": { - "type": "intrinsic", - "name": "any" - } - } - ], "type": { - "type": "reference", - "name": "NormalizedEnvironment", - "id": 177 - }, - "overwrites": { - "type": "reference", - "name": "Tunnel._normalizeEnvironment", - "id": 104 + "type": "intrinsic", + "name": "string" } - } - ], - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 283, - "character": 33 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel._normalizeEnvironment", - "id": 104 - } - }, - { - "id": 232, - "name": "_postDownloadFile", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ + }, { - "id": 233, - "name": "_postDownloadFile", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 234, - "name": "data", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "Buffer" - } - }, - { - "id": 235, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "DownloadOptions", - "id": 207 - } - } - ], + "id": 104, + "name": "listener", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, "type": { "type": "reference", - "name": "Promise", "typeArguments": [ { "type": "intrinsic", - "name": "void" + "name": "string" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "EventObject" } - ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel._postDownloadFile", - "id": 107 + ], + "name": "EventedCallbackOrArray" } } ], - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 123, - "character": 29 - } - ], - "overwrites": { + "type": { + "type": "reference", + "name": "Handle" + }, + "inheritedFrom": { "type": "reference", - "name": "Tunnel._postDownloadFile", - "id": 107 + "id": 755, + "name": "Tunnel.on" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 750, + "name": "Tunnel.on" + } + }, + { + "id": 105, + "name": "own", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ { - "id": 243, - "name": "_start", - "kind": 2048, - "kindString": "Method", + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 11, + "character": 4 + } + ], + "signatures": [ + { + "id": 106, + "name": "own", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isProtected": true, - "isExported": true + "isExternal": true }, - "signatures": [ + "parameters": [ { - "id": 244, - "name": "_start", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 245, - "name": "executor", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "ChildExecutor", - "id": 163 - } - } - ], + "id": 107, + "name": "handles", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ + "type": "union", + "types": [ { - "type": "intrinsic", - "name": "any" + "type": "reference", + "name": "Handle" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "name": "Handle" + } } ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel._start", - "id": 111 } } ], - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 202, - "character": 18 - } - ], - "overwrites": { + "type": { "type": "reference", - "name": "Tunnel._start", - "id": 111 - } - }, - { - "id": 246, - "name": "_stop", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true + "name": "Handle" }, - "signatures": [ - { - "id": 247, - "name": "_stop", - "kind": 4096, - "kindString": "Call signature", + "inheritedFrom": { + "type": "reference", + "id": 759, + "name": "Tunnel.own" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 758, + "name": "Tunnel.own" + } + }, + { + "id": 26, + "name": "sendJobState", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/BrowserStackTunnel.ts", + "line": 180, + "character": 2 + } + ], + "signatures": [ + { + "id": 27, + "name": "sendJobState", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Sends information about a job to the tunnel provider." + }, + "parameters": [ + { + "id": 28, + "name": "jobId", + "kind": 32768, + "kindString": "Parameter", "flags": {}, "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "number" - } - ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel._stop", - "id": 114 + "type": "intrinsic", + "name": "string" } - } - ], - "sources": [ + }, { - "fileName": "BrowserStackTunnel.ts", - "line": 237, - "character": 17 + "id": 29, + "name": "data", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "JobState" + } } ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "CancellablePromise" + }, "overwrites": { "type": "reference", - "name": "Tunnel._stop", - "id": 114 + "id": 706, + "name": "Tunnel.sendJobState" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 705, + "name": "Tunnel.sendJobState" + } + }, + { + "id": 71, + "name": "start", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "id": 322, - "name": "destroy", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 277, + "character": 2 + } + ], + "signatures": [ + { + "id": 72, + "name": "start", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Starts the tunnel, automatically downloading dependencies if necessary.", + "returns": "A promise that resolves once the tunnel has been established.\n" }, - "signatures": [ - { - "id": 323, - "name": "destroy", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "boolean" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.destroy" + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 12, - "character": 11 - } - ], + ], + "name": "CancellablePromise" + }, "inheritedFrom": { "type": "reference", - "name": "Evented.destroy" + "id": 710, + "name": "Tunnel.start" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 709, + "name": "Tunnel.start" + } + }, + { + "id": 73, + "name": "stop", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "id": 279, - "name": "download", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 334, + "character": 2 + } + ], + "signatures": [ + { + "id": 74, + "name": "stop", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Stops the tunnel.", + "returns": "A promise that resolves to the exit code for the tunnel once it\nhas been terminated.\n" }, - "signatures": [ - { - "id": 280, - "name": "download", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Downloads and extracts the tunnel software if it is not already\ndownloaded.", - "text": "This method can be extended by implementations to perform any necessary\npost-processing, such as setting appropriate file permissions on the\ndownloaded executable.\n", - "returns": "A promise that resolves once the download and extraction process\nhas completed.\n" - }, - "parameters": [ - { - "id": 281, - "name": "forceDownload", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "text": "Force downloading the software even if it already\nhas been downloaded." - }, - "type": { + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { "type": "intrinsic", - "name": "boolean" + "name": "number" }, - "defaultValue": "false" - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ { "type": "intrinsic", "name": "void" } ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.download", - "id": 74 } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 205, - "character": 10 - } - ], + ], + "name": "Promise" + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel.download", - "id": 74 + "id": 712, + "name": "Tunnel.stop" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 711, + "name": "Tunnel.stop" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [ + 2 + ] + }, + { + "title": "Properties", + "kind": 1024, + "children": [ + 89, + 53, + 54, + 51, + 55, + 52, + 38, + 40, + 5, + 41, + 6, + 10, + 42, + 7, + 90, + 43, + 44, + 45, + 46, + 47, + 8, + 9, + 49, + 48, + 39, + 50 + ] + }, + { + "title": "Accessors", + "kind": 262144, + "children": [ + 11, + 56, + 13, + 15, + 58, + 60, + 62, + 64, + 17 + ] + }, + { + "title": "Methods", + "kind": 2048, + "children": [ + 75, + 23, + 80, + 84, + 35, + 19, + 30, + 33, + 108, + 66, + 91, + 69, + 97, + 105, + 26, + 71, + 73 + ] + } + ], + "sources": [ + { + "fileName": "src/BrowserStackTunnel.ts", + "line": 20, + "character": 21 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 662, + "name": "Tunnel" + } + ], + "implementedTypes": [ + { + "type": "reference", + "name": "BrowserStackProperties" + } + ] + }, + { + "id": 110, + "name": "CrossBrowserTestingTunnel", + "kind": 128, + "kindString": "Class", + "flags": {}, + "comment": { + "shortText": "A CrossBrowserTesting tunnel.", + "text": "This tunnel requires some non-standard configuration options (vs the other\ntunnels):\n\n1. The capabilities must include the username, API key, browser_api_name, and\n os_api_name properties\n2. The Intern proxyUrl must use 'local' instead of 'localhost'\n\nAn Intern config using this tunnel might be look like:\n\n```js\n{\n \"serverUrl\": \"http://local:9000\",\n \"tunnel\": \"cbt\",\n \"environments\": [\n {\n \"browserName\": \"chrome\",\n \"os_api_name\": \"Win10\",\n \"browser_api_name\": \"Chrome52\"\n }\n ],\n\t // Other Intern config options...\n}\n```\n\nThe username and accessKey properties will be initialized using CBT_USERNAME\nand CBT_APIKEY.\n" + }, + "children": [ + { + "id": 111, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ { - "id": 305, - "name": "emit", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ + "fileName": "src/CrossBrowserTestingTunnel.ts", + "line": 58, + "character": 2 + } + ], + "signatures": [ + { + "id": 112, + "name": "new CrossBrowserTestingTunnel", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ { - "id": 306, - "name": "emit", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 307, - "name": "K", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - ], - "parameters": [ - { - "id": 308, - "name": "event", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "unknown", - "name": "M[K]" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" + "id": 113, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.emit" - } - }, - { - "id": 309, - "name": "emit", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 310, - "name": "event", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - } - ], "type": { - "type": "intrinsic", - "name": "void" - }, - "inheritedFrom": { "type": "reference", - "name": "Evented.emit" + "typeArguments": [ + { + "type": "reference", + "name": "CrossBrowserTestingProperties" + } + ], + "name": "Partial" } } ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 7, - "character": 8 - }, - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 8, - "character": 8 - } - ], - "inheritedFrom": { + "type": { "type": "reference", - "name": "Evented.emit" - } - }, - { - "id": 282, - "name": "getEnvironments", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "id": 110, + "name": "default" }, - "signatures": [ - { - "id": 283, - "name": "getEnvironments", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Get a list of environments available on the service.", - "text": "This method should be overridden and use a specific implementation that\nreturns normalized environments from the service. E.g.\n\n```js\n{\n browserName: 'firefox',\n version: '12',\n platform: 'windows',\n descriptor: { }\n}\n```\n", - "returns": "An object containing the response and helper functions\n" - }, - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "array", - "elementType": { - "type": "reference", - "name": "NormalizedEnvironment", - "id": 177 - } - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.getEnvironments", - "id": 77 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 229, - "character": 17 - } - ], - "inheritedFrom": { + "overwrites": { "type": "reference", - "name": "Tunnel.getEnvironments", - "id": 77 + "id": 664, + "name": "Tunnel.constructor" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 663, + "name": "Tunnel.constructor" + } + }, + { + "id": 195, + "name": "__typeMap__", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isExternal": true, + "isOptional": true + }, + "sources": [ { - "id": 311, - "name": "on", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 3, + "character": 14 + } + ], + "type": { + "type": "reference", + "name": "TunnelEvents" + }, + "inheritedFrom": { + "type": "reference", + "id": 742, + "name": "Tunnel.__typeMap__" + } + }, + { + "id": 158, + "name": "_handle", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 128, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "signatures": [ - { - "id": 312, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 313, - "name": "K", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - ], - "parameters": [ - { - "id": 314, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "typeParameter", - "name": "K", - "constraint": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - }, - { - "id": 315, - "name": "listener", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EventedCallbackOrArray", - "typeArguments": [ - { - "type": "typeParameter", - "name": "K", - "constraint": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - }, - { - "type": "unknown", - "name": "M[K]" - } - ] - } - } - ], - "type": { - "type": "reference", - "name": "Handle" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.on" - } - }, - { - "id": 316, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 317, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 318, - "name": "listener", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EventedCallbackOrArray", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - ] - } - } - ], - "type": { - "type": "reference", - "name": "Handle" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.on" - } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 9, - "character": 6 - }, - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 10, - "character": 6 - } - ], - "inheritedFrom": { + { "type": "reference", - "name": "Evented.on" + "name": "Handle" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 685, + "name": "Tunnel._handle" + } + }, + { + "id": 159, + "name": "_process", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 319, - "name": "own", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 129, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "signatures": [ - { - "id": 320, - "name": "own", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 321, - "name": "handles", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Handle" - }, - { - "type": "array", - "elementType": { - "type": "reference", - "name": "Handle" - } - } - ] - } - } - ], - "type": { - "type": "reference", - "name": "Handle" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.own" - } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 11, - "character": 7 - } - ], - "inheritedFrom": { + { "type": "reference", - "name": "Evented.own" + "name": "ChildProcess" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 686, + "name": "Tunnel._process" + } + }, + { + "id": 156, + "name": "_startTask", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 239, - "name": "sendJobState", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 126, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "signatures": [ - { - "id": 240, - "name": "sendJobState", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 241, - "name": "jobId", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 242, - "name": "data", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "JobState", - "id": 27 - } - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.sendJobState", - "id": 79 - } - } - ], - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 175, - "character": 14 - } - ], - "overwrites": { + { "type": "reference", - "name": "Tunnel.sendJobState", - "id": 79 + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "CancellablePromise" } - }, - { - "id": 284, - "name": "start", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 285, - "name": "start", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Starts the tunnel, automatically downloading dependencies if necessary.", - "returns": "A promise that resolves once the tunnel has been established.\n" - }, - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 683, + "name": "Tunnel._startTask" + } + }, + { + "id": 160, + "name": "_state", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 130, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "stopped" + }, + { + "type": "literal", + "value": "starting" + }, + { + "type": "literal", + "value": "running" + }, + { + "type": "literal", + "value": "stopping" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 687, + "name": "Tunnel._state" + } + }, + { + "id": 157, + "name": "_stopTask", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 127, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, { "type": "intrinsic", "name": "void" } ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.start", - "id": 83 } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 275, - "character": 7 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.start", - "id": 83 + ], + "name": "Promise" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 684, + "name": "Tunnel._stopTask" + } + }, + { + "id": 141, + "name": "accessKey", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The tunnel access key. This will be initialized with a tunnel-specific\nenvironment variable if not specified." + }, + "sources": [ { - "id": 286, - "name": "stop", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 37, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "signatures": [ - { - "id": 287, - "name": "stop", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Stops the tunnel.", - "returns": "A promise that resolves to the exit code for the tunnel once it\nhas been terminated.\n" - }, - "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "void" - } - ] - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.stop", - "id": 85 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 332, - "character": 6 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.stop", - "id": 85 + { + "type": "intrinsic", + "name": "string" } + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 667, + "name": "Tunnel.accessKey" + }, + "implementationOf": { + "type": "reference", + "name": "CrossBrowserTestingProperties.accessKey" + } + }, + { + "id": 143, + "name": "architecture", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The architecture the tunnel will run against. This information is\nautomatically retrieved for the current system at runtime." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 49, + "character": 2 } ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 221 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 303, - 266, - 267, - 264, - 268, - 265, - 251, - 253, - 215, - 254, - 216, - 220, - 255, - 217, - 304, - 256, - 257, - 258, - 259, - 260, - 218, - 219, - 262, - 261, - 252, - 263 - ] - }, - { - "title": "Accessors", - "kind": 262144, - "children": [ - 224, - 269, - 226, - 228, - 271, - 273, - 275, - 277, - 230 - ] - }, + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 669, + "name": "Tunnel.architecture" + }, + "implementationOf": { + "type": "reference", + "name": "CrossBrowserTestingProperties.architecture" + } + }, + { + "id": 114, + "name": "cbtVersion", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The version of the cbt_tunnels package to use" + }, + "sources": [ { - "title": "Methods", - "kind": 2048, - "children": [ - 288, - 236, - 293, - 297, - 248, - 232, - 243, - 246, - 322, - 279, - 305, - 282, - 311, - 319, - 239, - 284, - 286 - ] + "fileName": "src/CrossBrowserTestingTunnel.ts", + "line": 56, + "character": 2 } ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "implementationOf": { + "type": "reference", + "name": "CrossBrowserTestingProperties.cbtVersion" + } + }, + { + "id": 144, + "name": "directory", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The directory where the tunnel software will be extracted. If the\ndirectory does not exist, it will be created. This value is set by the\ntunnel subclasses." + }, "sources": [ { - "fileName": "BrowserStackTunnel.ts", - "line": 20, - "character": 39 + "fileName": "src/Tunnel.ts", + "line": 62, + "character": 2 } ], - "extendedTypes": [ + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 671, + "name": "Tunnel.directory" + }, + "implementationOf": { + "type": "reference", + "name": "CrossBrowserTestingProperties.directory" + } + }, + { + "id": 140, + "name": "environmentUrl", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a service that provides a list of environments supported by\nthe tunnel." + }, + "sources": [ { - "type": "reference", - "name": "Tunnel", - "id": 36 + "fileName": "src/Tunnel.ts", + "line": 31, + "character": 2 } ], - "implementedTypes": [ + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 666, + "name": "Tunnel.environmentUrl" + } + }, + { + "id": 145, + "name": "executable", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The executable to spawn in order to create a tunnel. This value is set\nby the tunnel subclasses." + }, + "sources": [ { - "type": "reference", - "name": "TunnelProperties", - "id": 190 - }, + "fileName": "src/Tunnel.ts", + "line": 68, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 672, + "name": "Tunnel.executable" + }, + "implementationOf": { + "type": "reference", + "name": "CrossBrowserTestingProperties.executable" + } + }, + { + "id": 146, + "name": "hostname", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The host on which a WebDriver client can access the service provided by\nthe tunnel. This may or may not be the host where the tunnel application\nis running." + }, + "sources": [ { - "type": "reference", - "name": "BrowserStackProperties", - "id": 324 + "fileName": "src/Tunnel.ts", + "line": 75, + "character": 2 } - ] + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 673, + "name": "Tunnel.hostname" + }, + "implementationOf": { + "type": "reference", + "name": "CrossBrowserTestingProperties.hostname" + } }, { - "id": 324, - "name": "BrowserStackProperties", - "kind": 256, - "kindString": "Interface", + "id": 196, + "name": "listenersMap", + "kind": 1024, + "kindString": "Property", "flags": { - "isExported": true + "isProtected": true, + "isExternal": true }, - "children": [ + "sources": [ { - "id": 333, - "name": "accessKey", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.accessKey|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 740, - "character": 11 - } - ], - "type": { + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 4, + "character": 14 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { "type": "union", "types": [ { @@ -2861,4532 +3245,5098 @@ }, { "type": "intrinsic", - "name": "undefined" + "name": "number" } ] }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.accessKey", - "id": 193 - } - }, - { - "id": 331, - "name": "architecture", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.architecture|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 734, - "character": 14 + { + "type": "array", + "elementType": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "EventObject" + } + ], + "name": "EventedCallback" } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.architecture", - "id": 191 } - }, + ], + "name": "Map" + }, + "inheritedFrom": { + "type": "reference", + "id": 743, + "name": "Tunnel.listenersMap" + } + }, + { + "id": 147, + "name": "pathname", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The path that a WebDriver client should use to access the service\nprovided by the tunnel." + }, + "sources": [ { - "id": 332, - "name": "auth", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.auth|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 737, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.auth", - "id": 192 - } - }, + "fileName": "src/Tunnel.ts", + "line": 81, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 674, + "name": "Tunnel.pathname" + }, + "implementationOf": { + "type": "reference", + "name": "CrossBrowserTestingProperties.pathname" + } + }, + { + "id": 148, + "name": "platform", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The operating system the tunnel will run on. This information is\nautomatically retrieved for the current system at runtime." + }, + "sources": [ { - "id": 325, - "name": "automateOnly", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[BrowserStackTunnel.BrowserStackTunnel.automateOnly|More info]]" - }, - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 331, - "character": 14 - } - ], - "type": { - "type": "intrinsic", - "name": "true" - } - }, + "fileName": "src/Tunnel.ts", + "line": 87, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 675, + "name": "Tunnel.platform" + }, + "implementationOf": { + "type": "reference", + "name": "CrossBrowserTestingProperties.platform" + } + }, + { + "id": 149, + "name": "port", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The local port where the WebDriver server should be exposed by the\ntunnel. This is typed as a string for Url compatibility, but should be a\nnumber." + }, + "sources": [ { - "id": 344, - "name": "directory", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 701, - "character": 11 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "DownloadProperties.directory", - "id": 174 - } - }, + "fileName": "src/Tunnel.ts", + "line": 94, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 676, + "name": "Tunnel.port" + }, + "implementationOf": { + "type": "reference", + "name": "CrossBrowserTestingProperties.port" + } + }, + { + "id": 150, + "name": "protocol", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The protocol (e.g., 'http') that a WebDriver client should use to access\nthe service provided by the tunnel." + }, + "sources": [ { - "id": 330, - "name": "environmentUrl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[BrowserStackTunnel.BrowserStackTunnel.environmentUrl|More info]]" + "fileName": "src/Tunnel.ts", + "line": 100, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 677, + "name": "Tunnel.protocol" + }, + "implementationOf": { + "type": "reference", + "name": "CrossBrowserTestingProperties.protocol" + } + }, + { + "id": 151, + "name": "proxy", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 106, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 346, - "character": 16 - } - ], - "type": { + { "type": "intrinsic", "name": "string" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 678, + "name": "Tunnel.proxy" + }, + "implementationOf": { + "type": "reference", + "name": "CrossBrowserTestingProperties.proxy" + } + }, + { + "id": 153, + "name": "tunnelId", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "A unique identifier for the newly created tunnel." + }, + "sources": [ { - "id": 334, - "name": "executable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.executable|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 743, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] + "fileName": "src/Tunnel.ts", + "line": 118, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.executable", - "id": 194 + { + "type": "intrinsic", + "name": "string" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 680, + "name": "Tunnel.tunnelId" + }, + "implementationOf": { + "type": "reference", + "name": "CrossBrowserTestingProperties.tunnelId" + } + }, + { + "id": 152, + "name": "tunnelProxy", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used.", + "text": "This overrides the `proxy` configuration allowing independent\nconfiguration for the Tunnel binary process only.\n" + }, + "sources": [ { - "id": 329, - "name": "forceLocal", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[BrowserStackTunnel.BrowserStackTunnel.forceLocal|More info]]" + "fileName": "src/Tunnel.ts", + "line": 115, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 343, - "character": 12 - } - ], - "type": { + { "type": "intrinsic", - "name": "boolean" + "name": "string" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 679, + "name": "Tunnel.tunnelProxy" + }, + "implementationOf": { + "type": "reference", + "name": "CrossBrowserTestingProperties.tunnelProxy" + } + }, + { + "id": 154, + "name": "url", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL where the tunnel software can be downloaded." + }, + "sources": [ { - "id": 335, - "name": "hostname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.hostname|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 746, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.hostname", - "id": 195 - } - }, + "fileName": "src/Tunnel.ts", + "line": 121, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 681, + "name": "Tunnel.url" + }, + "implementationOf": { + "type": "reference", + "name": "CrossBrowserTestingProperties.url" + } + }, + { + "id": 142, + "name": "username", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The tunnel username. This will be initialized with a tunnel-specific\nenvironment variable if not specified." + }, + "sources": [ { - "id": 326, - "name": "killOtherTunnels", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[BrowserStackTunnel.BrowserStackTunnel.killOtherTunnels|More info]]" - }, - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 334, - "character": 18 - } - ], - "type": { + "fileName": "src/Tunnel.ts", + "line": 43, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 336, - "name": "pathname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true + "name": "undefined" }, - "comment": { - "shortText": "[[Tunnel.Tunnel.pathname|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 749, - "character": 10 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.pathname", - "id": 196 } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 668, + "name": "Tunnel.username" + }, + "implementationOf": { + "type": "reference", + "name": "CrossBrowserTestingProperties.username" + } + }, + { + "id": 155, + "name": "verbose", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Whether or not to tell the tunnel to provide verbose logging output." + }, + "sources": [ { - "id": 337, - "name": "platform", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.platform|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 752, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.platform", - "id": 197 - } - }, + "fileName": "src/Tunnel.ts", + "line": 124, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "id": 682, + "name": "Tunnel.verbose" + }, + "implementationOf": { + "type": "reference", + "name": "CrossBrowserTestingProperties.verbose" + } + }, + { + "id": 115, + "name": "auth", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "An HTTP authorization string to use when initiating connections to the\ntunnel. This value of this property is defined by Tunnel subclasses." + }, + "sources": [ { - "id": 338, - "name": "port", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.port|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 755, - "character": 6 - } - ], + "fileName": "src/CrossBrowserTestingTunnel.ts", + "line": 77, + "character": 6 + } + ], + "getSignature": [ + { + "id": 116, + "name": "auth", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "type": { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.port", - "id": 198 } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 670, + "name": "Tunnel.auth" + } + }, + { + "id": 161, + "name": "clientUrl", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "The URL that a WebDriver client should used to interact with this\nservice." + }, + "sources": [ { - "id": 339, - "name": "protocol", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 154, + "character": 6 + } + ], + "getSignature": [ + { + "id": 162, + "name": "clientUrl", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "comment": { - "shortText": "[[Tunnel.Tunnel.protocol|More info]]" + "shortText": "The URL that a WebDriver client should used to interact with this\nservice." }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 758, - "character": 10 - } - ], "type": { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.protocol", - "id": 199 } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 688, + "name": "Tunnel.clientUrl" + } + }, + { + "id": 117, + "name": "extraCapabilities", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "A map of additional capabilities that need to be sent to the provider\nwhen a new session is being created." + }, + "sources": [ { - "id": 345, - "name": "proxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 702, - "character": 7 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "DownloadProperties.proxy", - "id": 175 - } - }, + "fileName": "src/CrossBrowserTestingTunnel.ts", + "line": 81, + "character": 6 + } + ], + "getSignature": [ { - "id": 327, - "name": "servers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[BrowserStackTunnel.BrowserStackTunnel.servers|More info]]" - }, - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 337, - "character": 9 - } - ], + "id": 118, + "name": "extraCapabilities", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "type": { - "type": "array", - "elementType": { - "type": "union", - "types": [ + "type": "reflection", + "declaration": { + "id": 119, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ { - "type": "intrinsic", - "name": "string" + "id": 121, + "name": "password", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + }, + "defaultValue": "..." }, { - "type": "reference", - "name": "Url" + "id": 120, + "name": "username", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [ + 121, + 120 + ] } ] } } - }, - { - "id": 328, - "name": "skipServerValidation", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[BrowserStackTunnel.BrowserStackTunnel.skipServerValidation|More info]]" - }, - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 340, - "character": 22 - } - ], + } + ], + "inheritedFrom": { + "type": "reference", + "id": 690, + "name": "Tunnel.extraCapabilities" + } + }, + { + "id": 122, + "name": "isDownloaded", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel software has already been downloaded." + }, + "sources": [ + { + "fileName": "src/CrossBrowserTestingTunnel.ts", + "line": 88, + "character": 6 + } + ], + "getSignature": [ + { + "id": 123, + "name": "isDownloaded", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "type": { "type": "intrinsic", "name": "boolean" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 692, + "name": "Tunnel.isDownloaded" + } + }, + { + "id": 163, + "name": "isRunning", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently running." + }, + "sources": [ { - "id": 341, - "name": "tunnelId", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 176, + "character": 6 + } + ], + "getSignature": [ + { + "id": 164, + "name": "isRunning", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "comment": { - "shortText": "[[Tunnel.Tunnel.tunnelId|More info]]" + "shortText": "Whether or not the tunnel is currently running." }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 764, - "character": 10 - } - ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.tunnelId", - "id": 201 + "type": "intrinsic", + "name": "boolean" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 694, + "name": "Tunnel.isRunning" + } + }, + { + "id": 165, + "name": "isStarting", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently starting up." + }, + "sources": [ { - "id": 340, - "name": "tunnelProxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 183, + "character": 6 + } + ], + "getSignature": [ + { + "id": 166, + "name": "isStarting", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "comment": { - "shortText": "[[Tunnel.Tunnel.tunnelProxy|More info]]" + "shortText": "Whether or not the tunnel is currently starting up." }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 761, - "character": 13 - } - ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.tunnelProxy", - "id": 200 + "type": "intrinsic", + "name": "boolean" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 696, + "name": "Tunnel.isStarting" + } + }, + { + "id": 167, + "name": "isStopping", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently stopping." + }, + "sources": [ { - "id": 346, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 190, + "character": 6 + } + ], + "getSignature": [ + { + "id": 168, + "name": "isStopping", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently stopping." }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 703, - "character": 5 - } - ], "type": { "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "DownloadProperties.url", - "id": 176 + "name": "boolean" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 698, + "name": "Tunnel.isStopping" + } + }, + { + "id": 175, + "name": "_downloadFile", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 342, - "name": "username", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.username|More info]]" - }, - "sources": [ + "fileName": "src/Tunnel.ts", + "line": 373, + "character": 12 + } + ], + "signatures": [ + { + "id": 176, + "name": "_downloadFile", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 177, + "name": "url", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 178, + "name": "proxy", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, { - "fileName": "Tunnel.ts", - "line": 767, - "character": 10 + "id": 179, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "DownloadProperties" + } + ], + "name": "Partial" + } } ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "undefined" + "name": "void" } - ] + ], + "name": "CancellablePromise" }, "inheritedFrom": { "type": "reference", - "name": "TunnelProperties.username", - "id": 202 + "id": 714, + "name": "Tunnel._downloadFile" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 713, + "name": "Tunnel._downloadFile" + } + }, + { + "id": 127, + "name": "_makeArgs", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 343, - "name": "verbose", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/CrossBrowserTestingTunnel.ts", + "line": 116, + "character": 12 + } + ], + "signatures": [ + { + "id": 128, + "name": "_makeArgs", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "[[Tunnel.Tunnel.verbose|More info]]" + "shortText": "Creates the list of command-line arguments to be passed to the spawned\ntunnel. Implementations should override this method to provide the\nappropriate command-line arguments.", + "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n" }, - "sources": [ + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 770, - "character": 9 + "id": 129, + "name": "readyFile", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } } ], "type": { - "type": "intrinsic", - "name": "boolean" + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } }, - "inheritedFrom": { + "overwrites": { "type": "reference", - "name": "TunnelProperties.verbose", - "id": 203 - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 333, - 331, - 332, - 325, - 344, - 330, - 334, - 329, - 335, - 326, - 336, - 337, - 338, - 339, - 345, - 327, - 328, - 341, - 340, - 346, - 342, - 343 - ] + "id": 719, + "name": "Tunnel._makeArgs" + } } ], + "overwrites": { + "type": "reference", + "id": 718, + "name": "Tunnel._makeArgs" + } + }, + { + "id": 180, + "name": "_makeChild", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, "sources": [ { - "fileName": "BrowserStackTunnel.ts", - "line": 329, - "character": 39 + "fileName": "src/Tunnel.ts", + "line": 445, + "character": 12 } ], - "extendedTypes": [ + "signatures": [ { - "type": "reference", - "name": "TunnelProperties", - "id": 190 - } - ], - "implementedBy": [ - { - "type": "reference", - "name": "BrowserStackTunnel", - "id": 214 - } - ] - }, - { - "id": 347, - "name": "BrowserStackOptions", - "kind": 4194304, - "kindString": "Type alias", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 349, - "character": 31 + "id": 181, + "name": "_makeChild", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates a newly spawned child process for the tunnel software.\nImplementations should call this method to create the tunnel process.", + "text": "Arguments passed to this method will be passed as-is to\n[[Tunnel._makeArgs]] and [[Tunnel._makeOptions]].\n", + "returns": "An object containing a newly spawned Process and a Deferred that\nwill be resolved once the tunnel has started successfully.\n" + }, + "parameters": [ + { + "id": 182, + "name": "executor", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "ChildExecutor" + } + }, + { + "id": 183, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "CancellablePromise" + }, + "inheritedFrom": { + "type": "reference", + "id": 722, + "name": "Tunnel._makeChild" + } } ], - "type": { + "inheritedFrom": { "type": "reference", - "name": "Partial", - "typeArguments": [ - { - "type": "reference", - "name": "BrowserStackProperties", - "id": 324 - } - ] + "id": 721, + "name": "Tunnel._makeChild" } - } - ], - "groups": [ - { - "title": "Classes", - "kind": 128, - "children": [ - 214 - ] - }, - { - "title": "Interfaces", - "kind": 256, - "children": [ - 324 - ] }, { - "title": "Type aliases", - "kind": 4194304, - "children": [ - 347 - ] - } - ], - "sources": [ - { - "fileName": "BrowserStackTunnel.ts", - "line": 1, - "character": 0 - } - ] - }, - { - "id": 348, - "name": "\"CrossBrowserTestingTunnel\"", - "kind": 1, - "kindString": "External module", - "flags": { - "isExported": true - }, - "originalName": "src/CrossBrowserTestingTunnel.ts", - "children": [ - { - "id": 349, - "name": "CrossBrowserTestingTunnel", - "kind": 128, - "kindString": "Class", + "id": 184, + "name": "_makeOptions", + "kind": 2048, + "kindString": "Method", "flags": { - "isExported": true - }, - "comment": { - "shortText": "A CrossBrowserTesting tunnel.", - "text": "This tunnel requires some non-standard configuration options (vs the other\ntunnels):\n\n1. The capabilities must include the username, API key, browser_api_name, and\n os_api_name properties\n2. The Intern proxyUrl must use 'local' instead of 'localhost'\n\nAn Intern config using this tunnel might be look like:\n\n```js\n{\n \"serverUrl\": \"http://local:9000\",\n \"tunnel\": \"cbt\",\n \"environments\": [\n {\n \"browserName\": \"chrome\",\n \"os_api_name\": \"Win10\",\n \"browser_api_name\": \"Chrome52\"\n }\n ],\n\t // Other Intern config options...\n}\n```\n\nThe username and accessKey properties will be initialized using CBT_USERNAME\nand CBT_APIKEY.\n" + "isProtected": true }, - "typeParameter": [ + "sources": [ { - "id": 434, - "name": "O", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } + "fileName": "src/Tunnel.ts", + "line": 546, + "character": 12 } ], - "children": [ + "signatures": [ { - "id": 351, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": { - "isExported": true + "id": 185, + "name": "_makeOptions", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates the set of options to use when spawning the tunnel process.\nImplementations should override this method to provide the appropriate\noptions for the tunnel software.", + "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n", + "returns": "A set of options matching those provided to Node.js\n`child_process.spawn`.\n" }, - "signatures": [ + "parameters": [ { - "id": 352, - "name": "new CrossBrowserTestingTunnel", - "kind": 16384, - "kindString": "Constructor signature", + "id": 186, + "name": "_values", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 187, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", "flags": {}, - "parameters": [ + "children": [ { - "id": 353, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, + "id": 188, + "name": "env", + "kind": 1024, + "kindString": "Property", + "flags": {}, "type": { "type": "reference", - "name": "CrossBrowserTestingOptions", - "id": 475 - } + "name": "ProcessEnv" + }, + "defaultValue": "..." } ], - "type": { - "type": "reference", - "name": "CrossBrowserTestingTunnel", - "id": 349 - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.__constructor", - "id": 59 - } - } - ], - "sources": [ - { - "fileName": "CrossBrowserTestingTunnel.ts", - "line": 54, - "character": 22 + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [ + 188 + ] + } + ] } - ], - "overwrites": { + }, + "inheritedFrom": { "type": "reference", - "name": "Tunnel.__constructor", - "id": 59 + "id": 726, + "name": "Tunnel._makeOptions" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 725, + "name": "Tunnel._makeOptions" + } + }, + { + "id": 137, + "name": "_normalizeEnvironment", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 435, - "name": "__typeMap__", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true, - "isOptional": true + "fileName": "src/CrossBrowserTestingTunnel.ts", + "line": 230, + "character": 12 + } + ], + "signatures": [ + { + "id": 138, + "name": "_normalizeEnvironment", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Attempt to normalize a TestingBot described environment with the standard\nSelenium capabilities", + "text": "TestingBot returns a list of environments that looks like:\n\n{\n \"selenium_name\": \"Chrome36\",\n \"name\": \"googlechrome\",\n \"platform\": \"CAPITAN\",\n \"version\":\"36\"\n}\n", + "returns": "a normalized descriptor\n" }, - "sources": [ + "parameters": [ { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 3, - "character": 25 + "id": 139, + "name": "environment", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "text": "a TestingBot environment descriptor" + }, + "type": { + "type": "intrinsic", + "name": "any" + } } ], "type": { "type": "reference", - "name": "M" + "name": "NormalizedEnvironment" }, - "inheritedFrom": { + "overwrites": { "type": "reference", - "name": "Evented.__typeMap__" + "id": 731, + "name": "Tunnel._normalizeEnvironment" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 730, + "name": "Tunnel._normalizeEnvironment" + } + }, + { + "id": 189, + "name": "_postDownloadFile", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 397, - "name": "_handle", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 564, + "character": 12 + } + ], + "signatures": [ + { + "id": 190, + "name": "_postDownloadFile", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Called with the response after a file download has completed" }, - "sources": [ + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 126, - "character": 19 - } - ], - "type": { - "type": "union", - "types": [ - { + "id": 191, + "name": "data", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { "type": "reference", - "name": "Handle" - }, - { - "type": "intrinsic", - "name": "undefined" + "name": "Buffer" } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._handle", - "id": 56 - } - }, - { - "id": 398, - "name": "_process", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ + }, { - "fileName": "Tunnel.ts", - "line": 127, - "character": 20 + "id": 192, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "DownloadProperties" + } + ], + "name": "Partial" + } } ], "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "ChildProcess" - }, + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "undefined" + "name": "void" } - ] + ], + "name": "Promise" }, "inheritedFrom": { "type": "reference", - "name": "Tunnel._process", - "id": 57 + "id": 734, + "name": "Tunnel._postDownloadFile" } - }, - { - "id": 395, - "name": "_startTask", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ + } + ], + "inheritedFrom": { + "type": "reference", + "id": 733, + "name": "Tunnel._postDownloadFile" + } + }, + { + "id": 134, + "name": "_start", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/CrossBrowserTestingTunnel.ts", + "line": 172, + "character": 12 + } + ], + "signatures": [ + { + "id": 135, + "name": "_start", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "This method provides the implementation that actually starts the tunnel\nand any other logic for emitting events on the Tunnel based on data\npassed by the tunnel software.", + "text": "The default implementation that assumes the tunnel is ready for use once\nthe child process has written to `stdout` or `stderr`. This method should\nbe reimplemented by other tunnel launchers to implement correct launch\ndetection logic.\n" + }, + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 124, - "character": 22 + "id": 136, + "name": "executor", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "ChildExecutor" + } } ], "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "any" - } - ] - }, + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "undefined" + "name": "any" } - ] + ], + "name": "CancellablePromise" }, - "inheritedFrom": { + "overwrites": { "type": "reference", - "name": "Tunnel._startTask", - "id": 54 + "id": 738, + "name": "Tunnel._start" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 737, + "name": "Tunnel._start" + } + }, + { + "id": 193, + "name": "_stop", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 399, - "name": "_state", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 622, + "character": 12 + } + ], + "signatures": [ + { + "id": 194, + "name": "_stop", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "This method provides the implementation that actually stops the tunnel.", + "text": "The default implementation that assumes the tunnel has been closed once\nthe child process has exited. This method should be reimplemented by\nother tunnel launchers to implement correct shutdown logic, if necessary.\n", + "returns": "A promise that resolves once the tunnel has shut down.\n" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 128, - "character": 18 - } - ], "type": { - "type": "union", - "types": [ - { - "type": "stringLiteral", - "value": "stopped" - }, - { - "type": "stringLiteral", - "value": "starting" - }, - { - "type": "stringLiteral", - "value": "running" - }, + "type": "reference", + "typeArguments": [ { - "type": "stringLiteral", - "value": "stopping" + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, + { + "type": "intrinsic", + "name": "void" + } + ] } - ] + ], + "name": "Promise" }, "inheritedFrom": { "type": "reference", - "name": "Tunnel._state", - "id": 58 + "id": 741, + "name": "Tunnel._stop" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 740, + "name": "Tunnel._stop" + } + }, + { + "id": 214, + "name": "destroy", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 12, + "character": 4 + } + ], + "signatures": [ { - "id": 396, - "name": "_stopTask", - "kind": 1024, - "kindString": "Property", + "id": 215, + "name": "destroy", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isProtected": true, - "isExported": true + "isExternal": true }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 125, - "character": 21 - } - ], "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "void" - } - ] - } - ] - }, + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "undefined" + "name": "boolean" } - ] + ], + "name": "Promise" }, "inheritedFrom": { "type": "reference", - "name": "Tunnel._stopTask", - "id": 55 + "id": 762, + "name": "Tunnel.destroy" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 761, + "name": "Tunnel.destroy" + } + }, + { + "id": 124, + "name": "download", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "id": 380, - "name": "accessKey", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/CrossBrowserTestingTunnel.ts", + "line": 97, + "character": 2 + } + ], + "signatures": [ + { + "id": 125, + "name": "download", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "The tunnel access key. This will be initialized with a tunnel-specific\nenvironment variable if not specified." + "shortText": "Downloads and extracts the tunnel software if it is not already\ndownloaded.", + "text": "This method can be extended by implementations to perform any necessary\npost-processing, such as setting appropriate file permissions on the\ndownloaded executable.\n" }, - "sources": [ + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 35, - "character": 11 + "id": 126, + "name": "forceDownload", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" } ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "undefined" + "name": "void" } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.accessKey", - "id": 38 + ], + "name": "CancellablePromise" }, - "implementationOf": { + "overwrites": { "type": "reference", - "name": "CrossBrowserTestingProperties.accessKey", - "id": 460 + "id": 701, + "name": "Tunnel.download" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 700, + "name": "Tunnel.download" + } + }, + { + "id": 197, + "name": "emit", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 7, + "character": 4 + } + ], + "signatures": [ { - "id": 382, - "name": "architecture", - "kind": 1024, - "kindString": "Property", + "id": 198, + "name": "emit", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true - }, - "comment": { - "shortText": "The architecture the tunnel will run against. This information is\nautomatically retrieved for the current system at runtime." + "isExternal": true }, - "sources": [ + "typeParameter": [ + { + "id": 199, + "name": "K", + "kind": 131072, + "kindString": "Type parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + } + ], + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 47, - "character": 14 + "id": 200, + "name": "event", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "name": "K" + }, + "objectType": { + "type": "reference", + "name": "TunnelEvents" + } + } } ], "type": { "type": "intrinsic", - "name": "string" + "name": "void" }, "inheritedFrom": { "type": "reference", - "name": "Tunnel.architecture", - "id": 40 - }, - "implementationOf": { - "type": "reference", - "name": "CrossBrowserTestingProperties.architecture", - "id": 458 + "id": 745, + "name": "Tunnel.emit" } }, { - "id": 350, - "name": "cbtVersion", - "kind": 1024, - "kindString": "Property", + "id": 201, + "name": "emit", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true - }, - "comment": { - "shortText": "The version of the cbt_tunnels package to use" + "isExternal": true }, - "sources": [ + "parameters": [ { - "fileName": "CrossBrowserTestingTunnel.ts", - "line": 54, - "character": 12 + "id": 202, + "name": "event", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "EventObject" + } } ], "type": { "type": "intrinsic", - "name": "string" + "name": "void" }, - "implementationOf": { + "inheritedFrom": { "type": "reference", - "name": "CrossBrowserTestingProperties.cbtVersion", - "id": 457 + "id": 748, + "name": "Tunnel.emit" } - }, - { - "id": 383, - "name": "directory", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 744, + "name": "Tunnel.emit" + } + }, + { + "id": 169, + "name": "getEnvironments", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 231, + "character": 2 + } + ], + "signatures": [ + { + "id": 170, + "name": "getEnvironments", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "The directory where the tunnel software will be extracted. If the\ndirectory does not exist, it will be created. This value is set by the\ntunnel subclasses." + "shortText": "Get a list of environments available on the service.", + "text": "This method should be overridden and use a specific implementation that\nreturns normalized environments from the service. E.g.\n\n```js\n{\n browserName: 'firefox',\n version: '12',\n platform: 'windows',\n descriptor: { }\n}\n```\n", + "returns": "An object containing the response and helper functions\n" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 60, - "character": 11 - } - ], "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { "type": "reference", - "name": "Tunnel.directory", - "id": 42 + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "name": "NormalizedEnvironment" + } + } + ], + "name": "CancellablePromise" }, - "implementationOf": { + "inheritedFrom": { "type": "reference", - "name": "CrossBrowserTestingProperties.directory", - "id": 471 + "id": 704, + "name": "Tunnel.getEnvironments" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 703, + "name": "Tunnel.getEnvironments" + } + }, + { + "id": 203, + "name": "on", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 9, + "character": 4 + } + ], + "signatures": [ { - "id": 379, - "name": "environmentUrl", - "kind": 1024, - "kindString": "Property", + "id": 204, + "name": "on", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL of a service that provides a list of environments supported by\nthe tunnel." + "isExternal": true }, - "sources": [ + "typeParameter": [ { - "fileName": "Tunnel.ts", - "line": 29, - "character": 16 + "id": 205, + "name": "K", + "kind": 131072, + "kindString": "Type parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } } ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" + "parameters": [ + { + "id": 206, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true }, - { - "type": "intrinsic", - "name": "undefined" + "type": { + "type": "reference", + "name": "K" } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.environmentUrl", - "id": 37 - } - }, - { - "id": 384, - "name": "executable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The executable to spawn in order to create a tunnel. This value is set\nby the tunnel subclasses." - }, - "sources": [ + }, { - "fileName": "Tunnel.ts", - "line": 66, - "character": 12 + "id": 207, + "name": "listener", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "K" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "name": "K" + }, + "objectType": { + "type": "reference", + "name": "TunnelEvents" + } + } + ], + "name": "EventedCallbackOrArray" + } } ], "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { "type": "reference", - "name": "Tunnel.executable", - "id": 43 + "name": "Handle" }, - "implementationOf": { + "inheritedFrom": { "type": "reference", - "name": "CrossBrowserTestingProperties.executable", - "id": 461 + "id": 751, + "name": "Tunnel.on" } }, { - "id": 385, - "name": "hostname", - "kind": 1024, - "kindString": "Property", + "id": 208, + "name": "on", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true - }, - "comment": { - "shortText": "The host on which a WebDriver client can access the service provided by\nthe tunnel. This may or may not be the host where the tunnel application\nis running." + "isExternal": true }, - "sources": [ + "parameters": [ + { + "id": 209, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, { - "fileName": "Tunnel.ts", - "line": 73, - "character": 10 + "id": 210, + "name": "listener", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "EventObject" + } + ], + "name": "EventedCallbackOrArray" + } } ], "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { "type": "reference", - "name": "Tunnel.hostname", - "id": 44 + "name": "Handle" }, - "implementationOf": { + "inheritedFrom": { "type": "reference", - "name": "CrossBrowserTestingProperties.hostname", - "id": 462 + "id": 755, + "name": "Tunnel.on" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 750, + "name": "Tunnel.on" + } + }, + { + "id": 211, + "name": "own", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ { - "id": 436, - "name": "listenersMap", - "kind": 1024, - "kindString": "Property", + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 11, + "character": 4 + } + ], + "signatures": [ + { + "id": 212, + "name": "own", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isProtected": true, - "isExported": true + "isExternal": true }, - "sources": [ + "parameters": [ { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 4, - "character": 26 - } - ], - "type": { - "type": "reference", - "name": "Map", - "typeArguments": [ - { + "id": 213, + "name": "handles", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { "type": "union", "types": [ { - "type": "intrinsic", - "name": "string" + "type": "reference", + "name": "Handle" }, { - "type": "typeOperator", - "operator": "keyof", - "target": { + "type": "array", + "elementType": { "type": "reference", - "name": "TunnelEvents" + "name": "Handle" } } ] - }, - { - "type": "array", - "elementType": { - "type": "reference", - "name": "EventedCallback", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - ] - } } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.listenersMap" - } - }, - { - "id": 386, - "name": "pathname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The path that a WebDriver client should use to access the service\nprovided by the tunnel." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 79, - "character": 10 } ], "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { "type": "reference", - "name": "Tunnel.pathname", - "id": 45 + "name": "Handle" }, - "implementationOf": { + "inheritedFrom": { "type": "reference", - "name": "CrossBrowserTestingProperties.pathname", - "id": 463 + "id": 759, + "name": "Tunnel.own" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 758, + "name": "Tunnel.own" + } + }, + { + "id": 130, + "name": "sendJobState", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "id": 387, - "name": "platform", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/CrossBrowserTestingTunnel.ts", + "line": 134, + "character": 2 + } + ], + "signatures": [ + { + "id": 131, + "name": "sendJobState", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "The operating system the tunnel will run on. This information is\nautomatically retrieved for the current system at runtime." + "shortText": "Sends information about a job to the tunnel provider." }, - "sources": [ + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 85, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.platform", - "id": 46 - }, - "implementationOf": { - "type": "reference", - "name": "CrossBrowserTestingProperties.platform", - "id": 464 - } - }, - { - "id": 388, - "name": "port", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The local port where the WebDriver server should be exposed by the\ntunnel. This is typed as a string for Url compatibility, but should be a\nnumber." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 92, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.port", - "id": 47 - }, - "implementationOf": { - "type": "reference", - "name": "CrossBrowserTestingProperties.port", - "id": 465 - } - }, - { - "id": 389, - "name": "protocol", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The protocol (e.g., 'http') that a WebDriver client should use to access\nthe service provided by the tunnel." - }, - "sources": [ + "id": 132, + "name": "jobId", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, { - "fileName": "Tunnel.ts", - "line": 98, - "character": 10 + "id": 133, + "name": "data", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "JobState" + } } ], "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.protocol", - "id": 48 - }, - "implementationOf": { "type": "reference", - "name": "CrossBrowserTestingProperties.protocol", - "id": 466 - } - }, - { - "id": 390, - "name": "proxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 104, - "character": 7 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, + "typeArguments": [ { "type": "intrinsic", - "name": "undefined" + "name": "void" } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.proxy", - "id": 49 + ], + "name": "CancellablePromise" }, - "implementationOf": { + "overwrites": { "type": "reference", - "name": "CrossBrowserTestingProperties.proxy", - "id": 472 + "id": 706, + "name": "Tunnel.sendJobState" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 705, + "name": "Tunnel.sendJobState" + } + }, + { + "id": 171, + "name": "start", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "id": 392, - "name": "tunnelId", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 277, + "character": 2 + } + ], + "signatures": [ + { + "id": 172, + "name": "start", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "A unique identifier for the newly created tunnel." + "shortText": "Starts the tunnel, automatically downloading dependencies if necessary.", + "returns": "A promise that resolves once the tunnel has been established.\n" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 116, - "character": 10 - } - ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "undefined" + "name": "void" } - ] + ], + "name": "CancellablePromise" }, "inheritedFrom": { "type": "reference", - "name": "Tunnel.tunnelId", - "id": 51 - }, - "implementationOf": { - "type": "reference", - "name": "CrossBrowserTestingProperties.tunnelId", - "id": 468 + "id": 710, + "name": "Tunnel.start" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 709, + "name": "Tunnel.start" + } + }, + { + "id": 173, + "name": "stop", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "id": 391, - "name": "tunnelProxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 334, + "character": 2 + } + ], + "signatures": [ + { + "id": 174, + "name": "stop", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used.", - "text": "This overrides the `proxy` configuration allowing independent\nconfiguration for the Tunnel binary process only.\n" + "shortText": "Stops the tunnel.", + "returns": "A promise that resolves to the exit code for the tunnel once it\nhas been terminated.\n" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 113, - "character": 13 - } - ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, + "type": "reference", + "typeArguments": [ { - "type": "intrinsic", - "name": "undefined" + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, + { + "type": "intrinsic", + "name": "void" + } + ] } - ] + ], + "name": "Promise" }, "inheritedFrom": { "type": "reference", - "name": "Tunnel.tunnelProxy", - "id": 50 - }, - "implementationOf": { - "type": "reference", - "name": "CrossBrowserTestingProperties.tunnelProxy", - "id": 467 + "id": 712, + "name": "Tunnel.stop" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 711, + "name": "Tunnel.stop" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [ + 111 + ] + }, + { + "title": "Properties", + "kind": 1024, + "children": [ + 195, + 158, + 159, + 156, + 160, + 157, + 141, + 143, + 114, + 144, + 140, + 145, + 146, + 196, + 147, + 148, + 149, + 150, + 151, + 153, + 152, + 154, + 142, + 155 + ] + }, + { + "title": "Accessors", + "kind": 262144, + "children": [ + 115, + 161, + 117, + 122, + 163, + 165, + 167 + ] + }, + { + "title": "Methods", + "kind": 2048, + "children": [ + 175, + 127, + 180, + 184, + 137, + 189, + 134, + 193, + 214, + 124, + 197, + 169, + 203, + 211, + 130, + 171, + 173 + ] + } + ], + "sources": [ + { + "fileName": "src/CrossBrowserTestingTunnel.ts", + "line": 51, + "character": 21 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 662, + "name": "Tunnel" + } + ], + "implementedTypes": [ + { + "type": "reference", + "name": "CrossBrowserTestingProperties" + } + ] + }, + { + "id": 216, + "name": "NullTunnel", + "kind": 128, + "kindString": "Class", + "flags": {}, + "comment": { + "shortText": "A no-op tunnel." + }, + "children": [ + { + "id": 217, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ { - "id": 393, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL where the tunnel software can be downloaded." - }, - "sources": [ + "fileName": "src/NullTunnel.ts", + "line": 8, + "character": 2 + } + ], + "signatures": [ + { + "id": 218, + "name": "new NullTunnel", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 119, - "character": 5 + "id": 219, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "TunnelProperties" + } + ], + "name": "Partial" + } } ], "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { "type": "reference", - "name": "Tunnel.url", - "id": 52 + "id": 216, + "name": "default" }, - "implementationOf": { + "overwrites": { "type": "reference", - "name": "CrossBrowserTestingProperties.url", - "id": 473 + "id": 664, + "name": "Tunnel.constructor" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 663, + "name": "Tunnel.constructor" + } + }, + { + "id": 293, + "name": "__typeMap__", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isExternal": true, + "isOptional": true + }, + "sources": [ { - "id": 381, - "name": "username", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The tunnel username. This will be initialized with a tunnel-specific\nenvironment variable if not specified." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 41, - "character": 10 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.username", - "id": 39 + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 3, + "character": 14 + } + ], + "type": { + "type": "reference", + "name": "TunnelEvents" + }, + "inheritedFrom": { + "type": "reference", + "id": 742, + "name": "Tunnel.__typeMap__" + } + }, + { + "id": 249, + "name": "_handle", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 128, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "implementationOf": { + { "type": "reference", - "name": "CrossBrowserTestingProperties.username", - "id": 469 + "name": "Handle" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 685, + "name": "Tunnel._handle" + } + }, + { + "id": 250, + "name": "_process", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 394, - "name": "verbose", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not to tell the tunnel to provide verbose logging output." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 122, - "character": 9 - } - ], - "type": { + "fileName": "src/Tunnel.ts", + "line": 129, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.verbose", - "id": 53 + "name": "undefined" }, - "implementationOf": { + { "type": "reference", - "name": "CrossBrowserTestingProperties.verbose", - "id": 470 + "name": "ChildProcess" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 686, + "name": "Tunnel._process" + } + }, + { + "id": 247, + "name": "_startTask", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 354, - "name": "auth", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 126, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "getSignature": [ - { - "id": 355, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { + { + "type": "reference", + "typeArguments": [ + { "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.auth", - "id": 41 + "name": "any" } - } - ], - "sources": [ - { - "fileName": "CrossBrowserTestingTunnel.ts", - "line": 74, - "character": 10 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel.auth", - "id": 41 - }, - "implementationOf": { - "type": "reference", - "name": "CrossBrowserTestingProperties.auth", - "id": 459 + ], + "name": "CancellablePromise" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 683, + "name": "Tunnel._startTask" + } + }, + { + "id": 251, + "name": "_state", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 400, - "name": "clientUrl", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 130, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "stopped" }, - "comment": { - "shortText": "The URL that a WebDriver client should used to interact with this\nservice." + { + "type": "literal", + "value": "starting" }, - "getSignature": [ - { - "id": 401, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "The URL that a WebDriver client should used to interact with this\nservice." - }, - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.clientUrl", - "id": 62 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 152, - "character": 15 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.clientUrl", - "id": 62 + { + "type": "literal", + "value": "running" + }, + { + "type": "literal", + "value": "stopping" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 687, + "name": "Tunnel._state" + } + }, + { + "id": 248, + "name": "_stopTask", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 356, - "name": "extraCapabilities", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 127, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "getSignature": [ - { - "id": 357, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 358, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 360, - "name": "password", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "CrossBrowserTestingTunnel.ts", - "line": 81, - "character": 14 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "intrinsic", - "name": "string" - } - ] - }, - "defaultValue": " this.accessKey" - }, - { - "id": 359, - "name": "username", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "CrossBrowserTestingTunnel.ts", - "line": 80, - "character": 14 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "intrinsic", - "name": "string" - } - ] - }, - "defaultValue": " this.username" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 360, - 359 - ] - } - ] - } - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.extraCapabilities", - "id": 64 - } - } - ], - "sources": [ - { - "fileName": "CrossBrowserTestingTunnel.ts", - "line": 78, - "character": 23 - } - ], - "overwrites": { + { "type": "reference", - "name": "Tunnel.extraCapabilities", - "id": 64 + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, + { + "type": "intrinsic", + "name": "void" + } + ] + } + ], + "name": "Promise" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 684, + "name": "Tunnel._stopTask" + } + }, + { + "id": 231, + "name": "accessKey", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The tunnel access key. This will be initialized with a tunnel-specific\nenvironment variable if not specified." + }, + "sources": [ { - "id": 361, - "name": "isDownloaded", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 37, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "getSignature": [ - { - "id": 362, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.isDownloaded", - "id": 66 - } - } - ], - "sources": [ - { - "fileName": "CrossBrowserTestingTunnel.ts", - "line": 85, - "character": 18 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel.isDownloaded", - "id": 66 + { + "type": "intrinsic", + "name": "string" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 667, + "name": "Tunnel.accessKey" + } + }, + { + "id": 233, + "name": "architecture", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The architecture the tunnel will run against. This information is\nautomatically retrieved for the current system at runtime." + }, + "sources": [ { - "id": 402, - "name": "isRunning", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not the tunnel is currently running." + "fileName": "src/Tunnel.ts", + "line": 49, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 669, + "name": "Tunnel.architecture" + } + }, + { + "id": 234, + "name": "auth", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "An HTTP authorization string to use when initiating connections to the\ntunnel. This value of this property is defined by Tunnel subclasses." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 55, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "getSignature": [ - { - "id": 403, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel is currently running." - }, - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isRunning", - "id": 68 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 174, - "character": 15 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isRunning", - "id": 68 + { + "type": "intrinsic", + "name": "string" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 670, + "name": "Tunnel.auth" + } + }, + { + "id": 235, + "name": "directory", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The directory where the tunnel software will be extracted. If the\ndirectory does not exist, it will be created. This value is set by the\ntunnel subclasses." + }, + "sources": [ { - "id": 404, - "name": "isStarting", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not the tunnel is currently starting up." + "fileName": "src/Tunnel.ts", + "line": 62, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 671, + "name": "Tunnel.directory" + } + }, + { + "id": 230, + "name": "environmentUrl", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a service that provides a list of environments supported by\nthe tunnel." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 31, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "getSignature": [ - { - "id": 405, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel is currently starting up." - }, - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isStarting", - "id": 70 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 181, - "character": 16 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isStarting", - "id": 70 + { + "type": "intrinsic", + "name": "string" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 666, + "name": "Tunnel.environmentUrl" + } + }, + { + "id": 236, + "name": "executable", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The executable to spawn in order to create a tunnel. This value is set\nby the tunnel subclasses." + }, + "sources": [ { - "id": 406, - "name": "isStopping", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not the tunnel is currently stopping." - }, - "getSignature": [ - { - "id": 407, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel is currently stopping." - }, - "type": { + "fileName": "src/Tunnel.ts", + "line": 68, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 672, + "name": "Tunnel.executable" + } + }, + { + "id": 237, + "name": "hostname", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The host on which a WebDriver client can access the service provided by\nthe tunnel. This may or may not be the host where the tunnel application\nis running." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 75, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 673, + "name": "Tunnel.hostname" + } + }, + { + "id": 294, + "name": "listenersMap", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 4, + "character": 14 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { "type": "intrinsic", - "name": "boolean" + "name": "string" }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isStopping", - "id": 72 + { + "type": "intrinsic", + "name": "number" } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 188, - "character": 16 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isStopping", - "id": 72 - } - }, - { - "id": 414, - "name": "_downloadFile", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true + ] }, - "signatures": [ - { - "id": 415, - "name": "_downloadFile", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 416, - "name": "url", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, + { + "type": "array", + "elementType": { + "type": "reference", + "typeArguments": [ { - "id": 417, - "name": "proxy", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } + "type": "intrinsic", + "name": "string" }, { - "id": 418, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "DownloadOptions", - "id": 207 - } + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "EventObject" } ], - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._downloadFile", - "id": 87 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 371, - "character": 25 + "name": "EventedCallback" } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._downloadFile", - "id": 87 } - }, + ], + "name": "Map" + }, + "inheritedFrom": { + "type": "reference", + "id": 743, + "name": "Tunnel.listenersMap" + } + }, + { + "id": 238, + "name": "pathname", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The path that a WebDriver client should use to access the service\nprovided by the tunnel." + }, + "sources": [ { - "id": 366, - "name": "_makeArgs", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 81, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 674, + "name": "Tunnel.pathname" + } + }, + { + "id": 239, + "name": "platform", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The operating system the tunnel will run on. This information is\nautomatically retrieved for the current system at runtime." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 87, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 675, + "name": "Tunnel.platform" + } + }, + { + "id": 240, + "name": "port", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The local port where the WebDriver server should be exposed by the\ntunnel. This is typed as a string for Url compatibility, but should be a\nnumber." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 94, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 676, + "name": "Tunnel.port" + } + }, + { + "id": 241, + "name": "protocol", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The protocol (e.g., 'http') that a WebDriver client should use to access\nthe service provided by the tunnel." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 100, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 677, + "name": "Tunnel.protocol" + } + }, + { + "id": 242, + "name": "proxy", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 106, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "signatures": [ - { - "id": 367, - "name": "_makeArgs", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 368, - "name": "readyFile", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - }, - "overwrites": { - "type": "reference", - "name": "Tunnel._makeArgs", - "id": 92 - } - } - ], - "sources": [ - { - "fileName": "CrossBrowserTestingTunnel.ts", - "line": 113, - "character": 21 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel._makeArgs", - "id": 92 + { + "type": "intrinsic", + "name": "string" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 678, + "name": "Tunnel.proxy" + } + }, + { + "id": 244, + "name": "tunnelId", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "A unique identifier for the newly created tunnel." + }, + "sources": [ { - "id": 419, - "name": "_makeChild", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 118, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "signatures": [ - { - "id": 420, - "name": "_makeChild", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates a newly spawned child process for the tunnel software.\nImplementations should call this method to create the tunnel process.", - "text": "Arguments passed to this method will be passed as-is to\n[[Tunnel._makeArgs]] and [[Tunnel._makeOptions]].\n", - "returns": "An object containing a newly spawned Process and a Deferred that\nwill be resolved once the tunnel has started successfully.\n" - }, - "parameters": [ - { - "id": 421, - "name": "executor", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "ChildExecutor", - "id": 163 - } - }, - { - "id": 422, - "name": "values", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isRest": true - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeChild", - "id": 95 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 445, - "character": 22 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeChild", - "id": 95 + { + "type": "intrinsic", + "name": "string" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 680, + "name": "Tunnel.tunnelId" + } + }, + { + "id": 243, + "name": "tunnelProxy", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used.", + "text": "This overrides the `proxy` configuration allowing independent\nconfiguration for the Tunnel binary process only.\n" + }, + "sources": [ { - "id": 423, - "name": "_makeOptions", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 115, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "signatures": [ - { - "id": 424, - "name": "_makeOptions", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates the set of options to use when spawning the tunnel process.\nImplementations should override this method to provide the appropriate\noptions for the tunnel software.", - "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n", - "returns": "A set of options matching those provided to Node.js\n`child_process.spawn`.\n" - }, - "parameters": [ - { - "id": 425, - "name": "_values", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isRest": true - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 426, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 427, - "name": "env", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 546, - "character": 16 - } - ], - "type": { - "type": "reference", - "name": "ProcessEnv" - }, - "defaultValue": " process.env" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 427 - ] - } - ] - } - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeOptions", - "id": 99 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 545, - "character": 24 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeOptions", - "id": 99 + { + "type": "intrinsic", + "name": "string" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 679, + "name": "Tunnel.tunnelProxy" + } + }, + { + "id": 245, + "name": "url", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL where the tunnel software can be downloaded." + }, + "sources": [ { - "id": 376, - "name": "_normalizeEnvironment", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 377, - "name": "_normalizeEnvironment", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Attempt to normalize a TestingBot described environment with the standard\nSelenium capabilities", - "text": "TestingBot returns a list of environments that looks like:\n\n{\n \"selenium_name\": \"Chrome36\",\n \"name\": \"googlechrome\",\n \"platform\": \"CAPITAN\",\n \"version\":\"36\"\n}\n", - "returns": "a normalized descriptor\n" - }, - "parameters": [ - { - "id": 378, - "name": "environment", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "text": "a TestingBot environment descriptor" - }, - "type": { - "type": "intrinsic", - "name": "any" - } - } - ], - "type": { - "type": "reference", - "name": "NormalizedEnvironment", - "id": 177 - }, - "overwrites": { - "type": "reference", - "name": "Tunnel._normalizeEnvironment", - "id": 104 - } - } - ], - "sources": [ - { - "fileName": "CrossBrowserTestingTunnel.ts", - "line": 226, - "character": 33 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel._normalizeEnvironment", - "id": 104 + "fileName": "src/Tunnel.ts", + "line": 121, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 681, + "name": "Tunnel.url" + } + }, + { + "id": 232, + "name": "username", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The tunnel username. This will be initialized with a tunnel-specific\nenvironment variable if not specified." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 43, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 668, + "name": "Tunnel.username" + } + }, + { + "id": 246, + "name": "verbose", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Whether or not to tell the tunnel to provide verbose logging output." + }, + "sources": [ { - "id": 428, - "name": "_postDownloadFile", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 124, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "id": 682, + "name": "Tunnel.verbose" + } + }, + { + "id": 252, + "name": "clientUrl", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "The URL that a WebDriver client should used to interact with this\nservice." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 154, + "character": 6 + } + ], + "getSignature": [ + { + "id": 253, + "name": "clientUrl", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, + "comment": { + "shortText": "The URL that a WebDriver client should used to interact with this\nservice." + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 688, + "name": "Tunnel.clientUrl" + } + }, + { + "id": 254, + "name": "extraCapabilities", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "A map of additional capabilities that need to be sent to the provider\nwhen a new session is being created." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 162, + "character": 6 + } + ], + "getSignature": [ + { + "id": 255, + "name": "extraCapabilities", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, + "comment": { + "shortText": "A map of additional capabilities that need to be sent to the provider\nwhen a new session is being created." + }, + "type": { + "type": "intrinsic", + "name": "object" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 690, + "name": "Tunnel.extraCapabilities" + } + }, + { + "id": 220, + "name": "isDownloaded", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel software has already been downloaded." + }, + "sources": [ + { + "fileName": "src/NullTunnel.ts", + "line": 19, + "character": 6 + } + ], + "getSignature": [ + { + "id": 221, + "name": "isDownloaded", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 692, + "name": "Tunnel.isDownloaded" + } + }, + { + "id": 256, + "name": "isRunning", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently running." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 176, + "character": 6 + } + ], + "getSignature": [ + { + "id": 257, + "name": "isRunning", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently running." + }, + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 694, + "name": "Tunnel.isRunning" + } + }, + { + "id": 258, + "name": "isStarting", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently starting up." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 183, + "character": 6 + } + ], + "getSignature": [ + { + "id": 259, + "name": "isStarting", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently starting up." + }, + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 696, + "name": "Tunnel.isStarting" + } + }, + { + "id": 260, + "name": "isStopping", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently stopping." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 190, + "character": 6 + } + ], + "getSignature": [ + { + "id": 261, + "name": "isStopping", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently stopping." }, - "signatures": [ + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 698, + "name": "Tunnel.isStopping" + } + }, + { + "id": 264, + "name": "_downloadFile", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 373, + "character": 12 + } + ], + "signatures": [ + { + "id": 265, + "name": "_downloadFile", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ { - "id": 429, - "name": "_postDownloadFile", - "kind": 4096, - "kindString": "Call signature", + "id": 266, + "name": "url", + "kind": 32768, + "kindString": "Parameter", "flags": {}, - "comment": { - "shortText": "Called with the response after a file download has completed" - }, - "parameters": [ - { - "id": 430, - "name": "data", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "Buffer" - } - }, - { - "id": 431, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "DownloadOptions", - "id": 207 - } - } - ], "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ + "type": "union", + "types": [ { "type": "intrinsic", - "name": "void" + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" } ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._postDownloadFile", - "id": 107 } - } - ], - "sources": [ + }, { - "fileName": "Tunnel.ts", - "line": 563, - "character": 29 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._postDownloadFile", - "id": 107 - } - }, - { - "id": 373, - "name": "_start", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 374, - "name": "_start", - "kind": 4096, - "kindString": "Call signature", + "id": 267, + "name": "proxy", + "kind": 32768, + "kindString": "Parameter", "flags": {}, - "parameters": [ - { - "id": 375, - "name": "executor", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "ChildExecutor", - "id": 163 - } - } - ], "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, { "type": "intrinsic", - "name": "any" + "name": "string" } ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel._start", - "id": 111 } - } - ], - "sources": [ - { - "fileName": "CrossBrowserTestingTunnel.ts", - "line": 169, - "character": 18 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel._start", - "id": 111 - } - }, - { - "id": 432, - "name": "_stop", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ + }, { - "id": 433, - "name": "_stop", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "This method provides the implementation that actually stops the tunnel.", - "text": "The default implementation that assumes the tunnel has been closed once\nthe child process has exited. This method should be reimplemented by\nother tunnel launchers to implement correct shutdown logic, if necessary.\n", - "returns": "A promise that resolves once the tunnel has shut down.\n" + "id": 268, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true }, "type": { "type": "reference", - "name": "Promise", "typeArguments": [ { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "void" - } - ] + "type": "reference", + "name": "DownloadProperties" } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._stop", - "id": 114 + ], + "name": "Partial" } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 621, - "character": 17 - } - ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "CancellablePromise" + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel._stop", - "id": 114 + "id": 714, + "name": "Tunnel._downloadFile" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 713, + "name": "Tunnel._downloadFile" + } + }, + { + "id": 269, + "name": "_makeArgs", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 454, - "name": "destroy", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 431, + "character": 12 + } + ], + "signatures": [ + { + "id": 270, + "name": "_makeArgs", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates the list of command-line arguments to be passed to the spawned\ntunnel. Implementations should override this method to provide the\nappropriate command-line arguments.", + "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n", + "returns": "A list of command-line arguments.\n" }, - "signatures": [ + "parameters": [ { - "id": 455, - "name": "destroy", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "boolean" - } - ] + "id": 271, + "name": "_values", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isRest": true }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.destroy" + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } } } ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 12, - "character": 11 + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" } - ], + }, "inheritedFrom": { "type": "reference", - "name": "Evented.destroy" + "id": 719, + "name": "Tunnel._makeArgs" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 718, + "name": "Tunnel._makeArgs" + } + }, + { + "id": 272, + "name": "_makeChild", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 363, - "name": "download", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 445, + "character": 12 + } + ], + "signatures": [ + { + "id": 273, + "name": "_makeChild", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates a newly spawned child process for the tunnel software.\nImplementations should call this method to create the tunnel process.", + "text": "Arguments passed to this method will be passed as-is to\n[[Tunnel._makeArgs]] and [[Tunnel._makeOptions]].\n", + "returns": "An object containing a newly spawned Process and a Deferred that\nwill be resolved once the tunnel has started successfully.\n" }, - "signatures": [ + "parameters": [ { - "id": 364, - "name": "download", - "kind": 4096, - "kindString": "Call signature", + "id": 274, + "name": "executor", + "kind": 32768, + "kindString": "Parameter", "flags": {}, - "parameters": [ - { - "id": 365, - "name": "forceDownload", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "defaultValue": "false" - } - ], "type": { "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.download", - "id": 74 + "name": "ChildExecutor" } - } - ], - "sources": [ + }, { - "fileName": "CrossBrowserTestingTunnel.ts", - "line": 94, - "character": 10 + "id": 275, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } } ], - "overwrites": { + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "CancellablePromise" + }, + "inheritedFrom": { "type": "reference", - "name": "Tunnel.download", - "id": 74 + "id": 722, + "name": "Tunnel._makeChild" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 721, + "name": "Tunnel._makeChild" + } + }, + { + "id": 276, + "name": "_makeOptions", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 437, - "name": "emit", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 546, + "character": 12 + } + ], + "signatures": [ + { + "id": 277, + "name": "_makeOptions", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates the set of options to use when spawning the tunnel process.\nImplementations should override this method to provide the appropriate\noptions for the tunnel software.", + "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n", + "returns": "A set of options matching those provided to Node.js\n`child_process.spawn`.\n" }, - "signatures": [ + "parameters": [ { - "id": 438, - "name": "emit", - "kind": 4096, - "kindString": "Call signature", + "id": 278, + "name": "_values", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 279, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", "flags": {}, - "typeParameter": [ + "children": [ { - "id": 439, - "name": "K", - "kind": 131072, - "kindString": "Type parameter", + "id": 280, + "name": "env", + "kind": 1024, + "kindString": "Property", "flags": {}, "type": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } + "type": "reference", + "name": "ProcessEnv" + }, + "defaultValue": "..." } ], - "parameters": [ + "groups": [ { - "id": 440, - "name": "event", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "unknown", - "name": "M[K]" - } + "title": "Properties", + "kind": 1024, + "children": [ + 280 + ] } - ], - "type": { - "type": "intrinsic", - "name": "void" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.emit" - } - }, - { - "id": 441, - "name": "emit", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 442, - "name": "event", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.emit" - } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 7, - "character": 8 - }, - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 8, - "character": 8 + ] } - ], + }, "inheritedFrom": { "type": "reference", - "name": "Evented.emit" + "id": 726, + "name": "Tunnel._makeOptions" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 725, + "name": "Tunnel._makeOptions" + } + }, + { + "id": 281, + "name": "_normalizeEnvironment", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 408, - "name": "getEnvironments", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 557, + "character": 12 + } + ], + "signatures": [ + { + "id": 282, + "name": "_normalizeEnvironment", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Normalizes a specific Tunnel environment descriptor to a general form. To\nbe overriden by a child implementation.", + "returns": "a normalized environment\n" }, - "signatures": [ + "parameters": [ { - "id": 409, - "name": "getEnvironments", - "kind": 4096, - "kindString": "Call signature", + "id": 283, + "name": "environment", + "kind": 32768, + "kindString": "Parameter", "flags": {}, "comment": { - "shortText": "Get a list of environments available on the service.", - "text": "This method should be overridden and use a specific implementation that\nreturns normalized environments from the service. E.g.\n\n```js\n{\n browserName: 'firefox',\n version: '12',\n platform: 'windows',\n descriptor: { }\n}\n```\n", - "returns": "An object containing the response and helper functions\n" + "text": "an environment descriptor specific to the Tunnel" }, "type": { "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "array", - "elementType": { - "type": "reference", - "name": "NormalizedEnvironment", - "id": 177 - } - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.getEnvironments", - "id": 77 + "name": "Object" } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 229, - "character": 17 - } - ], + "type": { + "type": "reference", + "name": "NormalizedEnvironment" + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel.getEnvironments", - "id": 77 + "id": 731, + "name": "Tunnel._normalizeEnvironment" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 730, + "name": "Tunnel._normalizeEnvironment" + } + }, + { + "id": 284, + "name": "_postDownloadFile", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 443, - "name": "on", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 564, + "character": 12 + } + ], + "signatures": [ + { + "id": 285, + "name": "_postDownloadFile", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Called with the response after a file download has completed" }, - "signatures": [ + "parameters": [ { - "id": 444, - "name": "on", - "kind": 4096, - "kindString": "Call signature", + "id": 286, + "name": "data", + "kind": 32768, + "kindString": "Parameter", "flags": {}, - "typeParameter": [ - { - "id": 445, - "name": "K", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - ], - "parameters": [ - { - "id": 446, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "typeParameter", - "name": "K", - "constraint": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - }, - { - "id": 447, - "name": "listener", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EventedCallbackOrArray", - "typeArguments": [ - { - "type": "typeParameter", - "name": "K", - "constraint": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - }, - { - "type": "unknown", - "name": "M[K]" - } - ] - } - } - ], "type": { "type": "reference", - "name": "Handle" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.on" + "name": "Buffer" } }, { - "id": 448, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 449, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 450, - "name": "listener", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EventedCallbackOrArray", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - ] - } - } - ], - "type": { - "type": "reference", - "name": "Handle" + "id": 287, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true }, - "inheritedFrom": { + "type": { "type": "reference", - "name": "Evented.on" + "typeArguments": [ + { + "type": "reference", + "name": "DownloadProperties" + } + ], + "name": "Partial" } } ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 9, - "character": 6 - }, - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 10, - "character": 6 - } - ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise" + }, "inheritedFrom": { "type": "reference", - "name": "Evented.on" + "id": 734, + "name": "Tunnel._postDownloadFile" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 733, + "name": "Tunnel._postDownloadFile" + } + }, + { + "id": 288, + "name": "_start", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 451, - "name": "own", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 593, + "character": 12 + } + ], + "signatures": [ + { + "id": 289, + "name": "_start", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "This method provides the implementation that actually starts the tunnel\nand any other logic for emitting events on the Tunnel based on data\npassed by the tunnel software.", + "text": "The default implementation that assumes the tunnel is ready for use once\nthe child process has written to `stdout` or `stderr`. This method should\nbe reimplemented by other tunnel launchers to implement correct launch\ndetection logic.\n", + "returns": "An object containing a reference to the child process, and a\nDeferred that is resolved once the tunnel is ready for use. Normally this\nwill be the object returned from a call to [[Tunnel._makeChild]].\n" }, - "signatures": [ + "parameters": [ { - "id": 452, - "name": "own", - "kind": 4096, - "kindString": "Call signature", + "id": 290, + "name": "executor", + "kind": 32768, + "kindString": "Parameter", "flags": {}, - "parameters": [ - { - "id": 453, - "name": "handles", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Handle" - }, - { - "type": "array", - "elementType": { - "type": "reference", - "name": "Handle" - } - } - ] - } - } - ], "type": { "type": "reference", - "name": "Handle" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.own" + "name": "ChildExecutor" } } ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 11, - "character": 7 - } - ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "CancellablePromise" + }, "inheritedFrom": { "type": "reference", - "name": "Evented.own" + "id": 738, + "name": "Tunnel._start" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 737, + "name": "Tunnel._start" + } + }, + { + "id": 291, + "name": "_stop", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 369, - "name": "sendJobState", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 622, + "character": 12 + } + ], + "signatures": [ + { + "id": 292, + "name": "_stop", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "This method provides the implementation that actually stops the tunnel.", + "text": "The default implementation that assumes the tunnel has been closed once\nthe child process has exited. This method should be reimplemented by\nother tunnel launchers to implement correct shutdown logic, if necessary.\n", + "returns": "A promise that resolves once the tunnel has shut down.\n" }, - "signatures": [ - { - "id": 370, - "name": "sendJobState", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 371, - "name": "jobId", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 372, - "name": "data", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "JobState", - "id": 27 - } - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, { "type": "intrinsic", "name": "void" } ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.sendJobState", - "id": 79 } - } - ], - "sources": [ - { - "fileName": "CrossBrowserTestingTunnel.ts", - "line": 131, - "character": 14 - } - ], + ], + "name": "Promise" + }, + "inheritedFrom": { + "type": "reference", + "id": 741, + "name": "Tunnel._stop" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 740, + "name": "Tunnel._stop" + } + }, + { + "id": 312, + "name": "destroy", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 12, + "character": 4 + } + ], + "signatures": [ + { + "id": 313, + "name": "destroy", + "kind": 4096, + "kindString": "Call signature", + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "boolean" + } + ], + "name": "Promise" + }, + "inheritedFrom": { + "type": "reference", + "id": 762, + "name": "Tunnel.destroy" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 761, + "name": "Tunnel.destroy" + } + }, + { + "id": 222, + "name": "download", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/NullTunnel.ts", + "line": 23, + "character": 2 + } + ], + "signatures": [ + { + "id": 223, + "name": "download", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Downloads and extracts the tunnel software if it is not already\ndownloaded.", + "text": "This method can be extended by implementations to perform any necessary\npost-processing, such as setting appropriate file permissions on the\ndownloaded executable.\n" + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "CancellablePromise" + }, "overwrites": { "type": "reference", - "name": "Tunnel.sendJobState", - "id": 79 + "id": 701, + "name": "Tunnel.download" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 700, + "name": "Tunnel.download" + } + }, + { + "id": 295, + "name": "emit", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ { - "id": 410, - "name": "start", - "kind": 2048, - "kindString": "Method", + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 7, + "character": 4 + } + ], + "signatures": [ + { + "id": 296, + "name": "emit", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true + "isExternal": true }, - "signatures": [ + "typeParameter": [ { - "id": 411, - "name": "start", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Starts the tunnel, automatically downloading dependencies if necessary.", - "returns": "A promise that resolves once the tunnel has been established.\n" + "id": 297, + "name": "K", + "kind": 131072, + "kindString": "Type parameter", + "flags": { + "isExternal": true }, "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ + "type": "union", + "types": [ { "type": "intrinsic", - "name": "void" + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" } ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.start", - "id": 83 } } ], - "sources": [ + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 275, - "character": 7 + "id": 298, + "name": "event", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "name": "K" + }, + "objectType": { + "type": "reference", + "name": "TunnelEvents" + } + } } ], + "type": { + "type": "intrinsic", + "name": "void" + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel.start", - "id": 83 + "id": 745, + "name": "Tunnel.emit" } }, { - "id": 412, - "name": "stop", - "kind": 2048, - "kindString": "Method", + "id": 299, + "name": "emit", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true + "isExternal": true }, - "signatures": [ + "parameters": [ { - "id": 413, - "name": "stop", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Stops the tunnel.", - "returns": "A promise that resolves to the exit code for the tunnel once it\nhas been terminated.\n" + "id": 300, + "name": "event", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true }, "type": { "type": "reference", - "name": "Promise", "typeArguments": [ { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "void" - } - ] + "type": "intrinsic", + "name": "string" } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.stop", - "id": 85 + ], + "name": "EventObject" } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 332, - "character": 6 - } - ], + "type": { + "type": "intrinsic", + "name": "void" + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel.stop", - "id": 85 + "id": 748, + "name": "Tunnel.emit" } } ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 351 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 435, - 397, - 398, - 395, - 399, - 396, - 380, - 382, - 350, - 383, - 379, - 384, - 385, - 436, - 386, - 387, - 388, - 389, - 390, - 392, - 391, - 393, - 381, - 394 - ] - }, - { - "title": "Accessors", - "kind": 262144, - "children": [ - 354, - 400, - 356, - 361, - 402, - 404, - 406 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 414, - 366, - 419, - 423, - 376, - 428, - 373, - 432, - 454, - 363, - 437, - 408, - 443, - 451, - 369, - 410, - 412 - ] - } - ], + "inheritedFrom": { + "type": "reference", + "id": 744, + "name": "Tunnel.emit" + } + }, + { + "id": 262, + "name": "getEnvironments", + "kind": 2048, + "kindString": "Method", + "flags": {}, "sources": [ { - "fileName": "CrossBrowserTestingTunnel.ts", - "line": 51, - "character": 46 - } - ], - "extendedTypes": [ - { - "type": "reference", - "name": "Tunnel", - "id": 36 + "fileName": "src/Tunnel.ts", + "line": 231, + "character": 2 } ], - "implementedTypes": [ - { - "type": "reference", - "name": "TunnelProperties", - "id": 190 - }, - { - "type": "reference", - "name": "CrossBrowserTestingProperties", - "id": 456 - } - ] - }, - { - "id": 456, - "name": "CrossBrowserTestingProperties", - "kind": 256, - "kindString": "Interface", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Options specific to the CrossBrowserTestingTunnel" - }, - "children": [ + "signatures": [ { - "id": 460, - "name": "accessKey", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "id": 263, + "name": "getEnvironments", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "[[Tunnel.Tunnel.accessKey|More info]]" + "shortText": "Get a list of environments available on the service.", + "text": "This method should be overridden and use a specific implementation that\nreturns normalized environments from the service. E.g.\n\n```js\n{\n browserName: 'firefox',\n version: '12',\n platform: 'windows',\n descriptor: { }\n}\n```\n", + "returns": "An object containing the response and helper functions\n" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 740, - "character": 11 - } - ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, + "type": "reference", + "typeArguments": [ { - "type": "intrinsic", - "name": "undefined" + "type": "array", + "elementType": { + "type": "reference", + "name": "NormalizedEnvironment" + } } - ] + ], + "name": "CancellablePromise" }, "inheritedFrom": { "type": "reference", - "name": "TunnelProperties.accessKey", - "id": 193 + "id": 704, + "name": "Tunnel.getEnvironments" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 703, + "name": "Tunnel.getEnvironments" + } + }, + { + "id": 301, + "name": "on", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ { - "id": 458, - "name": "architecture", - "kind": 1024, - "kindString": "Property", + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 9, + "character": 4 + } + ], + "signatures": [ + { + "id": 302, + "name": "on", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true + "isExternal": true }, - "comment": { - "shortText": "[[Tunnel.Tunnel.architecture|More info]]" - }, - "sources": [ + "typeParameter": [ { - "fileName": "Tunnel.ts", - "line": 734, - "character": 14 - } - ], + "id": 303, + "name": "K", + "kind": 131072, + "kindString": "Type parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + } + ], + "parameters": [ + { + "id": 304, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "name": "K" + } + }, + { + "id": 305, + "name": "listener", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "K" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "name": "K" + }, + "objectType": { + "type": "reference", + "name": "TunnelEvents" + } + } + ], + "name": "EventedCallbackOrArray" + } + } + ], "type": { - "type": "intrinsic", - "name": "string" + "type": "reference", + "name": "Handle" }, "inheritedFrom": { "type": "reference", - "name": "TunnelProperties.architecture", - "id": 191 + "id": 751, + "name": "Tunnel.on" } }, { - "id": 459, - "name": "auth", - "kind": 1024, - "kindString": "Property", + "id": 306, + "name": "on", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true + "isExternal": true }, - "comment": { - "shortText": "[[Tunnel.Tunnel.auth|More info]]" - }, - "sources": [ + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 737, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { + "id": 307, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { "type": "intrinsic", "name": "string" + } + }, + { + "id": 308, + "name": "listener", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true }, - { - "type": "intrinsic", - "name": "undefined" + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "EventObject" + } + ], + "name": "EventedCallbackOrArray" } - ] + } + ], + "type": { + "type": "reference", + "name": "Handle" }, "inheritedFrom": { "type": "reference", - "name": "TunnelProperties.auth", - "id": 192 + "id": 755, + "name": "Tunnel.on" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 750, + "name": "Tunnel.on" + } + }, + { + "id": 309, + "name": "own", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ { - "id": 457, - "name": "cbtVersion", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[CrossBrowserTestingTunnel.CrossBrowserTestingTunnel.cbtVersion|More info]]" - }, - "sources": [ - { - "fileName": "CrossBrowserTestingTunnel.ts", - "line": 255, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 11, + "character": 4 + } + ], + "signatures": [ { - "id": 471, - "name": "directory", - "kind": 1024, - "kindString": "Property", + "id": 310, + "name": "own", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true + "isExternal": true }, - "sources": [ + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 701, - "character": 11 + "id": 311, + "name": "handles", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "name": "Handle" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "name": "Handle" + } + } + ] + } } ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] + "type": "reference", + "name": "Handle" }, "inheritedFrom": { "type": "reference", - "name": "DownloadProperties.directory", - "id": 174 + "id": 759, + "name": "Tunnel.own" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 758, + "name": "Tunnel.own" + } + }, + { + "id": 228, + "name": "sendJobState", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "id": 461, - "name": "executable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/NullTunnel.ts", + "line": 37, + "character": 2 + } + ], + "signatures": [ + { + "id": 229, + "name": "sendJobState", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "[[Tunnel.Tunnel.executable|More info]]" + "shortText": "Sends information about a job to the tunnel provider." }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 743, - "character": 12 - } - ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "undefined" + "name": "void" } - ] + ], + "name": "CancellablePromise" }, - "inheritedFrom": { + "overwrites": { "type": "reference", - "name": "TunnelProperties.executable", - "id": 194 + "id": 706, + "name": "Tunnel.sendJobState" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 705, + "name": "Tunnel.sendJobState" + } + }, + { + "id": 224, + "name": "start", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "id": 462, - "name": "hostname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/NullTunnel.ts", + "line": 27, + "character": 2 + } + ], + "signatures": [ + { + "id": 225, + "name": "start", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "[[Tunnel.Tunnel.hostname|More info]]" + "shortText": "Starts the tunnel, automatically downloading dependencies if necessary." }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 746, - "character": 10 - } - ], "type": { - "type": "intrinsic", - "name": "string" + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "CancellablePromise" }, - "inheritedFrom": { + "overwrites": { "type": "reference", - "name": "TunnelProperties.hostname", - "id": 195 + "id": 710, + "name": "Tunnel.start" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 709, + "name": "Tunnel.start" + } + }, + { + "id": 226, + "name": "stop", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "id": 463, - "name": "pathname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/NullTunnel.ts", + "line": 32, + "character": 2 + } + ], + "signatures": [ + { + "id": 227, + "name": "stop", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "[[Tunnel.Tunnel.pathname|More info]]" + "shortText": "Stops the tunnel." }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 749, - "character": 10 - } - ], "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { "type": "reference", - "name": "TunnelProperties.pathname", - "id": 196 - } - }, - { - "id": 464, - "name": "platform", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.platform|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 752, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.platform", - "id": 197 - } - }, - { - "id": 465, - "name": "port", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.port|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 755, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.port", - "id": 198 - } - }, - { - "id": 466, - "name": "protocol", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.protocol|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 758, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.protocol", - "id": 199 - } - }, - { - "id": 472, - "name": "proxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 702, - "character": 7 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "DownloadProperties.proxy", - "id": 175 - } - }, - { - "id": 468, - "name": "tunnelId", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.tunnelId|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 764, - "character": 10 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.tunnelId", - "id": 201 - } - }, - { - "id": 467, - "name": "tunnelProxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.tunnelProxy|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 761, - "character": 13 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.tunnelProxy", - "id": 200 - } - }, - { - "id": 473, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 703, - "character": 5 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "DownloadProperties.url", - "id": 176 - } - }, - { - "id": 469, - "name": "username", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.username|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 767, - "character": 10 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, + "typeArguments": [ { "type": "intrinsic", - "name": "undefined" + "name": "number" } - ] + ], + "name": "Promise" }, - "inheritedFrom": { + "overwrites": { "type": "reference", - "name": "TunnelProperties.username", - "id": 202 + "id": 712, + "name": "Tunnel.stop" } - }, - { - "id": 470, - "name": "verbose", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.verbose|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 770, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.verbose", - "id": 203 - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 460, - 458, - 459, - 457, - 471, - 461, - 462, - 463, - 464, - 465, - 466, - 472, - 468, - 467, - 473, - 469, - 470 - ] - } - ], - "sources": [ - { - "fileName": "CrossBrowserTestingTunnel.ts", - "line": 253, - "character": 46 - } - ], - "extendedTypes": [ - { - "type": "reference", - "name": "TunnelProperties", - "id": 190 - } - ], - "implementedBy": [ - { - "type": "reference", - "name": "CrossBrowserTestingTunnel", - "id": 349 - } - ] - }, - { - "id": 475, - "name": "CrossBrowserTestingOptions", - "kind": 4194304, - "kindString": "Type alias", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "CrossBrowserTestingTunnel.ts", - "line": 258, - "character": 38 } ], - "type": { + "overwrites": { "type": "reference", - "name": "Partial", - "typeArguments": [ - { - "type": "reference", - "name": "CrossBrowserTestingProperties", - "id": 456 - } - ] + "id": 711, + "name": "Tunnel.stop" } - }, - { - "id": 474, - "name": "cbtVersion", - "kind": 32, - "kindString": "Variable", - "flags": { - "isConst": true - }, - "sources": [ - { - "fileName": "CrossBrowserTestingTunnel.ts", - "line": 19, - "character": 16 - } - ], - "type": { - "type": "stringLiteral", - "value": "0.9.12" - }, - "defaultValue": "\"0.9.12\"" } ], "groups": [ { - "title": "Classes", - "kind": 128, + "title": "Constructors", + "kind": 512, "children": [ - 349 + 217 ] }, { - "title": "Interfaces", - "kind": 256, + "title": "Properties", + "kind": 1024, "children": [ - 456 + 293, + 249, + 250, + 247, + 251, + 248, + 231, + 233, + 234, + 235, + 230, + 236, + 237, + 294, + 238, + 239, + 240, + 241, + 242, + 244, + 243, + 245, + 232, + 246 ] }, { - "title": "Type aliases", - "kind": 4194304, + "title": "Accessors", + "kind": 262144, "children": [ - 475 + 252, + 254, + 220, + 256, + 258, + 260 ] }, { - "title": "Variables", - "kind": 32, + "title": "Methods", + "kind": 2048, "children": [ - 474 + 264, + 269, + 272, + 276, + 281, + 284, + 288, + 291, + 312, + 222, + 295, + 262, + 301, + 309, + 228, + 224, + 226 ] } ], "sources": [ { - "fileName": "CrossBrowserTestingTunnel.ts", - "line": 1, - "character": 0 + "fileName": "src/NullTunnel.ts", + "line": 7, + "character": 21 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 662, + "name": "Tunnel" } ] }, { - "id": 476, - "name": "\"NullTunnel\"", - "kind": 1, - "kindString": "External module", - "flags": { - "isExported": true + "id": 314, + "name": "SauceLabsTunnel", + "kind": 128, + "kindString": "Class", + "flags": {}, + "comment": { + "shortText": "A Sauce Labs tunnel. This tunnel uses Sauce Connect 4 on platforms where it\nis supported, and Sauce Connect 3 on all other platforms.", + "text": "The accessKey and username properties will be initialized using\nSAUCE_ACCESS_KEY and SAUCE_USERNAME.\n\nSee [[SauceLabsTunnel.SauceLabsProperties]] for a list of options specific to\nthis tunnel class.\n" }, - "originalName": "src/NullTunnel.ts", "children": [ { - "id": 477, - "name": "NullTunnel", - "kind": 128, - "kindString": "Class", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A no-op tunnel." - }, - "typeParameter": [ + "id": 315, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/SauceLabsTunnel.ts", + "line": 125, + "character": 2 + } + ], + "signatures": [ { - "id": 554, - "name": "O", - "kind": 131072, - "kindString": "Type parameter", + "id": 316, + "name": "new SauceLabsTunnel", + "kind": 16384, + "kindString": "Constructor signature", "flags": {}, + "parameters": [ + { + "id": 317, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "SauceLabsProperties" + } + ], + "name": "Partial" + } + } + ], "type": { "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] + "id": 314, + "name": "default" + }, + "overwrites": { + "type": "reference", + "id": 664, + "name": "Tunnel.constructor" } } ], - "children": [ + "overwrites": { + "type": "reference", + "id": 663, + "name": "Tunnel.constructor" + } + }, + { + "id": 419, + "name": "__typeMap__", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isExternal": true, + "isOptional": true + }, + "sources": [ { - "id": 478, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": { - "isExported": true + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 3, + "character": 14 + } + ], + "type": { + "type": "reference", + "name": "TunnelEvents" + }, + "inheritedFrom": { + "type": "reference", + "id": 742, + "name": "Tunnel.__typeMap__" + } + }, + { + "id": 383, + "name": "_handle", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 128, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "signatures": [ - { - "id": 479, - "name": "new NullTunnel", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 480, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "Partial", - "typeArguments": [ - { - "type": "reference", - "name": "TunnelProperties", - "id": 190 - } - ] - } - } - ], - "type": { - "type": "reference", - "name": "NullTunnel", - "id": 477 - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.__constructor", - "id": 59 - } - } - ], - "sources": [ - { - "fileName": "NullTunnel.ts", - "line": 7, - "character": 48 - } - ], - "overwrites": { + { "type": "reference", - "name": "Tunnel.__constructor", - "id": 59 + "name": "Handle" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 685, + "name": "Tunnel._handle" + } + }, + { + "id": 384, + "name": "_process", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 555, - "name": "__typeMap__", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 3, - "character": 25 - } - ], - "type": { - "type": "reference", - "name": "M" + "fileName": "src/Tunnel.ts", + "line": 129, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "inheritedFrom": { + { "type": "reference", - "name": "Evented.__typeMap__" + "name": "ChildProcess" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 686, + "name": "Tunnel._process" + } + }, + { + "id": 381, + "name": "_startTask", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 510, - "name": "_handle", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 126, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 126, - "character": 19 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Handle" - }, + { + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "undefined" + "name": "any" } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._handle", - "id": 56 + ], + "name": "CancellablePromise" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 683, + "name": "Tunnel._startTask" + } + }, + { + "id": 385, + "name": "_state", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 511, - "name": "_process", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 130, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "stopped" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 127, - "character": 20 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "ChildProcess" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] + { + "type": "literal", + "value": "starting" }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._process", - "id": 57 + { + "type": "literal", + "value": "running" + }, + { + "type": "literal", + "value": "stopping" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 687, + "name": "Tunnel._state" + } + }, + { + "id": 382, + "name": "_stopTask", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 508, - "name": "_startTask", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 127, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 124, - "character": 22 - } - ], - "type": { - "type": "union", - "types": [ + { + "type": "reference", + "typeArguments": [ { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ + "type": "union", + "types": [ { "type": "intrinsic", - "name": "any" + "name": "number" + }, + { + "type": "intrinsic", + "name": "void" } ] - }, - { - "type": "intrinsic", - "name": "undefined" } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._startTask", - "id": 54 + ], + "name": "Promise" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 684, + "name": "Tunnel._stopTask" + } + }, + { + "id": 318, + "name": "accessKey", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The tunnel access key. This will be initialized with a tunnel-specific\nenvironment variable if not specified." + }, + "sources": [ { - "id": 512, - "name": "_state", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 128, - "character": 18 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "stringLiteral", - "value": "stopped" - }, - { - "type": "stringLiteral", - "value": "starting" - }, - { - "type": "stringLiteral", - "value": "running" - }, - { - "type": "stringLiteral", - "value": "stopping" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._state", - "id": 58 - } - }, + "fileName": "src/SauceLabsTunnel.ts", + "line": 31, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "overwrites": { + "type": "reference", + "id": 667, + "name": "Tunnel.accessKey" + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.accessKey" + } + }, + { + "id": 370, + "name": "architecture", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The architecture the tunnel will run against. This information is\nautomatically retrieved for the current system at runtime." + }, + "sources": [ { - "id": 509, - "name": "_stopTask", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 125, - "character": 21 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "void" - } - ] - } - ] - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] + "fileName": "src/Tunnel.ts", + "line": 49, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 669, + "name": "Tunnel.architecture" + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.architecture" + } + }, + { + "id": 319, + "name": "directDomains", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "A list of domains that should not be proxied by the tunnel on the remote\nVM." + }, + "sources": [ + { + "fileName": "src/SauceLabsTunnel.ts", + "line": 37, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.directDomains" + } + }, + { + "id": 371, + "name": "directory", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The directory where the tunnel software will be extracted. If the\ndirectory does not exist, it will be created. This value is set by the\ntunnel subclasses." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 62, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 671, + "name": "Tunnel.directory" + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.directory" + } + }, + { + "id": 321, + "name": "domainAuthentication", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "A list of URLs that require additional HTTP authentication. Only the\nhostname, port, and auth are used. This property is only supported by\nSauce Connect 4 tunnels." + }, + "sources": [ + { + "fileName": "src/SauceLabsTunnel.ts", + "line": 49, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.domainAuthentication" + } + }, + { + "id": 369, + "name": "environmentUrl", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a service that provides a list of environments supported by\nthe tunnel." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 31, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._stopTask", - "id": 55 + { + "type": "intrinsic", + "name": "string" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 666, + "name": "Tunnel.environmentUrl" + } + }, + { + "id": 322, + "name": "fastFailDomains", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "A list of regular expressions corresponding to domains whose connections\nshould fail immediately if the VM attempts to make a connection to them." + }, + "sources": [ { - "id": 492, - "name": "accessKey", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The tunnel access key. This will be initialized with a tunnel-specific\nenvironment variable if not specified." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 35, - "character": 11 - } - ], - "type": { + "fileName": "src/SauceLabsTunnel.ts", + "line": 55, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.fastFailDomains" + } + }, + { + "id": 372, + "name": "hostname", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The host on which a WebDriver client can access the service provided by\nthe tunnel. This may or may not be the host where the tunnel application\nis running." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 75, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 673, + "name": "Tunnel.hostname" + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.hostname" + } + }, + { + "id": 323, + "name": "isSharedTunnel", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Allows the tunnel to also be used by sub-accounts of the user that\nstarted the tunnel." + }, + "sources": [ + { + "fileName": "src/SauceLabsTunnel.ts", + "line": 61, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.isSharedTunnel" + } + }, + { + "id": 420, + "name": "listenersMap", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 4, + "character": 14 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { "type": "union", "types": [ { @@ -7395,5771 +8345,5884 @@ }, { "type": "intrinsic", - "name": "undefined" + "name": "number" } ] }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.accessKey", - "id": 38 - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.accessKey", - "id": 193 + { + "type": "array", + "elementType": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "EventObject" + } + ], + "name": "EventedCallback" + } } - }, + ], + "name": "Map" + }, + "inheritedFrom": { + "type": "reference", + "id": 743, + "name": "Tunnel.listenersMap" + } + }, + { + "id": 324, + "name": "logFile", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "A filename where additional logs from the tunnel should be output." + }, + "sources": [ { - "id": 494, - "name": "architecture", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The architecture the tunnel will run against. This information is\nautomatically retrieved for the current system at runtime." + "fileName": "src/SauceLabsTunnel.ts", + "line": 64, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 47, - "character": 14 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.architecture", - "id": 40 - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.architecture", - "id": 191 } - }, + ] + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.logFile" + } + }, + { + "id": 327, + "name": "logFileSize", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Specifies the maximum log filesize before rotation, in bytes. This\nproperty is only supported by Sauce Connect 3 tunnels." + }, + "sources": [ { - "id": 495, - "name": "auth", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "An HTTP authorization string to use when initiating connections to the\ntunnel. This value of this property is defined by Tunnel subclasses." + "fileName": "src/SauceLabsTunnel.ts", + "line": 80, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 53, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.auth", - "id": 41 - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.auth", - "id": 192 + { + "type": "intrinsic", + "name": "number" } - }, + ] + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.logFileSize" + } + }, + { + "id": 328, + "name": "logTrafficStats", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Log statistics about HTTP traffic every `logTrafficStats` milliseconds.\nThis property is only supported by Sauce Connect 4 tunnels." + }, + "sources": [ { - "id": 496, - "name": "directory", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The directory where the tunnel software will be extracted. If the\ndirectory does not exist, it will be created. This value is set by the\ntunnel subclasses." + "fileName": "src/SauceLabsTunnel.ts", + "line": 86, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.logTrafficStats" + } + }, + { + "id": 325, + "name": "pacFile", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The absolute filepath (or URL) of a file which Sauce Connect should use\nfor additional proxy configuration. Sauce Connect suggests using either\nthis or `proxy`, but not both." + }, + "sources": [ + { + "fileName": "src/SauceLabsTunnel.ts", + "line": 71, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 60, - "character": 11 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.directory", - "id": 42 - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.directory", - "id": 204 } - }, + ] + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.pacFile" + } + }, + { + "id": 373, + "name": "pathname", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The path that a WebDriver client should use to access the service\nprovided by the tunnel." + }, + "sources": [ { - "id": 491, - "name": "environmentUrl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL of a service that provides a list of environments supported by\nthe tunnel." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 29, - "character": 16 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] + "fileName": "src/Tunnel.ts", + "line": 81, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 674, + "name": "Tunnel.pathname" + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.pathname" + } + }, + { + "id": 326, + "name": "pidFile", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "A filename where Sauce Connect stores its process information." + }, + "sources": [ + { + "fileName": "src/SauceLabsTunnel.ts", + "line": 74, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.environmentUrl", - "id": 37 + { + "type": "intrinsic", + "name": "string" } - }, + ] + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.pidFile" + } + }, + { + "id": 374, + "name": "platform", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The operating system the tunnel will run on. This information is\nautomatically retrieved for the current system at runtime." + }, + "sources": [ { - "id": 497, - "name": "executable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The executable to spawn in order to create a tunnel. This value is set\nby the tunnel subclasses." + "fileName": "src/Tunnel.ts", + "line": 87, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 675, + "name": "Tunnel.platform" + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.platform" + } + }, + { + "id": 375, + "name": "port", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The local port where the WebDriver server should be exposed by the\ntunnel. This is typed as a string for Url compatibility, but should be a\nnumber." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 94, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 676, + "name": "Tunnel.port" + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.port" + } + }, + { + "id": 376, + "name": "protocol", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The protocol (e.g., 'http') that a WebDriver client should use to access\nthe service provided by the tunnel." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 100, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 677, + "name": "Tunnel.protocol" + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.protocol" + } + }, + { + "id": 377, + "name": "proxy", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 106, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 66, - "character": 12 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.executable", - "id": 43 - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.executable", - "id": 194 } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 678, + "name": "Tunnel.proxy" + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.proxy" + } + }, + { + "id": 329, + "name": "restUrl", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "An alternative URL for the Sauce REST API. This property is only\nsupported by Sauce Connect 3 tunnels." + }, + "sources": [ { - "id": 498, - "name": "hostname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The host on which a WebDriver client can access the service provided by\nthe tunnel. This may or may not be the host where the tunnel application\nis running." + "fileName": "src/SauceLabsTunnel.ts", + "line": 92, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 73, - "character": 10 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.hostname", - "id": 44 - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.hostname", - "id": 195 } - }, + ] + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.restUrl" + } + }, + { + "id": 334, + "name": "scVersion", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The version of Sauce Connect that should be used" + }, + "sources": [ { - "id": 556, - "name": "listenersMap", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 4, - "character": 26 - } - ], - "type": { - "type": "reference", - "name": "Map", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - ] - }, - { - "type": "array", - "elementType": { - "type": "reference", - "name": "EventedCallback", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - ] - } - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.listenersMap" - } - }, + "fileName": "src/SauceLabsTunnel.ts", + "line": 121, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 330, + "name": "skipSslDomains", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "A list of domains that should not have their SSL connections re-encrypted\nwhen going through the tunnel." + }, + "sources": [ { - "id": 499, - "name": "pathname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The path that a WebDriver client should use to access the service\nprovided by the tunnel." + "fileName": "src/SauceLabsTunnel.ts", + "line": 98, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.skipSslDomains" + } + }, + { + "id": 331, + "name": "squidOptions", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "An additional set of options to use with the Squid proxy for the remote\nVM. This property is only supported by Sauce Connect 3 tunnels." + }, + "sources": [ + { + "fileName": "src/SauceLabsTunnel.ts", + "line": 104, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 79, - "character": 10 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.pathname", - "id": 45 - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.pathname", - "id": 196 } - }, + ] + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.squidOptions" + } + }, + { + "id": 320, + "name": "tunnelDomains", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "A list of domains that will be proxied by the tunnel on the remote VM." + }, + "sources": [ { - "id": 500, - "name": "platform", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The operating system the tunnel will run on. This information is\nautomatically retrieved for the current system at runtime." + "fileName": "src/SauceLabsTunnel.ts", + "line": 42, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.tunnelDomains" + } + }, + { + "id": 379, + "name": "tunnelId", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "A unique identifier for the newly created tunnel." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 118, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 85, - "character": 10 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.platform", - "id": 46 - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.platform", - "id": 197 } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 680, + "name": "Tunnel.tunnelId" + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.tunnelId" + } + }, + { + "id": 378, + "name": "tunnelProxy", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used.", + "text": "This overrides the `proxy` configuration allowing independent\nconfiguration for the Tunnel binary process only.\n" + }, + "sources": [ { - "id": 501, - "name": "port", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The local port where the WebDriver server should be exposed by the\ntunnel. This is typed as a string for Url compatibility, but should be a\nnumber." + "fileName": "src/Tunnel.ts", + "line": 115, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 92, - "character": 6 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.port", - "id": 47 - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.port", - "id": 198 } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 679, + "name": "Tunnel.tunnelProxy" + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.tunnelProxy" + } + }, + { + "id": 332, + "name": "useProxyForTunnel", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Whether or not to use the proxy defined at [[Tunnel.proxy]] for the\ntunnel connection itself." + }, + "sources": [ { - "id": 502, - "name": "protocol", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The protocol (e.g., 'http') that a WebDriver client should use to access\nthe service provided by the tunnel." + "fileName": "src/SauceLabsTunnel.ts", + "line": 110, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.useProxyForTunnel" + } + }, + { + "id": 335, + "name": "username", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The tunnel username. This will be initialized with a tunnel-specific\nenvironment variable if not specified." + }, + "sources": [ + { + "fileName": "src/SauceLabsTunnel.ts", + "line": 123, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "overwrites": { + "type": "reference", + "id": 668, + "name": "Tunnel.username" + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.username" + } + }, + { + "id": 380, + "name": "verbose", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Whether or not to tell the tunnel to provide verbose logging output." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 124, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "id": 682, + "name": "Tunnel.verbose" + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.verbose" + } + }, + { + "id": 333, + "name": "vmVersion", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Overrides the version of the VM created on Sauce Labs. This property is\nonly supported by Sauce Connect 3 tunnels." + }, + "sources": [ + { + "fileName": "src/SauceLabsTunnel.ts", + "line": 116, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 98, - "character": 10 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.protocol", - "id": 48 - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.protocol", - "id": 199 } - }, - { - "id": 503, - "name": "proxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 104, - "character": 7 - } - ], + ] + }, + "implementationOf": { + "type": "reference", + "name": "SauceLabsProperties.vmVersion" + } + }, + { + "id": 336, + "name": "auth", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "An HTTP authorization string to use when initiating connections to the\ntunnel. This value of this property is defined by Tunnel subclasses." + }, + "sources": [ + { + "fileName": "src/SauceLabsTunnel.ts", + "line": 150, + "character": 6 + } + ], + "getSignature": [ + { + "id": 337, + "name": "auth", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.proxy", - "id": 49 - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.proxy", - "id": 205 + "type": "intrinsic", + "name": "string" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 670, + "name": "Tunnel.auth" + } + }, + { + "id": 386, + "name": "clientUrl", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "The URL that a WebDriver client should used to interact with this\nservice." + }, + "sources": [ { - "id": 505, - "name": "tunnelId", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 154, + "character": 6 + } + ], + "getSignature": [ + { + "id": 387, + "name": "clientUrl", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "comment": { - "shortText": "A unique identifier for the newly created tunnel." + "shortText": "The URL that a WebDriver client should used to interact with this\nservice." }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 116, - "character": 10 - } - ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.tunnelId", - "id": 51 - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.tunnelId", - "id": 201 + "type": "intrinsic", + "name": "string" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 688, + "name": "Tunnel.clientUrl" + } + }, + { + "id": 338, + "name": "executable", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "The executable to spawn in order to create a tunnel. This value is set\nby the tunnel subclasses." + }, + "sources": [ { - "id": 504, - "name": "tunnelProxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used.", - "text": "This overrides the `proxy` configuration allowing independent\nconfiguration for the Tunnel binary process only.\n" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 113, - "character": 13 - } - ], + "fileName": "src/SauceLabsTunnel.ts", + "line": 155, + "character": 6 + } + ], + "getSignature": [ + { + "id": 339, + "name": "executable", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.tunnelProxy", - "id": 50 - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.tunnelProxy", - "id": 200 + "type": "intrinsic", + "name": "string" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 672, + "name": "Tunnel.executable" + } + }, + { + "id": 340, + "name": "extraCapabilities", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "A map of additional capabilities that need to be sent to the provider\nwhen a new session is being created." + }, + "sources": [ { - "id": 506, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL where the tunnel software can be downloaded." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 119, - "character": 5 - } - ], + "fileName": "src/SauceLabsTunnel.ts", + "line": 178, + "character": 6 + } + ], + "getSignature": [ + { + "id": 341, + "name": "extraCapabilities", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "type": { "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.url", - "id": 52 - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.url", - "id": 206 + "name": "any" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 690, + "name": "Tunnel.extraCapabilities" + } + }, + { + "id": 342, + "name": "isDownloaded", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel software has already been downloaded." + }, + "sources": [ { - "id": 493, - "name": "username", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The tunnel username. This will be initialized with a tunnel-specific\nenvironment variable if not specified." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 41, - "character": 10 - } - ], + "fileName": "src/SauceLabsTunnel.ts", + "line": 188, + "character": 6 + } + ], + "getSignature": [ + { + "id": 343, + "name": "isDownloaded", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.username", - "id": 39 - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.username", - "id": 202 + "type": "intrinsic", + "name": "boolean" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 692, + "name": "Tunnel.isDownloaded" + } + }, + { + "id": 388, + "name": "isRunning", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently running." + }, + "sources": [ { - "id": 507, - "name": "verbose", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 176, + "character": 6 + } + ], + "getSignature": [ + { + "id": 389, + "name": "isRunning", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "comment": { - "shortText": "Whether or not to tell the tunnel to provide verbose logging output." + "shortText": "Whether or not the tunnel is currently running." }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 122, - "character": 9 - } - ], "type": { "type": "intrinsic", "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.verbose", - "id": 53 - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.verbose", - "id": 203 } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 694, + "name": "Tunnel.isRunning" + } + }, + { + "id": 390, + "name": "isStarting", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently starting up." + }, + "sources": [ { - "id": 513, - "name": "clientUrl", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 183, + "character": 6 + } + ], + "getSignature": [ + { + "id": 391, + "name": "isStarting", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "comment": { - "shortText": "The URL that a WebDriver client should used to interact with this\nservice." + "shortText": "Whether or not the tunnel is currently starting up." }, - "getSignature": [ - { - "id": 514, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "The URL that a WebDriver client should used to interact with this\nservice." - }, - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.clientUrl", - "id": 62 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 152, - "character": 15 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.clientUrl", - "id": 62 + "type": { + "type": "intrinsic", + "name": "boolean" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 696, + "name": "Tunnel.isStarting" + } + }, + { + "id": 392, + "name": "isStopping", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently stopping." + }, + "sources": [ { - "id": 515, - "name": "extraCapabilities", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 190, + "character": 6 + } + ], + "getSignature": [ + { + "id": 393, + "name": "isStopping", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "comment": { - "shortText": "A map of additional capabilities that need to be sent to the provider\nwhen a new session is being created." + "shortText": "Whether or not the tunnel is currently stopping." }, - "getSignature": [ + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 698, + "name": "Tunnel.isStopping" + } + }, + { + "id": 344, + "name": "url", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "The URL where the tunnel software can be downloaded." + }, + "sources": [ + { + "fileName": "src/SauceLabsTunnel.ts", + "line": 197, + "character": 6 + } + ], + "getSignature": [ + { + "id": 345, + "name": "url", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 681, + "name": "Tunnel.url" + } + }, + { + "id": 403, + "name": "_downloadFile", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 373, + "character": 12 + } + ], + "signatures": [ + { + "id": 404, + "name": "_downloadFile", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ { - "id": 516, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", + "id": 405, + "name": "url", + "kind": 32768, + "kindString": "Parameter", "flags": {}, - "comment": { - "shortText": "A map of additional capabilities that need to be sent to the provider\nwhen a new session is being created." - }, "type": { - "type": "intrinsic", - "name": "object" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.extraCapabilities", - "id": 64 + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 160, - "character": 23 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.extraCapabilities", - "id": 64 - } - }, - { - "id": 481, - "name": "isDownloaded", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "getSignature": [ + }, { - "id": 482, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", + "id": 406, + "name": "proxy", + "kind": 32768, + "kindString": "Parameter", "flags": {}, "type": { - "type": "intrinsic", - "name": "boolean" + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 407, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true }, - "overwrites": { + "type": { "type": "reference", - "name": "Tunnel.isDownloaded", - "id": 66 + "typeArguments": [ + { + "type": "reference", + "name": "DownloadProperties" + } + ], + "name": "Partial" } } ], - "sources": [ - { - "fileName": "NullTunnel.ts", - "line": 19, - "character": 18 - } - ], - "overwrites": { + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "CancellablePromise" + }, + "inheritedFrom": { "type": "reference", - "name": "Tunnel.isDownloaded", - "id": 66 + "id": 714, + "name": "Tunnel._downloadFile" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 713, + "name": "Tunnel._downloadFile" + } + }, + { + "id": 356, + "name": "_makeArgs", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 517, - "name": "isRunning", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, + "fileName": "src/SauceLabsTunnel.ts", + "line": 280, + "character": 12 + } + ], + "signatures": [ + { + "id": 357, + "name": "_makeArgs", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "Whether or not the tunnel is currently running." + "shortText": "Creates the list of command-line arguments to be passed to the spawned\ntunnel. Implementations should override this method to provide the\nappropriate command-line arguments.", + "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n" }, - "getSignature": [ + "parameters": [ { - "id": 518, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", + "id": 358, + "name": "readyFile", + "kind": 32768, + "kindString": "Parameter", "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel is currently running." - }, "type": { "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isRunning", - "id": 68 + "name": "string" } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 174, - "character": 15 + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" } - ], - "inheritedFrom": { + }, + "overwrites": { "type": "reference", - "name": "Tunnel.isRunning", - "id": 68 + "id": 719, + "name": "Tunnel._makeArgs" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 718, + "name": "Tunnel._makeArgs" + } + }, + { + "id": 408, + "name": "_makeChild", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 519, - "name": "isStarting", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 445, + "character": 12 + } + ], + "signatures": [ + { + "id": 409, + "name": "_makeChild", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "Whether or not the tunnel is currently starting up." + "shortText": "Creates a newly spawned child process for the tunnel software.\nImplementations should call this method to create the tunnel process.", + "text": "Arguments passed to this method will be passed as-is to\n[[Tunnel._makeArgs]] and [[Tunnel._makeOptions]].\n", + "returns": "An object containing a newly spawned Process and a Deferred that\nwill be resolved once the tunnel has started successfully.\n" }, - "getSignature": [ + "parameters": [ { - "id": 520, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", + "id": 410, + "name": "executor", + "kind": 32768, + "kindString": "Parameter", "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel is currently starting up." - }, "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { "type": "reference", - "name": "Tunnel.isStarting", - "id": 70 + "name": "ChildExecutor" } - } - ], - "sources": [ + }, { - "fileName": "Tunnel.ts", - "line": 181, - "character": 16 + "id": 411, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } } ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "CancellablePromise" + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel.isStarting", - "id": 70 + "id": 722, + "name": "Tunnel._makeChild" } - }, - { - "id": 521, - "name": "isStopping", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not the tunnel is currently stopping." - }, - "getSignature": [ + } + ], + "inheritedFrom": { + "type": "reference", + "id": 721, + "name": "Tunnel._makeChild" + } + }, + { + "id": 353, + "name": "_makeJavaArgs", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/SauceLabsTunnel.ts", + "line": 256, + "character": 12 + } + ], + "signatures": [ + { + "id": 354, + "name": "_makeJavaArgs", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ { - "id": 522, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel is currently stopping." + "id": 355, + "name": "proxy", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true }, "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { "type": "reference", - "name": "Tunnel.isStopping", - "id": 72 + "name": "Url" } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 188, - "character": 16 + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isStopping", - "id": 72 } - }, + } + ] + }, + { + "id": 350, + "name": "_makeNativeArgs", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 525, - "name": "_downloadFile", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ + "fileName": "src/SauceLabsTunnel.ts", + "line": 226, + "character": 12 + } + ], + "signatures": [ + { + "id": 351, + "name": "_makeNativeArgs", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ { - "id": 526, - "name": "_downloadFile", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 527, - "name": "url", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 528, - "name": "proxy", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 529, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "DownloadOptions", - "id": 207 - } - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ] + "id": 352, + "name": "proxy", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true }, - "inheritedFrom": { + "type": { "type": "reference", - "name": "Tunnel._downloadFile", - "id": 87 + "name": "Url" } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 371, - "character": 25 + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._downloadFile", - "id": 87 } - }, + } + ] + }, + { + "id": 412, + "name": "_makeOptions", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 530, - "name": "_makeArgs", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 546, + "character": 12 + } + ], + "signatures": [ + { + "id": 413, + "name": "_makeOptions", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates the set of options to use when spawning the tunnel process.\nImplementations should override this method to provide the appropriate\noptions for the tunnel software.", + "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n", + "returns": "A set of options matching those provided to Node.js\n`child_process.spawn`.\n" }, - "signatures": [ + "parameters": [ { - "id": 531, - "name": "_makeArgs", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates the list of command-line arguments to be passed to the spawned\ntunnel. Implementations should override this method to provide the\nappropriate command-line arguments.", - "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n", - "returns": "A list of command-line arguments.\n" + "id": 414, + "name": "_values", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isRest": true }, - "parameters": [ - { - "id": 532, - "name": "_values", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isRest": true - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], "type": { "type": "array", "elementType": { "type": "intrinsic", "name": "string" } - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeArgs", - "id": 92 } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 431, - "character": 21 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeArgs", - "id": 92 - } - }, - { - "id": 533, - "name": "_makeChild", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 534, - "name": "_makeChild", - "kind": 4096, - "kindString": "Call signature", + "type": { + "type": "reflection", + "declaration": { + "id": 415, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", "flags": {}, - "comment": { - "shortText": "Creates a newly spawned child process for the tunnel software.\nImplementations should call this method to create the tunnel process.", - "text": "Arguments passed to this method will be passed as-is to\n[[Tunnel._makeArgs]] and [[Tunnel._makeOptions]].\n", - "returns": "An object containing a newly spawned Process and a Deferred that\nwill be resolved once the tunnel has started successfully.\n" - }, - "parameters": [ + "children": [ { - "id": 535, - "name": "executor", - "kind": 32768, - "kindString": "Parameter", + "id": 416, + "name": "env", + "kind": 1024, + "kindString": "Property", "flags": {}, "type": { "type": "reference", - "name": "ChildExecutor", - "id": 163 - } - }, - { - "id": 536, - "name": "values", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isRest": true + "name": "ProcessEnv" }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } + "defaultValue": "..." } ], - "type": { - "type": "reference", - "name": "CancellablePromise" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeChild", - "id": 95 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 445, - "character": 22 + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [ + 416 + ] + } + ] } - ], + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel._makeChild", - "id": 95 + "id": 726, + "name": "Tunnel._makeOptions" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 725, + "name": "Tunnel._makeOptions" + } + }, + { + "id": 366, + "name": "_normalizeEnvironment", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 537, - "name": "_makeOptions", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/SauceLabsTunnel.ts", + "line": 522, + "character": 12 + } + ], + "signatures": [ + { + "id": 367, + "name": "_normalizeEnvironment", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Attempt to normalize a SauceLabs described environment with the standard\nSelenium capabilities", + "text": "SauceLabs returns a list of environments that looks like:\n\n{\n \"short_version\": \"25\",\n \"long_name\": \"Firefox\",\n \"api_name\": \"firefox\",\n \"long_version\": \"25.0b2.\",\n \"latest_stable_version\": \"\",\n \"automation_backend\": \"webdriver\",\n \"os\": \"Windows 2003\"\n}\n", + "returns": "a normalized descriptor\n" }, - "signatures": [ + "parameters": [ { - "id": 538, - "name": "_makeOptions", - "kind": 4096, - "kindString": "Call signature", + "id": 368, + "name": "environment", + "kind": 32768, + "kindString": "Parameter", "flags": {}, "comment": { - "shortText": "Creates the set of options to use when spawning the tunnel process.\nImplementations should override this method to provide the appropriate\noptions for the tunnel software.", - "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n", - "returns": "A set of options matching those provided to Node.js\n`child_process.spawn`.\n" + "text": "a SauceLabs environment descriptor" }, - "parameters": [ - { - "id": 539, - "name": "_values", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isRest": true - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], "type": { - "type": "reflection", - "declaration": { - "id": 540, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 541, - "name": "env", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 546, - "character": 16 - } - ], - "type": { - "type": "reference", - "name": "ProcessEnv" - }, - "defaultValue": " process.env" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 541 - ] - } - ] - } - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeOptions", - "id": 99 + "type": "intrinsic", + "name": "any" } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 545, - "character": 24 - } - ], - "inheritedFrom": { + "type": { + "type": "reference", + "name": "NormalizedEnvironment" + }, + "overwrites": { "type": "reference", - "name": "Tunnel._makeOptions", - "id": 99 + "id": 731, + "name": "Tunnel._normalizeEnvironment" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 730, + "name": "Tunnel._normalizeEnvironment" + } + }, + { + "id": 346, + "name": "_postDownloadFile", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 542, - "name": "_normalizeEnvironment", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/SauceLabsTunnel.ts", + "line": 215, + "character": 12 + } + ], + "signatures": [ + { + "id": 347, + "name": "_postDownloadFile", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Called with the response after a file download has completed" }, - "signatures": [ + "parameters": [ { - "id": 543, - "name": "_normalizeEnvironment", - "kind": 4096, - "kindString": "Call signature", + "id": 348, + "name": "data", + "kind": 32768, + "kindString": "Parameter", "flags": {}, - "comment": { - "shortText": "Normalizes a specific Tunnel environment descriptor to a general form. To\nbe overriden by a child implementation.", - "returns": "a normalized environment\n" - }, - "parameters": [ - { - "id": 544, - "name": "environment", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "text": "an environment descriptor specific to the Tunnel" - }, - "type": { - "type": "reference", - "name": "Object" - } - } - ], "type": { "type": "reference", - "name": "NormalizedEnvironment", - "id": 177 - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._normalizeEnvironment", - "id": 104 + "name": "Buffer" } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 556, - "character": 33 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._normalizeEnvironment", - "id": 104 - } - }, - { - "id": 545, - "name": "_postDownloadFile", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ + }, { - "id": 546, - "name": "_postDownloadFile", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Called with the response after a file download has completed" + "id": 349, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true }, - "parameters": [ - { - "id": 547, - "name": "data", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "Buffer" - } - }, - { - "id": 548, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "DownloadOptions", - "id": 207 - } - } - ], "type": { "type": "reference", - "name": "Promise", "typeArguments": [ { - "type": "intrinsic", - "name": "void" + "type": "reference", + "name": "DownloadProperties" } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._postDownloadFile", - "id": 107 + ], + "name": "Partial" } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 563, - "character": 29 - } - ], - "inheritedFrom": { + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise" + }, + "overwrites": { "type": "reference", - "name": "Tunnel._postDownloadFile", - "id": 107 + "id": 734, + "name": "Tunnel._postDownloadFile" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 733, + "name": "Tunnel._postDownloadFile" + } + }, + { + "id": 363, + "name": "_start", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/SauceLabsTunnel.ts", + "line": 356, + "character": 12 + } + ], + "signatures": [ { - "id": 549, + "id": 364, "name": "_start", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "This method provides the implementation that actually starts the tunnel\nand any other logic for emitting events on the Tunnel based on data\npassed by the tunnel software.", + "text": "The default implementation that assumes the tunnel is ready for use once\nthe child process has written to `stdout` or `stderr`. This method should\nbe reimplemented by other tunnel launchers to implement correct launch\ndetection logic.\n" }, - "signatures": [ + "parameters": [ { - "id": 550, - "name": "_start", - "kind": 4096, - "kindString": "Call signature", + "id": 365, + "name": "executor", + "kind": 32768, + "kindString": "Parameter", "flags": {}, - "comment": { - "shortText": "This method provides the implementation that actually starts the tunnel\nand any other logic for emitting events on the Tunnel based on data\npassed by the tunnel software.", - "text": "The default implementation that assumes the tunnel is ready for use once\nthe child process has written to `stdout` or `stderr`. This method should\nbe reimplemented by other tunnel launchers to implement correct launch\ndetection logic.\n", - "returns": "An object containing a reference to the child process, and a\nDeferred that is resolved once the tunnel is ready for use. Normally this\nwill be the object returned from a call to [[Tunnel._makeChild]].\n" - }, - "parameters": [ - { - "id": 551, - "name": "executor", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "ChildExecutor", - "id": 163 - } - } - ], "type": { "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "any" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._start", - "id": 111 + "name": "ChildExecutor" } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 592, - "character": 18 - } - ], - "inheritedFrom": { + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "CancellablePromise" + }, + "overwrites": { "type": "reference", - "name": "Tunnel._start", - "id": 111 + "id": 738, + "name": "Tunnel._start" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 737, + "name": "Tunnel._start" + } + }, + { + "id": 417, + "name": "_stop", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 622, + "character": 12 + } + ], + "signatures": [ { - "id": 552, + "id": 418, "name": "_stop", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "This method provides the implementation that actually stops the tunnel.", + "text": "The default implementation that assumes the tunnel has been closed once\nthe child process has exited. This method should be reimplemented by\nother tunnel launchers to implement correct shutdown logic, if necessary.\n", + "returns": "A promise that resolves once the tunnel has shut down.\n" }, - "signatures": [ - { - "id": 553, - "name": "_stop", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "This method provides the implementation that actually stops the tunnel.", - "text": "The default implementation that assumes the tunnel has been closed once\nthe child process has exited. This method should be reimplemented by\nother tunnel launchers to implement correct shutdown logic, if necessary.\n", - "returns": "A promise that resolves once the tunnel has shut down.\n" - }, - "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "void" - } - ] + "type": "intrinsic", + "name": "number" + }, + { + "type": "intrinsic", + "name": "void" } ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._stop", - "id": 114 } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 621, - "character": 17 - } - ], + ], + "name": "Promise" + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel._stop", - "id": 114 + "id": 741, + "name": "Tunnel._stop" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 740, + "name": "Tunnel._stop" + } + }, + { + "id": 438, + "name": "destroy", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 12, + "character": 4 + } + ], + "signatures": [ { - "id": 574, + "id": 439, "name": "destroy", - "kind": 2048, - "kindString": "Method", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true + "isExternal": true }, - "signatures": [ - { - "id": 575, - "name": "destroy", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "boolean" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.destroy" + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "boolean" } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 12, - "character": 11 - } - ], + ], + "name": "Promise" + }, "inheritedFrom": { "type": "reference", - "name": "Evented.destroy" + "id": 762, + "name": "Tunnel.destroy" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 761, + "name": "Tunnel.destroy" + } + }, + { + "id": 394, + "name": "download", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 207, + "character": 2 + } + ], + "signatures": [ { - "id": 483, + "id": 395, "name": "download", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Downloads and extracts the tunnel software if it is not already\ndownloaded.", + "text": "This method can be extended by implementations to perform any necessary\npost-processing, such as setting appropriate file permissions on the\ndownloaded executable.\n", + "returns": "A promise that resolves once the download and extraction process\nhas completed.\n" }, - "signatures": [ + "parameters": [ { - "id": 484, - "name": "download", - "kind": 4096, - "kindString": "Call signature", + "id": 396, + "name": "forceDownload", + "kind": 32768, + "kindString": "Parameter", "flags": {}, + "comment": { + "text": "Force downloading the software even if it already\nhas been downloaded." + }, "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "CancellablePromise" + }, + "inheritedFrom": { + "type": "reference", + "id": 701, + "name": "Tunnel.download" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 700, + "name": "Tunnel.download" + } + }, + { + "id": 421, + "name": "emit", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 7, + "character": 4 + } + ], + "signatures": [ + { + "id": 422, + "name": "emit", + "kind": 4096, + "kindString": "Call signature", + "flags": { + "isExternal": true + }, + "typeParameter": [ + { + "id": 423, + "name": "K", + "kind": 131072, + "kindString": "Type parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ { "type": "intrinsic", - "name": "void" + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" } ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.download", - "id": 74 } } ], - "sources": [ + "parameters": [ { - "fileName": "NullTunnel.ts", - "line": 23, - "character": 10 + "id": 424, + "name": "event", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "name": "K" + }, + "objectType": { + "type": "reference", + "name": "TunnelEvents" + } + } } ], - "overwrites": { + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { "type": "reference", - "name": "Tunnel.download", - "id": 74 + "id": 745, + "name": "Tunnel.emit" } }, { - "id": 557, + "id": 425, "name": "emit", - "kind": 2048, - "kindString": "Method", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true + "isExternal": true }, - "signatures": [ + "parameters": [ { - "id": 558, - "name": "emit", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 559, - "name": "K", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - ], - "parameters": [ - { - "id": 560, - "name": "event", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "unknown", - "name": "M[K]" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" + "id": 426, + "name": "event", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.emit" - } - }, - { - "id": 561, - "name": "emit", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 562, - "name": "event", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - } - ], "type": { - "type": "intrinsic", - "name": "void" - }, - "inheritedFrom": { "type": "reference", - "name": "Evented.emit" + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "EventObject" } } ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 7, - "character": 8 - }, - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 8, - "character": 8 - } - ], + "type": { + "type": "intrinsic", + "name": "void" + }, "inheritedFrom": { "type": "reference", - "name": "Evented.emit" + "id": 748, + "name": "Tunnel.emit" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 744, + "name": "Tunnel.emit" + } + }, + { + "id": 397, + "name": "getEnvironments", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 231, + "character": 2 + } + ], + "signatures": [ { - "id": 523, + "id": 398, "name": "getEnvironments", - "kind": 2048, - "kindString": "Method", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Get a list of environments available on the service.", + "text": "This method should be overridden and use a specific implementation that\nreturns normalized environments from the service. E.g.\n\n```js\n{\n browserName: 'firefox',\n version: '12',\n platform: 'windows',\n descriptor: { }\n}\n```\n", + "returns": "An object containing the response and helper functions\n" + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "name": "NormalizedEnvironment" + } + } + ], + "name": "CancellablePromise" + }, + "inheritedFrom": { + "type": "reference", + "id": 704, + "name": "Tunnel.getEnvironments" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 703, + "name": "Tunnel.getEnvironments" + } + }, + { + "id": 427, + "name": "on", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 9, + "character": 4 + } + ], + "signatures": [ + { + "id": 428, + "name": "on", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true + "isExternal": true }, - "signatures": [ + "typeParameter": [ { - "id": 524, - "name": "getEnvironments", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Get a list of environments available on the service.", - "text": "This method should be overridden and use a specific implementation that\nreturns normalized environments from the service. E.g.\n\n```js\n{\n browserName: 'firefox',\n version: '12',\n platform: 'windows',\n descriptor: { }\n}\n```\n", - "returns": "An object containing the response and helper functions\n" + "id": 429, + "name": "K", + "kind": 131072, + "kindString": "Type parameter", + "flags": { + "isExternal": true }, "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ + "type": "union", + "types": [ { - "type": "array", - "elementType": { - "type": "reference", - "name": "NormalizedEnvironment", - "id": 177 - } + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" } ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.getEnvironments", - "id": 77 } } ], - "sources": [ + "parameters": [ + { + "id": 430, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "name": "K" + } + }, { - "fileName": "Tunnel.ts", - "line": 229, - "character": 17 + "id": 431, + "name": "listener", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "K" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "name": "K" + }, + "objectType": { + "type": "reference", + "name": "TunnelEvents" + } + } + ], + "name": "EventedCallbackOrArray" + } } ], + "type": { + "type": "reference", + "name": "Handle" + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel.getEnvironments", - "id": 77 + "id": 751, + "name": "Tunnel.on" } }, { - "id": 563, + "id": 432, "name": "on", - "kind": 2048, - "kindString": "Method", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true + "isExternal": true }, - "signatures": [ + "parameters": [ { - "id": 564, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 565, - "name": "K", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - ], - "parameters": [ - { - "id": 566, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "typeParameter", - "name": "K", - "constraint": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - }, - { - "id": 567, - "name": "listener", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EventedCallbackOrArray", - "typeArguments": [ - { - "type": "typeParameter", - "name": "K", - "constraint": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - }, - { - "type": "unknown", - "name": "M[K]" - } - ] - } - } - ], - "type": { - "type": "reference", - "name": "Handle" + "id": 433, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.on" + "type": { + "type": "intrinsic", + "name": "string" } }, { - "id": 568, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 569, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { + "id": 434, + "name": "listener", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { "type": "intrinsic", "name": "string" - } - }, - { - "id": 570, - "name": "listener", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { + }, + { "type": "reference", - "name": "EventedCallbackOrArray", "typeArguments": [ { "type": "intrinsic", "name": "string" - }, - { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } } - ] + ], + "name": "EventObject" } - } - ], - "type": { - "type": "reference", - "name": "Handle" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.on" + ], + "name": "EventedCallbackOrArray" } } ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 9, - "character": 6 - }, - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 10, - "character": 6 - } - ], - "inheritedFrom": { + "type": { "type": "reference", - "name": "Evented.on" - } - }, - { - "id": 571, - "name": "own", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "name": "Handle" }, - "signatures": [ - { - "id": 572, - "name": "own", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 573, - "name": "handles", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Handle" - }, - { - "type": "array", - "elementType": { - "type": "reference", - "name": "Handle" - } - } - ] - } - } - ], - "type": { - "type": "reference", - "name": "Handle" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.own" - } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 11, - "character": 7 - } - ], "inheritedFrom": { "type": "reference", - "name": "Evented.own" + "id": 755, + "name": "Tunnel.on" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 750, + "name": "Tunnel.on" + } + }, + { + "id": 435, + "name": "own", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ { - "id": 489, - "name": "sendJobState", - "kind": 2048, - "kindString": "Method", + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 11, + "character": 4 + } + ], + "signatures": [ + { + "id": 436, + "name": "own", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true + "isExternal": true }, - "signatures": [ + "parameters": [ { - "id": 490, - "name": "sendJobState", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, + "id": 437, + "name": "handles", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ + "type": "union", + "types": [ { - "type": "intrinsic", - "name": "void" + "type": "reference", + "name": "Handle" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "name": "Handle" + } } ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.sendJobState", - "id": 79 } } ], - "sources": [ - { - "fileName": "NullTunnel.ts", - "line": 37, - "character": 14 - } - ], - "overwrites": { + "type": { + "type": "reference", + "name": "Handle" + }, + "inheritedFrom": { "type": "reference", - "name": "Tunnel.sendJobState", - "id": 79 + "id": 759, + "name": "Tunnel.own" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 758, + "name": "Tunnel.own" + } + }, + { + "id": 359, + "name": "sendJobState", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "id": 485, - "name": "start", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "fileName": "src/SauceLabsTunnel.ts", + "line": 311, + "character": 2 + } + ], + "signatures": [ + { + "id": 360, + "name": "sendJobState", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Sends information about a job to the tunnel provider." }, - "signatures": [ + "parameters": [ { - "id": 486, - "name": "start", - "kind": 4096, - "kindString": "Call signature", + "id": 361, + "name": "jobId", + "kind": 32768, + "kindString": "Parameter", "flags": {}, "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.start", - "id": 83 + "type": "intrinsic", + "name": "string" } - } - ], - "sources": [ - { - "fileName": "NullTunnel.ts", - "line": 27, - "character": 7 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel.start", - "id": 83 - } - }, - { - "id": 487, - "name": "stop", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ + }, { - "id": 488, - "name": "stop", - "kind": 4096, - "kindString": "Call signature", + "id": 362, + "name": "data", + "kind": 32768, + "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "number" - } - ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.stop", - "id": 85 + "name": "JobState" } } ], - "sources": [ - { - "fileName": "NullTunnel.ts", - "line": 32, - "character": 6 - } - ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "CancellablePromise" + }, "overwrites": { "type": "reference", - "name": "Tunnel.stop", - "id": 85 + "id": 706, + "name": "Tunnel.sendJobState" } } ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 478 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 555, - 510, - 511, - 508, - 512, - 509, - 492, - 494, - 495, - 496, - 491, - 497, - 498, - 556, - 499, - 500, - 501, - 502, - 503, - 505, - 504, - 506, - 493, - 507 - ] - }, - { - "title": "Accessors", - "kind": 262144, - "children": [ - 513, - 515, - 481, - 517, - 519, - 521 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 525, - 530, - 533, - 537, - 542, - 545, - 549, - 552, - 574, - 483, - 557, - 523, - 563, - 571, - 489, - 485, - 487 - ] - } - ], + "overwrites": { + "type": "reference", + "id": 705, + "name": "Tunnel.sendJobState" + } + }, + { + "id": 399, + "name": "start", + "kind": 2048, + "kindString": "Method", + "flags": {}, "sources": [ { - "fileName": "NullTunnel.ts", - "line": 7, - "character": 31 - } - ], - "extendedTypes": [ - { - "type": "reference", - "name": "Tunnel", - "id": 36 + "fileName": "src/Tunnel.ts", + "line": 277, + "character": 2 } ], - "implementedTypes": [ + "signatures": [ { - "type": "reference", - "name": "TunnelProperties", - "id": 190 - } - ] + "id": 400, + "name": "start", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Starts the tunnel, automatically downloading dependencies if necessary.", + "returns": "A promise that resolves once the tunnel has been established.\n" + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "CancellablePromise" + }, + "inheritedFrom": { + "type": "reference", + "id": 710, + "name": "Tunnel.start" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 709, + "name": "Tunnel.start" + } + }, + { + "id": 401, + "name": "stop", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 334, + "character": 2 + } + ], + "signatures": [ + { + "id": 402, + "name": "stop", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Stops the tunnel.", + "returns": "A promise that resolves to the exit code for the tunnel once it\nhas been terminated.\n" + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, + { + "type": "intrinsic", + "name": "void" + } + ] + } + ], + "name": "Promise" + }, + "inheritedFrom": { + "type": "reference", + "id": 712, + "name": "Tunnel.stop" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 711, + "name": "Tunnel.stop" + } } ], "groups": [ { - "title": "Classes", - "kind": 128, + "title": "Constructors", + "kind": 512, + "children": [ + 315 + ] + }, + { + "title": "Properties", + "kind": 1024, + "children": [ + 419, + 383, + 384, + 381, + 385, + 382, + 318, + 370, + 319, + 371, + 321, + 369, + 322, + 372, + 323, + 420, + 324, + 327, + 328, + 325, + 373, + 326, + 374, + 375, + 376, + 377, + 329, + 334, + 330, + 331, + 320, + 379, + 378, + 332, + 335, + 380, + 333 + ] + }, + { + "title": "Accessors", + "kind": 262144, + "children": [ + 336, + 386, + 338, + 340, + 342, + 388, + 390, + 392, + 344 + ] + }, + { + "title": "Methods", + "kind": 2048, "children": [ - 477 + 403, + 356, + 408, + 353, + 350, + 412, + 366, + 346, + 363, + 417, + 438, + 394, + 421, + 397, + 427, + 435, + 359, + 399, + 401 ] } ], "sources": [ { - "fileName": "NullTunnel.ts", - "line": 1, - "character": 0 + "fileName": "src/SauceLabsTunnel.ts", + "line": 27, + "character": 21 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 662, + "name": "Tunnel" + } + ], + "implementedTypes": [ + { + "type": "reference", + "name": "SauceLabsProperties" } ] }, { - "id": 576, - "name": "\"SauceLabsTunnel\"", - "kind": 1, - "kindString": "External module", - "flags": { - "isExported": true + "id": 440, + "name": "SeleniumTunnel", + "kind": 128, + "kindString": "Class", + "flags": {}, + "comment": { + "shortText": "A Selenium tunnel. This tunnel downloads the\n[[http://www.seleniumhq.org/download/|Selenium-standalone server]] and any\nnecessary WebDriver executables, and handles starting and stopping Selenium.", + "text": "The primary configuration option is [[SeleniumTunnel.drivers|drivers]], which\ndetermines which browsers the Selenium tunnel will support.\n\nNote that Java must be installed and in the system path to use this tunnel.\n\nThe standard browser names (for the `browserName` WebDriver capability) are:\n\n- `MicrosoftEdge`\n- `chrome`\n- `firefox`\n- `internet explorer`\n- `safari`\n" }, - "originalName": "src/SauceLabsTunnel.ts", "children": [ { - "id": 577, - "name": "SauceLabsTunnel", - "kind": 128, - "kindString": "Class", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A Sauce Labs tunnel. This tunnel uses Sauce Connect 4 on platforms where it\nis supported, and Sauce Connect 3 on all other platforms.", - "text": "The accessKey and username properties will be initialized using\nSAUCE_ACCESS_KEY and SAUCE_USERNAME.\n\nSee [[SauceLabsTunnel.SauceLabsProperties]] for a list of options specific to\nthis tunnel class.\n" - }, - "typeParameter": [ + "id": 441, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ { - "id": 682, - "name": "O", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } + "fileName": "src/SeleniumTunnel.ts", + "line": 123, + "character": 2 } ], - "children": [ + "signatures": [ { - "id": 596, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": { - "isExported": true - }, - "signatures": [ + "id": 442, + "name": "new SeleniumTunnel", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ { - "id": 597, - "name": "new SauceLabsTunnel", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 598, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "SauceLabsOptions", - "id": 737 - } - } - ], - "type": { - "type": "reference", - "name": "SauceLabsTunnel", - "id": 577 + "id": 443, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true }, - "overwrites": { + "type": { "type": "reference", - "name": "Tunnel.__constructor", - "id": 59 + "typeArguments": [ + { + "type": "reference", + "name": "SeleniumProperties" + } + ], + "name": "Partial" } } ], - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 121, - "character": 20 - } - ], + "type": { + "type": "reference", + "id": 440, + "name": "default" + }, "overwrites": { "type": "reference", - "name": "Tunnel.__constructor", - "id": 59 + "id": 664, + "name": "Tunnel.constructor" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 663, + "name": "Tunnel.constructor" + } + }, + { + "id": 533, + "name": "__typeMap__", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isExternal": true, + "isOptional": true + }, + "sources": [ { - "id": 683, - "name": "__typeMap__", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 3, - "character": 25 - } - ], - "type": { - "type": "reference", - "name": "M" + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 3, + "character": 14 + } + ], + "type": { + "type": "reference", + "name": "TunnelEvents" + }, + "inheritedFrom": { + "type": "reference", + "id": 742, + "name": "Tunnel.__typeMap__" + } + }, + { + "id": 495, + "name": "_handle", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 128, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "inheritedFrom": { + { "type": "reference", - "name": "Evented.__typeMap__" + "name": "Handle" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 685, + "name": "Tunnel._handle" + } + }, + { + "id": 496, + "name": "_process", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 646, - "name": "_handle", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 126, - "character": 19 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Handle" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] + "fileName": "src/Tunnel.ts", + "line": 129, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "inheritedFrom": { + { "type": "reference", - "name": "Tunnel._handle", - "id": 56 + "name": "ChildProcess" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 686, + "name": "Tunnel._process" + } + }, + { + "id": 493, + "name": "_startTask", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 647, - "name": "_process", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 126, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 127, - "character": 20 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "ChildProcess" - }, + { + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "undefined" + "name": "any" } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._process", - "id": 57 + ], + "name": "CancellablePromise" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 683, + "name": "Tunnel._startTask" + } + }, + { + "id": 497, + "name": "_state", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 644, - "name": "_startTask", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 124, - "character": 22 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "any" - } - ] - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] + "fileName": "src/Tunnel.ts", + "line": 130, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "stopped" }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._startTask", - "id": 54 - } - }, - { - "id": 648, - "name": "_state", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true + { + "type": "literal", + "value": "starting" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 128, - "character": 18 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "stringLiteral", - "value": "stopped" - }, - { - "type": "stringLiteral", - "value": "starting" - }, - { - "type": "stringLiteral", - "value": "running" - }, - { - "type": "stringLiteral", - "value": "stopping" - } - ] + { + "type": "literal", + "value": "running" }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._state", - "id": 58 + { + "type": "literal", + "value": "stopping" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 687, + "name": "Tunnel._state" + } + }, + { + "id": 494, + "name": "_stopTask", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 645, - "name": "_stopTask", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 127, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 125, - "character": 21 - } - ], - "type": { - "type": "union", - "types": [ + { + "type": "reference", + "typeArguments": [ { - "type": "reference", - "name": "Promise", - "typeArguments": [ + "type": "union", + "types": [ { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "void" - } - ] + "type": "intrinsic", + "name": "number" + }, + { + "type": "intrinsic", + "name": "void" } ] - }, - { - "type": "intrinsic", - "name": "undefined" } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._stopTask", - "id": 55 + ], + "name": "Promise" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 684, + "name": "Tunnel._stopTask" + } + }, + { + "id": 480, + "name": "accessKey", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The tunnel access key. This will be initialized with a tunnel-specific\nenvironment variable if not specified." + }, + "sources": [ { - "id": 578, - "name": "accessKey", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 29, - "character": 11 - } - ], - "type": { + "fileName": "src/Tunnel.ts", + "line": 37, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.accessKey", - "id": 38 - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.accessKey", - "id": 722 - } - }, - { - "id": 633, - "name": "architecture", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true + "name": "undefined" }, - "comment": { - "shortText": "The architecture the tunnel will run against. This information is\nautomatically retrieved for the current system at runtime." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 47, - "character": 14 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.architecture", - "id": 40 - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.architecture", - "id": 720 } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 667, + "name": "Tunnel.accessKey" + }, + "implementationOf": { + "type": "reference", + "name": "SeleniumProperties.accessKey" + } + }, + { + "id": 482, + "name": "architecture", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The architecture the tunnel will run against. This information is\nautomatically retrieved for the current system at runtime." + }, + "sources": [ { - "id": 579, - "name": "directDomains", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A list of domains that should not be proxied by the tunnel on the remote\nVM." - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 35, - "character": 15 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.directDomains", - "id": 705 - } - }, + "fileName": "src/Tunnel.ts", + "line": 49, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 669, + "name": "Tunnel.architecture" + }, + "implementationOf": { + "type": "reference", + "name": "SeleniumProperties.architecture" + } + }, + { + "id": 483, + "name": "auth", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "An HTTP authorization string to use when initiating connections to the\ntunnel. This value of this property is defined by Tunnel subclasses." + }, + "sources": [ { - "id": 634, - "name": "directory", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The directory where the tunnel software will be extracted. If the\ndirectory does not exist, it will be created. This value is set by the\ntunnel subclasses." + "fileName": "src/Tunnel.ts", + "line": 55, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 60, - "character": 11 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.directory", - "id": 42 - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.directory", - "id": 733 } - }, - { - "id": 581, - "name": "domainAuthentication", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A list of URLs that require additional HTTP authentication. Only the\nhostname, port, and auth are used. This property is only supported by\nSauce Connect 4 tunnels." - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 47, - "character": 22 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.domainAuthentication", - "id": 707 + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 670, + "name": "Tunnel.auth" + }, + "implementationOf": { + "type": "reference", + "name": "SeleniumProperties.auth" + } + }, + { + "id": 446, + "name": "baseUrl", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The base address where Selenium artifacts may be found.", + "tags": [ + { + "tag": "default", + "text": "https://selenium-release.storage.googleapis.com\n" } - }, + ] + }, + "sources": [ { - "id": 632, - "name": "environmentUrl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL of a service that provides a list of environments supported by\nthe tunnel." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 29, - "character": 16 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.environmentUrl", - "id": 37 + "fileName": "src/SeleniumTunnel.ts", + "line": 98, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "implementationOf": { + "type": "reference", + "name": "SeleniumProperties.baseUrl" + } + }, + { + "id": 445, + "name": "drivers", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The desired Selenium drivers to download. Each entry may be a string or an\nobject. Strings must be the names of existing drivers in SeleniumTunnel\n(see below). An object with a 'name' property is a configuration object --\nthe name must be the name of an existing driver in SeleniumTunnel, and the\nremaining properties will be used to configure that driver. An object\nwithout a 'name' property is a driver definition. It must contain three\nproperties:", + "text": "- `executable` - the name of the driver executable, one of:\n- `url` - the URL where the driver can be downloaded from\n- `seleniumProperty` - the name of the Java property used to tell\n Selenium where the driver is\n\n```js\n[\n 'chrome',\n {\n name: 'firefox',\n version: '0.8.0'\n },\n {\n url: 'https://github.com/operasoftware/operachromiumdriver/releases/.../operadriver_mac64.zip',\n executable: 'operadriver',\n seleniumProperty: 'webdriver.opera.driver'\n }\n]\n```\n\nThe built-in SeleniumTunnel drivers are:\n\n- 'chrome'\n- 'firefox'\n- 'internet explorer'\n- 'ie' (alias for 'internet explorer')\n- 'MicrosoftEdge'\n- 'edge' (alias for 'MicrosoftEdge')\n", + "tags": [ + { + "tag": "default", + "text": "[ 'chrome' ]\n" } - }, + ] + }, + "sources": [ { - "id": 582, - "name": "fastFailDomains", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A list of regular expressions corresponding to domains whose connections\nshould fail immediately if the VM attempts to make a connection to them." - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 53, - "character": 17 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.fastFailDomains", - "id": 708 - } - }, + "fileName": "src/SeleniumTunnel.ts", + "line": 91, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "name": "DriverDescriptor" + } + }, + "implementationOf": { + "type": "reference", + "name": "SeleniumProperties.drivers" + } + }, + { + "id": 479, + "name": "environmentUrl", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a service that provides a list of environments supported by\nthe tunnel." + }, + "sources": [ { - "id": 635, - "name": "hostname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The host on which a WebDriver client can access the service provided by\nthe tunnel. This may or may not be the host where the tunnel application\nis running." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 73, - "character": 10 - } - ], - "type": { + "fileName": "src/Tunnel.ts", + "line": 31, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.hostname", - "id": 44 - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.hostname", - "id": 724 - } - }, - { - "id": 583, - "name": "isSharedTunnel", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true + "name": "undefined" }, - "comment": { - "shortText": "Allows the tunnel to also be used by sub-accounts of the user that\nstarted the tunnel." - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 59, - "character": 16 - } - ], - "type": { + { "type": "intrinsic", - "name": "boolean" - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.isSharedTunnel", - "id": 709 + "name": "string" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 666, + "name": "Tunnel.environmentUrl" + } + }, + { + "id": 484, + "name": "hostname", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The host on which a WebDriver client can access the service provided by\nthe tunnel. This may or may not be the host where the tunnel application\nis running." + }, + "sources": [ { - "id": 684, - "name": "listenersMap", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 4, - "character": 26 - } - ], - "type": { - "type": "reference", - "name": "Map", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - ] - }, - { - "type": "array", - "elementType": { - "type": "reference", - "name": "EventedCallback", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - ] - } - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.listenersMap" - } - }, + "fileName": "src/Tunnel.ts", + "line": 75, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 673, + "name": "Tunnel.hostname" + }, + "implementationOf": { + "type": "reference", + "name": "SeleniumProperties.hostname" + } + }, + { + "id": 534, + "name": "listenersMap", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isExternal": true + }, + "sources": [ { - "id": 584, - "name": "logFile", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A filename where additional logs from the tunnel should be output." - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 62, - "character": 9 - } - ], - "type": { + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 4, + "character": 14 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { "type": "union", "types": [ { "type": "intrinsic", "name": "string" }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.logFile", - "id": 710 - } - }, - { - "id": 587, - "name": "logFileSize", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Specifies the maximum log filesize before rotation, in bytes. This\nproperty is only supported by Sauce Connect 3 tunnels." - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 78, - "character": 13 - } - ], - "type": { - "type": "union", - "types": [ { "type": "intrinsic", "name": "number" - }, - { - "type": "intrinsic", - "name": "undefined" } ] }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.logFileSize", - "id": 713 - } - }, - { - "id": 588, - "name": "logTrafficStats", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Log statistics about HTTP traffic every `logTrafficStats` milliseconds.\nThis property is only supported by Sauce Connect 4 tunnels." - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 84, - "character": 17 + { + "type": "array", + "elementType": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "EventObject" + } + ], + "name": "EventedCallback" } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.logTrafficStats", - "id": 714 } - }, + ], + "name": "Map" + }, + "inheritedFrom": { + "type": "reference", + "id": 743, + "name": "Tunnel.listenersMap" + } + }, + { + "id": 485, + "name": "pathname", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The path that a WebDriver client should use to access the service\nprovided by the tunnel." + }, + "sources": [ { - "id": 585, - "name": "pacFile", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The absolute filepath (or URL) of a file which Sauce Connect should use\nfor additional proxy configuration. Sauce Connect suggests using either\nthis or `proxy`, but not both." - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 69, - "character": 9 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.pacFile", - "id": 711 - } - }, + "fileName": "src/Tunnel.ts", + "line": 81, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 674, + "name": "Tunnel.pathname" + }, + "implementationOf": { + "type": "reference", + "name": "SeleniumProperties.pathname" + } + }, + { + "id": 486, + "name": "platform", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The operating system the tunnel will run on. This information is\nautomatically retrieved for the current system at runtime." + }, + "sources": [ { - "id": 636, - "name": "pathname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The path that a WebDriver client should use to access the service\nprovided by the tunnel." + "fileName": "src/Tunnel.ts", + "line": 87, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 675, + "name": "Tunnel.platform" + }, + "implementationOf": { + "type": "reference", + "name": "SeleniumProperties.platform" + } + }, + { + "id": 487, + "name": "port", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The local port where the WebDriver server should be exposed by the\ntunnel. This is typed as a string for Url compatibility, but should be a\nnumber." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 94, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 676, + "name": "Tunnel.port" + }, + "implementationOf": { + "type": "reference", + "name": "SeleniumProperties.port" + } + }, + { + "id": 488, + "name": "protocol", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The protocol (e.g., 'http') that a WebDriver client should use to access\nthe service provided by the tunnel." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 100, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 677, + "name": "Tunnel.protocol" + }, + "implementationOf": { + "type": "reference", + "name": "SeleniumProperties.protocol" + } + }, + { + "id": 489, + "name": "proxy", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 106, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 79, - "character": 10 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.pathname", - "id": 45 - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.pathname", - "id": 725 } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 678, + "name": "Tunnel.proxy" + }, + "implementationOf": { + "type": "reference", + "name": "SeleniumProperties.proxy" + } + }, + { + "id": 444, + "name": "seleniumArgs", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Additional arguments to send to the Selenium server at startup" + }, + "sources": [ { - "id": 586, - "name": "pidFile", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A filename where Sauce Connect stores its process information." - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 72, - "character": 9 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.pidFile", - "id": 712 + "fileName": "src/SeleniumTunnel.ts", + "line": 49, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + "implementationOf": { + "type": "reference", + "name": "SeleniumProperties.seleniumArgs" + } + }, + { + "id": 448, + "name": "seleniumTimeout", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Timeout in milliseconds for communicating with the Selenium server", + "tags": [ + { + "tag": "default", + "text": "5000\n" } - }, + ] + }, + "sources": [ { - "id": 637, - "name": "platform", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The operating system the tunnel will run on. This information is\nautomatically retrieved for the current system at runtime." + "fileName": "src/SeleniumTunnel.ts", + "line": 112, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "implementationOf": { + "type": "reference", + "name": "SeleniumProperties.seleniumTimeout" + } + }, + { + "id": 491, + "name": "tunnelId", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "A unique identifier for the newly created tunnel." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 118, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 85, - "character": 10 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.platform", - "id": 46 - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.platform", - "id": 726 } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 680, + "name": "Tunnel.tunnelId" + }, + "implementationOf": { + "type": "reference", + "name": "SeleniumProperties.tunnelId" + } + }, + { + "id": 490, + "name": "tunnelProxy", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used.", + "text": "This overrides the `proxy` configuration allowing independent\nconfiguration for the Tunnel binary process only.\n" + }, + "sources": [ { - "id": 638, - "name": "port", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The local port where the WebDriver server should be exposed by the\ntunnel. This is typed as a string for Url compatibility, but should be a\nnumber." + "fileName": "src/Tunnel.ts", + "line": 115, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 92, - "character": 6 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.port", - "id": 47 - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.port", - "id": 727 } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 679, + "name": "Tunnel.tunnelProxy" + }, + "implementationOf": { + "type": "reference", + "name": "SeleniumProperties.tunnelProxy" + } + }, + { + "id": 481, + "name": "username", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The tunnel username. This will be initialized with a tunnel-specific\nenvironment variable if not specified." + }, + "sources": [ { - "id": 639, - "name": "protocol", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The protocol (e.g., 'http') that a WebDriver client should use to access\nthe service provided by the tunnel." + "fileName": "src/Tunnel.ts", + "line": 43, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 98, - "character": 10 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.protocol", - "id": 48 - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.protocol", - "id": 728 } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 668, + "name": "Tunnel.username" + }, + "implementationOf": { + "type": "reference", + "name": "SeleniumProperties.username" + } + }, + { + "id": 492, + "name": "verbose", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Whether or not to tell the tunnel to provide verbose logging output." + }, + "sources": [ { - "id": 640, - "name": "proxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 104, - "character": 7 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.proxy", - "id": 49 - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.proxy", - "id": 734 + "fileName": "src/Tunnel.ts", + "line": 124, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "id": 682, + "name": "Tunnel.verbose" + }, + "implementationOf": { + "type": "reference", + "name": "SeleniumProperties.verbose" + } + }, + { + "id": 447, + "name": "version", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The desired version of selenium to install.", + "tags": [ + { + "tag": "default", + "text": "3.3.1\n" } - }, + ] + }, + "sources": [ { - "id": 589, - "name": "restUrl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "An alternative URL for the Sauce REST API. This property is only\nsupported by Sauce Connect 3 tunnels." - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 90, - "character": 9 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] + "fileName": "src/SeleniumTunnel.ts", + "line": 105, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "implementationOf": { + "type": "reference", + "name": "SeleniumProperties.version" + } + }, + { + "id": 449, + "name": "webDriverDataUrl", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL that the tunnel will attempt to download updated webdriver data\nfrom." + }, + "sources": [ + { + "fileName": "src/SeleniumTunnel.ts", + "line": 118, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.restUrl", - "id": 715 + { + "type": "intrinsic", + "name": "string" } - }, + ] + }, + "defaultValue": "'https://theintern.io/digdug/resources/2/webdrivers.json'" + }, + { + "id": 451, + "name": "artifact", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "sources": [ { - "id": 594, - "name": "scVersion", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The version of Sauce Connect that should be used" - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 119, - "character": 11 - } - ], + "fileName": "src/SeleniumTunnel.ts", + "line": 143, + "character": 6 + } + ], + "getSignature": [ + { + "id": 452, + "name": "artifact", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "type": { "type": "intrinsic", "name": "string" } - }, + } + ] + }, + { + "id": 498, + "name": "clientUrl", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "The URL that a WebDriver client should used to interact with this\nservice." + }, + "sources": [ { - "id": 590, - "name": "skipSslDomains", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 154, + "character": 6 + } + ], + "getSignature": [ + { + "id": 499, + "name": "clientUrl", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "comment": { - "shortText": "A list of domains that should not have their SSL connections re-encrypted\nwhen going through the tunnel." + "shortText": "The URL that a WebDriver client should used to interact with this\nservice." }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 96, - "character": 16 - } - ], "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.skipSslDomains", - "id": 716 + "type": "intrinsic", + "name": "string" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 688, + "name": "Tunnel.clientUrl" + } + }, + { + "id": 453, + "name": "directory", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "The directory where the tunnel software will be extracted. If the\ndirectory does not exist, it will be created. This value is set by the\ntunnel subclasses." + }, + "sources": [ { - "id": 591, - "name": "squidOptions", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "An additional set of options to use with the Squid proxy for the remote\nVM. This property is only supported by Sauce Connect 3 tunnels." - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 102, - "character": 14 - } - ], + "fileName": "src/SeleniumTunnel.ts", + "line": 148, + "character": 6 + } + ], + "getSignature": [ + { + "id": 454, + "name": "directory", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.squidOptions", - "id": 717 + "type": "intrinsic", + "name": "string" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 671, + "name": "Tunnel.directory" + } + }, + { + "id": 455, + "name": "executable", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "The executable to spawn in order to create a tunnel. This value is set\nby the tunnel subclasses." + }, + "sources": [ { - "id": 580, - "name": "tunnelDomains", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A list of domains that will be proxied by the tunnel on the remote VM." - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 40, - "character": 15 - } - ], + "fileName": "src/SeleniumTunnel.ts", + "line": 153, + "character": 6 + } + ], + "getSignature": [ + { + "id": 456, + "name": "executable", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.tunnelDomains", - "id": 706 + "type": "intrinsic", + "name": "string" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 672, + "name": "Tunnel.executable" + } + }, + { + "id": 500, + "name": "extraCapabilities", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "A map of additional capabilities that need to be sent to the provider\nwhen a new session is being created." + }, + "sources": [ { - "id": 642, - "name": "tunnelId", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 162, + "character": 6 + } + ], + "getSignature": [ + { + "id": 501, + "name": "extraCapabilities", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "comment": { - "shortText": "A unique identifier for the newly created tunnel." + "shortText": "A map of additional capabilities that need to be sent to the provider\nwhen a new session is being created." }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 116, - "character": 10 - } - ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.tunnelId", - "id": 51 - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.tunnelId", - "id": 730 - } - }, + "type": "intrinsic", + "name": "object" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 690, + "name": "Tunnel.extraCapabilities" + } + }, + { + "id": 457, + "name": "isDownloaded", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel software has already been downloaded." + }, + "sources": [ { - "id": 641, - "name": "tunnelProxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used.", - "text": "This overrides the `proxy` configuration allowing independent\nconfiguration for the Tunnel binary process only.\n" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 113, - "character": 13 - } - ], + "fileName": "src/SeleniumTunnel.ts", + "line": 157, + "character": 6 + } + ], + "getSignature": [ + { + "id": 458, + "name": "isDownloaded", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.tunnelProxy", - "id": 50 - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.tunnelProxy", - "id": 729 + "type": "intrinsic", + "name": "boolean" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 692, + "name": "Tunnel.isDownloaded" + } + }, + { + "id": 502, + "name": "isRunning", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently running." + }, + "sources": [ { - "id": 592, - "name": "useProxyForTunnel", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 176, + "character": 6 + } + ], + "getSignature": [ + { + "id": 503, + "name": "isRunning", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "comment": { - "shortText": "Whether or not to use the proxy defined at [[Tunnel.proxy]] for the\ntunnel connection itself." + "shortText": "Whether or not the tunnel is currently running." }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 108, - "character": 19 - } - ], "type": { "type": "intrinsic", "name": "boolean" - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.useProxyForTunnel", - "id": 718 } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 694, + "name": "Tunnel.isRunning" + } + }, + { + "id": 504, + "name": "isStarting", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently starting up." + }, + "sources": [ { - "id": 595, - "name": "username", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 183, + "character": 6 + } + ], + "getSignature": [ + { + "id": 505, + "name": "isStarting", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently starting up." }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 121, - "character": 10 - } - ], "type": { "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.username", - "id": 39 - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.username", - "id": 731 + "name": "boolean" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 696, + "name": "Tunnel.isStarting" + } + }, + { + "id": 506, + "name": "isStopping", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently stopping." + }, + "sources": [ { - "id": 643, - "name": "verbose", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 190, + "character": 6 + } + ], + "getSignature": [ + { + "id": 507, + "name": "isStopping", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "comment": { - "shortText": "Whether or not to tell the tunnel to provide verbose logging output." + "shortText": "Whether or not the tunnel is currently stopping." }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 122, - "character": 9 - } - ], "type": { "type": "intrinsic", "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.verbose", - "id": 53 - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.verbose", - "id": 732 } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 698, + "name": "Tunnel.isStopping" + } + }, + { + "id": 459, + "name": "url", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "The URL where the tunnel software can be downloaded." + }, + "sources": [ { - "id": 593, - "name": "vmVersion", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Overrides the version of the VM created on Sauce Labs. This property is\nonly supported by Sauce Connect 3 tunnels." - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 114, - "character": 11 - } - ], + "fileName": "src/SeleniumTunnel.ts", + "line": 168, + "character": 6 + } + ], + "getSignature": [ + { + "id": 460, + "name": "url", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "implementationOf": { - "type": "reference", - "name": "SauceLabsProperties.vmVersion", - "id": 719 + "type": "intrinsic", + "name": "string" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 681, + "name": "Tunnel.url" + } + }, + { + "id": 514, + "name": "_downloadFile", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 599, - "name": "auth", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "getSignature": [ + "fileName": "src/Tunnel.ts", + "line": 373, + "character": 12 + } + ], + "signatures": [ + { + "id": 515, + "name": "_downloadFile", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ + { + "id": 516, + "name": "url", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, { - "id": 600, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", + "id": 517, + "name": "proxy", + "kind": 32768, + "kindString": "Parameter", "flags": {}, "type": { - "type": "intrinsic", - "name": "string" + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 518, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true }, - "overwrites": { + "type": { "type": "reference", - "name": "Tunnel.auth", - "id": 41 + "typeArguments": [ + { + "type": "reference", + "name": "DownloadProperties" + } + ], + "name": "Partial" } } ], - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 147, - "character": 10 - } - ], - "overwrites": { + "type": { "type": "reference", - "name": "Tunnel.auth", - "id": 41 + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "CancellablePromise" }, - "implementationOf": { + "inheritedFrom": { "type": "reference", - "name": "SauceLabsProperties.auth", - "id": 721 + "id": 714, + "name": "Tunnel._downloadFile" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 713, + "name": "Tunnel._downloadFile" + } + }, + { + "id": 468, + "name": "_getDriverConfigs", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 649, - "name": "clientUrl", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL that a WebDriver client should used to interact with this\nservice." - }, - "getSignature": [ - { - "id": 650, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "The URL that a WebDriver client should used to interact with this\nservice." - }, - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.clientUrl", - "id": 62 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 152, - "character": 15 + "fileName": "src/SeleniumTunnel.ts", + "line": 281, + "character": 12 + } + ], + "signatures": [ + { + "id": 469, + "name": "_getDriverConfigs", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "name": "DriverFile" } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.clientUrl", - "id": 62 } - }, + } + ] + }, + { + "id": 470, + "name": "_makeArgs", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 601, - "name": "executable", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true + "fileName": "src/SeleniumTunnel.ts", + "line": 304, + "character": 12 + } + ], + "signatures": [ + { + "id": 471, + "name": "_makeArgs", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates the list of command-line arguments to be passed to the spawned\ntunnel. Implementations should override this method to provide the\nappropriate command-line arguments.", + "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n" }, - "getSignature": [ - { - "id": 602, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.executable", - "id": 43 - } - } - ], - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 151, - "character": 16 + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel.executable", - "id": 43 }, - "implementationOf": { + "overwrites": { "type": "reference", - "name": "SauceLabsProperties.executable", - "id": 723 + "id": 719, + "name": "Tunnel._makeArgs" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 718, + "name": "Tunnel._makeArgs" + } + }, + { + "id": 519, + "name": "_makeChild", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 603, - "name": "extraCapabilities", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 445, + "character": 12 + } + ], + "signatures": [ + { + "id": 520, + "name": "_makeChild", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates a newly spawned child process for the tunnel software.\nImplementations should call this method to create the tunnel process.", + "text": "Arguments passed to this method will be passed as-is to\n[[Tunnel._makeArgs]] and [[Tunnel._makeOptions]].\n", + "returns": "An object containing a newly spawned Process and a Deferred that\nwill be resolved once the tunnel has started successfully.\n" }, - "getSignature": [ + "parameters": [ { - "id": 604, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", + "id": 521, + "name": "executor", + "kind": 32768, + "kindString": "Parameter", "flags": {}, "type": { - "type": "intrinsic", - "name": "any" - }, - "overwrites": { "type": "reference", - "name": "Tunnel.extraCapabilities", - "id": 64 + "name": "ChildExecutor" } - } - ], - "sources": [ + }, { - "fileName": "SauceLabsTunnel.ts", - "line": 174, - "character": 23 + "id": 522, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } } ], - "overwrites": { + "type": { "type": "reference", - "name": "Tunnel.extraCapabilities", - "id": 64 - } - }, - { - "id": 605, - "name": "isDownloaded", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "getSignature": [ - { - "id": 606, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { + "typeArguments": [ + { "type": "intrinsic", - "name": "boolean" - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.isDownloaded", - "id": 66 + "name": "any" } - } - ], - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 184, - "character": 18 - } - ], - "overwrites": { + ], + "name": "CancellablePromise" + }, + "inheritedFrom": { "type": "reference", - "name": "Tunnel.isDownloaded", - "id": 66 + "id": 722, + "name": "Tunnel._makeChild" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 721, + "name": "Tunnel._makeChild" + } + }, + { + "id": 523, + "name": "_makeOptions", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 651, - "name": "isRunning", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 546, + "character": 12 + } + ], + "signatures": [ + { + "id": 524, + "name": "_makeOptions", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "Whether or not the tunnel is currently running." + "shortText": "Creates the set of options to use when spawning the tunnel process.\nImplementations should override this method to provide the appropriate\noptions for the tunnel software.", + "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n", + "returns": "A set of options matching those provided to Node.js\n`child_process.spawn`.\n" }, - "getSignature": [ + "parameters": [ { - "id": 652, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel is currently running." + "id": 525, + "name": "_values", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isRest": true }, "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isRunning", - "id": 68 + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 174, - "character": 15 + "type": { + "type": "reflection", + "declaration": { + "id": 526, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 527, + "name": "env", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "type": { + "type": "reference", + "name": "ProcessEnv" + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [ + 527 + ] + } + ] } - ], + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel.isRunning", - "id": 68 + "id": 726, + "name": "Tunnel._makeOptions" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 725, + "name": "Tunnel._makeOptions" + } + }, + { + "id": 528, + "name": "_normalizeEnvironment", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 653, - "name": "isStarting", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 557, + "character": 12 + } + ], + "signatures": [ + { + "id": 529, + "name": "_normalizeEnvironment", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "Whether or not the tunnel is currently starting up." + "shortText": "Normalizes a specific Tunnel environment descriptor to a general form. To\nbe overriden by a child implementation.", + "returns": "a normalized environment\n" }, - "getSignature": [ + "parameters": [ { - "id": 654, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", + "id": 530, + "name": "environment", + "kind": 32768, + "kindString": "Parameter", "flags": {}, "comment": { - "shortText": "Whether or not the tunnel is currently starting up." + "text": "an environment descriptor specific to the Tunnel" }, "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { "type": "reference", - "name": "Tunnel.isStarting", - "id": 70 + "name": "Object" } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 181, - "character": 16 - } - ], + "type": { + "type": "reference", + "name": "NormalizedEnvironment" + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel.isStarting", - "id": 70 + "id": 731, + "name": "Tunnel._normalizeEnvironment" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 730, + "name": "Tunnel._normalizeEnvironment" + } + }, + { + "id": 472, + "name": "_postDownloadFile", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 655, - "name": "isStopping", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, + "fileName": "src/SeleniumTunnel.ts", + "line": 332, + "character": 12 + } + ], + "signatures": [ + { + "id": 473, + "name": "_postDownloadFile", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "Whether or not the tunnel is currently stopping." + "shortText": "Called with the response after a file download has completed" }, - "getSignature": [ + "parameters": [ { - "id": 656, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", + "id": 474, + "name": "data", + "kind": 32768, + "kindString": "Parameter", "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel is currently stopping." - }, "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { "type": "reference", - "name": "Tunnel.isStopping", - "id": 72 + "name": "Buffer" } - } - ], - "sources": [ + }, { - "fileName": "Tunnel.ts", - "line": 188, - "character": 16 + "id": 475, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "SeleniumDownloadOptions" + } } ], - "inheritedFrom": { + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise" + }, + "overwrites": { "type": "reference", - "name": "Tunnel.isStopping", - "id": 72 + "id": 734, + "name": "Tunnel._postDownloadFile" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 733, + "name": "Tunnel._postDownloadFile" + } + }, + { + "id": 476, + "name": "_start", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 607, - "name": "url", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true + "fileName": "src/SeleniumTunnel.ts", + "line": 340, + "character": 12 + } + ], + "signatures": [ + { + "id": 477, + "name": "_start", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "This method provides the implementation that actually starts the tunnel\nand any other logic for emitting events on the Tunnel based on data\npassed by the tunnel software.", + "text": "The default implementation that assumes the tunnel is ready for use once\nthe child process has written to `stdout` or `stderr`. This method should\nbe reimplemented by other tunnel launchers to implement correct launch\ndetection logic.\n" }, - "getSignature": [ + "parameters": [ { - "id": 608, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", + "id": 478, + "name": "executor", + "kind": 32768, + "kindString": "Parameter", "flags": {}, "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { "type": "reference", - "name": "Tunnel.url", - "id": 52 + "name": "ChildExecutor" } } ], - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 192, - "character": 9 - } - ], - "overwrites": { + "type": { "type": "reference", - "name": "Tunnel.url", - "id": 52 + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "CancellablePromise" }, - "implementationOf": { + "overwrites": { "type": "reference", - "name": "SauceLabsProperties.url", - "id": 735 + "id": 738, + "name": "Tunnel._start" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 737, + "name": "Tunnel._start" + } + }, + { + "id": 531, + "name": "_stop", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 666, - "name": "_downloadFile", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 622, + "character": 12 + } + ], + "signatures": [ + { + "id": 532, + "name": "_stop", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "This method provides the implementation that actually stops the tunnel.", + "text": "The default implementation that assumes the tunnel has been closed once\nthe child process has exited. This method should be reimplemented by\nother tunnel launchers to implement correct shutdown logic, if necessary.\n", + "returns": "A promise that resolves once the tunnel has shut down.\n" }, - "signatures": [ - { - "id": 667, - "name": "_downloadFile", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 668, - "name": "url", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 669, - "name": "proxy", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 670, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" }, - "type": { - "type": "reference", - "name": "DownloadOptions", - "id": 207 - } - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ { "type": "intrinsic", "name": "void" } ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._downloadFile", - "id": 87 } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 371, - "character": 25 - } - ], + ], + "name": "Promise" + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel._downloadFile", - "id": 87 + "id": 741, + "name": "Tunnel._stop" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 740, + "name": "Tunnel._stop" + } + }, + { + "id": 466, + "name": "_updateWebDriverData", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 619, - "name": "_makeArgs", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true + "fileName": "src/SeleniumTunnel.ts", + "line": 237, + "character": 12 + } + ], + "signatures": [ + { + "id": 467, + "name": "_updateWebDriverData", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Load updated webdriver data.", + "text": "This method updates the data used to configure the various webdriver config\nclasses.\n" }, - "signatures": [ - { - "id": 620, - "name": "_makeArgs", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 621, - "name": "readyFile", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - }, - "overwrites": { - "type": "reference", - "name": "Tunnel._makeArgs", - "id": 92 - } - } - ], - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 275, - "character": 21 - } - ], - "overwrites": { + "type": { "type": "reference", - "name": "Tunnel._makeArgs", - "id": 92 + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "CancellablePromise" } - }, + } + ] + }, + { + "id": 552, + "name": "destroy", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ { - "id": 671, - "name": "_makeChild", - "kind": 2048, - "kindString": "Method", + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 12, + "character": 4 + } + ], + "signatures": [ + { + "id": 553, + "name": "destroy", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isProtected": true, - "isExported": true + "isExternal": true }, - "signatures": [ - { - "id": 672, - "name": "_makeChild", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates a newly spawned child process for the tunnel software.\nImplementations should call this method to create the tunnel process.", - "text": "Arguments passed to this method will be passed as-is to\n[[Tunnel._makeArgs]] and [[Tunnel._makeOptions]].\n", - "returns": "An object containing a newly spawned Process and a Deferred that\nwill be resolved once the tunnel has started successfully.\n" - }, - "parameters": [ - { - "id": 673, - "name": "executor", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "ChildExecutor", - "id": 163 - } - }, - { - "id": 674, - "name": "values", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isRest": true - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeChild", - "id": 95 + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "boolean" } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 445, - "character": 22 - } - ], + ], + "name": "Promise" + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel._makeChild", - "id": 95 + "id": 762, + "name": "Tunnel.destroy" } - }, - { - "id": 616, - "name": "_makeJavaArgs", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 617, - "name": "_makeJavaArgs", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 618, - "name": "proxy", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "Url" - } - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 251, - "character": 25 - } - ] - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 761, + "name": "Tunnel.destroy" + } + }, + { + "id": 461, + "name": "download", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "id": 613, - "name": "_makeNativeArgs", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 614, - "name": "_makeNativeArgs", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 615, - "name": "proxy", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "Url" - } - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 221, - "character": 27 - } - ] - }, + "fileName": "src/SeleniumTunnel.ts", + "line": 176, + "character": 2 + } + ], + "signatures": [ { - "id": 675, - "name": "_makeOptions", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true + "id": 462, + "name": "download", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Downloads and extracts the tunnel software if it is not already\ndownloaded.", + "text": "This method can be extended by implementations to perform any necessary\npost-processing, such as setting appropriate file permissions on the\ndownloaded executable.\n" }, - "signatures": [ + "parameters": [ { - "id": 676, - "name": "_makeOptions", - "kind": 4096, - "kindString": "Call signature", + "id": 463, + "name": "forceDownload", + "kind": 32768, + "kindString": "Parameter", "flags": {}, - "comment": { - "shortText": "Creates the set of options to use when spawning the tunnel process.\nImplementations should override this method to provide the appropriate\noptions for the tunnel software.", - "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n", - "returns": "A set of options matching those provided to Node.js\n`child_process.spawn`.\n" - }, - "parameters": [ - { - "id": 677, - "name": "_values", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isRest": true - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], "type": { - "type": "reflection", - "declaration": { - "id": 678, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 679, - "name": "env", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 546, - "character": 16 - } - ], - "type": { - "type": "reference", - "name": "ProcessEnv" - }, - "defaultValue": " process.env" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 679 - ] - } - ] - } + "type": "intrinsic", + "name": "boolean" }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeOptions", - "id": 99 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 545, - "character": 24 + "defaultValue": "false" } ], - "inheritedFrom": { + "type": { "type": "reference", - "name": "Tunnel._makeOptions", - "id": 99 - } - }, - { - "id": 629, - "name": "_normalizeEnvironment", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 630, - "name": "_normalizeEnvironment", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Attempt to normalize a SauceLabs described environment with the standard\nSelenium capabilities", - "text": "SauceLabs returns a list of environments that looks like:\n\n{\n \"short_version\": \"25\",\n \"long_name\": \"Firefox\",\n \"api_name\": \"firefox\",\n \"long_version\": \"25.0b2.\",\n \"latest_stable_version\": \"\",\n \"automation_backend\": \"webdriver\",\n \"os\": \"Windows 2003\"\n}\n", - "returns": "a normalized descriptor\n" - }, - "parameters": [ - { - "id": 631, - "name": "environment", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "text": "a SauceLabs environment descriptor" - }, - "type": { - "type": "intrinsic", - "name": "any" - } - } - ], - "type": { - "type": "reference", - "name": "NormalizedEnvironment", - "id": 177 - }, - "overwrites": { - "type": "reference", - "name": "Tunnel._normalizeEnvironment", - "id": 104 + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" } - } - ], - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 516, - "character": 33 - } - ], + ], + "name": "CancellablePromise" + }, "overwrites": { "type": "reference", - "name": "Tunnel._normalizeEnvironment", - "id": 104 + "id": 701, + "name": "Tunnel.download" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 700, + "name": "Tunnel.download" + } + }, + { + "id": 535, + "name": "emit", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ { - "id": 609, - "name": "_postDownloadFile", - "kind": 2048, - "kindString": "Method", + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 7, + "character": 4 + } + ], + "signatures": [ + { + "id": 536, + "name": "emit", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isProtected": true, - "isExported": true + "isExternal": true }, - "signatures": [ + "typeParameter": [ { - "id": 610, - "name": "_postDownloadFile", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 611, - "name": "data", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "Buffer" - } - }, - { - "id": 612, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "DownloadOptions", - "id": 207 - } - } - ], + "id": 537, + "name": "K", + "kind": 131072, + "kindString": "Type parameter", + "flags": { + "isExternal": true + }, "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ + "type": "union", + "types": [ { "type": "intrinsic", - "name": "void" + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" } ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel._postDownloadFile", - "id": 107 } } ], - "sources": [ + "parameters": [ { - "fileName": "SauceLabsTunnel.ts", - "line": 210, - "character": 29 + "id": 538, + "name": "event", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "name": "K" + }, + "objectType": { + "type": "reference", + "name": "TunnelEvents" + } + } } ], - "overwrites": { + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { "type": "reference", - "name": "Tunnel._postDownloadFile", - "id": 107 + "id": 745, + "name": "Tunnel.emit" } }, { - "id": 626, - "name": "_start", - "kind": 2048, - "kindString": "Method", + "id": 539, + "name": "emit", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isProtected": true, - "isExported": true + "isExternal": true }, - "signatures": [ + "parameters": [ { - "id": 627, - "name": "_start", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 628, - "name": "executor", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "ChildExecutor", - "id": 163 - } - } - ], + "id": 540, + "name": "event", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, "type": { "type": "reference", - "name": "CancellablePromise", "typeArguments": [ { "type": "intrinsic", - "name": "any" + "name": "string" } - ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel._start", - "id": 111 + ], + "name": "EventObject" } } ], - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 351, - "character": 18 - } - ], - "overwrites": { + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { "type": "reference", - "name": "Tunnel._start", - "id": 111 + "id": 748, + "name": "Tunnel.emit" } - }, - { - "id": 680, - "name": "_stop", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 681, - "name": "_stop", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "This method provides the implementation that actually stops the tunnel.", - "text": "The default implementation that assumes the tunnel has been closed once\nthe child process has exited. This method should be reimplemented by\nother tunnel launchers to implement correct shutdown logic, if necessary.\n", - "returns": "A promise that resolves once the tunnel has shut down.\n" - }, - "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "void" - } - ] - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._stop", - "id": 114 + } + ], + "inheritedFrom": { + "type": "reference", + "id": 744, + "name": "Tunnel.emit" + } + }, + { + "id": 508, + "name": "getEnvironments", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 231, + "character": 2 + } + ], + "signatures": [ + { + "id": 509, + "name": "getEnvironments", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Get a list of environments available on the service.", + "text": "This method should be overridden and use a specific implementation that\nreturns normalized environments from the service. E.g.\n\n```js\n{\n browserName: 'firefox',\n version: '12',\n platform: 'windows',\n descriptor: { }\n}\n```\n", + "returns": "An object containing the response and helper functions\n" + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "name": "NormalizedEnvironment" + } } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 621, - "character": 17 - } - ], + ], + "name": "CancellablePromise" + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel._stop", - "id": 114 + "id": 704, + "name": "Tunnel.getEnvironments" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 703, + "name": "Tunnel.getEnvironments" + } + }, + { + "id": 541, + "name": "on", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ { - "id": 702, - "name": "destroy", - "kind": 2048, - "kindString": "Method", + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 9, + "character": 4 + } + ], + "signatures": [ + { + "id": 542, + "name": "on", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true + "isExternal": true }, - "signatures": [ + "typeParameter": [ { - "id": 703, - "name": "destroy", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, + "id": 543, + "name": "K", + "kind": 131072, + "kindString": "Type parameter", + "flags": { + "isExternal": true + }, "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, { "type": "intrinsic", - "name": "boolean" + "name": "number" } ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.destroy" } } ], - "sources": [ + "parameters": [ { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 12, - "character": 11 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Evented.destroy" - } - }, - { - "id": 657, - "name": "download", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ + "id": 544, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "name": "K" + } + }, { - "id": 658, - "name": "download", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Downloads and extracts the tunnel software if it is not already\ndownloaded.", - "text": "This method can be extended by implementations to perform any necessary\npost-processing, such as setting appropriate file permissions on the\ndownloaded executable.\n", - "returns": "A promise that resolves once the download and extraction process\nhas completed.\n" + "id": 545, + "name": "listener", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true }, - "parameters": [ - { - "id": 659, - "name": "forceDownload", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "text": "Force downloading the software even if it already\nhas been downloaded." - }, - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "defaultValue": "false" - } - ], "type": { "type": "reference", - "name": "CancellablePromise", "typeArguments": [ { - "type": "intrinsic", - "name": "void" + "type": "reference", + "name": "K" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "name": "K" + }, + "objectType": { + "type": "reference", + "name": "TunnelEvents" + } } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.download", - "id": 74 + ], + "name": "EventedCallbackOrArray" } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 205, - "character": 10 - } - ], + "type": { + "type": "reference", + "name": "Handle" + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel.download", - "id": 74 + "id": 751, + "name": "Tunnel.on" } }, { - "id": 685, - "name": "emit", - "kind": 2048, - "kindString": "Method", + "id": 546, + "name": "on", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true + "isExternal": true }, - "signatures": [ + "parameters": [ { - "id": 686, - "name": "emit", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 687, - "name": "K", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - ], - "parameters": [ - { - "id": 688, - "name": "event", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "unknown", - "name": "M[K]" - } - } - ], + "id": 547, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, "type": { "type": "intrinsic", - "name": "void" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.emit" + "name": "string" } }, { - "id": 689, - "name": "emit", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 690, - "name": "event", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" + "id": 548, + "name": "listener", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true }, - "inheritedFrom": { + "type": { "type": "reference", - "name": "Evented.emit" + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "EventObject" + } + ], + "name": "EventedCallbackOrArray" } } ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 7, - "character": 8 - }, - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 8, - "character": 8 - } - ], + "type": { + "type": "reference", + "name": "Handle" + }, "inheritedFrom": { "type": "reference", - "name": "Evented.emit" + "id": 755, + "name": "Tunnel.on" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 750, + "name": "Tunnel.on" + } + }, + { + "id": 549, + "name": "own", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ { - "id": 660, - "name": "getEnvironments", - "kind": 2048, - "kindString": "Method", + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 11, + "character": 4 + } + ], + "signatures": [ + { + "id": 550, + "name": "own", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true + "isExternal": true }, - "signatures": [ + "parameters": [ { - "id": 661, - "name": "getEnvironments", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Get a list of environments available on the service.", - "text": "This method should be overridden and use a specific implementation that\nreturns normalized environments from the service. E.g.\n\n```js\n{\n browserName: 'firefox',\n version: '12',\n platform: 'windows',\n descriptor: { }\n}\n```\n", - "returns": "An object containing the response and helper functions\n" + "id": 551, + "name": "handles", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true }, "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ + "type": "union", + "types": [ + { + "type": "reference", + "name": "Handle" + }, { "type": "array", "elementType": { "type": "reference", - "name": "NormalizedEnvironment", - "id": 177 + "name": "Handle" } } ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.getEnvironments", - "id": 77 } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 229, - "character": 17 - } - ], + "type": { + "type": "reference", + "name": "Handle" + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel.getEnvironments", - "id": 77 + "id": 759, + "name": "Tunnel.own" } - }, - { - "id": 691, - "name": "on", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + } + ], + "inheritedFrom": { + "type": "reference", + "id": 758, + "name": "Tunnel.own" + } + }, + { + "id": 464, + "name": "sendJobState", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/SeleniumTunnel.ts", + "line": 226, + "character": 2 + } + ], + "signatures": [ + { + "id": 465, + "name": "sendJobState", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Sends information about a job to the tunnel provider." }, - "signatures": [ - { - "id": 692, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 693, - "name": "K", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - ], - "parameters": [ - { - "id": 694, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "typeParameter", - "name": "K", - "constraint": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - }, - { - "id": 695, - "name": "listener", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EventedCallbackOrArray", - "typeArguments": [ - { - "type": "typeParameter", - "name": "K", - "constraint": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - }, - { - "type": "unknown", - "name": "M[K]" - } - ] - } - } - ], - "type": { - "type": "reference", - "name": "Handle" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.on" - } - }, - { - "id": 696, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 697, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 698, - "name": "listener", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EventedCallbackOrArray", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - ] - } - } - ], - "type": { - "type": "reference", - "name": "Handle" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.on" + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 9, - "character": 6 - }, - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 10, - "character": 6 - } - ], - "inheritedFrom": { + ], + "name": "CancellablePromise" + }, + "overwrites": { "type": "reference", - "name": "Evented.on" + "id": 706, + "name": "Tunnel.sendJobState" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 705, + "name": "Tunnel.sendJobState" + } + }, + { + "id": 510, + "name": "start", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "id": 699, - "name": "own", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 277, + "character": 2 + } + ], + "signatures": [ + { + "id": 511, + "name": "start", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Starts the tunnel, automatically downloading dependencies if necessary.", + "returns": "A promise that resolves once the tunnel has been established.\n" }, - "signatures": [ - { - "id": 700, - "name": "own", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 701, - "name": "handles", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Handle" - }, - { - "type": "array", - "elementType": { - "type": "reference", - "name": "Handle" - } - } - ] - } - } - ], - "type": { - "type": "reference", - "name": "Handle" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.own" + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 11, - "character": 7 - } - ], + ], + "name": "CancellablePromise" + }, "inheritedFrom": { "type": "reference", - "name": "Evented.own" + "id": 710, + "name": "Tunnel.start" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 709, + "name": "Tunnel.start" + } + }, + { + "id": 512, + "name": "stop", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "id": 622, - "name": "sendJobState", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 334, + "character": 2 + } + ], + "signatures": [ + { + "id": 513, + "name": "stop", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Stops the tunnel.", + "returns": "A promise that resolves to the exit code for the tunnel once it\nhas been terminated.\n" }, - "signatures": [ - { - "id": 623, - "name": "sendJobState", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 624, - "name": "jobId", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 625, - "name": "data", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "JobState", - "id": 27 - } - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ { "type": "intrinsic", - "name": "void" - } - ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.sendJobState", - "id": 79 - } - } - ], - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 306, - "character": 14 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel.sendJobState", - "id": 79 - } - }, - { - "id": 662, - "name": "start", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 663, - "name": "start", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Starts the tunnel, automatically downloading dependencies if necessary.", - "returns": "A promise that resolves once the tunnel has been established.\n" - }, - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ + "name": "number" + }, { "type": "intrinsic", "name": "void" } ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.start", - "id": 83 } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 275, - "character": 7 - } - ], + ], + "name": "Promise" + }, "inheritedFrom": { "type": "reference", - "name": "Tunnel.start", - "id": 83 + "id": 712, + "name": "Tunnel.stop" } - }, - { - "id": 664, - "name": "stop", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 665, - "name": "stop", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Stops the tunnel.", - "returns": "A promise that resolves to the exit code for the tunnel once it\nhas been terminated.\n" - }, - "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "void" - } - ] - } - ] + } + ], + "inheritedFrom": { + "type": "reference", + "id": 711, + "name": "Tunnel.stop" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [ + 441 + ] + }, + { + "title": "Properties", + "kind": 1024, + "children": [ + 533, + 495, + 496, + 493, + 497, + 494, + 480, + 482, + 483, + 446, + 445, + 479, + 484, + 534, + 485, + 486, + 487, + 488, + 489, + 444, + 448, + 491, + 490, + 481, + 492, + 447, + 449 + ] + }, + { + "title": "Accessors", + "kind": 262144, + "children": [ + 451, + 498, + 453, + 455, + 500, + 457, + 502, + 504, + 506, + 459 + ] + }, + { + "title": "Methods", + "kind": 2048, + "children": [ + 514, + 468, + 470, + 519, + 523, + 528, + 472, + 476, + 531, + 466, + 552, + 461, + 535, + 508, + 541, + 549, + 464, + 510, + 512 + ] + } + ], + "sources": [ + { + "fileName": "src/SeleniumTunnel.ts", + "line": 44, + "character": 21 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 662, + "name": "Tunnel" + } + ], + "implementedTypes": [ + { + "type": "reference", + "name": "SeleniumProperties" + } + ] + }, + { + "id": 554, + "name": "TestingBotTunnel", + "kind": 128, + "kindString": "Class", + "flags": {}, + "comment": { + "shortText": "A TestingBot tunnel.", + "text": "The username and accessKey properties will be initialized using\nTESTINGBOT_API_KEY and TESTINGBOT_API_SECRET.\n" + }, + "children": [ + { + "id": 555, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ + { + "fileName": "src/TestingBotTunnel.ts", + "line": 50, + "character": 2 + } + ], + "signatures": [ + { + "id": 556, + "name": "new TestingBotTunnel", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ + { + "id": 557, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true }, - "inheritedFrom": { + "type": { "type": "reference", - "name": "Tunnel.stop", - "id": 85 + "typeArguments": [ + { + "type": "reference", + "name": "TestingBotProperties" + } + ], + "name": "Partial" } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 332, - "character": 6 - } - ], - "inheritedFrom": { + "type": { + "type": "reference", + "id": 554, + "name": "default" + }, + "overwrites": { "type": "reference", - "name": "Tunnel.stop", - "id": 85 + "id": 664, + "name": "Tunnel.constructor" } } ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 596 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 683, - 646, - 647, - 644, - 648, - 645, - 578, - 633, - 579, - 634, - 581, - 632, - 582, - 635, - 583, - 684, - 584, - 587, - 588, - 585, - 636, - 586, - 637, - 638, - 639, - 640, - 589, - 594, - 590, - 591, - 580, - 642, - 641, - 592, - 595, - 643, - 593 - ] - }, - { - "title": "Accessors", - "kind": 262144, - "children": [ - 599, - 649, - 601, - 603, - 605, - 651, - 653, - 655, - 607 - ] - }, + "overwrites": { + "type": "reference", + "id": 663, + "name": "Tunnel.constructor" + } + }, + { + "id": 641, + "name": "__typeMap__", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isExternal": true, + "isOptional": true + }, + "sources": [ { - "title": "Methods", - "kind": 2048, - "children": [ - 666, - 619, - 671, - 616, - 613, - 675, - 629, - 609, - 626, - 680, - 702, - 657, - 685, - 660, - 691, - 699, - 622, - 662, - 664 - ] + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 3, + "character": 14 } ], + "type": { + "type": "reference", + "name": "TunnelEvents" + }, + "inheritedFrom": { + "type": "reference", + "id": 742, + "name": "Tunnel.__typeMap__" + } + }, + { + "id": 599, + "name": "_handle", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, "sources": [ { - "fileName": "SauceLabsTunnel.ts", - "line": 27, - "character": 36 + "fileName": "src/Tunnel.ts", + "line": 128, + "character": 12 } ], - "extendedTypes": [ + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "name": "Handle" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 685, + "name": "Tunnel._handle" + } + }, + { + "id": 600, + "name": "_process", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "type": "reference", - "name": "Tunnel", - "id": 36 + "fileName": "src/Tunnel.ts", + "line": 129, + "character": 12 } ], - "implementedTypes": [ - { - "type": "reference", - "name": "TunnelProperties", - "id": 190 - }, - { - "type": "reference", - "name": "SauceLabsProperties", - "id": 704 - } - ] + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "name": "ChildProcess" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 686, + "name": "Tunnel._process" + } }, { - "id": 704, - "name": "SauceLabsProperties", - "kind": 256, - "kindString": "Interface", + "id": 597, + "name": "_startTask", + "kind": 1024, + "kindString": "Property", "flags": { - "isExported": true - }, - "comment": { - "shortText": "Options specific to the SauceLabsTunnel" + "isProtected": true }, - "children": [ + "sources": [ { - "id": 722, - "name": "accessKey", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.accessKey|More info]]" + "fileName": "src/Tunnel.ts", + "line": 126, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 740, - "character": 11 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, + { + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "undefined" + "name": "any" } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.accessKey", - "id": 193 + ], + "name": "CancellablePromise" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 683, + "name": "Tunnel._startTask" + } + }, + { + "id": 601, + "name": "_state", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 720, - "name": "architecture", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 130, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "stopped" }, - "comment": { - "shortText": "[[Tunnel.Tunnel.architecture|More info]]" + { + "type": "literal", + "value": "starting" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 734, - "character": 14 - } - ], - "type": { - "type": "intrinsic", - "name": "string" + { + "type": "literal", + "value": "running" }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.architecture", - "id": 191 + { + "type": "literal", + "value": "stopping" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 687, + "name": "Tunnel._state" + } + }, + { + "id": 598, + "name": "_stopTask", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 721, - "name": "auth", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.auth|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 737, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] + "fileName": "src/Tunnel.ts", + "line": 127, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "inheritedFrom": { + { "type": "reference", - "name": "TunnelProperties.auth", - "id": 192 - } - }, - { - "id": 705, - "name": "directDomains", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[SauceLabsTunnel.SauceLabsTunnel.directDomains|More info]]" - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 572, - "character": 15 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - }, - { - "id": 733, - "name": "directory", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 701, - "character": 11 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, + "typeArguments": [ { - "type": "intrinsic", - "name": "undefined" + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, + { + "type": "intrinsic", + "name": "void" + } + ] } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "DownloadProperties.directory", - "id": 174 + ], + "name": "Promise" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 684, + "name": "Tunnel._stopTask" + } + }, + { + "id": 583, + "name": "accessKey", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The tunnel access key. This will be initialized with a tunnel-specific\nenvironment variable if not specified." + }, + "sources": [ { - "id": 707, - "name": "domainAuthentication", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[SauceLabsTunnel.SauceLabsTunnel.domainAuthentication|More info]]" + "fileName": "src/Tunnel.ts", + "line": 37, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 578, - "character": 22 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } + { + "type": "intrinsic", + "name": "string" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 667, + "name": "Tunnel.accessKey" + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.accessKey" + } + }, + { + "id": 585, + "name": "architecture", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The architecture the tunnel will run against. This information is\nautomatically retrieved for the current system at runtime." + }, + "sources": [ { - "id": 723, - "name": "executable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.executable|More info]]" + "fileName": "src/Tunnel.ts", + "line": 49, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 669, + "name": "Tunnel.architecture" + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.architecture" + } + }, + { + "id": 558, + "name": "directory", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The directory where the tunnel software will be extracted. If the\ndirectory does not exist, it will be created. This value is set by the\ntunnel subclasses." + }, + "sources": [ + { + "fileName": "src/TestingBotTunnel.ts", + "line": 25, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "overwrites": { + "type": "reference", + "id": 671, + "name": "Tunnel.directory" + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.directory" + } + }, + { + "id": 582, + "name": "environmentUrl", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a service that provides a list of environments supported by\nthe tunnel." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 31, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 743, - "character": 12 - } - ], - "type": { + { + "type": "intrinsic", + "name": "string" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 666, + "name": "Tunnel.environmentUrl" + } + }, + { + "id": 586, + "name": "executable", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The executable to spawn in order to create a tunnel. This value is set\nby the tunnel subclasses." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 68, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 672, + "name": "Tunnel.executable" + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.executable" + } + }, + { + "id": 559, + "name": "fastFailDomains", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "A list of regular expressions corresponding to domains whose connections\nshould fail immediately if the VM attempts to make a connection to them." + }, + "sources": [ + { + "fileName": "src/TestingBotTunnel.ts", + "line": 31, + "character": 2 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.fastFailDomains" + } + }, + { + "id": 587, + "name": "hostname", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The host on which a WebDriver client can access the service provided by\nthe tunnel. This may or may not be the host where the tunnel application\nis running." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 75, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 673, + "name": "Tunnel.hostname" + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.hostname" + } + }, + { + "id": 642, + "name": "listenersMap", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 4, + "character": 14 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { "type": "union", "types": [ { @@ -13168,16625 +14231,2658 @@ }, { "type": "intrinsic", - "name": "undefined" + "name": "number" } ] }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.executable", - "id": 194 - } - }, - { - "id": 708, - "name": "fastFailDomains", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[SauceLabsTunnel.SauceLabsTunnel.fastFailDomains|More info]]" - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 581, - "character": 17 - } - ], - "type": { + { "type": "array", "elementType": { - "type": "intrinsic", - "name": "string" + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "EventObject" + } + ], + "name": "EventedCallback" } } - }, + ], + "name": "Map" + }, + "inheritedFrom": { + "type": "reference", + "id": 743, + "name": "Tunnel.listenersMap" + } + }, + { + "id": 560, + "name": "logFile", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "A filename where additional logs from the tunnel should be output." + }, + "sources": [ { - "id": 724, - "name": "hostname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.hostname|More info]]" + "fileName": "src/TestingBotTunnel.ts", + "line": 34, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 746, - "character": 10 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.hostname", - "id": 195 } - }, + ] + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.logFile" + } + }, + { + "id": 588, + "name": "pathname", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The path that a WebDriver client should use to access the service\nprovided by the tunnel." + }, + "sources": [ { - "id": 709, - "name": "isSharedTunnel", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[SauceLabsTunnel.SauceLabsTunnel.isSharedTunnel|More info]]" - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 584, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, + "fileName": "src/Tunnel.ts", + "line": 81, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 674, + "name": "Tunnel.pathname" + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.pathname" + } + }, + { + "id": 589, + "name": "platform", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The operating system the tunnel will run on. This information is\nautomatically retrieved for the current system at runtime." + }, + "sources": [ { - "id": 710, - "name": "logFile", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[SauceLabsTunnel.SauceLabsTunnel.logFile|More info]]" - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 587, - "character": 9 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, + "fileName": "src/Tunnel.ts", + "line": 87, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 675, + "name": "Tunnel.platform" + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.platform" + } + }, + { + "id": 590, + "name": "port", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The local port where the WebDriver server should be exposed by the\ntunnel. This is typed as a string for Url compatibility, but should be a\nnumber." + }, + "sources": [ { - "id": 713, - "name": "logFileSize", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[SauceLabsTunnel.SauceLabsTunnel.logFileSize|More info]]" - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 596, - "character": 13 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, + "fileName": "src/Tunnel.ts", + "line": 94, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 676, + "name": "Tunnel.port" + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.port" + } + }, + { + "id": 591, + "name": "protocol", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The protocol (e.g., 'http') that a WebDriver client should use to access\nthe service provided by the tunnel." + }, + "sources": [ { - "id": 714, - "name": "logTrafficStats", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[SauceLabsTunnel.SauceLabsTunnel.logTrafficStats|More info]]" + "fileName": "src/Tunnel.ts", + "line": 100, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 677, + "name": "Tunnel.protocol" + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.protocol" + } + }, + { + "id": 592, + "name": "proxy", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 106, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 599, - "character": 17 - } - ], - "type": { + { "type": "intrinsic", - "name": "number" + "name": "string" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 678, + "name": "Tunnel.proxy" + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.proxy" + } + }, + { + "id": 594, + "name": "tunnelId", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "A unique identifier for the newly created tunnel." + }, + "sources": [ { - "id": 711, - "name": "pacFile", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[SauceLabsTunnel.SauceLabsTunnel.pacFile|More info]]" + "fileName": "src/Tunnel.ts", + "line": 118, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 590, - "character": 9 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] + { + "type": "intrinsic", + "name": "string" } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 680, + "name": "Tunnel.tunnelId" + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.tunnelId" + } + }, + { + "id": 593, + "name": "tunnelProxy", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used.", + "text": "This overrides the `proxy` configuration allowing independent\nconfiguration for the Tunnel binary process only.\n" + }, + "sources": [ { - "id": 725, - "name": "pathname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.pathname|More info]]" + "fileName": "src/Tunnel.ts", + "line": 115, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 749, - "character": 10 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.pathname", - "id": 196 } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 679, + "name": "Tunnel.tunnelProxy" + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.tunnelProxy" + } + }, + { + "id": 595, + "name": "url", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL where the tunnel software can be downloaded." + }, + "sources": [ { - "id": 712, - "name": "pidFile", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[SauceLabsTunnel.SauceLabsTunnel.pidFile|More info]]" - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 593, - "character": 9 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, + "fileName": "src/Tunnel.ts", + "line": 121, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "id": 681, + "name": "Tunnel.url" + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.url" + } + }, + { + "id": 561, + "name": "useCompression", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Whether or not to use rabbIT compression for the tunnel connection." + }, + "sources": [ { - "id": 726, - "name": "platform", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.platform|More info]]" + "fileName": "src/TestingBotTunnel.ts", + "line": 37, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.useCompression" + } + }, + { + "id": 562, + "name": "useJettyProxy", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Whether or not to use the default local Jetty proxy for the tunnel." + }, + "sources": [ + { + "fileName": "src/TestingBotTunnel.ts", + "line": 40, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.useJettyProxy" + } + }, + { + "id": 563, + "name": "useSquidProxy", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Whether or not to use the default remote Squid proxy for the VM." + }, + "sources": [ + { + "fileName": "src/TestingBotTunnel.ts", + "line": 43, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.useSquidProxy" + } + }, + { + "id": 564, + "name": "useSsl", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Whether or not to re-encrypt data encrypted by self-signed certificates." + }, + "sources": [ + { + "fileName": "src/TestingBotTunnel.ts", + "line": 48, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.useSsl" + } + }, + { + "id": 584, + "name": "username", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The tunnel username. This will be initialized with a tunnel-specific\nenvironment variable if not specified." + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 43, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 752, - "character": 10 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.platform", - "id": 197 } - }, + ] + }, + "inheritedFrom": { + "type": "reference", + "id": 668, + "name": "Tunnel.username" + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.username" + } + }, + { + "id": 596, + "name": "verbose", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Whether or not to tell the tunnel to provide verbose logging output." + }, + "sources": [ { - "id": 727, - "name": "port", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.port|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 755, - "character": 6 - } - ], + "fileName": "src/Tunnel.ts", + "line": 124, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "id": 682, + "name": "Tunnel.verbose" + }, + "implementationOf": { + "type": "reference", + "name": "TestingBotProperties.verbose" + } + }, + { + "id": 565, + "name": "auth", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "An HTTP authorization string to use when initiating connections to the\ntunnel. This value of this property is defined by Tunnel subclasses." + }, + "sources": [ + { + "fileName": "src/TestingBotTunnel.ts", + "line": 74, + "character": 6 + } + ], + "getSignature": [ + { + "id": 566, + "name": "auth", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "type": { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.port", - "id": 198 } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 670, + "name": "Tunnel.auth" + } + }, + { + "id": 602, + "name": "clientUrl", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "The URL that a WebDriver client should used to interact with this\nservice." + }, + "sources": [ { - "id": 728, - "name": "protocol", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 154, + "character": 6 + } + ], + "getSignature": [ + { + "id": 603, + "name": "clientUrl", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "comment": { - "shortText": "[[Tunnel.Tunnel.protocol|More info]]" + "shortText": "The URL that a WebDriver client should used to interact with this\nservice." }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 758, - "character": 10 - } - ], "type": { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.protocol", - "id": 199 } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 688, + "name": "Tunnel.clientUrl" + } + }, + { + "id": 604, + "name": "extraCapabilities", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "A map of additional capabilities that need to be sent to the provider\nwhen a new session is being created." + }, + "sources": [ { - "id": 734, - "name": "proxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 702, - "character": 7 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "DownloadProperties.proxy", - "id": 175 - } - }, + "fileName": "src/Tunnel.ts", + "line": 162, + "character": 6 + } + ], + "getSignature": [ { - "id": 715, - "name": "restUrl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "id": 605, + "name": "extraCapabilities", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "comment": { - "shortText": "[[SauceLabsTunnel.SauceLabsTunnel.restUrl|More info]]" + "shortText": "A map of additional capabilities that need to be sent to the provider\nwhen a new session is being created." }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 602, - "character": 9 - } - ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] + "type": "intrinsic", + "name": "object" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 690, + "name": "Tunnel.extraCapabilities" + } + }, + { + "id": 567, + "name": "isDownloaded", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel software has already been downloaded." + }, + "sources": [ { - "id": 716, - "name": "skipSslDomains", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[SauceLabsTunnel.SauceLabsTunnel.skipSslDomains|More info]]" - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 605, - "character": 16 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - }, - { - "id": 717, - "name": "squidOptions", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[SauceLabsTunnel.SauceLabsTunnel.squidOptions|More info]]" - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 608, - "character": 14 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 706, - "name": "tunnelDomains", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[SauceLabsTunnel.SauceLabsTunnel.tunnelDomains|More info]]" - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 575, - "character": 15 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - }, - { - "id": 730, - "name": "tunnelId", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.tunnelId|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 764, - "character": 10 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.tunnelId", - "id": 201 - } - }, - { - "id": 729, - "name": "tunnelProxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.tunnelProxy|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 761, - "character": 13 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.tunnelProxy", - "id": 200 - } - }, - { - "id": 735, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 703, - "character": 5 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "DownloadProperties.url", - "id": 176 - } - }, - { - "id": 718, - "name": "useProxyForTunnel", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[SauceLabsTunnel.SauceLabsTunnel.useProxyForTunnel|More info]]" - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 611, - "character": 19 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 731, - "name": "username", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.username|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 767, - "character": 10 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.username", - "id": 202 - } - }, - { - "id": 732, - "name": "verbose", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.verbose|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 770, - "character": 9 - } - ], + "fileName": "src/TestingBotTunnel.ts", + "line": 78, + "character": 6 + } + ], + "getSignature": [ + { + "id": 568, + "name": "isDownloaded", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "type": { "type": "intrinsic", "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.verbose", - "id": 203 - } - }, - { - "id": 719, - "name": "vmVersion", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[SauceLabsTunnel.SauceLabsTunnel.vmVersion|More info]]" - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 614, - "character": 11 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] } } ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 722, - 720, - 721, - 705, - 733, - 707, - 723, - 708, - 724, - 709, - 710, - 713, - 714, - 711, - 725, - 712, - 726, - 727, - 728, - 734, - 715, - 716, - 717, - 706, - 730, - 729, - 735, - 718, - 731, - 732, - 719 - ] - } - ], - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 570, - "character": 36 - } - ], - "extendedTypes": [ - { - "type": "reference", - "name": "TunnelProperties", - "id": 190 - } - ], - "implementedBy": [ - { - "type": "reference", - "name": "SauceLabsTunnel", - "id": 577 - } - ] - }, - { - "id": 737, - "name": "SauceLabsOptions", - "kind": 4194304, - "kindString": "Type alias", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 617, - "character": 28 - } - ], - "type": { + "inheritedFrom": { "type": "reference", - "name": "Partial", - "typeArguments": [ - { - "type": "reference", - "name": "SauceLabsProperties", - "id": 704 - } - ] + "id": 692, + "name": "Tunnel.isDownloaded" } }, { - "id": 736, - "name": "scVersion", - "kind": 32, - "kindString": "Variable", - "flags": { - "isConst": true + "id": 606, + "name": "isRunning", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently running." }, "sources": [ { - "fileName": "SauceLabsTunnel.ts", - "line": 15, - "character": 15 + "fileName": "src/Tunnel.ts", + "line": 176, + "character": 6 } ], - "type": { - "type": "stringLiteral", - "value": "4.5.3" - }, - "defaultValue": "\"4.5.3\"" - } - ], - "groups": [ - { - "title": "Classes", - "kind": 128, - "children": [ - 577 - ] - }, - { - "title": "Interfaces", - "kind": 256, - "children": [ - 704 - ] - }, - { - "title": "Type aliases", - "kind": 4194304, - "children": [ - 737 - ] - }, - { - "title": "Variables", - "kind": 32, - "children": [ - 736 - ] - } - ], - "sources": [ - { - "fileName": "SauceLabsTunnel.ts", - "line": 1, - "character": 0 - } - ] - }, - { - "id": 739, - "name": "\"SeleniumTunnel\"", - "kind": 1, - "kindString": "External module", - "flags": { - "isExported": true - }, - "originalName": "src/SeleniumTunnel.ts", - "children": [ - { - "id": 904, - "name": "ChromeConfig", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ + "getSignature": [ { - "id": 909, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", + "id": 607, + "name": "isRunning", + "kind": 524288, + "kindString": "Get signature", "flags": {}, - "signatures": [ - { - "id": 910, - "name": "new ChromeConfig", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 911, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "ChromeOptions", - "id": 1064 - } - } - ], - "type": { - "type": "reference", - "name": "ChromeConfig", - "id": 904 - }, - "overwrites": { - "type": "reference", - "name": "Config.__constructor", - "id": 893 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 448, - "character": 19 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.__constructor", - "id": 893 - } - }, - { - "id": 905, - "name": "arch", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 445, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "ChromeProperties.arch", - "id": 900 - } - }, - { - "id": 906, - "name": "baseUrl", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 446, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "ChromeProperties.baseUrl", - "id": 901 - } - }, - { - "id": 907, - "name": "platform", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 447, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "ChromeProperties.platform", - "id": 902 - } - }, - { - "id": 908, - "name": "version", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 448, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "ChromeProperties.version", - "id": 903 - } - }, - { - "id": 912, - "name": "artifact", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 913, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 464, - "character": 14 - } - ] - }, - { - "id": 914, - "name": "directory", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 915, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 480, - "character": 15 - } - ], - "implementationOf": { - "type": "reference", - "name": "DriverFile.directory", - "id": 857 - } - }, - { - "id": 918, - "name": "executable", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 919, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Config.executable", - "id": 896 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 488, - "character": 16 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.executable", - "id": 896 - }, - "implementationOf": { - "type": "reference", - "name": "DriverFile.executable", - "id": 858 - } - }, - { - "id": 920, - "name": "seleniumProperty", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 921, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Config.seleniumProperty", - "id": 898 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 495, - "character": 22 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.seleniumProperty", - "id": 898 - }, - "implementationOf": { - "type": "reference", - "name": "DriverFile.seleniumProperty", - "id": 855 - } - }, - { - "id": 916, - "name": "url", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 917, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Config.url", - "id": 897 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 484, - "character": 9 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.url", - "id": 897 - }, - "implementationOf": { - "type": "reference", - "name": "DriverFile.url", - "id": 859 - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 909 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 905, - 906, - 907, - 908 - ] - }, - { - "title": "Accessors", - "kind": 262144, - "children": [ - 912, - 914, - 918, - 920, - 916 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 443, - "character": 18 - } - ], - "extendedTypes": [ - { - "type": "reference", - "name": "Config", - "id": 891, - "typeArguments": [ - { - "type": "reference", - "name": "ChromeOptions", - "id": 1064 - } - ] - } - ], - "implementedTypes": [ - { - "type": "reference", - "name": "ChromeProperties", - "id": 899 - }, - { - "type": "reference", - "name": "DriverFile", - "id": 854 - } - ] - }, - { - "id": 891, - "name": "Config", - "kind": 128, - "kindString": "Class", - "flags": { - "isAbstract": true - }, - "typeParameter": [ - { - "id": 892, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "object" - } - } - ], - "children": [ - { - "id": 893, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "signatures": [ - { - "id": 894, - "name": "new Config", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 895, - "name": "config", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "typeParameter", - "name": "T", - "constraint": { - "type": "intrinsic", - "name": "object" - } - } - } - ], - "type": { - "type": "reference", - "name": "Config", - "id": 891 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 424, - "character": 41 - } - ] - }, - { - "id": 896, - "name": "executable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isAbstract": true - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 429, - "character": 30 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 898, - "name": "seleniumProperty", - "kind": 1024, - "kindString": "Property", - "flags": { - "isOptional": true, - "isAbstract": true - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 431, - "character": 36 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "intrinsic", - "name": "string" - } - ] - } - }, - { - "id": 897, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isAbstract": true - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 430, - "character": 23 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 893 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 896, - 898, - 897 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 424, - "character": 21 - } - ], - "extendedBy": [ - { - "type": "reference", - "name": "ChromeConfig", - "id": 904 - }, - { - "type": "reference", - "name": "FirefoxConfig", - "id": 927 - }, - { - "type": "reference", - "name": "IEConfig", - "id": 949 - }, - { - "type": "reference", - "name": "EdgeConfig", - "id": 976 - }, - { - "type": "reference", - "name": "EdgeChromiumConfig", - "id": 1009 - } - ] - }, - { - "id": 1009, - "name": "EdgeChromiumConfig", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 1014, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "signatures": [ - { - "id": 1015, - "name": "new EdgeChromiumConfig", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 1016, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "ChromeOptions", - "id": 1064 - } - } - ], - "type": { - "type": "reference", - "name": "EdgeChromiumConfig", - "id": 1009 - }, - "overwrites": { - "type": "reference", - "name": "Config.__constructor", - "id": 893 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 711, - "character": 19 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.__constructor", - "id": 893 - } - }, - { - "id": 1010, - "name": "arch", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 708, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "EdgeChromiumProperties.arch", - "id": 1005 - } - }, - { - "id": 1011, - "name": "baseUrl", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 709, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "EdgeChromiumProperties.baseUrl", - "id": 1006 - } - }, - { - "id": 1012, - "name": "platform", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 710, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "EdgeChromiumProperties.platform", - "id": 1007 - } - }, - { - "id": 1013, - "name": "version", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 711, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "EdgeChromiumProperties.version", - "id": 1008 - } - }, - { - "id": 1017, - "name": "artifact", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 1018, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 727, - "character": 14 - } - ] - }, - { - "id": 1019, - "name": "directory", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 1020, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 733, - "character": 15 - } - ], - "implementationOf": { - "type": "reference", - "name": "DriverFile.directory", - "id": 857 - } - }, - { - "id": 1023, - "name": "executable", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 1024, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Config.executable", - "id": 896 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 741, - "character": 16 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.executable", - "id": 896 - }, - "implementationOf": { - "type": "reference", - "name": "DriverFile.executable", - "id": 858 - } - }, - { - "id": 1025, - "name": "seleniumProperty", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 1026, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Config.seleniumProperty", - "id": 898 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 748, - "character": 22 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.seleniumProperty", - "id": 898 - }, - "implementationOf": { - "type": "reference", - "name": "DriverFile.seleniumProperty", - "id": 855 - } - }, - { - "id": 1021, - "name": "url", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 1022, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Config.url", - "id": 897 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 737, - "character": 9 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.url", - "id": 897 - }, - "implementationOf": { - "type": "reference", - "name": "DriverFile.url", - "id": 859 - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 1014 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 1010, - 1011, - 1012, - 1013 - ] - }, - { - "title": "Accessors", - "kind": 262144, - "children": [ - 1017, - 1019, - 1023, - 1025, - 1021 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 706, - "character": 24 - } - ], - "extendedTypes": [ - { - "type": "reference", - "name": "Config", - "id": 891, - "typeArguments": [ - { - "type": "reference", - "name": "EdgeOptions", - "id": 1067 - } - ] - } - ], - "implementedTypes": [ - { - "type": "reference", - "name": "EdgeChromiumProperties", - "id": 1004 - }, - { - "type": "reference", - "name": "DriverFile", - "id": 854 - } - ] - }, - { - "id": 976, - "name": "EdgeConfig", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 989, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "signatures": [ - { - "id": 990, - "name": "new EdgeConfig", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 991, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EdgeOptions", - "id": 1067 - } - } - ], - "type": { - "type": "reference", - "name": "EdgeConfig", - "id": 976 - }, - "overwrites": { - "type": "reference", - "name": "Config.__constructor", - "id": 893 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 635, - "character": 26 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.__constructor", - "id": 893 - } - }, - { - "id": 977, - "name": "arch", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 631, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 978, - "name": "baseUrl", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 632, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "EdgeProperties.baseUrl", - "id": 967 - } - }, - { - "id": 979, - "name": "uuid", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 633, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "implementationOf": { - "type": "reference", - "name": "EdgeProperties.uuid", - "id": 968 - } - }, - { - "id": 980, - "name": "version", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 634, - "character": 9 - } - ], - "type": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reflection", - "declaration": { - "id": 981, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 982, - "name": "15063", - "kind": 2097152, - "kindString": "Object literal", - "flags": {}, - "children": [ - { - "id": 983, - "name": "url", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "webdrivers.json", - "line": 25, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"https://download.microsoft.com/download/3/4/2/342316D7-EBE0-4F10-ABA2-AE8E0CDF36DD/MicrosoftWebDriver.exe\"" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 983 - ] - } - ], - "sources": [ - { - "fileName": "webdrivers.json", - "line": 24, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - }, - { - "id": 984, - "name": "16299", - "kind": 2097152, - "kindString": "Object literal", - "flags": {}, - "children": [ - { - "id": 985, - "name": "url", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "webdrivers.json", - "line": 28, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"https://download.microsoft.com/download/D/4/1/D417998A-58EE-4EFE-A7CC-39EF9E020768/MicrosoftWebDriver.exe\"" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 985 - ] - } - ], - "sources": [ - { - "fileName": "webdrivers.json", - "line": 27, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - }, - { - "id": 986, - "name": "17134", - "kind": 2097152, - "kindString": "Object literal", - "flags": {}, - "children": [ - { - "id": 987, - "name": "url", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "webdrivers.json", - "line": 31, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"https://download.microsoft.com/download/F/8/A/F8AF50AB-3C3A-4BC4-8773-DC27B32988DD/MicrosoftWebDriver.exe\"" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 987 - ] - } - ], - "sources": [ - { - "fileName": "webdrivers.json", - "line": 30, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - } - ], - "groups": [ - { - "title": "Object literals", - "kind": 2097152, - "children": [ - 982, - 984, - 986 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 634, - "character": 17 - } - ] - } - } - }, - "implementationOf": { - "type": "reference", - "name": "EdgeProperties.version", - "id": 969 - } - }, - { - "id": 988, - "name": "versions", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 635, - "character": 10 - } - ], - "type": { - "type": "reference", - "name": "EdgeVersions", - "id": 971 - }, - "implementationOf": { - "type": "reference", - "name": "EdgeProperties.versions", - "id": 970 - } - }, - { - "id": 996, - "name": "artifact", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 997, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 682, - "character": 14 - } - ] - }, - { - "id": 998, - "name": "directory", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 999, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "stringLiteral", - "value": "17134" - }, - { - "type": "stringLiteral", - "value": "15063" - }, - { - "type": "stringLiteral", - "value": "16299" - } - ] - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 686, - "character": 15 - } - ], - "implementationOf": { - "type": "reference", - "name": "DriverFile.directory", - "id": 857 - } - }, - { - "id": 992, - "name": "dontExtract", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 993, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 651, - "character": 17 - } - ], - "implementationOf": { - "type": "reference", - "name": "DriverFile.dontExtract", - "id": 856 - } - }, - { - "id": 1000, - "name": "executable", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 1001, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Config.executable", - "id": 896 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 690, - "character": 16 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.executable", - "id": 896 - }, - "implementationOf": { - "type": "reference", - "name": "DriverFile.executable", - "id": 858 - } - }, - { - "id": 1002, - "name": "seleniumProperty", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 1003, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Config.seleniumProperty", - "id": 898 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 694, - "character": 22 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.seleniumProperty", - "id": 898 - }, - "implementationOf": { - "type": "reference", - "name": "DriverFile.seleniumProperty", - "id": 855 - } - }, - { - "id": 994, - "name": "url", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 995, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Config.url", - "id": 897 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 655, - "character": 9 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.url", - "id": 897 - }, - "implementationOf": { - "type": "reference", - "name": "DriverFile.url", - "id": 859 - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 989 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 977, - 978, - 979, - 980, - 988 - ] - }, - { - "title": "Accessors", - "kind": 262144, - "children": [ - 996, - 998, - 992, - 1000, - 1002, - 994 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 629, - "character": 16 - } - ], - "extendedTypes": [ - { - "type": "reference", - "name": "Config", - "id": 891, - "typeArguments": [ - { - "type": "reference", - "name": "EdgeOptions", - "id": 1067 - } - ] - } - ], - "implementedTypes": [ - { - "type": "reference", - "name": "EdgeProperties", - "id": 966 - }, - { - "type": "reference", - "name": "DriverFile", - "id": 854 - } - ] - }, - { - "id": 927, - "name": "FirefoxConfig", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 932, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "signatures": [ - { - "id": 933, - "name": "new FirefoxConfig", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 934, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "FirefoxOptions", - "id": 1065 - } - } - ], - "type": { - "type": "reference", - "name": "FirefoxConfig", - "id": 927 - }, - "overwrites": { - "type": "reference", - "name": "Config.__constructor", - "id": 893 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 514, - "character": 19 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.__constructor", - "id": 893 - } - }, - { - "id": 928, - "name": "arch", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 511, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "FirefoxProperties.arch", - "id": 923 - } - }, - { - "id": 929, - "name": "baseUrl", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 512, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "FirefoxProperties.baseUrl", - "id": 924 - } - }, - { - "id": 930, - "name": "platform", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 513, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "FirefoxProperties.platform", - "id": 925 - } - }, - { - "id": 931, - "name": "version", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 514, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "FirefoxProperties.version", - "id": 926 - } - }, - { - "id": 935, - "name": "artifact", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 936, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 530, - "character": 14 - } - ] - }, - { - "id": 939, - "name": "directory", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 940, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 547, - "character": 15 - } - ], - "implementationOf": { - "type": "reference", - "name": "DriverFile.directory", - "id": 857 - } - }, - { - "id": 941, - "name": "executable", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 942, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Config.executable", - "id": 896 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 551, - "character": 16 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.executable", - "id": 896 - }, - "implementationOf": { - "type": "reference", - "name": "DriverFile.executable", - "id": 858 - } - }, - { - "id": 943, - "name": "seleniumProperty", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 944, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Config.seleniumProperty", - "id": 898 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 558, - "character": 22 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.seleniumProperty", - "id": 898 - }, - "implementationOf": { - "type": "reference", - "name": "DriverFile.seleniumProperty", - "id": 855 - } - }, - { - "id": 937, - "name": "url", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 938, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Config.url", - "id": 897 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 543, - "character": 9 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.url", - "id": 897 - }, - "implementationOf": { - "type": "reference", - "name": "DriverFile.url", - "id": 859 - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 932 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 928, - 929, - 930, - 931 - ] - }, - { - "title": "Accessors", - "kind": 262144, - "children": [ - 935, - 939, - 941, - 943, - 937 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 509, - "character": 19 - } - ], - "extendedTypes": [ - { - "type": "reference", - "name": "Config", - "id": 891, - "typeArguments": [ - { - "type": "reference", - "name": "FirefoxOptions", - "id": 1065 - } - ] - } - ], - "implementedTypes": [ - { - "type": "reference", - "name": "FirefoxProperties", - "id": 922 - }, - { - "type": "reference", - "name": "DriverFile", - "id": 854 - } - ] - }, - { - "id": 949, - "name": "IEConfig", - "kind": 128, - "kindString": "Class", - "flags": {}, - "children": [ - { - "id": 953, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "signatures": [ - { - "id": 954, - "name": "new IEConfig", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 955, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "IEOptions", - "id": 1066 - } - } - ], - "type": { - "type": "reference", - "name": "IEConfig", - "id": 949 - }, - "overwrites": { - "type": "reference", - "name": "Config.__constructor", - "id": 893 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 575, - "character": 19 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.__constructor", - "id": 893 - } - }, - { - "id": 950, - "name": "arch", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 573, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "IEProperties.arch", - "id": 946 - } - }, - { - "id": 951, - "name": "baseUrl", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 574, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "IEProperties.baseUrl", - "id": 947 - } - }, - { - "id": 952, - "name": "version", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 575, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "IEProperties.version", - "id": 948 - } - }, - { - "id": 956, - "name": "artifact", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 957, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 590, - "character": 14 - } - ] - }, - { - "id": 960, - "name": "directory", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 961, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 603, - "character": 15 - } - ], - "implementationOf": { - "type": "reference", - "name": "DriverFile.directory", - "id": 857 - } - }, - { - "id": 962, - "name": "executable", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 963, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Config.executable", - "id": 896 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 607, - "character": 16 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.executable", - "id": 896 - }, - "implementationOf": { - "type": "reference", - "name": "DriverFile.executable", - "id": 858 - } - }, - { - "id": 964, - "name": "seleniumProperty", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 965, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Config.seleniumProperty", - "id": 898 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 611, - "character": 22 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.seleniumProperty", - "id": 898 - }, - "implementationOf": { - "type": "reference", - "name": "DriverFile.seleniumProperty", - "id": 855 - } - }, - { - "id": 958, - "name": "url", - "kind": 262144, - "kindString": "Accessor", - "flags": {}, - "getSignature": [ - { - "id": 959, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Config.url", - "id": 897 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 595, - "character": 9 - } - ], - "overwrites": { - "type": "reference", - "name": "Config.url", - "id": 897 - }, - "implementationOf": { - "type": "reference", - "name": "DriverFile.url", - "id": 859 - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 953 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 950, - 951, - 952 - ] - }, - { - "title": "Accessors", - "kind": 262144, - "children": [ - 956, - 960, - 962, - 964, - 958 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 572, - "character": 14 - } - ], - "extendedTypes": [ - { - "type": "reference", - "name": "Config", - "id": 891, - "typeArguments": [ - { - "type": "reference", - "name": "IEOptions", - "id": 1066 - } - ] - } - ], - "implementedTypes": [ - { - "type": "reference", - "name": "IEProperties", - "id": 945 - }, - { - "type": "reference", - "name": "DriverFile", - "id": 854 - } - ] - }, - { - "id": 740, - "name": "SeleniumTunnel", - "kind": 128, - "kindString": "Class", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A Selenium tunnel. This tunnel downloads the\n[[http://www.seleniumhq.org/download/|Selenium-standalone server]] and any\nnecessary WebDriver executables, and handles starting and stopping Selenium.", - "text": "The primary configuration option is [[SeleniumTunnel.drivers|drivers]], which\ndetermines which browsers the Selenium tunnel will support.\n\nNote that Java must be installed and in the system path to use this tunnel.\n\nThe standard browser names (for the `browserName` WebDriver capability) are:\n\n- `MicrosoftEdge`\n- `chrome`\n- `firefox`\n- `internet explorer`\n- `safari`\n" - }, - "typeParameter": [ - { - "id": 832, - "name": "O", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - ], - "children": [ - { - "id": 747, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 748, - "name": "new SeleniumTunnel", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 749, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "SeleniumOptions", - "id": 1058 - } - } - ], - "type": { - "type": "reference", - "name": "SeleniumTunnel", - "id": 740 - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.__constructor", - "id": 59 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 119, - "character": 39 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel.__constructor", - "id": 59 - } - }, - { - "id": 833, - "name": "__typeMap__", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 3, - "character": 25 - } - ], - "type": { - "type": "reference", - "name": "M" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.__typeMap__" - } - }, - { - "id": 794, - "name": "_handle", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 126, - "character": 19 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Handle" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._handle", - "id": 56 - } - }, - { - "id": 795, - "name": "_process", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 127, - "character": 20 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "ChildProcess" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._process", - "id": 57 - } - }, - { - "id": 792, - "name": "_startTask", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 124, - "character": 22 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "any" - } - ] - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._startTask", - "id": 54 - } - }, - { - "id": 796, - "name": "_state", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 128, - "character": 18 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "stringLiteral", - "value": "stopped" - }, - { - "type": "stringLiteral", - "value": "starting" - }, - { - "type": "stringLiteral", - "value": "running" - }, - { - "type": "stringLiteral", - "value": "stopping" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._state", - "id": 58 - } - }, - { - "id": 793, - "name": "_stopTask", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 125, - "character": 21 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "void" - } - ] - } - ] - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._stopTask", - "id": 55 - } - }, - { - "id": 779, - "name": "accessKey", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The tunnel access key. This will be initialized with a tunnel-specific\nenvironment variable if not specified." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 35, - "character": 11 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.accessKey", - "id": 38 - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.accessKey", - "id": 873 - } - }, - { - "id": 781, - "name": "architecture", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The architecture the tunnel will run against. This information is\nautomatically retrieved for the current system at runtime." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 47, - "character": 14 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.architecture", - "id": 40 - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.architecture", - "id": 871 - } - }, - { - "id": 782, - "name": "auth", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "An HTTP authorization string to use when initiating connections to the\ntunnel. This value of this property is defined by Tunnel subclasses." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 53, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.auth", - "id": 41 - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.auth", - "id": 872 - } - }, - { - "id": 743, - "name": "baseUrl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The base address where Selenium artifacts may be found.", - "tags": [ - { - "tag": "default", - "text": "https://selenium-release.storage.googleapis.com\n" - } - ] - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 96, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.baseUrl", - "id": 868 - } - }, - { - "id": 742, - "name": "drivers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The desired Selenium drivers to download. Each entry may be a string or an\nobject. Strings must be the names of existing drivers in SeleniumTunnel\n(see below). An object with a 'name' property is a configuration object --\nthe name must be the name of an existing driver in SeleniumTunnel, and the\nremaining properties will be used to configure that driver. An object\nwithout a 'name' property is a driver definition. It must contain three\nproperties:", - "text": "- `executable` - the name of the driver executable, one of:\n- `url` - the URL where the driver can be downloaded from\n- `seleniumProperty` - the name of the Java property used to tell\n Selenium where the driver is\n\n```js\n[\n 'chrome',\n {\n name: 'firefox',\n version: '0.8.0'\n },\n {\n url: 'https://github.com/operasoftware/operachromiumdriver/releases/.../operadriver_mac64.zip',\n executable: 'operadriver',\n seleniumProperty: 'webdriver.opera.driver'\n }\n]\n```\n\nThe built-in SeleniumTunnel drivers are:\n\n- 'chrome'\n- 'firefox'\n- 'internet explorer'\n- 'ie' (alias for 'internet explorer')\n- 'MicrosoftEdge'\n- 'edge' (alias for 'MicrosoftEdge')\n", - "tags": [ - { - "tag": "default", - "text": "[ 'chrome' ]\n" - } - ] - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 89, - "character": 9 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "name": "DriverDescriptor", - "id": 1054 - } - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.drivers", - "id": 867 - } - }, - { - "id": 778, - "name": "environmentUrl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL of a service that provides a list of environments supported by\nthe tunnel." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 29, - "character": 16 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.environmentUrl", - "id": 37 - } - }, - { - "id": 783, - "name": "hostname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The host on which a WebDriver client can access the service provided by\nthe tunnel. This may or may not be the host where the tunnel application\nis running." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 73, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.hostname", - "id": 44 - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.hostname", - "id": 875 - } - }, - { - "id": 834, - "name": "listenersMap", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 4, - "character": 26 - } - ], - "type": { - "type": "reference", - "name": "Map", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - ] - }, - { - "type": "array", - "elementType": { - "type": "reference", - "name": "EventedCallback", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - ] - } - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.listenersMap" - } - }, - { - "id": 784, - "name": "pathname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The path that a WebDriver client should use to access the service\nprovided by the tunnel." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 79, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.pathname", - "id": 45 - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.pathname", - "id": 876 - } - }, - { - "id": 785, - "name": "platform", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The operating system the tunnel will run on. This information is\nautomatically retrieved for the current system at runtime." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 85, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.platform", - "id": 46 - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.platform", - "id": 877 - } - }, - { - "id": 786, - "name": "port", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The local port where the WebDriver server should be exposed by the\ntunnel. This is typed as a string for Url compatibility, but should be a\nnumber." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 92, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.port", - "id": 47 - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.port", - "id": 878 - } - }, - { - "id": 787, - "name": "protocol", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The protocol (e.g., 'http') that a WebDriver client should use to access\nthe service provided by the tunnel." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 98, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.protocol", - "id": 48 - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.protocol", - "id": 879 - } - }, - { - "id": 788, - "name": "proxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 104, - "character": 7 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.proxy", - "id": 49 - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.proxy", - "id": 885 - } - }, - { - "id": 741, - "name": "seleniumArgs", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Additional arguments to send to the Selenium server at startup" - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 47, - "character": 14 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.seleniumArgs", - "id": 866 - } - }, - { - "id": 745, - "name": "seleniumTimeout", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Timeout in milliseconds for communicating with the Selenium server", - "tags": [ - { - "tag": "default", - "text": "5000\n" - } - ] - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 110, - "character": 17 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.seleniumTimeout", - "id": 870 - } - }, - { - "id": 790, - "name": "tunnelId", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A unique identifier for the newly created tunnel." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 116, - "character": 10 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.tunnelId", - "id": 51 - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.tunnelId", - "id": 881 - } - }, - { - "id": 789, - "name": "tunnelProxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used.", - "text": "This overrides the `proxy` configuration allowing independent\nconfiguration for the Tunnel binary process only.\n" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 113, - "character": 13 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.tunnelProxy", - "id": 50 - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.tunnelProxy", - "id": 880 - } - }, - { - "id": 780, - "name": "username", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The tunnel username. This will be initialized with a tunnel-specific\nenvironment variable if not specified." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 41, - "character": 10 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.username", - "id": 39 - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.username", - "id": 882 - } - }, - { - "id": 791, - "name": "verbose", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not to tell the tunnel to provide verbose logging output." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 122, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.verbose", - "id": 53 - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.verbose", - "id": 883 - } - }, - { - "id": 744, - "name": "version", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The desired version of selenium to install.", - "tags": [ - { - "tag": "default", - "text": "3.3.1\n" - } - ] - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 103, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.version", - "id": 869 - } - }, - { - "id": 746, - "name": "webDriverDataUrl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL that the tunnel will attempt to download updated webdriver data\nfrom." - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 116, - "character": 18 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "null" - } - ] - }, - "defaultValue": "\"https://theintern.io/digdug/resources/2/webdrivers.json\"" - }, - { - "id": 750, - "name": "artifact", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "getSignature": [ - { - "id": 751, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 141, - "character": 14 - } - ] - }, - { - "id": 797, - "name": "clientUrl", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL that a WebDriver client should used to interact with this\nservice." - }, - "getSignature": [ - { - "id": 798, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "The URL that a WebDriver client should used to interact with this\nservice." - }, - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.clientUrl", - "id": 62 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 152, - "character": 15 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.clientUrl", - "id": 62 - } - }, - { - "id": 752, - "name": "directory", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "getSignature": [ - { - "id": 753, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.directory", - "id": 42 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 145, - "character": 15 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel.directory", - "id": 42 - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.directory", - "id": 884 - } - }, - { - "id": 754, - "name": "executable", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "getSignature": [ - { - "id": 755, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.executable", - "id": 43 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 149, - "character": 16 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel.executable", - "id": 43 - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.executable", - "id": 874 - } - }, - { - "id": 799, - "name": "extraCapabilities", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A map of additional capabilities that need to be sent to the provider\nwhen a new session is being created." - }, - "getSignature": [ - { - "id": 800, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "A map of additional capabilities that need to be sent to the provider\nwhen a new session is being created." - }, - "type": { - "type": "intrinsic", - "name": "object" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.extraCapabilities", - "id": 64 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 160, - "character": 23 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.extraCapabilities", - "id": 64 - } - }, - { - "id": 756, - "name": "isDownloaded", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "getSignature": [ - { - "id": 757, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.isDownloaded", - "id": 66 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 153, - "character": 18 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel.isDownloaded", - "id": 66 - } - }, - { - "id": 801, - "name": "isRunning", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not the tunnel is currently running." - }, - "getSignature": [ - { - "id": 802, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel is currently running." - }, - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isRunning", - "id": 68 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 174, - "character": 15 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isRunning", - "id": 68 - } - }, - { - "id": 803, - "name": "isStarting", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not the tunnel is currently starting up." - }, - "getSignature": [ - { - "id": 804, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel is currently starting up." - }, - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isStarting", - "id": 70 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 181, - "character": 16 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isStarting", - "id": 70 - } - }, - { - "id": 805, - "name": "isStopping", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not the tunnel is currently stopping." - }, - "getSignature": [ - { - "id": 806, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel is currently stopping." - }, - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isStopping", - "id": 72 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 188, - "character": 16 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isStopping", - "id": 72 - } - }, - { - "id": 758, - "name": "url", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "getSignature": [ - { - "id": 759, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.url", - "id": 52 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 163, - "character": 9 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel.url", - "id": 52 - }, - "implementationOf": { - "type": "reference", - "name": "SeleniumProperties.url", - "id": 886 - } - }, - { - "id": 813, - "name": "_downloadFile", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 814, - "name": "_downloadFile", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 815, - "name": "url", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 816, - "name": "proxy", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 817, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "DownloadOptions", - "id": 207 - } - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._downloadFile", - "id": 87 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 371, - "character": 25 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._downloadFile", - "id": 87 - } - }, - { - "id": 767, - "name": "_getDriverConfigs", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 768, - "name": "_getDriverConfigs", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "array", - "elementType": { - "type": "reference", - "name": "DriverFile", - "id": 854 - } - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 276, - "character": 29 - } - ] - }, - { - "id": 769, - "name": "_makeArgs", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 770, - "name": "_makeArgs", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - }, - "overwrites": { - "type": "reference", - "name": "Tunnel._makeArgs", - "id": 92 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 299, - "character": 21 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel._makeArgs", - "id": 92 - } - }, - { - "id": 818, - "name": "_makeChild", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 819, - "name": "_makeChild", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates a newly spawned child process for the tunnel software.\nImplementations should call this method to create the tunnel process.", - "text": "Arguments passed to this method will be passed as-is to\n[[Tunnel._makeArgs]] and [[Tunnel._makeOptions]].\n", - "returns": "An object containing a newly spawned Process and a Deferred that\nwill be resolved once the tunnel has started successfully.\n" - }, - "parameters": [ - { - "id": 820, - "name": "executor", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "ChildExecutor", - "id": 163 - } - }, - { - "id": 821, - "name": "values", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isRest": true - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeChild", - "id": 95 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 445, - "character": 22 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeChild", - "id": 95 - } - }, - { - "id": 822, - "name": "_makeOptions", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 823, - "name": "_makeOptions", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates the set of options to use when spawning the tunnel process.\nImplementations should override this method to provide the appropriate\noptions for the tunnel software.", - "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n", - "returns": "A set of options matching those provided to Node.js\n`child_process.spawn`.\n" - }, - "parameters": [ - { - "id": 824, - "name": "_values", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isRest": true - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 825, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 826, - "name": "env", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 546, - "character": 16 - } - ], - "type": { - "type": "reference", - "name": "ProcessEnv" - }, - "defaultValue": " process.env" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 826 - ] - } - ] - } - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeOptions", - "id": 99 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 545, - "character": 24 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeOptions", - "id": 99 - } - }, - { - "id": 827, - "name": "_normalizeEnvironment", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 828, - "name": "_normalizeEnvironment", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Normalizes a specific Tunnel environment descriptor to a general form. To\nbe overriden by a child implementation.", - "returns": "a normalized environment\n" - }, - "parameters": [ - { - "id": 829, - "name": "environment", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "text": "an environment descriptor specific to the Tunnel" - }, - "type": { - "type": "reference", - "name": "Object" - } - } - ], - "type": { - "type": "reference", - "name": "NormalizedEnvironment", - "id": 177 - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._normalizeEnvironment", - "id": 104 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 556, - "character": 33 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._normalizeEnvironment", - "id": 104 - } - }, - { - "id": 771, - "name": "_postDownloadFile", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 772, - "name": "_postDownloadFile", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 773, - "name": "data", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "Buffer" - } - }, - { - "id": 774, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "SeleniumDownloadOptions", - "id": 887 - } - } - ], - "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel._postDownloadFile", - "id": 107 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 327, - "character": 29 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel._postDownloadFile", - "id": 107 - } - }, - { - "id": 775, - "name": "_start", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 776, - "name": "_start", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 777, - "name": "executor", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "ChildExecutor", - "id": 163 - } - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "any" - } - ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel._start", - "id": 111 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 335, - "character": 18 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel._start", - "id": 111 - } - }, - { - "id": 830, - "name": "_stop", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 831, - "name": "_stop", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "This method provides the implementation that actually stops the tunnel.", - "text": "The default implementation that assumes the tunnel has been closed once\nthe child process has exited. This method should be reimplemented by\nother tunnel launchers to implement correct shutdown logic, if necessary.\n", - "returns": "A promise that resolves once the tunnel has shut down.\n" - }, - "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "void" - } - ] - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._stop", - "id": 114 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 621, - "character": 17 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._stop", - "id": 114 - } - }, - { - "id": 765, - "name": "_updateWebDriverData", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 766, - "name": "_updateWebDriverData", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Load updated webdriver data.", - "text": "This method updates the data used to configure the various webdriver config\nclasses.\n" - }, - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ] - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 232, - "character": 32 - } - ] - }, - { - "id": 852, - "name": "destroy", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 853, - "name": "destroy", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "boolean" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.destroy" - } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 12, - "character": 11 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Evented.destroy" - } - }, - { - "id": 760, - "name": "download", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 761, - "name": "download", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 762, - "name": "forceDownload", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "defaultValue": "false" - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.download", - "id": 74 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 171, - "character": 10 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel.download", - "id": 74 - } - }, - { - "id": 835, - "name": "emit", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 836, - "name": "emit", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 837, - "name": "K", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - ], - "parameters": [ - { - "id": 838, - "name": "event", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "unknown", - "name": "M[K]" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.emit" - } - }, - { - "id": 839, - "name": "emit", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 840, - "name": "event", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.emit" - } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 7, - "character": 8 - }, - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 8, - "character": 8 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Evented.emit" - } - }, - { - "id": 807, - "name": "getEnvironments", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 808, - "name": "getEnvironments", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Get a list of environments available on the service.", - "text": "This method should be overridden and use a specific implementation that\nreturns normalized environments from the service. E.g.\n\n```js\n{\n browserName: 'firefox',\n version: '12',\n platform: 'windows',\n descriptor: { }\n}\n```\n", - "returns": "An object containing the response and helper functions\n" - }, - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "array", - "elementType": { - "type": "reference", - "name": "NormalizedEnvironment", - "id": 177 - } - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.getEnvironments", - "id": 77 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 229, - "character": 17 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.getEnvironments", - "id": 77 - } - }, - { - "id": 841, - "name": "on", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 842, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 843, - "name": "K", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - ], - "parameters": [ - { - "id": 844, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "typeParameter", - "name": "K", - "constraint": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - }, - { - "id": 845, - "name": "listener", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EventedCallbackOrArray", - "typeArguments": [ - { - "type": "typeParameter", - "name": "K", - "constraint": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - }, - { - "type": "unknown", - "name": "M[K]" - } - ] - } - } - ], - "type": { - "type": "reference", - "name": "Handle" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.on" - } - }, - { - "id": 846, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 847, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 848, - "name": "listener", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EventedCallbackOrArray", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - ] - } - } - ], - "type": { - "type": "reference", - "name": "Handle" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.on" - } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 9, - "character": 6 - }, - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 10, - "character": 6 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Evented.on" - } - }, - { - "id": 849, - "name": "own", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 850, - "name": "own", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 851, - "name": "handles", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Handle" - }, - { - "type": "array", - "elementType": { - "type": "reference", - "name": "Handle" - } - } - ] - } - } - ], - "type": { - "type": "reference", - "name": "Handle" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.own" - } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 11, - "character": 7 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Evented.own" - } - }, - { - "id": 763, - "name": "sendJobState", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 764, - "name": "sendJobState", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.sendJobState", - "id": 79 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 221, - "character": 14 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel.sendJobState", - "id": 79 - } - }, - { - "id": 809, - "name": "start", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 810, - "name": "start", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Starts the tunnel, automatically downloading dependencies if necessary.", - "returns": "A promise that resolves once the tunnel has been established.\n" - }, - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.start", - "id": 83 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 275, - "character": 7 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.start", - "id": 83 - } - }, - { - "id": 811, - "name": "stop", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 812, - "name": "stop", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Stops the tunnel.", - "returns": "A promise that resolves to the exit code for the tunnel once it\nhas been terminated.\n" - }, - "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "void" - } - ] - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.stop", - "id": 85 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 332, - "character": 6 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.stop", - "id": 85 - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 747 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 833, - 794, - 795, - 792, - 796, - 793, - 779, - 781, - 782, - 743, - 742, - 778, - 783, - 834, - 784, - 785, - 786, - 787, - 788, - 741, - 745, - 790, - 789, - 780, - 791, - 744, - 746 - ] - }, - { - "title": "Accessors", - "kind": 262144, - "children": [ - 750, - 797, - 752, - 754, - 799, - 756, - 801, - 803, - 805, - 758 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 813, - 767, - 769, - 818, - 822, - 827, - 771, - 775, - 830, - 765, - 852, - 760, - 835, - 807, - 841, - 849, - 763, - 809, - 811 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 44, - "character": 35 - } - ], - "extendedTypes": [ - { - "type": "reference", - "name": "Tunnel", - "id": 36 - } - ], - "implementedTypes": [ - { - "type": "reference", - "name": "TunnelProperties", - "id": 190 - }, - { - "type": "reference", - "name": "SeleniumProperties", - "id": 865 - } - ] - }, - { - "id": 899, - "name": "ChromeProperties", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 900, - "name": "arch", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 435, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 901, - "name": "baseUrl", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 436, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 902, - "name": "platform", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 437, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 903, - "name": "version", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 438, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 900, - 901, - 902, - 903 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 434, - "character": 26 - } - ], - "implementedBy": [ - { - "type": "reference", - "name": "ChromeConfig", - "id": 904 - } - ] - }, - { - "id": 854, - "name": "DriverFile", - "kind": 256, - "kindString": "Interface", - "flags": { - "isExported": true - }, - "children": [ - { - "id": 857, - "name": "directory", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 385, - "character": 11 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "intrinsic", - "name": "string" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "RemoteFile.directory", - "id": 862 - } - }, - { - "id": 856, - "name": "dontExtract", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 384, - "character": 13 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "intrinsic", - "name": "false" - }, - { - "type": "intrinsic", - "name": "true" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "RemoteFile.dontExtract", - "id": 861 - } - }, - { - "id": 858, - "name": "executable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 386, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "RemoteFile.executable", - "id": 863 - } - }, - { - "id": 855, - "name": "seleniumProperty", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 380, - "character": 18 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 859, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 387, - "character": 5 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "RemoteFile.url", - "id": 864 - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 857, - 856, - 858, - 855, - 859 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 379, - "character": 27 - } - ], - "extendedTypes": [ - { - "type": "reference", - "name": "RemoteFile", - "id": 860 - } - ], - "implementedBy": [ - { - "type": "reference", - "name": "ChromeConfig", - "id": 904 - }, - { - "type": "reference", - "name": "EdgeChromiumConfig", - "id": 1009 - }, - { - "type": "reference", - "name": "EdgeConfig", - "id": 976 - }, - { - "type": "reference", - "name": "FirefoxConfig", - "id": 927 - }, - { - "type": "reference", - "name": "IEConfig", - "id": 949 - } - ] - }, - { - "id": 1004, - "name": "EdgeChromiumProperties", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 1005, - "name": "arch", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 700, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 1006, - "name": "baseUrl", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 701, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 1007, - "name": "platform", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 702, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 1008, - "name": "version", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 703, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 1005, - 1006, - 1007, - 1008 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 699, - "character": 32 - } - ], - "implementedBy": [ - { - "type": "reference", - "name": "EdgeChromiumConfig", - "id": 1009 - } - ] - }, - { - "id": 966, - "name": "EdgeProperties", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 967, - "name": "baseUrl", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 617, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 968, - "name": "uuid", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 618, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 969, - "name": "version", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 619, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 970, - "name": "versions", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 620, - "character": 10 - } - ], - "type": { - "type": "reference", - "name": "EdgeVersions", - "id": 971 - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 967, - 968, - 969, - 970 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 616, - "character": 24 - } - ], - "implementedBy": [ - { - "type": "reference", - "name": "EdgeConfig", - "id": 976 - } - ] - }, - { - "id": 971, - "name": "EdgeVersions", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "indexSignature": [ - { - "id": 972, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 973, - "name": "version", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 974, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 975, - "name": "url", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 624, - "character": 26 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 975 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 624, - "character": 20 - } - ] - } - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 623, - "character": 22 - } - ] - }, - { - "id": 922, - "name": "FirefoxProperties", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 923, - "name": "arch", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 501, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 924, - "name": "baseUrl", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 502, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 925, - "name": "platform", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 503, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 926, - "name": "version", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 504, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 923, - 924, - 925, - 926 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 500, - "character": 27 - } - ], - "implementedBy": [ - { - "type": "reference", - "name": "FirefoxConfig", - "id": 927 - } - ] - }, - { - "id": 945, - "name": "IEProperties", - "kind": 256, - "kindString": "Interface", - "flags": {}, - "children": [ - { - "id": 946, - "name": "arch", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 565, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 947, - "name": "baseUrl", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 566, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 948, - "name": "version", - "kind": 1024, - "kindString": "Property", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 567, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 946, - 947, - 948 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 564, - "character": 22 - } - ], - "implementedBy": [ - { - "type": "reference", - "name": "IEConfig", - "id": 949 - } - ] - }, - { - "id": 860, - "name": "RemoteFile", - "kind": 256, - "kindString": "Interface", - "flags": { - "isExported": true - }, - "children": [ - { - "id": 862, - "name": "directory", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 385, - "character": 11 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "intrinsic", - "name": "string" - } - ] - } - }, - { - "id": 861, - "name": "dontExtract", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 384, - "character": 13 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "intrinsic", - "name": "false" - }, - { - "type": "intrinsic", - "name": "true" - } - ] - } - }, - { - "id": 863, - "name": "executable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 386, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 864, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 387, - "character": 5 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 862, - 861, - 863, - 864 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 383, - "character": 27 - } - ], - "extendedBy": [ - { - "type": "reference", - "name": "DriverFile", - "id": 854 - } - ] - }, - { - "id": 887, - "name": "SeleniumDownloadOptions", - "kind": 256, - "kindString": "Interface", - "flags": { - "isExported": true - }, - "children": [ - { - "id": 889, - "name": "dontExtract", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 419, - "character": 13 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "intrinsic", - "name": "false" - }, - { - "type": "intrinsic", - "name": "true" - } - ] - } - }, - { - "id": 888, - "name": "executable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 418, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "intrinsic", - "name": "string" - } - ] - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 889, - 888 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 417, - "character": 40 - } - ], - "extendedTypes": [ - { - "type": "reflection", - "declaration": { - "id": 890, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 417, - "character": 48 - } - ] - } - } - ] - }, - { - "id": 865, - "name": "SeleniumProperties", - "kind": 256, - "kindString": "Interface", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Options specific to SeleniumTunnel" - }, - "children": [ - { - "id": 873, - "name": "accessKey", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.accessKey|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 740, - "character": 11 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.accessKey", - "id": 193 - } - }, - { - "id": 871, - "name": "architecture", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.architecture|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 734, - "character": 14 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.architecture", - "id": 191 - } - }, - { - "id": 872, - "name": "auth", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.auth|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 737, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.auth", - "id": 192 - } - }, - { - "id": 868, - "name": "baseUrl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[SeleniumTunnel.SeleniumTunnel.baseUrl|More info]]" - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 406, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 884, - "name": "directory", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 701, - "character": 11 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "DownloadProperties.directory", - "id": 174 - } - }, - { - "id": 867, - "name": "drivers", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[SeleniumTunnel.SeleniumTunnel.drivers|More info]]" - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 403, - "character": 9 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "reference", - "name": "DriverDescriptor", - "id": 1054 - } - } - }, - { - "id": 874, - "name": "executable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.executable|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 743, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.executable", - "id": 194 - } - }, - { - "id": 875, - "name": "hostname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.hostname|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 746, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.hostname", - "id": 195 - } - }, - { - "id": 876, - "name": "pathname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.pathname|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 749, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.pathname", - "id": 196 - } - }, - { - "id": 877, - "name": "platform", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.platform|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 752, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.platform", - "id": 197 - } - }, - { - "id": 878, - "name": "port", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.port|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 755, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.port", - "id": 198 - } - }, - { - "id": 879, - "name": "protocol", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.protocol|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 758, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.protocol", - "id": 199 - } - }, - { - "id": 885, - "name": "proxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 702, - "character": 7 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "DownloadProperties.proxy", - "id": 175 - } - }, - { - "id": 866, - "name": "seleniumArgs", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[SeleniumTunnel.SeleniumTunnel.seleniumArgs|More info]]" - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 400, - "character": 14 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - }, - { - "id": 870, - "name": "seleniumTimeout", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[SeleniumTunnel.SeleniumTunnel.seleniumTimeout|More info]]" - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 412, - "character": 17 - } - ], - "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 881, - "name": "tunnelId", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.tunnelId|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 764, - "character": 10 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.tunnelId", - "id": 201 - } - }, - { - "id": 880, - "name": "tunnelProxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.tunnelProxy|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 761, - "character": 13 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.tunnelProxy", - "id": 200 - } - }, - { - "id": 886, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 703, - "character": 5 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "DownloadProperties.url", - "id": 176 - } - }, - { - "id": 882, - "name": "username", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.username|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 767, - "character": 10 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.username", - "id": 202 - } - }, - { - "id": 883, - "name": "verbose", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.verbose|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 770, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.verbose", - "id": 203 - } - }, - { - "id": 869, - "name": "version", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[SeleniumTunnel.SeleniumTunnel.version|More info]]" - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 409, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 873, - 871, - 872, - 868, - 884, - 867, - 874, - 875, - 876, - 877, - 878, - 879, - 885, - 866, - 870, - 881, - 880, - 886, - 882, - 883, - 869 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 398, - "character": 35 - } - ], - "extendedTypes": [ - { - "type": "reference", - "name": "TunnelProperties", - "id": 190 - } - ], - "implementedBy": [ - { - "type": "reference", - "name": "SeleniumTunnel", - "id": 740 - } - ] - }, - { - "id": 1064, - "name": "ChromeOptions", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 441, - "character": 18 - } - ], - "type": { - "type": "reference", - "name": "Partial", - "typeArguments": [ - { - "type": "reference", - "name": "ChromeProperties", - "id": 899 - } - ] - } - }, - { - "id": 1059, - "name": "DriverConstructor", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 422, - "character": 22 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 1060, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 1061, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": {}, - "signatures": [ - { - "id": 1062, - "name": "new __type", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 1063, - "name": "config", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "intrinsic", - "name": "any" - } - } - ], - "type": { - "type": "reference", - "name": "DriverFile", - "id": 854 - } - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 422, - "character": 26 - } - ] - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 1061 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 422, - "character": 24 - } - ] - } - } - }, - { - "id": 1054, - "name": "DriverDescriptor", - "kind": 4194304, - "kindString": "Type alias", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 390, - "character": 28 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "reference", - "name": "DriverFile", - "id": 854 - }, - { - "type": "reflection", - "declaration": { - "id": 1055, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 1056, - "name": "name", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 393, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 1057, - "name": "version", - "kind": 32, - "kindString": "Variable", - "flags": { - "isOptional": true - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 393, - "character": 27 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "intrinsic", - "name": "string" - } - ] - } - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 1056, - 1057 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 393, - "character": 3 - } - ] - } - } - ] - } - }, - { - "id": 1067, - "name": "EdgeOptions", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 627, - "character": 16 - } - ], - "type": { - "type": "reference", - "name": "Partial", - "typeArguments": [ - { - "type": "reference", - "name": "EdgeProperties", - "id": 966 - } - ] - } - }, - { - "id": 1065, - "name": "FirefoxOptions", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 507, - "character": 19 - } - ], - "type": { - "type": "reference", - "name": "Partial", - "typeArguments": [ - { - "type": "reference", - "name": "FirefoxProperties", - "id": 922 - } - ] - } - }, - { - "id": 1066, - "name": "IEOptions", - "kind": 4194304, - "kindString": "Type alias", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 570, - "character": 14 - } - ], - "type": { - "type": "reference", - "name": "Partial", - "typeArguments": [ - { - "type": "reference", - "name": "IEProperties", - "id": 945 - } - ] - } - }, - { - "id": 1058, - "name": "SeleniumOptions", - "kind": 4194304, - "kindString": "Type alias", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 415, - "character": 27 - } - ], - "type": { - "type": "reference", - "name": "Partial", - "typeArguments": [ - { - "type": "reference", - "name": "SeleniumProperties", - "id": 865 - } - ] - } - }, - { - "id": 1027, - "name": "webdrivers", - "kind": 32, - "kindString": "Variable", - "flags": { - "isConst": true - }, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 24, - "character": 16 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 1028, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 1032, - "name": "chrome", - "kind": 2097152, - "kindString": "Object literal", - "flags": {}, - "children": [ - { - "id": 1033, - "name": "baseUrl", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "webdrivers.json", - "line": 9, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"https://chromedriver.storage.googleapis.com\"" - }, - { - "id": 1034, - "name": "latest", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "webdrivers.json", - "line": 10, - "character": 14 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"85.0.4183.87\"" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 1033, - 1034 - ] - } - ], - "sources": [ - { - "fileName": "webdrivers.json", - "line": 8, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - }, - { - "id": 1041, - "name": "edge", - "kind": 2097152, - "kindString": "Object literal", - "flags": {}, - "children": [ - { - "id": 1043, - "name": "baseUrl", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "webdrivers.json", - "line": 22, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"https://download.microsoft.com/download\"" - }, - { - "id": 1042, - "name": "latest", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "webdrivers.json", - "line": 21, - "character": 14 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"17134\"" - }, - { - "id": 1044, - "name": "versions", - "kind": 2097152, - "kindString": "Object literal", - "flags": {}, - "children": [ - { - "id": 1045, - "name": "15063", - "kind": 2097152, - "kindString": "Object literal", - "flags": {}, - "children": [ - { - "id": 1046, - "name": "url", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "webdrivers.json", - "line": 25, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"https://download.microsoft.com/download/3/4/2/342316D7-EBE0-4F10-ABA2-AE8E0CDF36DD/MicrosoftWebDriver.exe\"" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 1046 - ] - } - ], - "sources": [ - { - "fileName": "webdrivers.json", - "line": 24, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - }, - { - "id": 1047, - "name": "16299", - "kind": 2097152, - "kindString": "Object literal", - "flags": {}, - "children": [ - { - "id": 1048, - "name": "url", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "webdrivers.json", - "line": 28, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"https://download.microsoft.com/download/D/4/1/D417998A-58EE-4EFE-A7CC-39EF9E020768/MicrosoftWebDriver.exe\"" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 1048 - ] - } - ], - "sources": [ - { - "fileName": "webdrivers.json", - "line": 27, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - }, - { - "id": 1049, - "name": "17134", - "kind": 2097152, - "kindString": "Object literal", - "flags": {}, - "children": [ - { - "id": 1050, - "name": "url", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "webdrivers.json", - "line": 31, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"https://download.microsoft.com/download/F/8/A/F8AF50AB-3C3A-4BC4-8773-DC27B32988DD/MicrosoftWebDriver.exe\"" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 1050 - ] - } - ], - "sources": [ - { - "fileName": "webdrivers.json", - "line": 30, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - } - ], - "groups": [ - { - "title": "Object literals", - "kind": 2097152, - "children": [ - 1045, - 1047, - 1049 - ] - } - ], - "sources": [ - { - "fileName": "webdrivers.json", - "line": 23, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 1043, - 1042 - ] - }, - { - "title": "Object literals", - "kind": 2097152, - "children": [ - 1044 - ] - } - ], - "sources": [ - { - "fileName": "webdrivers.json", - "line": 20, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - }, - { - "id": 1051, - "name": "edgeChromium", - "kind": 2097152, - "kindString": "Object literal", - "flags": {}, - "children": [ - { - "id": 1052, - "name": "baseUrl", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "webdrivers.json", - "line": 36, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"https://msedgedriver.azureedge.net\"" - }, - { - "id": 1053, - "name": "latest", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "webdrivers.json", - "line": 37, - "character": 14 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"85.0.564.41\"" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 1052, - 1053 - ] - } - ], - "sources": [ - { - "fileName": "webdrivers.json", - "line": 35, - "character": 18 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - }, - { - "id": 1035, - "name": "firefox", - "kind": 2097152, - "kindString": "Object literal", - "flags": {}, - "children": [ - { - "id": 1036, - "name": "baseUrl", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "webdrivers.json", - "line": 13, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"https://github.com/mozilla/geckodriver/releases/download\"" - }, - { - "id": 1037, - "name": "latest", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "webdrivers.json", - "line": 14, - "character": 14 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"0.26.0\"" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 1036, - 1037 - ] - } - ], - "sources": [ - { - "fileName": "webdrivers.json", - "line": 12, - "character": 13 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - }, - { - "id": 1038, - "name": "ie", - "kind": 2097152, - "kindString": "Object literal", - "flags": {}, - "children": [ - { - "id": 1039, - "name": "baseUrl", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "webdrivers.json", - "line": 17, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"https://selenium-release.storage.googleapis.com\"" - }, - { - "id": 1040, - "name": "latest", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "webdrivers.json", - "line": 18, - "character": 14 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"3.150.1\"" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 1039, - 1040 - ] - } - ], - "sources": [ - { - "fileName": "webdrivers.json", - "line": 16, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - }, - { - "id": 1029, - "name": "selenium", - "kind": 2097152, - "kindString": "Object literal", - "flags": {}, - "children": [ - { - "id": 1030, - "name": "baseUrl", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "webdrivers.json", - "line": 5, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"https://selenium-release.storage.googleapis.com\"" - }, - { - "id": 1031, - "name": "latest", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "webdrivers.json", - "line": 6, - "character": 14 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"3.141.59\"" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 1030, - 1031 - ] - } - ], - "sources": [ - { - "fileName": "webdrivers.json", - "line": 4, - "character": 14 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - } - ], - "groups": [ - { - "title": "Object literals", - "kind": 2097152, - "children": [ - 1032, - 1041, - 1051, - 1035, - 1038, - 1029 - ] - } - ] - } - }, - "defaultValue": " webdriversJson.drivers" - }, - { - "id": 1072, - "name": "driverNameMap", - "kind": 2097152, - "kindString": "Object literal", - "flags": { - "isConst": true - }, - "children": [ - { - "id": 1078, - "name": "MicrosoftEdge", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 765, - "character": 15 - } - ], - "type": { - "type": "reference", - "name": "EdgeConfig", - "id": 976 - }, - "defaultValue": " EdgeConfig" - }, - { - "id": 1080, - "name": "MicrosoftEdgeChromium", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 767, - "character": 23 - } - ], - "type": { - "type": "reference", - "name": "EdgeChromiumConfig", - "id": 1009 - }, - "defaultValue": " EdgeChromiumConfig" - }, - { - "id": 1073, - "name": "chrome", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 760, - "character": 8 - } - ], - "type": { - "type": "reference", - "name": "ChromeConfig", - "id": 904 - }, - "defaultValue": " ChromeConfig" - }, - { - "id": 1077, - "name": "edge", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 764, - "character": 6 - } - ], - "type": { - "type": "reference", - "name": "EdgeConfig", - "id": 976 - }, - "defaultValue": " EdgeConfig" - }, - { - "id": 1079, - "name": "edgeChromium", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 766, - "character": 14 - } - ], - "type": { - "type": "reference", - "name": "EdgeChromiumConfig", - "id": 1009 - }, - "defaultValue": " EdgeChromiumConfig" - }, - { - "id": 1074, - "name": "firefox", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 761, - "character": 9 - } - ], - "type": { - "type": "reference", - "name": "FirefoxConfig", - "id": 927 - }, - "defaultValue": " FirefoxConfig" - }, - { - "id": 1075, - "name": "ie", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 762, - "character": 4 - } - ], - "type": { - "type": "reference", - "name": "IEConfig", - "id": 949 - }, - "defaultValue": " IEConfig" - }, - { - "id": 1076, - "name": "internet explorer", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 763, - "character": 21 - } - ], - "type": { - "type": "reference", - "name": "IEConfig", - "id": 949 - }, - "defaultValue": " IEConfig" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 1078, - 1080, - 1073, - 1077, - 1079, - 1074, - 1075, - 1076 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 759, - "character": 19 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - }, - { - "id": 1068, - "name": "edgePlatformNames", - "kind": 2097152, - "kindString": "Object literal", - "flags": { - "isConst": true - }, - "children": [ - { - "id": 1069, - "name": "darwin", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 754, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"mac\"" - }, - { - "id": 1070, - "name": "win32", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 755, - "character": 7 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"win\"" - }, - { - "id": 1071, - "name": "win64", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 756, - "character": 7 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": "\"win\"" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 1069, - 1070, - 1071 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 753, - "character": 23 - } - ], - "type": { - "type": "intrinsic", - "name": "object" - } - } - ], - "groups": [ - { - "title": "Classes", - "kind": 128, - "children": [ - 904, - 891, - 1009, - 976, - 927, - 949, - 740 - ] - }, - { - "title": "Interfaces", - "kind": 256, - "children": [ - 899, - 854, - 1004, - 966, - 971, - 922, - 945, - 860, - 887, - 865 - ] - }, - { - "title": "Type aliases", - "kind": 4194304, - "children": [ - 1064, - 1059, - 1054, - 1067, - 1065, - 1066, - 1058 - ] - }, - { - "title": "Variables", - "kind": 32, - "children": [ - 1027 - ] - }, - { - "title": "Object literals", - "kind": 2097152, - "children": [ - 1072, - 1068 - ] - } - ], - "sources": [ - { - "fileName": "SeleniumTunnel.ts", - "line": 1, - "character": 0 - } - ] - }, - { - "id": 1081, - "name": "\"TestingBotTunnel\"", - "kind": 1, - "kindString": "External module", - "flags": { - "isExported": true - }, - "originalName": "src/TestingBotTunnel.ts", - "children": [ - { - "id": 1082, - "name": "TestingBotTunnel", - "kind": 128, - "kindString": "Class", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A TestingBot tunnel.", - "text": "The username and accessKey properties will be initialized using\nTESTINGBOT_API_KEY and TESTINGBOT_API_SECRET.\n" - }, - "typeParameter": [ - { - "id": 1169, - "name": "O", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - ], - "children": [ - { - "id": 1090, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 1091, - "name": "new TestingBotTunnel", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 1092, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "TestingBotOptions", - "id": 1214 - } - } - ], - "type": { - "type": "reference", - "name": "TestingBotTunnel", - "id": 1082 - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.__constructor", - "id": 59 - } - } - ], - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 46, - "character": 19 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel.__constructor", - "id": 59 - } - }, - { - "id": 1170, - "name": "__typeMap__", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 3, - "character": 25 - } - ], - "type": { - "type": "reference", - "name": "M" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.__typeMap__" - } - }, - { - "id": 1127, - "name": "_handle", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 126, - "character": 19 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Handle" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._handle", - "id": 56 - } - }, - { - "id": 1128, - "name": "_process", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 127, - "character": 20 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "ChildProcess" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._process", - "id": 57 - } - }, - { - "id": 1125, - "name": "_startTask", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 124, - "character": 22 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "any" - } - ] - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._startTask", - "id": 54 - } - }, - { - "id": 1129, - "name": "_state", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 128, - "character": 18 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "stringLiteral", - "value": "stopped" - }, - { - "type": "stringLiteral", - "value": "starting" - }, - { - "type": "stringLiteral", - "value": "running" - }, - { - "type": "stringLiteral", - "value": "stopping" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._state", - "id": 58 - } - }, - { - "id": 1126, - "name": "_stopTask", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 125, - "character": 21 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "void" - } - ] - } - ] - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._stopTask", - "id": 55 - } - }, - { - "id": 1111, - "name": "accessKey", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The tunnel access key. This will be initialized with a tunnel-specific\nenvironment variable if not specified." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 35, - "character": 11 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.accessKey", - "id": 38 - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.accessKey", - "id": 1200 - } - }, - { - "id": 1113, - "name": "architecture", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The architecture the tunnel will run against. This information is\nautomatically retrieved for the current system at runtime." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 47, - "character": 14 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.architecture", - "id": 40 - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.architecture", - "id": 1198 - } - }, - { - "id": 1083, - "name": "directory", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 23, - "character": 11 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.directory", - "id": 42 - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.directory", - "id": 1211 - } - }, - { - "id": 1110, - "name": "environmentUrl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL of a service that provides a list of environments supported by\nthe tunnel." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 29, - "character": 16 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.environmentUrl", - "id": 37 - } - }, - { - "id": 1114, - "name": "executable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The executable to spawn in order to create a tunnel. This value is set\nby the tunnel subclasses." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 66, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.executable", - "id": 43 - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.executable", - "id": 1201 - } - }, - { - "id": 1084, - "name": "fastFailDomains", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A list of regular expressions corresponding to domains whose connections\nshould fail immediately if the VM attempts to make a connection to them." - }, - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 29, - "character": 17 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.fastFailDomains", - "id": 1192 - } - }, - { - "id": 1115, - "name": "hostname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The host on which a WebDriver client can access the service provided by\nthe tunnel. This may or may not be the host where the tunnel application\nis running." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 73, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.hostname", - "id": 44 - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.hostname", - "id": 1202 - } - }, - { - "id": 1171, - "name": "listenersMap", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 4, - "character": 26 - } - ], - "type": { - "type": "reference", - "name": "Map", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - ] - }, - { - "type": "array", - "elementType": { - "type": "reference", - "name": "EventedCallback", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - ] - } - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.listenersMap" - } - }, - { - "id": 1085, - "name": "logFile", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A filename where additional logs from the tunnel should be output." - }, - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 32, - "character": 9 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "null" - } - ] - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.logFile", - "id": 1193 - } - }, - { - "id": 1116, - "name": "pathname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The path that a WebDriver client should use to access the service\nprovided by the tunnel." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 79, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.pathname", - "id": 45 - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.pathname", - "id": 1203 - } - }, - { - "id": 1117, - "name": "platform", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The operating system the tunnel will run on. This information is\nautomatically retrieved for the current system at runtime." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 85, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.platform", - "id": 46 - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.platform", - "id": 1204 - } - }, - { - "id": 1118, - "name": "port", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The local port where the WebDriver server should be exposed by the\ntunnel. This is typed as a string for Url compatibility, but should be a\nnumber." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 92, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.port", - "id": 47 - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.port", - "id": 1205 - } - }, - { - "id": 1119, - "name": "protocol", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The protocol (e.g., 'http') that a WebDriver client should use to access\nthe service provided by the tunnel." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 98, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.protocol", - "id": 48 - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.protocol", - "id": 1206 - } - }, - { - "id": 1120, - "name": "proxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 104, - "character": 7 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.proxy", - "id": 49 - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.proxy", - "id": 1212 - } - }, - { - "id": 1122, - "name": "tunnelId", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A unique identifier for the newly created tunnel." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 116, - "character": 10 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.tunnelId", - "id": 51 - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.tunnelId", - "id": 1208 - } - }, - { - "id": 1121, - "name": "tunnelProxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used.", - "text": "This overrides the `proxy` configuration allowing independent\nconfiguration for the Tunnel binary process only.\n" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 113, - "character": 13 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.tunnelProxy", - "id": 50 - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.tunnelProxy", - "id": 1207 - } - }, - { - "id": 1123, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL where the tunnel software can be downloaded." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 119, - "character": 5 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.url", - "id": 52 - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.url", - "id": 1213 - } - }, - { - "id": 1086, - "name": "useCompression", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not to use rabbIT compression for the tunnel connection." - }, - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 35, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.useCompression", - "id": 1194 - } - }, - { - "id": 1087, - "name": "useJettyProxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not to use the default local Jetty proxy for the tunnel." - }, - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 38, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.useJettyProxy", - "id": 1195 - } - }, - { - "id": 1088, - "name": "useSquidProxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not to use the default remote Squid proxy for the VM." - }, - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 41, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.useSquidProxy", - "id": 1196 - } - }, - { - "id": 1089, - "name": "useSsl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not to re-encrypt data encrypted by self-signed certificates." - }, - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 46, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.useSsl", - "id": 1197 - } - }, - { - "id": 1112, - "name": "username", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The tunnel username. This will be initialized with a tunnel-specific\nenvironment variable if not specified." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 41, - "character": 10 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.username", - "id": 39 - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.username", - "id": 1209 - } - }, - { - "id": 1124, - "name": "verbose", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not to tell the tunnel to provide verbose logging output." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 122, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.verbose", - "id": 53 - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.verbose", - "id": 1210 - } - }, - { - "id": 1093, - "name": "auth", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "getSignature": [ - { - "id": 1094, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.auth", - "id": 41 - } - } - ], - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 71, - "character": 10 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel.auth", - "id": 41 - }, - "implementationOf": { - "type": "reference", - "name": "TestingBotProperties.auth", - "id": 1199 - } - }, - { - "id": 1130, - "name": "clientUrl", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL that a WebDriver client should used to interact with this\nservice." - }, - "getSignature": [ - { - "id": 1131, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "The URL that a WebDriver client should used to interact with this\nservice." - }, - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.clientUrl", - "id": 62 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 152, - "character": 15 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.clientUrl", - "id": 62 - } - }, - { - "id": 1132, - "name": "extraCapabilities", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A map of additional capabilities that need to be sent to the provider\nwhen a new session is being created." - }, - "getSignature": [ - { - "id": 1133, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "A map of additional capabilities that need to be sent to the provider\nwhen a new session is being created." - }, - "type": { - "type": "intrinsic", - "name": "object" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.extraCapabilities", - "id": 64 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 160, - "character": 23 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.extraCapabilities", - "id": 64 - } - }, - { - "id": 1095, - "name": "isDownloaded", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "getSignature": [ - { - "id": 1096, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.isDownloaded", - "id": 66 - } - } - ], - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 75, - "character": 18 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel.isDownloaded", - "id": 66 - } - }, - { - "id": 1134, - "name": "isRunning", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not the tunnel is currently running." - }, - "getSignature": [ - { - "id": 1135, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel is currently running." - }, - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isRunning", - "id": 68 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 174, - "character": 15 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isRunning", - "id": 68 - } - }, - { - "id": 1136, - "name": "isStarting", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not the tunnel is currently starting up." - }, - "getSignature": [ - { - "id": 1137, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel is currently starting up." - }, - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isStarting", - "id": 70 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 181, - "character": 16 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isStarting", - "id": 70 - } - }, - { - "id": 1138, - "name": "isStopping", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not the tunnel is currently stopping." - }, - "getSignature": [ - { - "id": 1139, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel is currently stopping." - }, - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isStopping", - "id": 72 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 188, - "character": 16 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.isStopping", - "id": 72 - } - }, - { - "id": 1149, - "name": "_downloadFile", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 1150, - "name": "_downloadFile", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 1151, - "name": "url", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 1152, - "name": "proxy", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 1153, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "DownloadOptions", - "id": 207 - } - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._downloadFile", - "id": 87 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 371, - "character": 25 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._downloadFile", - "id": 87 - } - }, - { - "id": 1097, - "name": "_makeArgs", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 1098, - "name": "_makeArgs", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 1099, - "name": "readyFile", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - }, - "overwrites": { - "type": "reference", - "name": "Tunnel._makeArgs", - "id": 92 - } - } - ], - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 81, - "character": 21 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel._makeArgs", - "id": 92 - } - }, - { - "id": 1154, - "name": "_makeChild", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 1155, - "name": "_makeChild", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates a newly spawned child process for the tunnel software.\nImplementations should call this method to create the tunnel process.", - "text": "Arguments passed to this method will be passed as-is to\n[[Tunnel._makeArgs]] and [[Tunnel._makeOptions]].\n", - "returns": "An object containing a newly spawned Process and a Deferred that\nwill be resolved once the tunnel has started successfully.\n" - }, - "parameters": [ - { - "id": 1156, - "name": "executor", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "ChildExecutor", - "id": 163 - } - }, - { - "id": 1157, - "name": "values", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isRest": true - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise" - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeChild", - "id": 95 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 445, - "character": 22 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeChild", - "id": 95 - } - }, - { - "id": 1158, - "name": "_makeOptions", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 1159, - "name": "_makeOptions", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates the set of options to use when spawning the tunnel process.\nImplementations should override this method to provide the appropriate\noptions for the tunnel software.", - "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n", - "returns": "A set of options matching those provided to Node.js\n`child_process.spawn`.\n" - }, - "parameters": [ - { - "id": 1160, - "name": "_values", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isRest": true - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 1161, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 1162, - "name": "env", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 546, - "character": 16 - } - ], - "type": { - "type": "reference", - "name": "ProcessEnv" - }, - "defaultValue": " process.env" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 1162 - ] - } - ] - } - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeOptions", - "id": 99 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 545, - "character": 24 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._makeOptions", - "id": 99 - } - }, - { - "id": 1107, - "name": "_normalizeEnvironment", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 1108, - "name": "_normalizeEnvironment", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Attempt to normalize a TestingBot described environment with the standard\nSelenium capabilities", - "text": "TestingBot returns a list of environments that looks like:\n\n{\n \"selenium_name\": \"Chrome36\",\n \"name\": \"googlechrome\",\n \"platform\": \"CAPITAN\",\n \"version\":\"36\"\n}\n", - "returns": "a normalized descriptor\n" - }, - "parameters": [ - { - "id": 1109, - "name": "environment", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "text": "a TestingBot environment descriptor" - }, - "type": { - "type": "intrinsic", - "name": "any" - } - } - ], - "type": { - "type": "reference", - "name": "NormalizedEnvironment", - "id": 177 - }, - "overwrites": { - "type": "reference", - "name": "Tunnel._normalizeEnvironment", - "id": 104 - } - } - ], - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 247, - "character": 33 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel._normalizeEnvironment", - "id": 104 - } - }, - { - "id": 1163, - "name": "_postDownloadFile", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 1164, - "name": "_postDownloadFile", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Called with the response after a file download has completed" - }, - "parameters": [ - { - "id": 1165, - "name": "data", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "Buffer" - } - }, - { - "id": 1166, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "DownloadOptions", - "id": 207 - } - } - ], - "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._postDownloadFile", - "id": 107 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 563, - "character": 29 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._postDownloadFile", - "id": 107 - } - }, - { - "id": 1104, - "name": "_start", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 1105, - "name": "_start", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 1106, - "name": "executor", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "ChildExecutor", - "id": 163 - } - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "any" - } - ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel._start", - "id": 111 - } - } - ], - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 168, - "character": 18 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel._start", - "id": 111 - } - }, - { - "id": 1167, - "name": "_stop", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 1168, - "name": "_stop", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "This method provides the implementation that actually stops the tunnel.", - "text": "The default implementation that assumes the tunnel has been closed once\nthe child process has exited. This method should be reimplemented by\nother tunnel launchers to implement correct shutdown logic, if necessary.\n", - "returns": "A promise that resolves once the tunnel has shut down.\n" - }, - "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "void" - } - ] - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._stop", - "id": 114 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 621, - "character": 17 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel._stop", - "id": 114 - } - }, - { - "id": 1189, - "name": "destroy", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 1190, - "name": "destroy", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "boolean" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.destroy" - } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 12, - "character": 11 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Evented.destroy" - } - }, - { - "id": 1140, - "name": "download", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 1141, - "name": "download", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Downloads and extracts the tunnel software if it is not already\ndownloaded.", - "text": "This method can be extended by implementations to perform any necessary\npost-processing, such as setting appropriate file permissions on the\ndownloaded executable.\n", - "returns": "A promise that resolves once the download and extraction process\nhas completed.\n" - }, - "parameters": [ - { - "id": 1142, - "name": "forceDownload", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "text": "Force downloading the software even if it already\nhas been downloaded." - }, - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "defaultValue": "false" - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.download", - "id": 74 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 205, - "character": 10 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.download", - "id": 74 - } - }, - { - "id": 1172, - "name": "emit", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 1173, - "name": "emit", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 1174, - "name": "K", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - ], - "parameters": [ - { - "id": 1175, - "name": "event", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "unknown", - "name": "M[K]" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.emit" - } - }, - { - "id": 1176, - "name": "emit", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 1177, - "name": "event", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.emit" - } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 7, - "character": 8 - }, - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 8, - "character": 8 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Evented.emit" - } - }, - { - "id": 1143, - "name": "getEnvironments", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 1144, - "name": "getEnvironments", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Get a list of environments available on the service.", - "text": "This method should be overridden and use a specific implementation that\nreturns normalized environments from the service. E.g.\n\n```js\n{\n browserName: 'firefox',\n version: '12',\n platform: 'windows',\n descriptor: { }\n}\n```\n", - "returns": "An object containing the response and helper functions\n" - }, - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "array", - "elementType": { - "type": "reference", - "name": "NormalizedEnvironment", - "id": 177 - } - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.getEnvironments", - "id": 77 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 229, - "character": 17 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.getEnvironments", - "id": 77 - } - }, - { - "id": 1178, - "name": "on", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 1179, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 1180, - "name": "K", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - ], - "parameters": [ - { - "id": 1181, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "typeParameter", - "name": "K", - "constraint": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - }, - { - "id": 1182, - "name": "listener", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EventedCallbackOrArray", - "typeArguments": [ - { - "type": "typeParameter", - "name": "K", - "constraint": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - }, - { - "type": "unknown", - "name": "M[K]" - } - ] - } - } - ], - "type": { - "type": "reference", - "name": "Handle" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.on" - } - }, - { - "id": 1183, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 1184, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 1185, - "name": "listener", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EventedCallbackOrArray", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - ] - } - } - ], - "type": { - "type": "reference", - "name": "Handle" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.on" - } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 9, - "character": 6 - }, - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 10, - "character": 6 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Evented.on" - } - }, - { - "id": 1186, - "name": "own", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 1187, - "name": "own", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 1188, - "name": "handles", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Handle" - }, - { - "type": "array", - "elementType": { - "type": "reference", - "name": "Handle" - } - } - ] - } - } - ], - "type": { - "type": "reference", - "name": "Handle" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.own" - } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 11, - "character": 7 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Evented.own" - } - }, - { - "id": 1100, - "name": "sendJobState", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 1101, - "name": "sendJobState", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 1102, - "name": "jobId", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 1103, - "name": "data", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "JobState", - "id": 27 - } - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ] - }, - "overwrites": { - "type": "reference", - "name": "Tunnel.sendJobState", - "id": 79 - } - } - ], - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 116, - "character": 14 - } - ], - "overwrites": { - "type": "reference", - "name": "Tunnel.sendJobState", - "id": 79 - } - }, - { - "id": 1145, - "name": "start", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 1146, - "name": "start", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Starts the tunnel, automatically downloading dependencies if necessary.", - "returns": "A promise that resolves once the tunnel has been established.\n" - }, - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.start", - "id": 83 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 275, - "character": 7 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.start", - "id": 83 - } - }, - { - "id": 1147, - "name": "stop", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 1148, - "name": "stop", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Stops the tunnel.", - "returns": "A promise that resolves to the exit code for the tunnel once it\nhas been terminated.\n" - }, - "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "void" - } - ] - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.stop", - "id": 85 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 332, - "character": 6 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Tunnel.stop", - "id": 85 - } - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 1090 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 1170, - 1127, - 1128, - 1125, - 1129, - 1126, - 1111, - 1113, - 1083, - 1110, - 1114, - 1084, - 1115, - 1171, - 1085, - 1116, - 1117, - 1118, - 1119, - 1120, - 1122, - 1121, - 1123, - 1086, - 1087, - 1088, - 1089, - 1112, - 1124 - ] - }, - { - "title": "Accessors", - "kind": 262144, - "children": [ - 1093, - 1130, - 1132, - 1095, - 1134, - 1136, - 1138 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 1149, - 1097, - 1154, - 1158, - 1107, - 1163, - 1104, - 1167, - 1189, - 1140, - 1172, - 1143, - 1178, - 1186, - 1100, - 1145, - 1147 - ] - } - ], - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 21, - "character": 37 - } - ], - "extendedTypes": [ - { - "type": "reference", - "name": "Tunnel", - "id": 36 - } - ], - "implementedTypes": [ - { - "type": "reference", - "name": "TunnelProperties", - "id": 190 - }, - { - "type": "reference", - "name": "TestingBotProperties", - "id": 1191 - } - ] - }, - { - "id": 1191, - "name": "TestingBotProperties", - "kind": 256, - "kindString": "Interface", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Options specific to TestingBotTunnel" - }, - "children": [ - { - "id": 1200, - "name": "accessKey", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.accessKey|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 740, - "character": 11 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.accessKey", - "id": 193 - } - }, - { - "id": 1198, - "name": "architecture", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.architecture|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 734, - "character": 14 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.architecture", - "id": 191 - } - }, - { - "id": 1199, - "name": "auth", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.auth|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 737, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.auth", - "id": 192 - } - }, - { - "id": 1211, - "name": "directory", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 701, - "character": 11 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "DownloadProperties.directory", - "id": 174 - } - }, - { - "id": 1201, - "name": "executable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.executable|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 743, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.executable", - "id": 194 - } - }, - { - "id": 1192, - "name": "fastFailDomains", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[TestingBotTunnel.TestingBotTunnel.fastFailDomains|More info]]" - }, - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 277, - "character": 17 - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - }, - { - "id": 1202, - "name": "hostname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.hostname|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 746, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.hostname", - "id": 195 - } - }, - { - "id": 1193, - "name": "logFile", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[TestingBotTunnel.TestingBotTunnel.logFile|More info]]" - }, - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 280, - "character": 9 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "null" - } - ] - } - }, - { - "id": 1203, - "name": "pathname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.pathname|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 749, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.pathname", - "id": 196 - } - }, - { - "id": 1204, - "name": "platform", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.platform|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 752, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.platform", - "id": 197 - } - }, - { - "id": 1205, - "name": "port", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.port|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 755, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.port", - "id": 198 - } - }, - { - "id": 1206, - "name": "protocol", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.protocol|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 758, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.protocol", - "id": 199 - } - }, - { - "id": 1212, - "name": "proxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 702, - "character": 7 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "DownloadProperties.proxy", - "id": 175 - } - }, - { - "id": 1208, - "name": "tunnelId", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.tunnelId|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 764, - "character": 10 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.tunnelId", - "id": 201 - } - }, - { - "id": 1207, - "name": "tunnelProxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.tunnelProxy|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 761, - "character": 13 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.tunnelProxy", - "id": 200 - } - }, - { - "id": 1213, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 703, - "character": 5 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "DownloadProperties.url", - "id": 176 - } - }, - { - "id": 1194, - "name": "useCompression", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[TestingBotTunnel.TestingBotTunnel.useCompression|More info]]" - }, - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 283, - "character": 16 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 1195, - "name": "useJettyProxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[TestingBotTunnel.TestingBotTunnel.useJettyProxy|More info]]" - }, - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 286, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 1196, - "name": "useSquidProxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[TestingBotTunnel.TestingBotTunnel.useSquidProxy|More info]]" - }, - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 289, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 1197, - "name": "useSsl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[TestingBotTunnel.TestingBotTunnel.useSsl|More info]]" - }, - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 292, - "character": 8 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, - { - "id": 1209, - "name": "username", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.username|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 767, - "character": 10 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.username", - "id": 202 - } - }, - { - "id": 1210, - "name": "verbose", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.verbose|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 770, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "inheritedFrom": { - "type": "reference", - "name": "TunnelProperties.verbose", - "id": 203 - } - } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 1200, - 1198, - 1199, - 1211, - 1201, - 1192, - 1202, - 1193, - 1203, - 1204, - 1205, - 1206, - 1212, - 1208, - 1207, - 1213, - 1194, - 1195, - 1196, - 1197, - 1209, - 1210 - ] - } - ], - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 275, - "character": 37 - } - ], - "extendedTypes": [ - { - "type": "reference", - "name": "TunnelProperties", - "id": 190 - } - ], - "implementedBy": [ - { - "type": "reference", - "name": "TestingBotTunnel", - "id": 1082 - } - ] - }, - { - "id": 1214, - "name": "TestingBotOptions", - "kind": 4194304, - "kindString": "Type alias", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 295, - "character": 29 - } - ], - "type": { - "type": "reference", - "name": "Partial", - "typeArguments": [ - { - "type": "reference", - "name": "TestingBotProperties", - "id": 1191 - } - ] - } - } - ], - "groups": [ - { - "title": "Classes", - "kind": 128, - "children": [ - 1082 - ] - }, - { - "title": "Interfaces", - "kind": 256, - "children": [ - 1191 - ] - }, - { - "title": "Type aliases", - "kind": 4194304, - "children": [ - 1214 - ] - } - ], - "sources": [ - { - "fileName": "TestingBotTunnel.ts", - "line": 1, - "character": 0 - } - ] - }, - { - "id": 35, - "name": "\"Tunnel\"", - "kind": 1, - "kindString": "External module", - "flags": { - "isExported": true - }, - "originalName": "src/Tunnel.ts", - "children": [ - { - "id": 36, - "name": "Tunnel", - "kind": 128, - "kindString": "Class", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A Tunnel is a mechanism for connecting to a WebDriver service provider that\nsecurely exposes local services for testing within the service provider’s\nnetwork." - }, - "typeParameter": [ - { - "id": 116, - "name": "O", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - ], - "children": [ - { - "id": 59, - "name": "constructor", - "kind": 512, - "kindString": "Constructor", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 60, - "name": "new Tunnel", - "kind": 16384, - "kindString": "Constructor signature", - "flags": {}, - "parameters": [ - { - "id": 61, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "TunnelOptions", - "id": 208 - } - } - ], - "type": { - "type": "reference", - "name": "Tunnel", - "id": 36 - }, - "overwrites": { - "type": "reference", - "name": "Evented.__constructor" - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 128, - "character": 69 - } - ], - "overwrites": { - "type": "reference", - "name": "Evented.__constructor" - } - }, - { - "id": 117, - "name": "__typeMap__", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true, - "isOptional": true - }, - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 3, - "character": 25 - } - ], - "type": { - "type": "reference", - "name": "M" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.__typeMap__" - } - }, - { - "id": 56, - "name": "_handle", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 126, - "character": 19 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Handle" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 57, - "name": "_process", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 127, - "character": 20 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "ChildProcess" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 54, - "name": "_startTask", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 124, - "character": 22 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "any" - } - ] - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 58, - "name": "_state", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 128, - "character": 18 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "stringLiteral", - "value": "stopped" - }, - { - "type": "stringLiteral", - "value": "starting" - }, - { - "type": "stringLiteral", - "value": "running" - }, - { - "type": "stringLiteral", - "value": "stopping" - } - ] - } - }, - { - "id": 55, - "name": "_stopTask", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 125, - "character": 21 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "void" - } - ] - } - ] - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 38, - "name": "accessKey", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The tunnel access key. This will be initialized with a tunnel-specific\nenvironment variable if not specified." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 35, - "character": 11 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.accessKey", - "id": 193 - } - }, - { - "id": 40, - "name": "architecture", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The architecture the tunnel will run against. This information is\nautomatically retrieved for the current system at runtime." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 47, - "character": 14 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.architecture", - "id": 191 - } - }, - { - "id": 41, - "name": "auth", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "An HTTP authorization string to use when initiating connections to the\ntunnel. This value of this property is defined by Tunnel subclasses." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 53, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.auth", - "id": 192 - } - }, - { - "id": 42, - "name": "directory", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The directory where the tunnel software will be extracted. If the\ndirectory does not exist, it will be created. This value is set by the\ntunnel subclasses." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 60, - "character": 11 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.directory", - "id": 204 - } - }, - { - "id": 37, - "name": "environmentUrl", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL of a service that provides a list of environments supported by\nthe tunnel." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 29, - "character": 16 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 43, - "name": "executable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The executable to spawn in order to create a tunnel. This value is set\nby the tunnel subclasses." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 66, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.executable", - "id": 194 - } - }, - { - "id": 44, - "name": "hostname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The host on which a WebDriver client can access the service provided by\nthe tunnel. This may or may not be the host where the tunnel application\nis running." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 73, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.hostname", - "id": 195 - } - }, - { - "id": 118, - "name": "listenersMap", - "kind": 1024, - "kindString": "Property", - "flags": { - "isProtected": true, - "isExported": true - }, - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 4, - "character": 26 - } - ], - "type": { - "type": "reference", - "name": "Map", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - ] - }, - { - "type": "array", - "elementType": { - "type": "reference", - "name": "EventedCallback", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - ] - } - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.listenersMap" - } - }, - { - "id": 45, - "name": "pathname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The path that a WebDriver client should use to access the service\nprovided by the tunnel." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 79, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.pathname", - "id": 196 - } - }, - { - "id": 46, - "name": "platform", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The operating system the tunnel will run on. This information is\nautomatically retrieved for the current system at runtime." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 85, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.platform", - "id": 197 - } - }, - { - "id": 47, - "name": "port", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The local port where the WebDriver server should be exposed by the\ntunnel. This is typed as a string for Url compatibility, but should be a\nnumber." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 92, - "character": 6 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.port", - "id": 198 - } - }, - { - "id": 48, - "name": "protocol", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The protocol (e.g., 'http') that a WebDriver client should use to access\nthe service provided by the tunnel." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 98, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.protocol", - "id": 199 - } - }, - { - "id": 49, - "name": "proxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 104, - "character": 7 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.proxy", - "id": 205 - } - }, - { - "id": 51, - "name": "tunnelId", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A unique identifier for the newly created tunnel." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 116, - "character": 10 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.tunnelId", - "id": 201 - } - }, - { - "id": 50, - "name": "tunnelProxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used.", - "text": "This overrides the `proxy` configuration allowing independent\nconfiguration for the Tunnel binary process only.\n" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 113, - "character": 13 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.tunnelProxy", - "id": 200 - } - }, - { - "id": 52, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL where the tunnel software can be downloaded." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 119, - "character": 5 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.url", - "id": 206 - } - }, - { - "id": 39, - "name": "username", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The tunnel username. This will be initialized with a tunnel-specific\nenvironment variable if not specified." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 41, - "character": 10 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.username", - "id": 202 - } - }, - { - "id": 53, - "name": "verbose", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not to tell the tunnel to provide verbose logging output." - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 122, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "implementationOf": { - "type": "reference", - "name": "TunnelProperties.verbose", - "id": 203 - } - }, - { - "id": 62, - "name": "clientUrl", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "The URL that a WebDriver client should used to interact with this\nservice." - }, - "getSignature": [ - { - "id": 63, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "The URL that a WebDriver client should used to interact with this\nservice." - }, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 152, - "character": 15 - } - ] - }, - { - "id": 64, - "name": "extraCapabilities", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "A map of additional capabilities that need to be sent to the provider\nwhen a new session is being created." - }, - "getSignature": [ - { - "id": 65, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "A map of additional capabilities that need to be sent to the provider\nwhen a new session is being created." - }, - "type": { - "type": "intrinsic", - "name": "object" - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 160, - "character": 23 - } - ] - }, - { - "id": 66, - "name": "isDownloaded", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not the tunnel software has already been downloaded." - }, - "getSignature": [ - { - "id": 67, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel software has already been downloaded." - }, - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 167, - "character": 18 - } - ] - }, - { - "id": 68, - "name": "isRunning", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not the tunnel is currently running." - }, - "getSignature": [ - { - "id": 69, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel is currently running." - }, - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 174, - "character": 15 - } - ] - }, - { - "id": 70, - "name": "isStarting", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not the tunnel is currently starting up." - }, - "getSignature": [ - { - "id": 71, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel is currently starting up." - }, - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 181, - "character": 16 - } - ] - }, - { - "id": 72, - "name": "isStopping", - "kind": 262144, - "kindString": "Accessor", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not the tunnel is currently stopping." - }, - "getSignature": [ - { - "id": 73, - "name": "__get", - "kind": 524288, - "kindString": "Get signature", - "flags": {}, - "comment": { - "shortText": "Whether or not the tunnel is currently stopping." - }, - "type": { - "type": "intrinsic", - "name": "boolean" - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 188, - "character": 16 - } - ] - }, - { - "id": 87, - "name": "_downloadFile", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 88, - "name": "_downloadFile", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 89, - "name": "url", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 90, - "name": "proxy", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, - { - "id": 91, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "DownloadOptions", - "id": 207 - } - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ] - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 371, - "character": 25 - } - ] - }, - { - "id": 92, - "name": "_makeArgs", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 93, - "name": "_makeArgs", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates the list of command-line arguments to be passed to the spawned\ntunnel. Implementations should override this method to provide the\nappropriate command-line arguments.", - "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n", - "returns": "A list of command-line arguments.\n" - }, - "parameters": [ - { - "id": 94, - "name": "_values", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isRest": true - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 431, - "character": 21 - } - ] - }, - { - "id": 95, - "name": "_makeChild", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 96, - "name": "_makeChild", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates a newly spawned child process for the tunnel software.\nImplementations should call this method to create the tunnel process.", - "text": "Arguments passed to this method will be passed as-is to\n[[Tunnel._makeArgs]] and [[Tunnel._makeOptions]].\n", - "returns": "An object containing a newly spawned Process and a Deferred that\nwill be resolved once the tunnel has started successfully.\n" - }, - "parameters": [ - { - "id": 97, - "name": "executor", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "ChildExecutor", - "id": 163 - } - }, - { - "id": 98, - "name": "values", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isRest": true - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise" - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 445, - "character": 22 - } - ] - }, - { - "id": 99, - "name": "_makeOptions", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 100, - "name": "_makeOptions", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Creates the set of options to use when spawning the tunnel process.\nImplementations should override this method to provide the appropriate\noptions for the tunnel software.", - "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n", - "returns": "A set of options matching those provided to Node.js\n`child_process.spawn`.\n" - }, - "parameters": [ - { - "id": 101, - "name": "_values", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isRest": true - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - } - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 102, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 103, - "name": "env", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 546, - "character": 16 - } - ], - "type": { - "type": "reference", - "name": "ProcessEnv" - }, - "defaultValue": " process.env" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 103 - ] - } - ] - } - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 545, - "character": 24 - } - ] - }, - { - "id": 104, - "name": "_normalizeEnvironment", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 105, - "name": "_normalizeEnvironment", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Normalizes a specific Tunnel environment descriptor to a general form. To\nbe overriden by a child implementation.", - "returns": "a normalized environment\n" - }, - "parameters": [ - { - "id": 106, - "name": "environment", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "text": "an environment descriptor specific to the Tunnel" - }, - "type": { - "type": "reference", - "name": "Object" - } - } - ], - "type": { - "type": "reference", - "name": "NormalizedEnvironment", - "id": 177 - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 556, - "character": 33 - } - ] - }, - { - "id": 107, - "name": "_postDownloadFile", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 108, - "name": "_postDownloadFile", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Called with the response after a file download has completed" - }, - "parameters": [ - { - "id": 109, - "name": "data", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "Buffer" - } - }, - { - "id": 110, - "name": "options", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "reference", - "name": "DownloadOptions", - "id": 207 - } - } - ], - "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ] - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 563, - "character": 29 - } - ] - }, - { - "id": 111, - "name": "_start", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 112, - "name": "_start", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "This method provides the implementation that actually starts the tunnel\nand any other logic for emitting events on the Tunnel based on data\npassed by the tunnel software.", - "text": "The default implementation that assumes the tunnel is ready for use once\nthe child process has written to `stdout` or `stderr`. This method should\nbe reimplemented by other tunnel launchers to implement correct launch\ndetection logic.\n", - "returns": "An object containing a reference to the child process, and a\nDeferred that is resolved once the tunnel is ready for use. Normally this\nwill be the object returned from a call to [[Tunnel._makeChild]].\n" - }, - "parameters": [ - { - "id": 113, - "name": "executor", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "ChildExecutor", - "id": 163 - } - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "any" - } - ] - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 592, - "character": 18 - } - ] - }, - { - "id": 114, - "name": "_stop", - "kind": 2048, - "kindString": "Method", - "flags": { - "isProtected": true, - "isExported": true - }, - "signatures": [ - { - "id": 115, - "name": "_stop", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "This method provides the implementation that actually stops the tunnel.", - "text": "The default implementation that assumes the tunnel has been closed once\nthe child process has exited. This method should be reimplemented by\nother tunnel launchers to implement correct shutdown logic, if necessary.\n", - "returns": "A promise that resolves once the tunnel has shut down.\n" - }, - "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "void" - } - ] - } - ] - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 621, - "character": 17 - } - ] - }, - { - "id": 136, - "name": "destroy", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 137, - "name": "destroy", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "reference", - "name": "Promise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "boolean" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.destroy" - } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 12, - "character": 11 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Evented.destroy" - } - }, - { - "id": 74, - "name": "download", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 75, - "name": "download", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Downloads and extracts the tunnel software if it is not already\ndownloaded.", - "text": "This method can be extended by implementations to perform any necessary\npost-processing, such as setting appropriate file permissions on the\ndownloaded executable.\n", - "returns": "A promise that resolves once the download and extraction process\nhas completed.\n" - }, - "parameters": [ - { - "id": 76, - "name": "forceDownload", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "text": "Force downloading the software even if it already\nhas been downloaded." - }, - "type": { - "type": "intrinsic", - "name": "boolean" - }, - "defaultValue": "false" - } - ], - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "intrinsic", - "name": "void" - } - ] - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 205, - "character": 10 - } - ] - }, - { - "id": 119, - "name": "emit", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 120, - "name": "emit", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 121, - "name": "K", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - ], - "parameters": [ - { - "id": 122, - "name": "event", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "unknown", - "name": "M[K]" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.emit" - } - }, - { - "id": 123, - "name": "emit", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 124, - "name": "event", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.emit" - } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 7, - "character": 8 - }, - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 8, - "character": 8 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Evented.emit" - } - }, - { - "id": 77, - "name": "getEnvironments", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 78, - "name": "getEnvironments", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Get a list of environments available on the service.", - "text": "This method should be overridden and use a specific implementation that\nreturns normalized environments from the service. E.g.\n\n```js\n{\n browserName: 'firefox',\n version: '12',\n platform: 'windows',\n descriptor: { }\n}\n```\n", - "returns": "An object containing the response and helper functions\n" - }, - "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ - { - "type": "array", - "elementType": { - "type": "reference", - "name": "NormalizedEnvironment", - "id": 177 - } - } - ] - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 229, - "character": 17 - } - ] - }, - { - "id": 125, - "name": "on", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ - { - "id": 126, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "typeParameter": [ - { - "id": 127, - "name": "K", - "kind": 131072, - "kindString": "Type parameter", - "flags": {}, - "type": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - ], - "parameters": [ - { - "id": 128, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "typeParameter", - "name": "K", - "constraint": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - } - }, - { - "id": 129, - "name": "listener", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EventedCallbackOrArray", - "typeArguments": [ - { - "type": "typeParameter", - "name": "K", - "constraint": { - "type": "typeOperator", - "operator": "keyof", - "target": { - "type": "reference", - "name": "TunnelEvents" - } - } - }, - { - "type": "unknown", - "name": "M[K]" - } - ] - } - } - ], - "type": { - "type": "reference", - "name": "Handle" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.on" - } - }, - { - "id": 130, - "name": "on", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 131, - "name": "type", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 132, - "name": "listener", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "EventedCallbackOrArray", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "typeParameter", - "name": "O", - "constraint": { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "typeParameter", - "name": "T" - } - ] - } - } - ] - } - } - ], - "type": { - "type": "reference", - "name": "Handle" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.on" - } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 9, - "character": 6 - }, - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 10, - "character": 6 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Evented.on" + "comment": { + "shortText": "Whether or not the tunnel is currently running." + }, + "type": { + "type": "intrinsic", + "name": "boolean" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 694, + "name": "Tunnel.isRunning" + } + }, + { + "id": 608, + "name": "isStarting", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently starting up." + }, + "sources": [ { - "id": 133, - "name": "own", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 183, + "character": 6 + } + ], + "getSignature": [ + { + "id": 609, + "name": "isStarting", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently starting up." }, - "signatures": [ - { - "id": 134, - "name": "own", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 135, - "name": "handles", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Handle" - }, - { - "type": "array", - "elementType": { - "type": "reference", - "name": "Handle" - } - } - ] - } - } - ], - "type": { - "type": "reference", - "name": "Handle" - }, - "inheritedFrom": { - "type": "reference", - "name": "Evented.own" - } - } - ], - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 11, - "character": 7 - } - ], - "inheritedFrom": { - "type": "reference", - "name": "Evented.own" + "type": { + "type": "intrinsic", + "name": "boolean" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 696, + "name": "Tunnel.isStarting" + } + }, + { + "id": 610, + "name": "isStopping", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently stopping." + }, + "sources": [ { - "id": 79, - "name": "sendJobState", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 190, + "character": 6 + } + ], + "getSignature": [ + { + "id": 611, + "name": "isStopping", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently stopping." }, - "signatures": [ + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "inheritedFrom": { + "type": "reference", + "id": 698, + "name": "Tunnel.isStopping" + } + }, + { + "id": 621, + "name": "_downloadFile", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 373, + "character": 12 + } + ], + "signatures": [ + { + "id": 622, + "name": "_downloadFile", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "parameters": [ { - "id": 80, - "name": "sendJobState", - "kind": 4096, - "kindString": "Call signature", + "id": 623, + "name": "url", + "kind": 32768, + "kindString": "Parameter", "flags": {}, - "comment": { - "shortText": "Sends information about a job to the tunnel provider.", - "returns": "A promise that resolves once the job state request is complete.\n" - }, - "parameters": [ - { - "id": 81, - "name": "_jobId", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 82, - "name": "_data", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reference", - "name": "JobState", - "id": 27 - } - } - ], "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ + "type": "union", + "types": [ { "type": "intrinsic", - "name": "void" + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" } ] } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 266, - "character": 14 - } - ] - }, - { - "id": 83, - "name": "start", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ + }, { - "id": 84, - "name": "start", - "kind": 4096, - "kindString": "Call signature", + "id": 624, + "name": "proxy", + "kind": 32768, + "kindString": "Parameter", "flags": {}, - "comment": { - "shortText": "Starts the tunnel, automatically downloading dependencies if necessary.", - "returns": "A promise that resolves once the tunnel has been established.\n" - }, "type": { - "type": "reference", - "name": "CancellablePromise", - "typeArguments": [ + "type": "union", + "types": [ { "type": "intrinsic", - "name": "void" + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" } ] } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 275, - "character": 7 - } - ] - }, - { - "id": 85, - "name": "stop", - "kind": 2048, - "kindString": "Method", - "flags": { - "isExported": true - }, - "signatures": [ + }, { - "id": 86, - "name": "stop", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Stops the tunnel.", - "returns": "A promise that resolves to the exit code for the tunnel once it\nhas been terminated.\n" + "id": 625, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true }, "type": { "type": "reference", - "name": "Promise", "typeArguments": [ { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "number" - }, - { - "type": "intrinsic", - "name": "void" - } - ] + "type": "reference", + "name": "DownloadProperties" } - ] + ], + "name": "Partial" } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 332, - "character": 6 - } - ] - } - ], - "groups": [ - { - "title": "Constructors", - "kind": 512, - "children": [ - 59 - ] - }, - { - "title": "Properties", - "kind": 1024, - "children": [ - 117, - 56, - 57, - 54, - 58, - 55, - 38, - 40, - 41, - 42, - 37, - 43, - 44, - 118, - 45, - 46, - 47, - 48, - 49, - 51, - 50, - 52, - 39, - 53 - ] - }, - { - "title": "Accessors", - "kind": 262144, - "children": [ - 62, - 64, - 66, - 68, - 70, - 72 - ] - }, - { - "title": "Methods", - "kind": 2048, - "children": [ - 87, - 92, - 95, - 99, - 104, - 107, - 111, - 114, - 136, - 74, - 119, - 77, - 125, - 133, - 79, - 83, - 85 - ] + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "CancellablePromise" + }, + "inheritedFrom": { + "type": "reference", + "id": 714, + "name": "Tunnel._downloadFile" + } } ], + "inheritedFrom": { + "type": "reference", + "id": 713, + "name": "Tunnel._downloadFile" + } + }, + { + "id": 569, + "name": "_makeArgs", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, "sources": [ { - "fileName": "Tunnel.ts", - "line": 23, - "character": 27 + "fileName": "src/TestingBotTunnel.ts", + "line": 84, + "character": 12 } ], - "extendedTypes": [ + "signatures": [ { - "type": "reference", - "name": "Evented", - "typeArguments": [ - { - "type": "reference", - "name": "TunnelEvents", - "id": 142 - }, + "id": 570, + "name": "_makeArgs", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates the list of command-line arguments to be passed to the spawned\ntunnel. Implementations should override this method to provide the\nappropriate command-line arguments.", + "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n" + }, + "parameters": [ { - "type": "intrinsic", - "name": "string" - } - ] - } - ], - "extendedBy": [ - { - "type": "reference", - "name": "BrowserStackTunnel", - "id": 214 - }, - { - "type": "reference", - "name": "CrossBrowserTestingTunnel", - "id": 349 - }, - { - "type": "reference", - "name": "NullTunnel", - "id": 477 - }, - { - "type": "reference", - "name": "SauceLabsTunnel", - "id": 577 - }, - { - "type": "reference", - "name": "SeleniumTunnel", - "id": 740 - }, - { - "type": "reference", - "name": "TestingBotTunnel", - "id": 1082 + "id": 571, + "name": "readyFile", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + "overwrites": { + "type": "reference", + "id": 719, + "name": "Tunnel._makeArgs" + } } ], - "implementedTypes": [ - { - "type": "reference", - "name": "TunnelProperties", - "id": 190 - } - ] + "overwrites": { + "type": "reference", + "id": 718, + "name": "Tunnel._makeArgs" + } }, { - "id": 163, - "name": "ChildExecutor", - "kind": 256, - "kindString": "Interface", + "id": 626, + "name": "_makeChild", + "kind": 2048, + "kindString": "Method", "flags": { - "isExported": true - }, - "comment": { - "shortText": "A handle to a child process, along with resolve and reject callbacks that can\nbe used to settle an associated Promise." + "isProtected": true }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 445, + "character": 12 + } + ], "signatures": [ { - "id": 164, - "name": "__call", + "id": 627, + "name": "_makeChild", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "A handle to a child process, along with resolve and reject callbacks that can\nbe used to settle an associated Promise." + "shortText": "Creates a newly spawned child process for the tunnel software.\nImplementations should call this method to create the tunnel process.", + "text": "Arguments passed to this method will be passed as-is to\n[[Tunnel._makeArgs]] and [[Tunnel._makeOptions]].\n", + "returns": "An object containing a newly spawned Process and a Deferred that\nwill be resolved once the tunnel has started successfully.\n" }, "parameters": [ { - "id": 165, - "name": "child", + "id": 628, + "name": "executor", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { "type": "reference", - "name": "ChildProcess" - } - }, - { - "id": 166, - "name": "resolve", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "reflection", - "declaration": { - "id": 167, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 168, - "name": "__call", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "void" - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 694, - "character": 12 - } - ] - } + "name": "ChildExecutor" } }, { - "id": 169, - "name": "reject", + "id": 629, + "name": "values", "kind": 32768, "kindString": "Parameter", - "flags": {}, + "flags": { + "isRest": true + }, "type": { - "type": "reflection", - "declaration": { - "id": 170, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 171, - "name": "__call", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 172, - "name": "reason", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isOptional": true - }, - "type": { - "type": "intrinsic", - "name": "any" - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 695, - "character": 11 - } - ] + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" } } } ], "type": { - "type": "union", - "types": [ - { - "type": "reference", - "name": "Handle" - }, + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "void" + "name": "any" } - ] + ], + "name": "CancellablePromise" + }, + "inheritedFrom": { + "type": "reference", + "id": 722, + "name": "Tunnel._makeChild" } } ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 691, - "character": 30 - } - ] + "inheritedFrom": { + "type": "reference", + "id": 721, + "name": "Tunnel._makeChild" + } }, { - "id": 157, - "name": "DownloadProgressEvent", - "kind": 256, - "kindString": "Interface", + "id": 630, + "name": "_makeOptions", + "kind": 2048, + "kindString": "Method", "flags": { - "isExported": true - }, - "comment": { - "shortText": "An event indicating that part of a tunnel binary has been downloaded from the\nserver." + "isProtected": true }, - "children": [ + "sources": [ { - "id": 161, - "name": "received", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 546, + "character": 12 + } + ], + "signatures": [ + { + "id": 631, + "name": "_makeOptions", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "The number of bytes received so far" + "shortText": "Creates the set of options to use when spawning the tunnel process.\nImplementations should override this method to provide the appropriate\noptions for the tunnel software.", + "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n", + "returns": "A set of options matching those provided to Node.js\n`child_process.spawn`.\n" }, - "sources": [ + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 684, - "character": 19 + "id": 632, + "name": "_values", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } } ], "type": { - "type": "intrinsic", - "name": "number" - } - }, - { - "id": 162, - "name": "target", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 643, - "character": 17 + "type": "reflection", + "declaration": { + "id": 633, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 634, + "name": "env", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "type": { + "type": "reference", + "name": "ProcessEnv" + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [ + 634 + ] + } + ] } - ], - "type": { - "type": "reference", - "name": "Tunnel", - "id": 36 }, "inheritedFrom": { "type": "reference", - "name": "TunnelEventObject.target", - "id": 140 + "id": 726, + "name": "Tunnel._makeOptions" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 725, + "name": "Tunnel._makeOptions" + } + }, + { + "id": 579, + "name": "_normalizeEnvironment", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 160, - "name": "total", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/TestingBotTunnel.ts", + "line": 251, + "character": 12 + } + ], + "signatures": [ + { + "id": 580, + "name": "_normalizeEnvironment", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "The total number of bytes being downloaded" + "shortText": "Attempt to normalize a TestingBot described environment with the standard\nSelenium capabilities", + "text": "TestingBot returns a list of environments that looks like:\n\n{\n \"selenium_name\": \"Chrome36\",\n \"name\": \"googlechrome\",\n \"platform\": \"CAPITAN\",\n \"version\":\"36\"\n}\n", + "returns": "a normalized descriptor\n" }, - "sources": [ + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 682, - "character": 16 + "id": 581, + "name": "environment", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "text": "a TestingBot environment descriptor" + }, + "type": { + "type": "intrinsic", + "name": "any" + } } ], "type": { - "type": "intrinsic", - "name": "number" + "type": "reference", + "name": "NormalizedEnvironment" + }, + "overwrites": { + "type": "reference", + "id": 731, + "name": "Tunnel._normalizeEnvironment" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 730, + "name": "Tunnel._normalizeEnvironment" + } + }, + { + "id": 635, + "name": "_postDownloadFile", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 158, - "name": "type", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 564, + "character": 12 + } + ], + "signatures": [ + { + "id": 636, + "name": "_postDownloadFile", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "The event type" + "shortText": "Called with the response after a file download has completed" }, - "sources": [ + "parameters": [ + { + "id": 637, + "name": "data", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "Buffer" + } + }, { - "fileName": "Tunnel.ts", - "line": 678, - "character": 15 + "id": 638, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "DownloadProperties" + } + ], + "name": "Partial" + } } ], "type": { - "type": "stringLiteral", - "value": "downloadprogress" + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise" }, - "overwrites": { + "inheritedFrom": { "type": "reference", - "name": "EventObject.type" + "id": 734, + "name": "Tunnel._postDownloadFile" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 733, + "name": "Tunnel._postDownloadFile" + } + }, + { + "id": 576, + "name": "_start", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 159, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/TestingBotTunnel.ts", + "line": 171, + "character": 12 + } + ], + "signatures": [ + { + "id": 577, + "name": "_start", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "The URL being downloaded from" + "shortText": "This method provides the implementation that actually starts the tunnel\nand any other logic for emitting events on the Tunnel based on data\npassed by the tunnel software.", + "text": "The default implementation that assumes the tunnel is ready for use once\nthe child process has written to `stdout` or `stderr`. This method should\nbe reimplemented by other tunnel launchers to implement correct launch\ndetection logic.\n" }, - "sources": [ + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 680, - "character": 14 + "id": 578, + "name": "executor", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "ChildExecutor" + } } ], "type": { - "type": "intrinsic", - "name": "string" + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "CancellablePromise" + }, + "overwrites": { + "type": "reference", + "id": 738, + "name": "Tunnel._start" } } ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 161, - 162, - 160, - 158, - 159 - ] - } - ], + "overwrites": { + "type": "reference", + "id": 737, + "name": "Tunnel._start" + } + }, + { + "id": 639, + "name": "_stop", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, "sources": [ { - "fileName": "Tunnel.ts", - "line": 676, - "character": 38 + "fileName": "src/Tunnel.ts", + "line": 622, + "character": 12 } ], - "extendedTypes": [ + "signatures": [ { - "type": "reference", - "name": "TunnelEventObject", - "id": 138, - "typeArguments": [ - { - "type": "reference", - "name": "Tunnel", - "id": 36 - } - ] + "id": 640, + "name": "_stop", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "This method provides the implementation that actually stops the tunnel.", + "text": "The default implementation that assumes the tunnel has been closed once\nthe child process has exited. This method should be reimplemented by\nother tunnel launchers to implement correct shutdown logic, if necessary.\n", + "returns": "A promise that resolves once the tunnel has shut down.\n" + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, + { + "type": "intrinsic", + "name": "void" + } + ] + } + ], + "name": "Promise" + }, + "inheritedFrom": { + "type": "reference", + "id": 741, + "name": "Tunnel._stop" + } } - ] + ], + "inheritedFrom": { + "type": "reference", + "id": 740, + "name": "Tunnel._stop" + } }, { - "id": 173, - "name": "DownloadProperties", - "kind": 256, - "kindString": "Interface", + "id": 660, + "name": "destroy", + "kind": 2048, + "kindString": "Method", "flags": { - "isExported": true - }, - "comment": { - "shortText": "Options for file downloads" + "isExternal": true }, - "children": [ + "sources": [ { - "id": 174, - "name": "directory", - "kind": 1024, - "kindString": "Property", + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 12, + "character": 4 + } + ], + "signatures": [ + { + "id": 661, + "name": "destroy", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true + "isExternal": true }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 701, - "character": 11 - } - ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "undefined" + "name": "boolean" } - ] + ], + "name": "Promise" + }, + "inheritedFrom": { + "type": "reference", + "id": 762, + "name": "Tunnel.destroy" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 761, + "name": "Tunnel.destroy" + } + }, + { + "id": 612, + "name": "download", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "id": 175, - "name": "proxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 207, + "character": 2 + } + ], + "signatures": [ + { + "id": 613, + "name": "download", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Downloads and extracts the tunnel software if it is not already\ndownloaded.", + "text": "This method can be extended by implementations to perform any necessary\npost-processing, such as setting appropriate file permissions on the\ndownloaded executable.\n", + "returns": "A promise that resolves once the download and extraction process\nhas completed.\n" }, - "sources": [ + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 702, - "character": 7 + "id": 614, + "name": "forceDownload", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "text": "Force downloading the software even if it already\nhas been downloaded." + }, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" } ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "undefined" + "name": "void" } - ] - } - }, - { - "id": 176, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true + ], + "name": "CancellablePromise" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 703, - "character": 5 - } - ], - "type": { - "type": "intrinsic", - "name": "string" + "inheritedFrom": { + "type": "reference", + "id": 701, + "name": "Tunnel.download" } } ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 174, - 175, - 176 - ] - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 700, - "character": 35 - } - ], - "extendedBy": [ - { - "type": "reference", - "name": "TunnelProperties", - "id": 190 - } - ] + "inheritedFrom": { + "type": "reference", + "id": 700, + "name": "Tunnel.download" + } }, { - "id": 149, - "name": "IOEvent", - "kind": 256, - "kindString": "Interface", + "id": 643, + "name": "emit", + "kind": 2048, + "kindString": "Method", "flags": { - "isExported": true - }, - "comment": { - "shortText": "A chunk of raw string data output by the tunnel software to stdout or stderr." + "isExternal": true }, - "children": [ + "sources": [ + { + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 7, + "character": 4 + } + ], + "signatures": [ { - "id": 151, - "name": "data", - "kind": 1024, - "kindString": "Property", + "id": 644, + "name": "emit", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true + "isExternal": true }, - "sources": [ + "typeParameter": [ + { + "id": 645, + "name": "K", + "kind": 131072, + "kindString": "Type parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + } + ], + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 660, - "character": 15 + "id": 646, + "name": "event", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "name": "K" + }, + "objectType": { + "type": "reference", + "name": "TunnelEvents" + } + } } ], "type": { "type": "intrinsic", - "name": "string" + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "id": 745, + "name": "Tunnel.emit" } }, { - "id": 152, - "name": "target", - "kind": 1024, - "kindString": "Property", + "id": 647, + "name": "emit", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true + "isExternal": true }, - "sources": [ + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 643, - "character": 17 + "id": 648, + "name": "event", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "EventObject" + } } ], "type": { - "type": "reference", - "name": "Tunnel", - "id": 36 + "type": "intrinsic", + "name": "void" }, "inheritedFrom": { "type": "reference", - "name": "TunnelEventObject.target", - "id": 140 + "id": 748, + "name": "Tunnel.emit" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 744, + "name": "Tunnel.emit" + } + }, + { + "id": 615, + "name": "getEnvironments", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "id": 150, - "name": "type", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 659, - "character": 15 - } - ], + "fileName": "src/Tunnel.ts", + "line": 231, + "character": 2 + } + ], + "signatures": [ + { + "id": 616, + "name": "getEnvironments", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Get a list of environments available on the service.", + "text": "This method should be overridden and use a specific implementation that\nreturns normalized environments from the service. E.g.\n\n```js\n{\n browserName: 'firefox',\n version: '12',\n platform: 'windows',\n descriptor: { }\n}\n```\n", + "returns": "An object containing the response and helper functions\n" + }, "type": { - "type": "union", - "types": [ - { - "type": "stringLiteral", - "value": "stdout" - }, + "type": "reference", + "typeArguments": [ { - "type": "stringLiteral", - "value": "stderr" + "type": "array", + "elementType": { + "type": "reference", + "name": "NormalizedEnvironment" + } } - ] + ], + "name": "CancellablePromise" }, - "overwrites": { + "inheritedFrom": { "type": "reference", - "name": "EventObject.type" + "id": 704, + "name": "Tunnel.getEnvironments" } } ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 151, - 152, - 150 - ] - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 658, - "character": 24 - } - ], - "extendedTypes": [ - { - "type": "reference", - "name": "TunnelEventObject", - "id": 138, - "typeArguments": [ - { - "type": "reference", - "name": "Tunnel", - "id": 36 - } - ] - } - ] + "inheritedFrom": { + "type": "reference", + "id": 703, + "name": "Tunnel.getEnvironments" + } }, { - "id": 177, - "name": "NormalizedEnvironment", - "kind": 256, - "kindString": "Interface", + "id": 649, + "name": "on", + "kind": 2048, + "kindString": "Method", "flags": { - "isExported": true - }, - "comment": { - "shortText": "A normalized environment descriptor.", - "text": "A NormalizedEnvironment contains a mix of W3C WebDriver and JSONWireProtocol\ncapabilities, as well as a set of standardized capabilities that can be used\nto specify the given environment in an Intern `environments` descriptor.\n" + "isExternal": true }, - "children": [ + "sources": [ { - "id": 178, - "name": "browserName", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 716, - "character": 13 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 9, + "character": 4 + } + ], + "signatures": [ { - "id": 179, - "name": "browserVersion", - "kind": 1024, - "kindString": "Property", + "id": 650, + "name": "on", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true, - "isOptional": true + "isExternal": true }, - "sources": [ + "typeParameter": [ { - "fileName": "Tunnel.ts", - "line": 717, - "character": 16 + "id": 651, + "name": "K", + "kind": 131072, + "kindString": "Type parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } } ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" + "parameters": [ + { + "id": 652, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true }, - { - "type": "intrinsic", - "name": "string" + "type": { + "type": "reference", + "name": "K" } - ] - } - }, - { - "id": 180, - "name": "descriptor", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ + }, { - "fileName": "Tunnel.ts", - "line": 718, - "character": 12 + "id": 653, + "name": "listener", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "K" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "name": "K" + }, + "objectType": { + "type": "reference", + "name": "TunnelEvents" + } + } + ], + "name": "EventedCallbackOrArray" + } } ], "type": { "type": "reference", - "name": "Object" + "name": "Handle" + }, + "inheritedFrom": { + "type": "reference", + "id": 751, + "name": "Tunnel.on" } }, { - "id": 185, - "name": "intern", - "kind": 1024, - "kindString": "Property", + "id": 654, + "name": "on", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true + "isExternal": true }, - "sources": [ + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 724, - "character": 8 - } - ], - "type": { - "type": "reflection", - "declaration": { - "id": 186, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "children": [ - { - "id": 188, - "name": "browserName", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 726, - "character": 15 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 187, - "name": "platform", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 725, - "character": 12 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, - { - "id": 189, - "name": "version", - "kind": 32, - "kindString": "Variable", - "flags": {}, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 727, - "character": 11 - } - ], - "type": { + "id": 655, + "name": "type", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 656, + "name": "listener", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { "type": "intrinsic", "name": "string" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "EventObject" } - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 188, - 187, - 189 - ] - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 724, - "character": 9 - } - ] + ], + "name": "EventedCallbackOrArray" + } } + ], + "type": { + "type": "reference", + "name": "Handle" + }, + "inheritedFrom": { + "type": "reference", + "id": 755, + "name": "Tunnel.on" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 750, + "name": "Tunnel.on" + } + }, + { + "id": 657, + "name": "own", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ { - "id": 181, - "name": "platform", - "kind": 1024, - "kindString": "Property", + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 11, + "character": 4 + } + ], + "signatures": [ + { + "id": 658, + "name": "own", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true + "isExternal": true }, - "sources": [ + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 719, - "character": 10 + "id": 659, + "name": "handles", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "name": "Handle" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "name": "Handle" + } + } + ] + } } ], "type": { - "type": "intrinsic", - "name": "string" + "type": "reference", + "name": "Handle" + }, + "inheritedFrom": { + "type": "reference", + "id": 759, + "name": "Tunnel.own" } - }, + } + ], + "inheritedFrom": { + "type": "reference", + "id": 758, + "name": "Tunnel.own" + } + }, + { + "id": 572, + "name": "sendJobState", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "id": 182, - "name": "platformName", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true, - "isOptional": true + "fileName": "src/TestingBotTunnel.ts", + "line": 119, + "character": 2 + } + ], + "signatures": [ + { + "id": 573, + "name": "sendJobState", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Sends information about a job to the tunnel provider." }, - "sources": [ + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 720, - "character": 14 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { + "id": 574, + "name": "jobId", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { "type": "intrinsic", "name": "string" } - ] - } - }, - { - "id": 183, - "name": "platformVersion", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true, - "isOptional": true - }, - "sources": [ + }, { - "fileName": "Tunnel.ts", - "line": 721, - "character": 17 + "id": 575, + "name": "data", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "JobState" + } } ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "string" + "name": "void" } - ] + ], + "name": "CancellablePromise" + }, + "overwrites": { + "type": "reference", + "id": 706, + "name": "Tunnel.sendJobState" } - }, + } + ], + "overwrites": { + "type": "reference", + "id": 705, + "name": "Tunnel.sendJobState" + } + }, + { + "id": 617, + "name": "start", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "id": 184, - "name": "version", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 277, + "character": 2 + } + ], + "signatures": [ + { + "id": 618, + "name": "start", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Starts the tunnel, automatically downloading dependencies if necessary.", + "returns": "A promise that resolves once the tunnel has been established.\n" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 722, - "character": 9 - } - ], "type": { - "type": "intrinsic", - "name": "string" + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "CancellablePromise" + }, + "inheritedFrom": { + "type": "reference", + "id": 710, + "name": "Tunnel.start" } } ], - "groups": [ + "inheritedFrom": { + "type": "reference", + "id": 709, + "name": "Tunnel.start" + } + }, + { + "id": 619, + "name": "stop", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ { - "title": "Properties", - "kind": 1024, - "children": [ - 178, - 179, - 180, - 185, - 181, - 182, - 183, - 184 - ] + "fileName": "src/Tunnel.ts", + "line": 334, + "character": 2 } ], - "sources": [ + "signatures": [ { - "fileName": "Tunnel.ts", - "line": 715, - "character": 38 + "id": 620, + "name": "stop", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Stops the tunnel.", + "returns": "A promise that resolves to the exit code for the tunnel once it\nhas been terminated.\n" + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, + { + "type": "intrinsic", + "name": "void" + } + ] + } + ], + "name": "Promise" + }, + "inheritedFrom": { + "type": "reference", + "id": 712, + "name": "Tunnel.stop" + } } + ], + "inheritedFrom": { + "type": "reference", + "id": 711, + "name": "Tunnel.stop" + } + } + ], + "groups": [ + { + "title": "Constructors", + "kind": 512, + "children": [ + 555 ] }, { - "id": 153, - "name": "StatusEvent", - "kind": 256, - "kindString": "Interface", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "An event containing information about the status of the tunnel setup process\nthat is suitable for presentation to end-users." - }, + "title": "Properties", + "kind": 1024, + "children": [ + 641, + 599, + 600, + 597, + 601, + 598, + 583, + 585, + 558, + 582, + 586, + 559, + 587, + 642, + 560, + 588, + 589, + 590, + 591, + 592, + 594, + 593, + 595, + 561, + 562, + 563, + 564, + 584, + 596 + ] + }, + { + "title": "Accessors", + "kind": 262144, + "children": [ + 565, + 602, + 604, + 567, + 606, + 608, + 610 + ] + }, + { + "title": "Methods", + "kind": 2048, "children": [ + 621, + 569, + 626, + 630, + 579, + 635, + 576, + 639, + 660, + 612, + 643, + 615, + 649, + 657, + 572, + 617, + 619 + ] + } + ], + "sources": [ + { + "fileName": "src/TestingBotTunnel.ts", + "line": 21, + "character": 21 + } + ], + "extendedTypes": [ + { + "type": "reference", + "id": 662, + "name": "Tunnel" + } + ], + "implementedTypes": [ + { + "type": "reference", + "name": "TestingBotProperties" + } + ] + }, + { + "id": 662, + "name": "Tunnel", + "kind": 128, + "kindString": "Class", + "flags": {}, + "comment": { + "shortText": "A Tunnel is a mechanism for connecting to a WebDriver service provider that\nsecurely exposes local services for testing within the service provider’s\nnetwork." + }, + "children": [ + { + "id": 663, + "name": "constructor", + "kind": 512, + "kindString": "Constructor", + "flags": {}, + "sources": [ { - "id": 155, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 669, - "character": 17 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, + "fileName": "src/Tunnel.ts", + "line": 132, + "character": 2 + } + ], + "signatures": [ { - "id": 156, - "name": "target", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ + "id": 664, + "name": "new Tunnel", + "kind": 16384, + "kindString": "Constructor signature", + "flags": {}, + "parameters": [ { - "fileName": "Tunnel.ts", - "line": 643, - "character": 17 + "id": 665, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "TunnelProperties" + } + ], + "name": "Partial" + } } ], "type": { "type": "reference", - "name": "Tunnel", - "id": 36 + "id": 662, + "name": "default" }, - "inheritedFrom": { + "overwrites": { "type": "reference", - "name": "TunnelEventObject.target", - "id": 140 + "name": "Evented.constructor" } - }, + } + ], + "overwrites": { + "type": "reference", + "name": "Evented.constructor" + } + }, + { + "id": 742, + "name": "__typeMap__", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true, + "isExternal": true, + "isOptional": true + }, + "sources": [ { - "id": 154, - "name": "type", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 668, - "character": 15 - } - ], - "type": { - "type": "stringLiteral", - "value": "status" + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 3, + "character": 14 + } + ], + "type": { + "type": "reference", + "name": "TunnelEvents" + }, + "inheritedFrom": { + "type": "reference", + "name": "Evented.__typeMap__" + } + }, + { + "id": 685, + "name": "_handle", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 128, + "character": 12 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "overwrites": { + { "type": "reference", - "name": "EventObject.type" + "name": "Handle" } + ] + } + }, + { + "id": 686, + "name": "_process", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 129, + "character": 12 } ], - "groups": [ + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "name": "ChildProcess" + } + ] + } + }, + { + "id": 683, + "name": "_startTask", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, + "sources": [ { - "title": "Properties", - "kind": 1024, - "children": [ - 155, - 156, - 154 - ] + "fileName": "src/Tunnel.ts", + "line": 126, + "character": 12 } ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "CancellablePromise" + } + ] + } + }, + { + "id": 687, + "name": "_state", + "kind": 1024, + "kindString": "Property", + "flags": { + "isProtected": true + }, "sources": [ { - "fileName": "Tunnel.ts", - "line": 667, - "character": 28 + "fileName": "src/Tunnel.ts", + "line": 130, + "character": 12 } ], - "extendedTypes": [ - { - "type": "reference", - "name": "TunnelEventObject", - "id": 138, - "typeArguments": [ - { - "type": "reference", - "name": "Tunnel", - "id": 36 - } - ] - } - ] + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "stopped" + }, + { + "type": "literal", + "value": "starting" + }, + { + "type": "literal", + "value": "running" + }, + { + "type": "literal", + "value": "stopping" + } + ] + } }, { - "id": 138, - "name": "TunnelEventObject", - "kind": 256, - "kindString": "Interface", + "id": 684, + "name": "_stopTask", + "kind": 1024, + "kindString": "Property", "flags": { - "isExported": true + "isProtected": true }, - "typeParameter": [ + "sources": [ { - "id": 139, - "name": "T", - "kind": 131072, - "kindString": "Type parameter", - "flags": {} + "fileName": "src/Tunnel.ts", + "line": 127, + "character": 12 } ], - "children": [ - { - "id": 140, - "name": "target", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 643, - "character": 17 - } - ], - "type": { - "type": "typeParameter", - "name": "T" + { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, + { + "type": "intrinsic", + "name": "void" + } + ] + } + ], + "name": "Promise" } - }, + ] + } + }, + { + "id": 667, + "name": "accessKey", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The tunnel access key. This will be initialized with a tunnel-specific\nenvironment variable if not specified." + }, + "sources": [ { - "id": 141, - "name": "type", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 37, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", - "line": 24, - "character": 17 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "EventObject.type" } - } - ], - "groups": [ + ] + }, + "implementationOf": { + "type": "reference", + "name": "TunnelProperties.accessKey" + } + }, + { + "id": 669, + "name": "architecture", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The architecture the tunnel will run against. This information is\nautomatically retrieved for the current system at runtime." + }, + "sources": [ { - "title": "Properties", - "kind": 1024, - "children": [ - 140, - 141 - ] + "fileName": "src/Tunnel.ts", + "line": 49, + "character": 2 } ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "implementationOf": { + "type": "reference", + "name": "TunnelProperties.architecture" + } + }, + { + "id": 670, + "name": "auth", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "An HTTP authorization string to use when initiating connections to the\ntunnel. This value of this property is defined by Tunnel subclasses." + }, "sources": [ { - "fileName": "Tunnel.ts", - "line": 642, - "character": 34 + "fileName": "src/Tunnel.ts", + "line": 55, + "character": 2 } ], - "extendedTypes": [ + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + }, + "implementationOf": { + "type": "reference", + "name": "TunnelProperties.auth" + } + }, + { + "id": 671, + "name": "directory", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The directory where the tunnel software will be extracted. If the\ndirectory does not exist, it will be created. This value is set by the\ntunnel subclasses." + }, + "sources": [ { - "type": "reference", - "name": "EventObject", - "typeArguments": [ - { - "type": "intrinsic", - "name": "string" - } - ] + "fileName": "src/Tunnel.ts", + "line": 62, + "character": 2 } ], - "extendedBy": [ - { - "type": "reference", - "name": "IOEvent", - "id": 149 - }, - { - "type": "reference", - "name": "StatusEvent", - "id": 153 - }, - { - "type": "reference", - "name": "DownloadProgressEvent", - "id": 157 - } - ] + "type": { + "type": "intrinsic", + "name": "string" + }, + "implementationOf": { + "type": "reference", + "name": "TunnelProperties.directory" + } }, { - "id": 142, - "name": "TunnelEvents", - "kind": 256, - "kindString": "Interface", - "flags": { - "isExported": true + "id": 666, + "name": "environmentUrl", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a service that provides a list of environments supported by\nthe tunnel." }, - "indexSignature": [ + "sources": [ { - "id": 147, - "name": "__index", - "kind": 8192, - "kindString": "Index signature", - "flags": {}, - "parameters": [ - { - "id": 148, - "name": "index", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "type": { - "type": "intrinsic", - "name": "string" - } - } - ], - "type": { - "type": "intrinsic", - "name": "any" - } + "fileName": "src/Tunnel.ts", + "line": 31, + "character": 2 } ], - "children": [ - { - "id": 146, - "name": "downloadprogress", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 650, - "character": 18 - } - ], - "type": { - "type": "reference", - "name": "DownloadProgressEvent", - "id": 157 - } - }, - { - "id": 145, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 649, - "character": 8 - } - ], - "type": { - "type": "reference", - "name": "StatusEvent", - "id": 153 - } - }, - { - "id": 144, - "name": "stderr", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 648, - "character": 8 - } - ], - "type": { - "type": "reference", - "name": "IOEvent", - "id": 149 - } - }, - { - "id": 143, - "name": "stdout", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 647, - "character": 8 - } - ], - "type": { - "type": "reference", - "name": "IOEvent", - "id": 149 + { + "type": "intrinsic", + "name": "string" } - } - ], - "groups": [ + ] + } + }, + { + "id": 672, + "name": "executable", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The executable to spawn in order to create a tunnel. This value is set\nby the tunnel subclasses." + }, + "sources": [ { - "title": "Properties", - "kind": 1024, - "children": [ - 146, - 145, - 144, - 143 - ] + "fileName": "src/Tunnel.ts", + "line": 68, + "character": 2 } ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "implementationOf": { + "type": "reference", + "name": "TunnelProperties.executable" + } + }, + { + "id": 673, + "name": "hostname", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The host on which a WebDriver client can access the service provided by\nthe tunnel. This may or may not be the host where the tunnel application\nis running." + }, "sources": [ { - "fileName": "Tunnel.ts", - "line": 646, - "character": 29 + "fileName": "src/Tunnel.ts", + "line": 75, + "character": 2 } - ] + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "implementationOf": { + "type": "reference", + "name": "TunnelProperties.hostname" + } }, { - "id": 190, - "name": "TunnelProperties", - "kind": 256, - "kindString": "Interface", + "id": 743, + "name": "listenersMap", + "kind": 1024, + "kindString": "Property", "flags": { - "isExported": true + "isProtected": true, + "isExternal": true }, - "comment": { - "shortText": "Properties of a tunnel" - }, - "children": [ + "sources": [ { - "id": 193, - "name": "accessKey", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.accessKey|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 740, - "character": 11 - } - ], - "type": { + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 4, + "character": 14 + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { "type": "union", "types": [ { @@ -29795,612 +16891,572 @@ }, { "type": "intrinsic", - "name": "undefined" + "name": "number" } ] - } - }, - { - "id": 191, - "name": "architecture", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true }, - "comment": { - "shortText": "[[Tunnel.Tunnel.architecture|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 734, - "character": 14 + { + "type": "array", + "elementType": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "EventObject" + } + ], + "name": "EventedCallback" } - ], - "type": { - "type": "intrinsic", - "name": "string" } - }, + ], + "name": "Map" + }, + "inheritedFrom": { + "type": "reference", + "name": "Evented.listenersMap" + } + }, + { + "id": 674, + "name": "pathname", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The path that a WebDriver client should use to access the service\nprovided by the tunnel." + }, + "sources": [ { - "id": 192, - "name": "auth", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.auth|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 737, - "character": 6 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, + "fileName": "src/Tunnel.ts", + "line": 81, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "implementationOf": { + "type": "reference", + "name": "TunnelProperties.pathname" + } + }, + { + "id": 675, + "name": "platform", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The operating system the tunnel will run on. This information is\nautomatically retrieved for the current system at runtime." + }, + "sources": [ { - "id": 204, - "name": "directory", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 701, - "character": 11 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "DownloadProperties.directory", - "id": 174 - } - }, + "fileName": "src/Tunnel.ts", + "line": 87, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "implementationOf": { + "type": "reference", + "name": "TunnelProperties.platform" + } + }, + { + "id": 676, + "name": "port", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The local port where the WebDriver server should be exposed by the\ntunnel. This is typed as a string for Url compatibility, but should be a\nnumber." + }, + "sources": [ { - "id": 194, - "name": "executable", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.executable|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 743, - "character": 12 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, + "fileName": "src/Tunnel.ts", + "line": 94, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "implementationOf": { + "type": "reference", + "name": "TunnelProperties.port" + } + }, + { + "id": 677, + "name": "protocol", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The protocol (e.g., 'http') that a WebDriver client should use to access\nthe service provided by the tunnel." + }, + "sources": [ { - "id": 195, - "name": "hostname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.hostname|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 746, - "character": 10 - } - ], - "type": { - "type": "intrinsic", - "name": "string" - } - }, + "fileName": "src/Tunnel.ts", + "line": 100, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "implementationOf": { + "type": "reference", + "name": "TunnelProperties.protocol" + } + }, + { + "id": 678, + "name": "proxy", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used." + }, + "sources": [ { - "id": 196, - "name": "pathname", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.pathname|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 749, - "character": 10 - } - ], - "type": { + "fileName": "src/Tunnel.ts", + "line": 106, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { "type": "intrinsic", - "name": "string" - } - }, - { - "id": 197, - "name": "platform", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true + "name": "undefined" }, - "comment": { - "shortText": "[[Tunnel.Tunnel.platform|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 752, - "character": 10 - } - ], - "type": { + { "type": "intrinsic", "name": "string" } - }, + ] + }, + "implementationOf": { + "type": "reference", + "name": "TunnelProperties.proxy" + } + }, + { + "id": 680, + "name": "tunnelId", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "A unique identifier for the newly created tunnel." + }, + "sources": [ { - "id": 198, - "name": "port", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.port|More info]]" + "fileName": "src/Tunnel.ts", + "line": 118, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 755, - "character": 6 - } - ], - "type": { + { "type": "intrinsic", "name": "string" } - }, + ] + }, + "implementationOf": { + "type": "reference", + "name": "TunnelProperties.tunnelId" + } + }, + { + "id": 679, + "name": "tunnelProxy", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL of a proxy server for the tunnel to go through. Only the\nhostname, port, and auth are used.", + "text": "This overrides the `proxy` configuration allowing independent\nconfiguration for the Tunnel binary process only.\n" + }, + "sources": [ { - "id": 199, - "name": "protocol", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.protocol|More info]]" + "fileName": "src/Tunnel.ts", + "line": 115, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 758, - "character": 10 - } - ], - "type": { + { "type": "intrinsic", "name": "string" } - }, - { - "id": 205, - "name": "proxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 702, - "character": 7 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - }, - "inheritedFrom": { - "type": "reference", - "name": "DownloadProperties.proxy", - "id": 175 - } - }, - { - "id": 201, - "name": "tunnelId", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.tunnelId|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 764, - "character": 10 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, + ] + }, + "implementationOf": { + "type": "reference", + "name": "TunnelProperties.tunnelProxy" + } + }, + { + "id": 681, + "name": "url", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The URL where the tunnel software can be downloaded." + }, + "sources": [ { - "id": 200, - "name": "tunnelProxy", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.tunnelProxy|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 761, - "character": 13 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, + "fileName": "src/Tunnel.ts", + "line": 121, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "implementationOf": { + "type": "reference", + "name": "TunnelProperties.url" + } + }, + { + "id": 668, + "name": "username", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "The tunnel username. This will be initialized with a tunnel-specific\nenvironment variable if not specified." + }, + "sources": [ { - "id": 206, - "name": "url", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true + "fileName": "src/Tunnel.ts", + "line": 43, + "character": 2 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 703, - "character": 5 - } - ], - "type": { + { "type": "intrinsic", "name": "string" - }, - "inheritedFrom": { - "type": "reference", - "name": "DownloadProperties.url", - "id": 176 } - }, + ] + }, + "implementationOf": { + "type": "reference", + "name": "TunnelProperties.username" + } + }, + { + "id": 682, + "name": "verbose", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "comment": { + "shortText": "Whether or not to tell the tunnel to provide verbose logging output." + }, + "sources": [ { - "id": 202, - "name": "username", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "[[Tunnel.Tunnel.username|More info]]" - }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 767, - "character": 10 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "string" - }, - { - "type": "intrinsic", - "name": "undefined" - } - ] - } - }, + "fileName": "src/Tunnel.ts", + "line": 124, + "character": 2 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "implementationOf": { + "type": "reference", + "name": "TunnelProperties.verbose" + } + }, + { + "id": 688, + "name": "clientUrl", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "The URL that a WebDriver client should used to interact with this\nservice." + }, + "sources": [ { - "id": 203, - "name": "verbose", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, + "fileName": "src/Tunnel.ts", + "line": 154, + "character": 6 + } + ], + "getSignature": [ + { + "id": 689, + "name": "clientUrl", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, "comment": { - "shortText": "[[Tunnel.Tunnel.verbose|More info]]" + "shortText": "The URL that a WebDriver client should used to interact with this\nservice." }, - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 770, - "character": 9 - } - ], "type": { "type": "intrinsic", - "name": "boolean" + "name": "string" } } - ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 193, - 191, - 192, - 204, - 194, - 195, - 196, - 197, - 198, - 199, - 205, - 201, - 200, - 206, - 202, - 203 - ] - } - ], + ] + }, + { + "id": 690, + "name": "extraCapabilities", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "A map of additional capabilities that need to be sent to the provider\nwhen a new session is being created." + }, "sources": [ { - "fileName": "Tunnel.ts", - "line": 732, - "character": 33 + "fileName": "src/Tunnel.ts", + "line": 162, + "character": 6 } ], - "extendedTypes": [ + "getSignature": [ { - "type": "reference", - "name": "DownloadProperties", - "id": 173 + "id": 691, + "name": "extraCapabilities", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, + "comment": { + "shortText": "A map of additional capabilities that need to be sent to the provider\nwhen a new session is being created." + }, + "type": { + "type": "intrinsic", + "name": "object" + } } - ], - "extendedBy": [ - { - "type": "reference", - "name": "BrowserStackProperties", - "id": 324 - }, - { - "type": "reference", - "name": "CrossBrowserTestingProperties", - "id": 456 - }, - { - "type": "reference", - "name": "SauceLabsProperties", - "id": 704 - }, - { - "type": "reference", - "name": "SeleniumProperties", - "id": 865 - }, + ] + }, + { + "id": 692, + "name": "isDownloaded", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel software has already been downloaded." + }, + "sources": [ { - "type": "reference", - "name": "TestingBotProperties", - "id": 1191 + "fileName": "src/Tunnel.ts", + "line": 169, + "character": 6 } ], - "implementedBy": [ - { - "type": "reference", - "name": "BrowserStackTunnel", - "id": 214 - }, + "getSignature": [ { - "type": "reference", - "name": "CrossBrowserTestingTunnel", - "id": 349 - }, - { - "type": "reference", - "name": "NullTunnel", - "id": 477 - }, - { - "type": "reference", - "name": "SauceLabsTunnel", - "id": 577 - }, - { - "type": "reference", - "name": "SeleniumTunnel", - "id": 740 - }, + "id": 693, + "name": "isDownloaded", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel software has already been downloaded." + }, + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ] + }, + { + "id": 694, + "name": "isRunning", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently running." + }, + "sources": [ { - "type": "reference", - "name": "TestingBotTunnel", - "id": 1082 - }, + "fileName": "src/Tunnel.ts", + "line": 176, + "character": 6 + } + ], + "getSignature": [ { - "type": "reference", - "name": "Tunnel", - "id": 36 + "id": 695, + "name": "isRunning", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently running." + }, + "type": { + "type": "intrinsic", + "name": "boolean" + } } ] }, { - "id": 207, - "name": "DownloadOptions", - "kind": 4194304, - "kindString": "Type alias", - "flags": { - "isExported": true + "id": 696, + "name": "isStarting", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently starting up." }, "sources": [ { - "fileName": "Tunnel.ts", - "line": 706, - "character": 27 + "fileName": "src/Tunnel.ts", + "line": 183, + "character": 6 } ], - "type": { - "type": "reference", - "name": "Partial", - "typeArguments": [ - { - "type": "reference", - "name": "DownloadProperties", - "id": 173 + "getSignature": [ + { + "id": 697, + "name": "isStarting", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently starting up." + }, + "type": { + "type": "intrinsic", + "name": "boolean" } - ] - } + } + ] }, { - "id": 208, - "name": "TunnelOptions", - "kind": 4194304, - "kindString": "Type alias", - "flags": { - "isExported": true + "id": 698, + "name": "isStopping", + "kind": 262144, + "kindString": "Accessor", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently stopping." }, "sources": [ { - "fileName": "Tunnel.ts", - "line": 773, - "character": 25 + "fileName": "src/Tunnel.ts", + "line": 190, + "character": 6 } ], - "type": { - "type": "reference", - "name": "Partial", - "typeArguments": [ - { - "type": "reference", - "name": "TunnelProperties", - "id": 190 + "getSignature": [ + { + "id": 699, + "name": "isStopping", + "kind": 524288, + "kindString": "Get signature", + "flags": {}, + "comment": { + "shortText": "Whether or not the tunnel is currently stopping." + }, + "type": { + "type": "intrinsic", + "name": "boolean" } - ] - } + } + ] }, { - "id": 209, - "name": "proxyIOEvent", - "kind": 64, - "kindString": "Function", - "flags": {}, + "id": 713, + "name": "_downloadFile", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 373, + "character": 12 + } + ], "signatures": [ { - "id": 210, - "name": "proxyIOEvent", + "id": 714, + "name": "_downloadFile", "kind": 4096, "kindString": "Call signature", "flags": {}, "parameters": [ { - "id": 211, - "name": "target", + "id": 715, + "name": "url", "kind": 32768, "kindString": "Parameter", "flags": {}, "type": { - "type": "reference", - "name": "Tunnel", - "id": 36 + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] } }, { - "id": 212, - "name": "type", + "id": 716, + "name": "proxy", "kind": 32768, "kindString": "Parameter", "flags": {}, @@ -30408,941 +17464,1276 @@ "type": "union", "types": [ { - "type": "stringLiteral", - "value": "stdout" + "type": "intrinsic", + "name": "undefined" }, { - "type": "stringLiteral", - "value": "stderr" + "type": "intrinsic", + "name": "string" } ] } + }, + { + "id": 717, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "DownloadProperties" + } + ], + "name": "Partial" + } } ], "type": { "type": "reference", - "name": "(Anonymous function)" + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "CancellablePromise" } } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 775, - "character": 21 - } - ] - } - ], - "groups": [ - { - "title": "Classes", - "kind": 128, - "children": [ - 36 - ] - }, - { - "title": "Interfaces", - "kind": 256, - "children": [ - 163, - 157, - 173, - 149, - 177, - 153, - 138, - 142, - 190 ] }, { - "title": "Type aliases", - "kind": 4194304, - "children": [ - 207, - 208 + "id": 718, + "name": "_makeArgs", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 431, + "character": 12 + } + ], + "signatures": [ + { + "id": 719, + "name": "_makeArgs", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates the list of command-line arguments to be passed to the spawned\ntunnel. Implementations should override this method to provide the\nappropriate command-line arguments.", + "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n", + "returns": "A list of command-line arguments.\n" + }, + "parameters": [ + { + "id": 720, + "name": "_values", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } ] }, { - "title": "Functions", - "kind": 64, - "children": [ - 209 - ] - } - ], - "sources": [ - { - "fileName": "Tunnel.ts", - "line": 1, - "character": 0 - } - ] - }, - { - "id": 1215, - "name": "\"bin/digdugEnvironments\"", - "kind": 1, - "kindString": "External module", - "flags": { - "isExported": true - }, - "originalName": "src/bin/digdugEnvironments.ts", - "children": [ - { - "id": 1219, - "name": "TunnelCtor", - "kind": 32, - "kindString": "Variable", + "id": 721, + "name": "_makeChild", + "kind": 2048, + "kindString": "Method", "flags": { - "isConst": true + "isProtected": true }, "sources": [ { - "fileName": "bin/digdugEnvironments.ts", - "line": 41, - "character": 16 + "fileName": "src/Tunnel.ts", + "line": 445, + "character": 12 } ], - "type": { - "type": "reference", - "name": "Tunnel", - "id": 36 - }, - "defaultValue": " require('../' + tunnelName).default" + "signatures": [ + { + "id": 722, + "name": "_makeChild", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates a newly spawned child process for the tunnel software.\nImplementations should call this method to create the tunnel process.", + "text": "Arguments passed to this method will be passed as-is to\n[[Tunnel._makeArgs]] and [[Tunnel._makeOptions]].\n", + "returns": "An object containing a newly spawned Process and a Deferred that\nwill be resolved once the tunnel has started successfully.\n" + }, + "parameters": [ + { + "id": 723, + "name": "executor", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "ChildExecutor" + } + }, + { + "id": 724, + "name": "values", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ], + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "CancellablePromise" + } + } + ] }, { - "id": 1216, - "name": "digdugPath", - "kind": 32, - "kindString": "Variable", + "id": 725, + "name": "_makeOptions", + "kind": 2048, + "kindString": "Method", "flags": { - "isConst": true + "isProtected": true }, "sources": [ { - "fileName": "bin/digdugEnvironments.ts", - "line": 8, - "character": 16 + "fileName": "src/Tunnel.ts", + "line": 546, + "character": 12 + } + ], + "signatures": [ + { + "id": 726, + "name": "_makeOptions", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Creates the set of options to use when spawning the tunnel process.\nImplementations should override this method to provide the appropriate\noptions for the tunnel software.", + "text": "Arguments passed to [[Tunnel._makeChild]] will be passed as-is to this\nmethod.\n", + "returns": "A set of options matching those provided to Node.js\n`child_process.spawn`.\n" + }, + "parameters": [ + { + "id": 727, + "name": "_values", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 728, + "name": "__type", + "kind": 65536, + "kindString": "Type literal", + "flags": {}, + "children": [ + { + "id": 729, + "name": "env", + "kind": 1024, + "kindString": "Property", + "flags": {}, + "type": { + "type": "reference", + "name": "ProcessEnv" + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Properties", + "kind": 1024, + "children": [ + 729 + ] + } + ] + } + } } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": " path.dirname(__dirname)" + ] }, { - "id": 1220, - "name": "tunnel", - "kind": 32, - "kindString": "Variable", + "id": 730, + "name": "_normalizeEnvironment", + "kind": 2048, + "kindString": "Method", "flags": { - "isConst": true + "isProtected": true }, "sources": [ { - "fileName": "bin/digdugEnvironments.ts", - "line": 42, + "fileName": "src/Tunnel.ts", + "line": 557, "character": 12 } ], - "type": { - "type": "reference", - "name": "Tunnel", - "id": 36 - }, - "defaultValue": " new TunnelCtor()" - }, - { - "id": 1218, - "name": "tunnelName", - "kind": 32, - "kindString": "Variable", - "flags": { - "isConst": true - }, - "sources": [ + "signatures": [ { - "fileName": "bin/digdugEnvironments.ts", - "line": 34, - "character": 16 + "id": 731, + "name": "_normalizeEnvironment", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Normalizes a specific Tunnel environment descriptor to a general form. To\nbe overriden by a child implementation.", + "returns": "a normalized environment\n" + }, + "parameters": [ + { + "id": 732, + "name": "environment", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "comment": { + "text": "an environment descriptor specific to the Tunnel" + }, + "type": { + "type": "reference", + "name": "Object" + } + } + ], + "type": { + "type": "reference", + "name": "NormalizedEnvironment" + } } - ], - "type": { - "type": "intrinsic", - "name": "string" - }, - "defaultValue": " process.argv[2]" + ] }, { - "id": 1217, - "name": "tunnels", - "kind": 32, - "kindString": "Variable", + "id": 733, + "name": "_postDownloadFile", + "kind": 2048, + "kindString": "Method", "flags": { - "isConst": true + "isProtected": true }, "sources": [ { - "fileName": "bin/digdugEnvironments.ts", - "line": 10, - "character": 13 + "fileName": "src/Tunnel.ts", + "line": 564, + "character": 12 } ], - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } - }, - "defaultValue": " fs\n .readdirSync(digdugPath)\n .filter(function(name) {\n return (\n /[A-Z]\\w+Tunnel\\.js$/.test(name) &&\n name !== 'NullTunnel.js' &&\n name !== 'Tunnel.js' &&\n name !== 'SeleniumTunnel.js'\n );\n })\n .map(function(name) {\n return name.slice(0, name.length - 3);\n })" - } - ], - "groups": [ - { - "title": "Variables", - "kind": 32, - "children": [ - 1219, - 1216, - 1220, - 1218, - 1217 - ] - } - ], - "sources": [ - { - "fileName": "bin/digdugEnvironments.ts", - "line": 1, - "character": 0 - } - ] - }, - { - "id": 26, - "name": "\"interfaces\"", - "kind": 1, - "kindString": "External module", - "flags": { - "isExported": true - }, - "originalName": "src/interfaces.ts", - "children": [ - { - "id": 27, - "name": "JobState", - "kind": 256, - "kindString": "Interface", - "flags": { - "isExported": true - }, - "children": [ + "signatures": [ { - "id": 28, - "name": "buildId", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true, - "isOptional": true - }, + "id": 734, + "name": "_postDownloadFile", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "The build number of the software being tested by the job. Supported by\nSauce Labs." + "shortText": "Called with the response after a file download has completed" }, - "sources": [ + "parameters": [ { - "fileName": "interfaces.ts", - "line": 8, - "character": 9 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, - { - "type": "intrinsic", - "name": "number" + "id": 735, + "name": "data", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "Buffer" } - ] - } - }, - { - "id": 29, - "name": "extra", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true, - "isOptional": true - }, - "comment": { - "shortText": "Additional arbitrary data to be stored alongside the job. Supported by\nTestingBot and Sauce Labs." - }, - "sources": [ + }, { - "fileName": "interfaces.ts", - "line": 14, - "character": 7 - } - ], - "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" + "id": 736, + "name": "options", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isOptional": true }, - { + "type": { "type": "reference", - "name": "__type" + "typeArguments": [ + { + "type": "reference", + "name": "DownloadProperties" + } + ], + "name": "Partial" } - ] - } - }, - { - "id": 30, - "name": "name", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true, - "isOptional": true - }, - "comment": { - "shortText": "A descriptive name for the job. Supported by TestingBot and Sauce Labs." - }, - "sources": [ - { - "fileName": "interfaces.ts", - "line": 19, - "character": 6 } ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "string" + "name": "void" } - ] + ], + "name": "Promise" } - }, + } + ] + }, + { + "id": 737, + "name": "_start", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 31, - "name": "status", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true, - "isOptional": true - }, + "fileName": "src/Tunnel.ts", + "line": 593, + "character": 12 + } + ], + "signatures": [ + { + "id": 738, + "name": "_start", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "A status message to provide alongside a test. Supported by TestingBot." + "shortText": "This method provides the implementation that actually starts the tunnel\nand any other logic for emitting events on the Tunnel based on data\npassed by the tunnel software.", + "text": "The default implementation that assumes the tunnel is ready for use once\nthe child process has written to `stdout` or `stderr`. This method should\nbe reimplemented by other tunnel launchers to implement correct launch\ndetection logic.\n", + "returns": "An object containing a reference to the child process, and a\nDeferred that is resolved once the tunnel is ready for use. Normally this\nwill be the object returned from a call to [[Tunnel._makeChild]].\n" }, - "sources": [ + "parameters": [ { - "fileName": "interfaces.ts", - "line": 24, - "character": 8 + "id": 739, + "name": "executor", + "kind": 32768, + "kindString": "Parameter", + "flags": {}, + "type": { + "type": "reference", + "name": "ChildExecutor" + } } ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "string" + "name": "any" } - ] + ], + "name": "CancellablePromise" } - }, + } + ] + }, + { + "id": 740, + "name": "_stop", + "kind": 2048, + "kindString": "Method", + "flags": { + "isProtected": true + }, + "sources": [ { - "id": 32, - "name": "success", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true - }, - "comment": { - "shortText": "Whether or not the job should be listed as successful. Supported by\nBrowserStack, TestingBot, and Sauce Labs." - }, - "sources": [ - { - "fileName": "interfaces.ts", - "line": 30, - "character": 9 - } - ], - "type": { - "type": "intrinsic", - "name": "boolean" - } - }, + "fileName": "src/Tunnel.ts", + "line": 622, + "character": 12 + } + ], + "signatures": [ { - "id": 33, - "name": "tags", - "kind": 1024, - "kindString": "Property", - "flags": { - "isExported": true, - "isOptional": true - }, + "id": 741, + "name": "_stop", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, "comment": { - "shortText": "An array of tags for the job. Supported by TestingBot and Sauce Labs." + "shortText": "This method provides the implementation that actually stops the tunnel.", + "text": "The default implementation that assumes the tunnel has been closed once\nthe child process has exited. This method should be reimplemented by\nother tunnel launchers to implement correct shutdown logic, if necessary.\n", + "returns": "A promise that resolves once the tunnel has shut down.\n" }, - "sources": [ - { - "fileName": "interfaces.ts", - "line": 35, - "character": 6 - } - ], "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "string" - } + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, + { + "type": "intrinsic", + "name": "void" + } + ] + } + ], + "name": "Promise" } - }, + } + ] + }, + { + "id": 761, + "name": "destroy", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ { - "id": 34, - "name": "visibility", - "kind": 1024, - "kindString": "Property", + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 12, + "character": 4 + } + ], + "signatures": [ + { + "id": 762, + "name": "destroy", + "kind": 4096, + "kindString": "Call signature", "flags": { - "isExported": true, - "isOptional": true + "isExternal": true }, - "comment": { - "shortText": "The public visibility of test results. May be one of 'public', 'public\nrestricted', 'share', 'team', or 'private'. Supported by Sauce Labs." - }, - "sources": [ - { - "fileName": "interfaces.ts", - "line": 41, - "character": 12 - } - ], "type": { - "type": "union", - "types": [ - { - "type": "intrinsic", - "name": "undefined" - }, + "type": "reference", + "typeArguments": [ { "type": "intrinsic", - "name": "string" + "name": "boolean" } - ] + ], + "name": "Promise" + }, + "inheritedFrom": { + "type": "reference", + "name": "Evented.destroy" } } ], - "groups": [ - { - "title": "Properties", - "kind": 1024, - "children": [ - 28, - 29, - 30, - 31, - 32, - 33, - 34 - ] - } - ], + "inheritedFrom": { + "type": "reference", + "name": "Evented.destroy" + } + }, + { + "id": 700, + "name": "download", + "kind": 2048, + "kindString": "Method", + "flags": {}, "sources": [ { - "fileName": "interfaces.ts", - "line": 3, - "character": 25 + "fileName": "src/Tunnel.ts", + "line": 207, + "character": 2 } - ] - } - ], - "groups": [ - { - "title": "Interfaces", - "kind": 256, - "children": [ - 27 - ] - } - ], - "sources": [ - { - "fileName": "interfaces.ts", - "line": 1, - "character": 0 - } - ] - }, - { - "id": 1, - "name": "\"lib/util\"", - "kind": 1, - "kindString": "External module", - "flags": { - "isExported": true - }, - "originalName": "src/lib/util.ts", - "children": [ - { - "id": 10, - "name": "fileExists", - "kind": 64, - "kindString": "Function", - "flags": { - "isExported": true - }, + ], "signatures": [ { - "id": 11, - "name": "fileExists", + "id": 701, + "name": "download", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "Returns true if a file or directory exists", - "returns": "true if filename exists, false otherwise\n" + "shortText": "Downloads and extracts the tunnel software if it is not already\ndownloaded.", + "text": "This method can be extended by implementations to perform any necessary\npost-processing, such as setting appropriate file permissions on the\ndownloaded executable.\n", + "returns": "A promise that resolves once the download and extraction process\nhas completed.\n" }, "parameters": [ { - "id": 12, - "name": "filename", + "id": 702, + "name": "forceDownload", "kind": 32768, "kindString": "Parameter", "flags": {}, - "comment": {}, + "comment": { + "text": "Force downloading the software even if it already\nhas been downloaded." + }, "type": { "type": "intrinsic", - "name": "string" - } + "name": "boolean" + }, + "defaultValue": "false" } ], "type": { - "type": "intrinsic", - "name": "boolean" + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "CancellablePromise" } } - ], - "sources": [ - { - "fileName": "lib/util.ts", - "line": 31, - "character": 26 - } ] }, { - "id": 23, - "name": "getChildProcesses", - "kind": 64, - "kindString": "Function", - "flags": {}, + "id": 744, + "name": "emit", + "kind": 2048, + "kindString": "Method", + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 7, + "character": 4 + } + ], "signatures": [ { - "id": 24, - "name": "getChildProcesses", + "id": 745, + "name": "emit", "kind": 4096, "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Get the children of a process" + "flags": { + "isExternal": true }, + "typeParameter": [ + { + "id": 746, + "name": "K", + "kind": 131072, + "kindString": "Type parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + } + ], "parameters": [ { - "id": 25, - "name": "pid", + "id": 747, + "name": "event", "kind": 32768, "kindString": "Parameter", - "flags": {}, + "flags": { + "isExternal": true + }, "type": { - "type": "intrinsic", - "name": "number" + "type": "indexedAccess", + "indexType": { + "type": "reference", + "name": "K" + }, + "objectType": { + "type": "reference", + "name": "TunnelEvents" + } } } ], "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "number" + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "name": "Evented.emit" + } + }, + { + "id": 748, + "name": "emit", + "kind": 4096, + "kindString": "Call signature", + "flags": { + "isExternal": true + }, + "parameters": [ + { + "id": 749, + "name": "event", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "EventObject" + } } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "name": "Evented.emit" } } ], + "inheritedFrom": { + "type": "reference", + "name": "Evented.emit" + } + }, + { + "id": 703, + "name": "getEnvironments", + "kind": 2048, + "kindString": "Method", + "flags": {}, "sources": [ { - "fileName": "lib/util.ts", - "line": 127, - "character": 26 + "fileName": "src/Tunnel.ts", + "line": 231, + "character": 2 + } + ], + "signatures": [ + { + "id": 704, + "name": "getEnvironments", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Get a list of environments available on the service.", + "text": "This method should be overridden and use a specific implementation that\nreturns normalized environments from the service. E.g.\n\n```js\n{\n browserName: 'firefox',\n version: '12',\n platform: 'windows',\n descriptor: { }\n}\n```\n", + "returns": "An object containing the response and helper functions\n" + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "name": "NormalizedEnvironment" + } + } + ], + "name": "CancellablePromise" + } } ] }, { - "id": 13, - "name": "kill", - "kind": 64, - "kindString": "Function", + "id": 750, + "name": "on", + "kind": 2048, + "kindString": "Method", "flags": { - "isExported": true + "isExternal": true }, + "sources": [ + { + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 9, + "character": 4 + } + ], "signatures": [ { - "id": 14, - "name": "kill", + "id": 751, + "name": "on", "kind": 4096, "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Kill a process and its immediate children", - "text": "This function will attempt to kill all processes that it should, and will\nreport an error at the end if any process could not be killed.\n" + "flags": { + "isExternal": true }, + "typeParameter": [ + { + "id": 752, + "name": "K", + "kind": 131072, + "kindString": "Type parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + } + ], "parameters": [ { - "id": 15, - "name": "pid", + "id": 753, + "name": "type", "kind": 32768, "kindString": "Parameter", - "flags": {}, + "flags": { + "isExternal": true + }, "type": { - "type": "intrinsic", - "name": "number" + "type": "reference", + "name": "K" + } + }, + { + "id": 754, + "name": "listener", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "K" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "name": "K" + }, + "objectType": { + "type": "reference", + "name": "TunnelEvents" + } + } + ], + "name": "EventedCallbackOrArray" } } ], "type": { - "type": "intrinsic", - "name": "void" + "type": "reference", + "name": "Handle" + }, + "inheritedFrom": { + "type": "reference", + "name": "Evented.on" } - } - ], - "sources": [ - { - "fileName": "lib/util.ts", - "line": 46, - "character": 20 - } - ] - }, - { - "id": 16, - "name": "killProcess", - "kind": 64, - "kindString": "Function", - "flags": {}, - "signatures": [ + }, { - "id": 17, - "name": "killProcess", + "id": 755, + "name": "on", "kind": 4096, "kindString": "Call signature", - "flags": {}, + "flags": { + "isExternal": true + }, "parameters": [ { - "id": 18, - "name": "pid", + "id": 756, + "name": "type", "kind": 32768, "kindString": "Parameter", - "flags": {}, + "flags": { + "isExternal": true + }, "type": { "type": "intrinsic", - "name": "number" + "name": "string" + } + }, + { + "id": 757, + "name": "listener", + "kind": 32768, + "kindString": "Parameter", + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "EventObject" + } + ], + "name": "EventedCallbackOrArray" } } ], "type": { - "type": "intrinsic", - "name": "void" + "type": "reference", + "name": "Handle" + }, + "inheritedFrom": { + "type": "reference", + "name": "Evented.on" } } ], - "sources": [ - { - "fileName": "lib/util.ts", - "line": 70, - "character": 20 - } - ] + "inheritedFrom": { + "type": "reference", + "name": "Evented.on" + } }, { - "id": 2, - "name": "on", - "kind": 64, - "kindString": "Function", + "id": 758, + "name": "own", + "kind": 2048, + "kindString": "Method", "flags": { - "isExported": true + "isExternal": true }, + "sources": [ + { + "fileName": "node_modules/@theintern/common/lib/Evented.d.ts", + "line": 11, + "character": 4 + } + ], "signatures": [ { - "id": 3, - "name": "on", + "id": 759, + "name": "own", "kind": 4096, "kindString": "Call signature", - "flags": {}, - "comment": { - "shortText": "Attaches an event to a Node.js EventEmitter and returns a handle for removing\nthe listener later.", - "returns": "A remove handle.\n" + "flags": { + "isExternal": true }, "parameters": [ { - "id": 4, - "name": "emitter", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "text": "A Node.js EventEmitter object." - }, - "type": { - "type": "reference", - "name": "EventEmitter" - } - }, - { - "id": 5, - "name": "event", + "id": 760, + "name": "handles", "kind": 32768, "kindString": "Parameter", - "flags": {}, - "comment": { - "text": "The name of the event to listen for." + "flags": { + "isExternal": true }, "type": { "type": "union", "types": [ { - "type": "intrinsic", - "name": "string" + "type": "reference", + "name": "Handle" }, { - "type": "intrinsic", - "name": "symbol" + "type": "array", + "elementType": { + "type": "reference", + "name": "Handle" + } } ] } - }, - { - "id": 6, - "name": "listener", - "kind": 32768, - "kindString": "Parameter", - "flags": {}, - "comment": { - "text": "The event listener that will be invoked when the event\noccurs." - }, - "type": { - "type": "reflection", - "declaration": { - "id": 7, - "name": "__type", - "kind": 65536, - "kindString": "Type literal", - "flags": {}, - "signatures": [ - { - "id": 8, - "name": "__call", - "kind": 4096, - "kindString": "Call signature", - "flags": {}, - "parameters": [ - { - "id": 9, - "name": "args", - "kind": 32768, - "kindString": "Parameter", - "flags": { - "isRest": true - }, - "type": { - "type": "array", - "elementType": { - "type": "intrinsic", - "name": "any" - } - } - } - ], - "type": { - "type": "intrinsic", - "name": "void" - } - } - ], - "sources": [ - { - "fileName": "lib/util.ts", - "line": 19, - "character": 11 - } - ] - } - } } ], "type": { "type": "reference", "name": "Handle" + }, + "inheritedFrom": { + "type": "reference", + "name": "Evented.own" } } ], + "inheritedFrom": { + "type": "reference", + "name": "Evented.own" + } + }, + { + "id": 705, + "name": "sendJobState", + "kind": 2048, + "kindString": "Method", + "flags": {}, "sources": [ { - "fileName": "lib/util.ts", - "line": 16, - "character": 18 + "fileName": "src/Tunnel.ts", + "line": 268, + "character": 2 } - ] - }, - { - "id": 19, - "name": "writeFile", - "kind": 64, - "kindString": "Function", - "flags": { - "isExported": true - }, + ], "signatures": [ { - "id": 20, - "name": "writeFile", + "id": 706, + "name": "sendJobState", "kind": 4096, "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "Writes data to a file.", - "text": "The file's parent directories will be created if they do not already exist.\n", - "returns": "A Promise that resolves when the file has been written\n" + "shortText": "Sends information about a job to the tunnel provider.", + "returns": "A promise that resolves once the job state request is complete.\n" }, "parameters": [ { - "id": 21, - "name": "data", + "id": 707, + "name": "_jobId", "kind": 32768, "kindString": "Parameter", "flags": {}, - "comment": {}, "type": { "type": "intrinsic", - "name": "any" + "name": "string" } }, { - "id": 22, - "name": "filename", + "id": 708, + "name": "_data", "kind": 32768, "kindString": "Parameter", "flags": {}, - "comment": {}, "type": { - "type": "intrinsic", - "name": "string" + "type": "reference", + "name": "JobState" } } ], "type": { "type": "reference", - "name": "Promise", "typeArguments": [ { "type": "intrinsic", "name": "void" } - ] + ], + "name": "CancellablePromise" } } + ] + }, + { + "id": 709, + "name": "start", + "kind": 2048, + "kindString": "Method", + "flags": {}, + "sources": [ + { + "fileName": "src/Tunnel.ts", + "line": 277, + "character": 2 + } ], + "signatures": [ + { + "id": 710, + "name": "start", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Starts the tunnel, automatically downloading dependencies if necessary.", + "returns": "A promise that resolves once the tunnel has been established.\n" + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "CancellablePromise" + } + } + ] + }, + { + "id": 711, + "name": "stop", + "kind": 2048, + "kindString": "Method", + "flags": {}, "sources": [ { - "fileName": "lib/util.ts", - "line": 91, - "character": 25 + "fileName": "src/Tunnel.ts", + "line": 334, + "character": 2 + } + ], + "signatures": [ + { + "id": 712, + "name": "stop", + "kind": 4096, + "kindString": "Call signature", + "flags": {}, + "comment": { + "shortText": "Stops the tunnel.", + "returns": "A promise that resolves to the exit code for the tunnel once it\nhas been terminated.\n" + }, + "type": { + "type": "reference", + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "number" + }, + { + "type": "intrinsic", + "name": "void" + } + ] + } + ], + "name": "Promise" + } } ] } ], "groups": [ { - "title": "Functions", - "kind": 64, + "title": "Constructors", + "kind": 512, "children": [ - 10, - 23, - 13, - 16, - 2, - 19 + 663 + ] + }, + { + "title": "Properties", + "kind": 1024, + "children": [ + 742, + 685, + 686, + 683, + 687, + 684, + 667, + 669, + 670, + 671, + 666, + 672, + 673, + 743, + 674, + 675, + 676, + 677, + 678, + 680, + 679, + 681, + 668, + 682 + ] + }, + { + "title": "Accessors", + "kind": 262144, + "children": [ + 688, + 690, + 692, + 694, + 696, + 698 + ] + }, + { + "title": "Methods", + "kind": 2048, + "children": [ + 713, + 718, + 721, + 725, + 730, + 733, + 737, + 740, + 761, + 700, + 744, + 703, + 750, + 758, + 705, + 709, + 711 ] } ], "sources": [ { - "fileName": "lib/util.ts", - "line": 1, - "character": 0 + "fileName": "src/Tunnel.ts", + "line": 23, + "character": 21 } - ] - }, - { - "id": 738, - "name": "\"webdrivers\"", - "kind": 1, - "kindString": "External module", - "flags": { - "isExported": true, - "isExternal": true - }, - "originalName": "src/webdrivers.json", - "sources": [ + ], + "extendedTypes": [ + { + "type": "reference", + "typeArguments": [ + { + "type": "reference", + "name": "TunnelEvents" + }, + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "Evented" + } + ], + "extendedBy": [ { - "fileName": "webdrivers.json", - "line": 1, - "character": 0 + "type": "reference", + "id": 1, + "name": "BrowserStackTunnel" + }, + { + "type": "reference", + "id": 110, + "name": "CrossBrowserTestingTunnel" + }, + { + "type": "reference", + "id": 216, + "name": "NullTunnel" + }, + { + "type": "reference", + "id": 314, + "name": "SauceLabsTunnel" + }, + { + "type": "reference", + "id": 440, + "name": "SeleniumTunnel" + }, + { + "type": "reference", + "id": 554, + "name": "TestingBotTunnel" + } + ], + "implementedTypes": [ + { + "type": "reference", + "name": "TunnelProperties" } ] } ], "groups": [ { - "title": "External modules", - "kind": 1, + "title": "Classes", + "kind": 128, "children": [ - 213, - 348, - 476, - 576, - 739, - 1081, - 35, - 1215, - 26, 1, - 738 + 110, + 216, + 314, + 440, + 554, + 662 ] } + ], + "sources": [ + { + "fileName": "src/index.ts", + "line": 1, + "character": 0 + } ] } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index c174c26..5285173 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,208 +1,5595 @@ { "name": "@theintern/digdug", - "version": "2.6.0-pre", - "lockfileVersion": 1, + "version": "2.6.0", + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "@theintern/digdug", + "version": "2.6.0", + "license": "BSD-3-Clause", + "dependencies": { + "@theintern/common": "~0.3.0", + "command-exists": "~1.2.9", + "decompress": "~4.2.1", + "tslib": "~2.3.0" + }, + "bin": { + "digdugEnvironments": "bin/digdugEnvironments.js" + }, + "devDependencies": { + "@theintern/dev": "^0.11.0", + "@types/command-exists": "^1.2.0", + "@types/decompress": "^4.2.4", + "@types/node": "^16.0.0", + "@types/semver": "^7.3.7", + "@types/shelljs": "^0.8.9", + "concurrently": "^6.2.0", + "execa": "^5.1.1", + "intern": "^4.9.1", + "lint-staged": "^11.0.0", + "pre-commit": "^1.2.2", + "prettier": "^2.3.2", + "semver": "^7.3.5", + "shelljs": "^0.8.4", + "ts-node": "^10.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", + "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", + "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", + "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz", + "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template/node_modules/@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz", + "integrity": "sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.14.7", + "@babel/types": "^7.14.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.2.tgz", + "integrity": "sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@theintern/common": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@theintern/common/-/common-0.3.0.tgz", + "integrity": "sha512-VKSyZGEyzmicJPvV5Gxeavm8Xbcr0cETAAqMapWZzA9Q85YHMG8VSrmPFlMrDQ524qE0IqQsTi0IlH8NIaN+eQ==", + "dependencies": { + "axios": "~0.21.1", + "tslib": "~2.3.0" + } + }, + "node_modules/@theintern/dev": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@theintern/dev/-/dev-0.11.0.tgz", + "integrity": "sha512-wdgT6EopXi54RFd/tCNUimlMc18WpXpd5FQw5u4imk7xNMveb3B3IvmHeQbqtqY05gZWTXXivUUJCJzDo+nDZg==", + "dev": true, + "dependencies": { + "@typescript-eslint/eslint-plugin": "~4.28.2", + "@typescript-eslint/parser": "~4.28.2", + "chalk": "~4.1.1", + "chokidar": "~3.5.2", + "eslint": "~7.30.0", + "glob": "~7.1.4", + "lint-staged": "~11.0.0", + "pre-commit": "~1.2.2", + "prettier": "~2.3.2", + "resolve": "~1.20.0", + "semver": "~7.3.5", + "shelljs": "~0.8.3", + "typedoc": "~0.21.2", + "typescript": "4.3.5" + }, + "bin": { + "intern-dev-api": "intern-dev-api.js", + "intern-dev-build": "intern-dev-build.js", + "intern-dev-clean": "intern-dev-clean.js", + "intern-dev-lint": "intern-dev-lint.js", + "intern-dev-release": "intern-dev-release.js", + "intern-dev-test": "intern-dev-test.js" + }, + "peerDependencies": { + "lint-staged": "^11.0.0", + "pre-commit": "^1.2.2", + "prettier": "^2.3.2", + "tslib": "^2.3.0" + } + }, + "node_modules/@theintern/digdug": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@theintern/digdug/-/digdug-2.5.0.tgz", + "integrity": "sha512-g5mRt94GENnXxHgpccK9gjwyaK+61+fnF+njMnJGJQkxhjCjfShu9R3btt3/vSy5kkWxop83UN2/oAkiyqTKDw==", + "dev": true, + "dependencies": { + "@theintern/common": "~0.2.3", + "command-exists": "~1.2.6", + "decompress": "~4.2.0", + "tslib": "~1.9.3" + }, + "bin": { + "digdugEnvironments": "bin/digdugEnvironments.js" + } + }, + "node_modules/@theintern/digdug/node_modules/@theintern/common": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@theintern/common/-/common-0.2.4.tgz", + "integrity": "sha512-zq1Z/yZp9w6EHcLR+kn2cQ0Iu0/6G9e92Q74GOWGs4ITk07n9D1FQC5MK90nrtbkCt+EUue6QoIl9RUWY3BTCg==", + "dev": true, + "dependencies": { + "axios": "~0.21.1", + "tslib": "~1.9.3" + } + }, + "node_modules/@theintern/digdug/node_modules/tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + }, + "node_modules/@theintern/leadfoot": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@theintern/leadfoot/-/leadfoot-2.3.3.tgz", + "integrity": "sha512-zn7MeYk8G3PIXFVSk7PjyTxllnWCe8vE4dcyHPmlrdunYByI8PF6AaDzK70whoBSkE+LkcxrsUslquHRNsWRCA==", + "dev": true, + "dependencies": { + "@theintern/common": "~0.2.3", + "jszip": "~3.2.1", + "tslib": "~1.9.3" + } + }, + "node_modules/@theintern/leadfoot/node_modules/@theintern/common": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@theintern/common/-/common-0.2.4.tgz", + "integrity": "sha512-zq1Z/yZp9w6EHcLR+kn2cQ0Iu0/6G9e92Q74GOWGs4ITk07n9D1FQC5MK90nrtbkCt+EUue6QoIl9RUWY3BTCg==", + "dev": true, + "dependencies": { + "axios": "~0.21.1", + "tslib": "~1.9.3" + } + }, + "node_modules/@theintern/leadfoot/node_modules/tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.1.tgz", + "integrity": "sha512-FTgBI767POY/lKNDNbIzgAX6miIDBs6NTCbdlDb8TrWovHsSvaVIZDlTqym29C6UqhzwcJx4CYr+AlrMywA0cA==", + "dev": true + }, + "node_modules/@types/babel-types": { + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.10.tgz", + "integrity": "sha512-g7zrcqL4MiRu3jZzdZZYk0g0KcKk2fddXazSdP1PacEpmjihRsNGU50aaEKnPFuKzfN7WkRktUiCXvs4zU9XXQ==", + "dev": true + }, + "node_modules/@types/benchmark": { + "version": "1.0.31", + "resolved": "https://registry.npmjs.org/@types/benchmark/-/benchmark-1.0.31.tgz", + "integrity": "sha512-F6fVNOkGEkSdo/19yWYOwVKGvzbTeWkR/XQYBKtGBQ9oGRjBN9f/L4aJI4sDcVPJO58Y1CJZN8va9V2BhrZapA==", + "dev": true + }, + "node_modules/@types/body-parser": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz", + "integrity": "sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/chai": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.7.tgz", + "integrity": "sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==", + "dev": true + }, + "node_modules/@types/charm": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/charm/-/charm-1.0.1.tgz", + "integrity": "sha512-F9OalGhk60p/DnACfa1SWtmVTMni0+w9t/qfb5Bu7CsurkEjZFN7Z+ii/VGmYpaViPz7o3tBahRQae9O7skFlQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/command-exists": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/command-exists/-/command-exists-1.2.0.tgz", + "integrity": "sha512-ugsxEJfsCuqMLSuCD4PIJkp5Uk2z6TCMRCgYVuhRo5cYQY3+1xXTQkSlPtkpGHuvWMjS2KTeVQXxkXRACMbM6A==", + "dev": true + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/decompress": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.4.tgz", + "integrity": "sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.24", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz", + "integrity": "sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "node_modules/@types/istanbul-lib-instrument": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.4.tgz", + "integrity": "sha512-1i1VVkU2KrpZCmti+t5J/zBb2KLKxHgU1EYL+0QtnDnVyZ59aSKcpnG6J0I6BZGDON566YzPNIlNfk7m+9l1JA==", + "dev": true, + "dependencies": { + "@types/babel-types": "*", + "@types/istanbul-lib-coverage": "*", + "source-map": "^0.6.1" + } + }, + "node_modules/@types/istanbul-lib-report": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", + "integrity": "sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-lib-source-maps": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz", + "integrity": "sha512-41eeNQ3Du3++LV0Hdz7m0UbeYMnShlJ7CkUOVy3tBeFwc0BE7chBs2Vqdx7xOzXBo2iRQfyiWBmqIZTbau3q+A==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "source-map": "^0.6.1" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz", + "integrity": "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.3.1.tgz", + "integrity": "sha512-N87VuQi7HEeRJkhzovao/JviiqKjDKMVKxKMfUvSKw+MbkbW8R0nA3fi/MQhhlxV2fQ+2ReM+/Nt4efdrJx3zA==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-4g1jrL98mdOIwSOUh6LTlB0Cs9I0dQPwINUhBg7C6pN4HLr8GS8xsksJxilW6S6dQHVi2K/o+lQuQcg7LroCnw==", + "dev": true + }, + "node_modules/@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/shelljs": { + "version": "0.8.9", + "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.9.tgz", + "integrity": "sha512-flVe1dvlrCyQJN/SGrnBxqHG+RzXrVKsmjD8WS/qYHpq5UPjfq7UWFBENP0ZuOl0g6OpAlL6iBoLSvKYUUmyQw==", + "dev": true, + "dependencies": { + "@types/glob": "*", + "@types/node": "*" + } + }, + "node_modules/@types/ws": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-6.0.1.tgz", + "integrity": "sha512-EzH8k1gyZ4xih/MaZTXwT2xOkPiIMSrhQ9b8wrlX88L0T02eYsddatQlwVFlEPyEqV0ChpdpNnE51QPH6NVT4Q==", + "dev": true, + "dependencies": { + "@types/events": "*", + "@types/node": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.2.tgz", + "integrity": "sha512-PGqpLLzHSxq956rzNGasO3GsAPf2lY9lDUBXhS++SKonglUmJypaUtcKzRtUte8CV7nruwnDxtLUKpVxs0wQBw==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "4.28.2", + "@typescript-eslint/scope-manager": "4.28.2", + "debug": "^4.3.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^4.0.0", + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.2.tgz", + "integrity": "sha512-MwHPsL6qo98RC55IoWWP8/opTykjTp4JzfPu1VfO2Z0MshNP0UZ1GEV5rYSSnZSUI8VD7iHvtIPVGW5Nfh7klQ==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.28.2", + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/typescript-estree": "4.28.2", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.2.tgz", + "integrity": "sha512-Q0gSCN51eikAgFGY+gnd5p9bhhCUAl0ERMiDKrTzpSoMYRubdB8MJrTTR/BBii8z+iFwz8oihxd0RAdP4l8w8w==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "4.28.2", + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/typescript-estree": "4.28.2", + "debug": "^4.3.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.2.tgz", + "integrity": "sha512-MqbypNjIkJFEFuOwPWNDjq0nqXAKZvDNNs9yNseoGBB1wYfz1G0WHC2AVOy4XD7di3KCcW3+nhZyN6zruqmp2A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/visitor-keys": "4.28.2" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.2.tgz", + "integrity": "sha512-Gr15fuQVd93uD9zzxbApz3wf7ua3yk4ZujABZlZhaxxKY8ojo448u7XTm/+ETpy0V0dlMtj6t4VdDvdc0JmUhA==", + "dev": true, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.2.tgz", + "integrity": "sha512-86lLstLvK6QjNZjMoYUBMMsULFw0hPHJlk1fzhAVoNjDBuPVxiwvGuPQq3fsBMCxuDJwmX87tM/AXoadhHRljg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/visitor-keys": "4.28.2", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.2.tgz", + "integrity": "sha512-aT2B4PLyyRDUVUafXzpZFoc0C9t0za4BJAKP5sgWIhG+jHECQZUEjuQSCIwZdiJJ4w4cgu5r3Kh20SOdtEBl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.28.2", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/append-transform": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", + "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", + "dev": true, + "dependencies": { + "default-require-extensions": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "node_modules/axios": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "dependencies": { + "follow-redirects": "^1.10.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/benchmark": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz", + "integrity": "sha1-CfPeMckWQl1JjMLuVloOvzwqVik=", + "dev": true, + "dependencies": { + "lodash": "^4.17.4", + "platform": "^1.3.3" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "dependencies": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/body-parser/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "engines": { + "node": "*" + } + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/chai": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", + "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "pathval": "^1.1.0", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/charm": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/charm/-/charm-1.0.2.tgz", + "integrity": "sha1-it02cVOm2aWBMxBSxAkJkdqZXjU=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1" + } + }, + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true + }, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concurrent": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/concurrent/-/concurrent-0.3.2.tgz", + "integrity": "sha1-DqoAEaFXmMVjURKPIiR/biMX9Q4=", + "dev": true + }, + "node_modules/concurrently": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-6.2.0.tgz", + "integrity": "sha512-v9I4Y3wFoXCSY2L73yYgwA9ESrQMpRn80jMcqMgHx720Hecz2GZAvTI6bREVST6lkddNypDKRN22qhK0X8Y00g==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "date-fns": "^2.16.1", + "lodash": "^4.17.21", + "read-pkg": "^5.2.0", + "rxjs": "^6.6.3", + "spawn-command": "^0.0.2-1", + "supports-color": "^8.1.0", + "tree-kill": "^1.2.2", + "yargs": "^16.2.0" + }, + "bin": { + "concurrently": "bin/concurrently.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/concurrently/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "node_modules/cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/date-fns": { + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.22.1.tgz", + "integrity": "sha512-yUFPQjrxEmIsMqlHhAhmxkuH769baF21Kk+nZwZGyrMoyLA+LugaQtC0+Tqf9CBUUULWwUJt6Q5ySI3LJDDCGg==", + "dev": true, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "dependencies": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dependencies": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dependencies": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2/node_modules/file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dependencies": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "dependencies": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-unzip/node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true + }, + "node_modules/deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "node_modules/default-require-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", + "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", + "dev": true, + "dependencies": { + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "7.30.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.30.0.tgz", + "integrity": "sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.2", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint/node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa/node_modules/is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "dependencies": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fastq": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", + "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", + "engines": { + "node": ">=4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.1.tgz", + "integrity": "sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", + "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, + "node_modules/get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "dependencies": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", + "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" + }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/intern": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/intern/-/intern-4.9.1.tgz", + "integrity": "sha512-Ef0+r2QeQSwKHCXzloAw7XXqt2Amgu73YnVzWJrekvREvb8BAku28sitcq89ekmyx0dKoyeXp22SmhLd4lr6gg==", + "dev": true, + "dependencies": { + "@theintern/common": "~0.2.4", + "@theintern/digdug": "~2.5.0", + "@theintern/leadfoot": "~2.3.2", + "@types/benchmark": "1.0.31", + "@types/chai": "4.1.7", + "@types/charm": "1.0.1", + "@types/express": "~4.17.0", + "@types/istanbul-lib-coverage": "~2.0.1", + "@types/istanbul-lib-instrument": "~1.7.3", + "@types/istanbul-lib-report": "~1.1.1", + "@types/istanbul-lib-source-maps": "~1.2.2", + "@types/istanbul-reports": "~1.1.1", + "@types/ws": "6.0.1", + "benchmark": "~2.1.4", + "body-parser": "~1.19.0", + "chai": "~4.2.0", + "charm": "~1.0.2", + "concurrent": "~0.3.2", + "diff": "~4.0.1", + "express": "~4.17.1", + "glob": "~7.1.4", + "http-errors": "~1.7.2", + "istanbul-lib-coverage": "~2.0.5", + "istanbul-lib-hook": "~2.0.7", + "istanbul-lib-instrument": "~3.3.0", + "istanbul-lib-report": "~2.0.8", + "istanbul-lib-source-maps": "~3.0.6", + "istanbul-reports": "~2.2.6", + "lodash": "~4.17.15", + "mime-types": "~2.1.24", + "minimatch": "~3.0.4", + "platform": "~1.3.5", + "resolve": "~1.11.1", + "shell-quote": "~1.6.1", + "source-map": "~0.6.1", + "ts-node": "^8.2.0", + "tslib": "~1.9.3", + "ws": "~7.0.0" + }, + "bin": { + "intern": "bin/intern.js" + } + }, + "node_modules/intern/node_modules/@theintern/common": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@theintern/common/-/common-0.2.4.tgz", + "integrity": "sha512-zq1Z/yZp9w6EHcLR+kn2cQ0Iu0/6G9e92Q74GOWGs4ITk07n9D1FQC5MK90nrtbkCt+EUue6QoIl9RUWY3BTCg==", + "dev": true, + "dependencies": { + "axios": "~0.21.1", + "tslib": "~1.9.3" + } + }, + "node_modules/intern/node_modules/resolve": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", + "dev": true, + "dependencies": { + "path-parse": "^1.0.6" + } + }, + "node_modules/intern/node_modules/ts-node": { + "version": "8.10.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", + "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", + "dev": true, + "dependencies": { + "arg": "^4.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "typescript": ">=2.7" + } + }, + "node_modules/intern/node_modules/tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", + "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-hook": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", + "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", + "dev": true, + "dependencies": { + "append-transform": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "dev": true, + "dependencies": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", + "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-report/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/istanbul-reports": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", + "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jszip": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.2.tgz", + "integrity": "sha512-NmKajvAFQpbg3taXQXr/ccS2wcucR1AZ+NtyWp2Nq7HHVsXhcJFR8p0Baf32C2yVvBylFWVeKf+WI2AnvlPhpA==", + "dev": true, + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "set-immediate-shim": "~1.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "node_modules/lint-staged": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-11.0.0.tgz", + "integrity": "sha512-3rsRIoyaE8IphSUtO1RVTFl1e0SLBtxxUOPBtHxQgBHS5/i6nqvjcUfNioMa4BU9yGnPzbO+xkfLtXtxBpCzjw==", + "dev": true, + "dependencies": { + "chalk": "^4.1.1", + "cli-truncate": "^2.1.0", + "commander": "^7.2.0", + "cosmiconfig": "^7.0.0", + "debug": "^4.3.1", + "dedent": "^0.7.0", + "enquirer": "^2.3.6", + "execa": "^5.0.0", + "listr2": "^3.8.2", + "log-symbols": "^4.1.0", + "micromatch": "^4.0.4", + "normalize-path": "^3.0.0", + "please-upgrade-node": "^3.2.0", + "string-argv": "0.3.1", + "stringify-object": "^3.3.0" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/listr2": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.10.0.tgz", + "integrity": "sha512-eP40ZHihu70sSmqFNbNy2NL1YwImmlMmPh9WO5sLmPDleurMHt3n+SwEWNu2kzKScexZnkyFtc1VI0z/TGlmpw==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^1.2.2", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rxjs": "^6.6.7", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "dev": true + }, + "node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "engines": { + "node": ">=4" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/marked": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz", + "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==", + "dev": true, + "bin": { + "marked": "bin/marked" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", + "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.31", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", + "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", + "dev": true, + "dependencies": { + "mime-db": "1.48.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/onigasm": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/onigasm/-/onigasm-2.2.5.tgz", + "integrity": "sha512-F+th54mPc0l1lp1ZcFMyL/jTs2Tlq4SqIHKIXGZOR/VkHkF9A7Fr5rRr5+ZG/lWeRsyrClLYRq7s/yFQ/XhWCA==", + "dev": true, + "dependencies": { + "lru-cache": "^5.1.1" + } + }, + "node_modules/onigasm/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/onigasm/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-shim": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", + "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "node_modules/picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/platform": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", + "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==", + "dev": true + }, + "node_modules/please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "dependencies": { + "semver-compare": "^1.0.0" + } + }, + "node_modules/pre-commit": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", + "integrity": "sha1-287g7p3nI15X95xW186UZBpp7sY=", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "cross-spawn": "^5.0.1", + "spawn-sync": "^1.0.15", + "which": "1.2.x" + } + }, + "node_modules/pre-commit/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/pre-commit/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/pre-commit/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pre-commit/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pre-commit/node_modules/which": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", + "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/pre-commit/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "dependencies": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "dependencies": { + "commander": "^2.8.1" + }, + "bin": { + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" + } + }, + "node_modules/seek-bzip/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true + }, + "node_modules/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.3.tgz", + "integrity": "sha512-KvITSOPOP542Mv4lS5Cx6/qgya20Hyk+JJUdfRfikzyV6iKPszdz5TrssURXRghmi6Z9y9gATRvxJ69zD7wydQ==", + "dev": true + }, + "node_modules/shelljs": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", + "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shiki": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.9.5.tgz", + "integrity": "sha512-XFn+rl3wIowDjzdr5DlHoHgQphXefgUTs2bNp/bZu4WF9gTrTLnKwio3f28VjiFG6Jpip7yQn/p4mMj6OrjrtQ==", + "dev": true, + "dependencies": { + "json5": "^2.2.0", + "onigasm": "^2.2.5", + "vscode-textmate": "5.2.0" + } + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spawn-command": { + "version": "0.0.2-1", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", + "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=", + "dev": true + }, + "node_modules/spawn-sync": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", + "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "concat-stream": "^1.4.7", + "os-shim": "^0.1.2" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", + "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", + "dev": true + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "dependencies": { + "is-natural-number": "^4.0.1" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/table": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", + "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.6.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.1.tgz", + "integrity": "sha512-42VLtQUOLefAvKFAQIxIZDaThq6om/PrfP0CYk3/vn+y4BMNkKnbli8ON2QCiHov4KkzOSJ/xSoBJdayiiYvVQ==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/table/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "node_modules/to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-node": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.1.0.tgz", + "integrity": "sha512-6szn3+J9WyG2hE+5W8e0ruZrzyk1uFLYye6IGMBadnOzDh8aP7t8CbFpsfCiEx2+wMixAhjFt7lOZC4+l+WbEA==", + "dev": true, + "dependencies": { + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/typedoc": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.21.4.tgz", + "integrity": "sha512-slZQhvD9U0d9KacktYAyuNMMOXJRFNHy+Gd8xY2Qrqq3eTTTv3frv3N4au/cFnab9t3T5WA0Orb6QUjMc+1bDA==", + "dev": true, + "dependencies": { + "glob": "^7.1.7", + "handlebars": "^4.7.7", + "lunr": "^2.3.9", + "marked": "^2.1.1", + "minimatch": "^3.0.0", + "progress": "^2.0.3", + "shiki": "^0.9.3", + "typedoc-default-themes": "^0.12.10" + }, + "bin": { + "typedoc": "bin/typedoc" + }, + "engines": { + "node": ">= 12.20.0" + }, + "peerDependencies": { + "typescript": "4.0.x || 4.1.x || 4.2.x || 4.3.x" + } + }, + "node_modules/typedoc-default-themes": { + "version": "0.12.10", + "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.12.10.tgz", + "integrity": "sha512-fIS001cAYHkyQPidWXmHuhs8usjP5XVJjWB8oZGqkTowZaz3v7g3KDZeeqE82FBrmkAnIBOY3jgy7lnPnqATbA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/typescript": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", + "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/uglify-js": { + "version": "3.13.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.10.tgz", + "integrity": "sha512-57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vscode-textmate": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-5.2.0.tgz", + "integrity": "sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==", + "dev": true + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "node_modules/ws": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.0.1.tgz", + "integrity": "sha512-ILHfMbuqLJvnSgYXLgy4kMntroJpe8hT41dOVWM8bxRuw6TK4mgMp9VJUNsZTEc5Bh+Mbs0DJT4M0N+wBG9l9A==", + "dev": true, + "dependencies": { + "async-limiter": "^1.0.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + } + }, "dependencies": { "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", + "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", + "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", + "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", + "dev": true + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", "dev": true, "requires": { - "@babel/highlight": "^7.0.0" + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, - "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "@babel/parser": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz", + "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==", + "dev": true + }, + "@babel/template": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", "dev": true, "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" }, "dependencies": { - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } } } }, - "@babel/runtime": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.5.tgz", - "integrity": "sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==", + "@babel/traverse": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz", + "integrity": "sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==", "dev": true, "requires": { - "regenerator-runtime": "^0.13.2" + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.14.7", + "@babel/types": "^7.14.5", + "debug": "^4.1.0", + "globals": "^11.1.0" }, "dependencies": { - "regenerator-runtime": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", - "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==", + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true } } }, - "@samverschueren/stream-to-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz", - "integrity": "sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==", + "@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + } + }, + "@eslint/eslintrc": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.2.tgz", + "integrity": "sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + } + }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "requires": { - "any-observable": "^0.3.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" } }, "@theintern/common": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@theintern/common/-/common-0.2.3.tgz", - "integrity": "sha512-91kL3C6USiNfumAm5m07HjGdc40IJaNzEczhcdW5T8fjsHVNg8ttVSXCzy5C9BM57WLevVjR5eHUNjEl4foGMQ==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@theintern/common/-/common-0.3.0.tgz", + "integrity": "sha512-VKSyZGEyzmicJPvV5Gxeavm8Xbcr0cETAAqMapWZzA9Q85YHMG8VSrmPFlMrDQ524qE0IqQsTi0IlH8NIaN+eQ==", "requires": { - "axios": "~0.19.0", - "tslib": "~1.9.3" + "axios": "~0.21.1", + "tslib": "~2.3.0" } }, "@theintern/dev": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@theintern/dev/-/dev-0.10.2.tgz", - "integrity": "sha512-evRh7tOlS/+ujRJCIAzFUjVkeB3pSADbt5711blH7Af9OAbpksBQwckqZjaE/s477wA5Jy2sp9E7E+Y/QxicyQ==", + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@theintern/dev/-/dev-0.11.0.tgz", + "integrity": "sha512-wdgT6EopXi54RFd/tCNUimlMc18WpXpd5FQw5u4imk7xNMveb3B3IvmHeQbqtqY05gZWTXXivUUJCJzDo+nDZg==", "dev": true, "requires": { - "chalk": "~2.4.2", - "chokidar": "~3.0.1", + "@typescript-eslint/eslint-plugin": "~4.28.2", + "@typescript-eslint/parser": "~4.28.2", + "chalk": "~4.1.1", + "chokidar": "~3.5.2", + "eslint": "~7.30.0", "glob": "~7.1.4", - "lint-staged": "~8.2.0", + "lint-staged": "~11.0.0", "pre-commit": "~1.2.2", - "prettier": "~1.17.1", - "resolve": "~1.11.1", - "semver": "~6.1.1", + "prettier": "~2.3.2", + "resolve": "~1.20.0", + "semver": "~7.3.5", "shelljs": "~0.8.3", - "tslint": "~5.17.0", - "tslint-config-prettier": "~1.18.0", - "typedoc": "~0.15.0-0", - "typescript": "~3.5.1" - }, - "dependencies": { - "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "resolve": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", - "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - } + "typedoc": "~0.21.2", + "typescript": "4.3.5" } }, "@theintern/digdug": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@theintern/digdug/-/digdug-2.2.4.tgz", - "integrity": "sha512-hVsQ9YFFW8F675ITnNsCfrIMTOYf4JdhceHKx8O40r4xZImXPBnTGYHGh6djBV68ULxxv1dWyCI+1xa/dTjWdg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@theintern/digdug/-/digdug-2.5.0.tgz", + "integrity": "sha512-g5mRt94GENnXxHgpccK9gjwyaK+61+fnF+njMnJGJQkxhjCjfShu9R3btt3/vSy5kkWxop83UN2/oAkiyqTKDw==", "dev": true, "requires": { - "@theintern/common": "~0.1.3", + "@theintern/common": "~0.2.3", "command-exists": "~1.2.6", "decompress": "~4.2.0", - "semver": "~5.5.0", "tslib": "~1.9.3" }, "dependencies": { "@theintern/common": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@theintern/common/-/common-0.1.4.tgz", - "integrity": "sha512-gkoL0S3nQJToKTcfTOHoxqBVChhCmQ3bgXS9a5iV32VSTmq7jK3FHSol7vJNRatbdL8/YvzQEXbbc+q8B62dLA==", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@theintern/common/-/common-0.2.4.tgz", + "integrity": "sha512-zq1Z/yZp9w6EHcLR+kn2cQ0Iu0/6G9e92Q74GOWGs4ITk07n9D1FQC5MK90nrtbkCt+EUue6QoIl9RUWY3BTCg==", "dev": true, "requires": { - "axios": "~0.18.0", + "axios": "~0.21.1", "tslib": "~1.9.3" } }, - "axios": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", - "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", - "dev": true, - "requires": { - "follow-redirects": "1.5.10", - "is-buffer": "^2.0.2" - } - }, - "is-buffer": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", - "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==", - "dev": true - }, - "semver": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", - "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", "dev": true } } }, "@theintern/leadfoot": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@theintern/leadfoot/-/leadfoot-2.2.10.tgz", - "integrity": "sha512-2CzsEhLebDM6XDjyCG+M8h4stHt1pGcOWc3Ezcst9r4ewCxeu9DKvspB1XH3FtlsUBDRUZbk2XA050wAUBIi5Q==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@theintern/leadfoot/-/leadfoot-2.3.3.tgz", + "integrity": "sha512-zn7MeYk8G3PIXFVSk7PjyTxllnWCe8vE4dcyHPmlrdunYByI8PF6AaDzK70whoBSkE+LkcxrsUslquHRNsWRCA==", "dev": true, "requires": { - "@theintern/common": "~0.1.3", - "jszip": "~3.1.5", + "@theintern/common": "~0.2.3", + "jszip": "~3.2.1", "tslib": "~1.9.3" }, "dependencies": { "@theintern/common": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@theintern/common/-/common-0.1.4.tgz", - "integrity": "sha512-gkoL0S3nQJToKTcfTOHoxqBVChhCmQ3bgXS9a5iV32VSTmq7jK3FHSol7vJNRatbdL8/YvzQEXbbc+q8B62dLA==", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@theintern/common/-/common-0.2.4.tgz", + "integrity": "sha512-zq1Z/yZp9w6EHcLR+kn2cQ0Iu0/6G9e92Q74GOWGs4ITk07n9D1FQC5MK90nrtbkCt+EUue6QoIl9RUWY3BTCg==", "dev": true, "requires": { - "axios": "~0.18.0", + "axios": "~0.21.1", "tslib": "~1.9.3" } }, - "axios": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", - "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", - "dev": true, - "requires": { - "follow-redirects": "1.5.10", - "is-buffer": "^2.0.2" - } - }, - "is-buffer": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", - "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==", + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", "dev": true } } }, + "@tsconfig/node10": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "dev": true + }, + "@tsconfig/node12": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "dev": true + }, + "@tsconfig/node14": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "dev": true + }, + "@tsconfig/node16": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.1.tgz", + "integrity": "sha512-FTgBI767POY/lKNDNbIzgAX6miIDBs6NTCbdlDb8TrWovHsSvaVIZDlTqym29C6UqhzwcJx4CYr+AlrMywA0cA==", + "dev": true + }, "@types/babel-types": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.7.tgz", - "integrity": "sha512-dBtBbrc+qTHy1WdfHYjBwRln4+LWqASWakLHsWHR2NWHIFkv4W3O070IGoGLEBrJBvct3r0L1BUPuvURi7kYUQ==", + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.10.tgz", + "integrity": "sha512-g7zrcqL4MiRu3jZzdZZYk0g0KcKk2fddXazSdP1PacEpmjihRsNGU50aaEKnPFuKzfN7WkRktUiCXvs4zU9XXQ==", "dev": true }, "@types/benchmark": { @@ -212,9 +5599,9 @@ "dev": true }, "@types/body-parser": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.0.tgz", - "integrity": "sha512-a2+YeUjPkztKJu5aIF2yArYFQQp8d51wZ7DavSHjFuY1mqVgidGyzEQ41JIVNy82fXj8yPgy2vJmfIywgESW6w==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz", + "integrity": "sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==", "dev": true, "requires": { "@types/connect": "*", @@ -243,18 +5630,18 @@ "dev": true }, "@types/connect": { - "version": "3.4.32", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz", - "integrity": "sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==", + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", "dev": true, "requires": { "@types/node": "*" } }, "@types/decompress": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.3.tgz", - "integrity": "sha512-W24e3Ycz1UZPgr1ZEDHlK4XnvOr+CpJH3qNsFeqXwwlW/9END9gxn3oJSsp7gYdiQxrXUHwUUd3xuzVz37MrZQ==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@types/decompress/-/decompress-4.2.4.tgz", + "integrity": "sha512-/C8kTMRTNiNuWGl5nEyKbPiMv6HA+0RbEXzFhFBEzASM6+oa4tJro9b8nj7eRlOFfuLdzUU+DS/GPDlvvzMOhA==", "dev": true, "requires": { "@types/node": "*" @@ -266,180 +5653,153 @@ "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", "dev": true }, - "@types/execa": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/execa/-/execa-2.0.0.tgz", - "integrity": "sha512-aBnkJ0r3khaZkHzu9pDZeWXrDg1N/ZtDGRQkK+KIqNVvvTvW+URXMUHQQCQMYdb2GPrcwu9Fq6l9iiT+pirIbg==", - "dev": true, - "requires": { - "execa": "*" - } - }, "@types/express": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.16.1.tgz", - "integrity": "sha512-V0clmJow23WeyblmACoxbHBu2JKlE5TiIme6Lem14FnPW9gsttyHtk6wq7njcdIWH1njAaFgR8gW09lgY98gQg==", + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", "dev": true, "requires": { "@types/body-parser": "*", - "@types/express-serve-static-core": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", "@types/serve-static": "*" } }, "@types/express-serve-static-core": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.6.tgz", - "integrity": "sha512-8wr3CA/EMybyb6/V8qvTRKiNkPmgUA26uA9XWD6hlA0yFDuqi4r2L0C2B0U2HAYltJamoYJszlkaWM31vrKsHg==", + "version": "4.17.24", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz", + "integrity": "sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==", "dev": true, "requires": { "@types/node": "*", + "@types/qs": "*", "@types/range-parser": "*" } }, - "@types/fs-extra": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.1.0.tgz", - "integrity": "sha512-AInn5+UBFIK9FK5xc9yP5e3TQSPNNgjHByqYcj9g5elVBnDQcQL7PlO1CIRy2gWlbwK7UPYqi7vRvFA44dCmYQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", - "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", "dev": true, "requires": { - "@types/events": "*", "@types/minimatch": "*", "@types/node": "*" } }, - "@types/highlight.js": { - "version": "9.12.3", - "resolved": "https://registry.npmjs.org/@types/highlight.js/-/highlight.js-9.12.3.tgz", - "integrity": "sha512-pGF/zvYOACZ/gLGWdQH8zSwteQS1epp68yRcVLJMgUck/MjEn/FBYmPub9pXT8C1e4a8YZfHo1CKyV8q1vKUnQ==", - "dev": true - }, "@types/istanbul-lib-coverage": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.0.tgz", - "integrity": "sha512-ohkhb9LehJy+PA40rDtGAji61NCgdtKLAlFoYp4cnuuQEswwdK3vz9SOIkkyc3wrk8dzjphQApNs56yyXLStaQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", "dev": true }, "@types/istanbul-lib-instrument": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.2.tgz", - "integrity": "sha512-SWIpdKneXqThfrKIokt9dXSPeslS2NWcxhtr+/a2+N81aLyOMAsVTMmwaKuCoEahcI0FfhY3/79AR6Vilk9i8A==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.4.tgz", + "integrity": "sha512-1i1VVkU2KrpZCmti+t5J/zBb2KLKxHgU1EYL+0QtnDnVyZ59aSKcpnG6J0I6BZGDON566YzPNIlNfk7m+9l1JA==", "dev": true, "requires": { "@types/babel-types": "*", "@types/istanbul-lib-coverage": "*", "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } } }, "@types/istanbul-lib-report": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.0.tgz", - "integrity": "sha512-nW5QuzmMhr7fHPijtaGOemFFI8Ctrxb/dIXgouSlKmWT16RxWlGLEX/nGghIBOReKe9hPFZXoNh338nFQk2xcA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", + "integrity": "sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "*" } }, "@types/istanbul-lib-source-maps": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz", - "integrity": "sha512-K0IvmTFbI2GjLG0O4AOLPV2hFItE5Bg/TY41IBZIThhLhYthJc3VjpZpM8/sIaIVtnQcX8b2k3muPDvsvhk+Fg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz", + "integrity": "sha512-41eeNQ3Du3++LV0Hdz7m0UbeYMnShlJ7CkUOVy3tBeFwc0BE7chBs2Vqdx7xOzXBo2iRQfyiWBmqIZTbau3q+A==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "*", "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } } }, "@types/istanbul-reports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.0.tgz", - "integrity": "sha512-wrJUtE1+HuaRz0Le7fc5l1nMTermRh6wlEvOdQPilseNScyYgQK8MdgDP2cf/X8+6e1dtsX/zP4W4kH/jyHvFw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "*", "@types/istanbul-lib-report": "*" } }, - "@types/lodash": { - "version": "4.14.134", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.134.tgz", - "integrity": "sha512-2/O0khFUCFeDlbi7sZ7ZFRCcT812fAeOLm7Ev4KbwASkZ575TDrDcY7YyaoHdTOzKcNbfiwLYZqPmoC4wadrsw==", - "dev": true - }, - "@types/marked": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/@types/marked/-/marked-0.6.5.tgz", - "integrity": "sha512-6kBKf64aVfx93UJrcyEZ+OBM5nGv4RLsI6sR1Ar34bpgvGVRoyTgpxn4ZmtxOM5aDTAaaznYuYUH8bUX3Nk3YA==", + "@types/json-schema": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz", + "integrity": "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==", "dev": true }, "@types/mime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.1.tgz", - "integrity": "sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", "dev": true }, "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", "dev": true }, "@types/node": { - "version": "12.0.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.12.tgz", - "integrity": "sha512-Uy0PN4R5vgBUXFoJrKryf5aTk3kJ8Rv3PdlHjl6UaX+Cqp1QE0yPQ68MPXGrZOfG7gZVNDIJZYyot0B9ubXUrQ==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.3.1.tgz", + "integrity": "sha512-N87VuQi7HEeRJkhzovao/JviiqKjDKMVKxKMfUvSKw+MbkbW8R0nA3fi/MQhhlxV2fQ+2ReM+/Nt4efdrJx3zA==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", "dev": true }, "@types/range-parser": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", - "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true }, "@types/semver": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.0.0.tgz", - "integrity": "sha512-OO0srjOGH99a4LUN2its3+r6CBYcplhJ466yLqs+zvAWgphCpS8hYZEZ797tRDP/QKcqTdb/YCN6ifASoAWkrQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-4g1jrL98mdOIwSOUh6LTlB0Cs9I0dQPwINUhBg7C6pN4HLr8GS8xsksJxilW6S6dQHVi2K/o+lQuQcg7LroCnw==", "dev": true }, "@types/serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-/BZ4QRLpH/bNYgZgwhKEh+5AsboDBcUdlBYgzoLX0fpj3Y2gp6EApyOlM3bK53wQS/OE1SrdSYBAbux2D1528Q==", + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", "dev": true, "requires": { - "@types/express-serve-static-core": "*", - "@types/mime": "*" + "@types/mime": "^1", + "@types/node": "*" } }, "@types/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-bZgjwIWu9gHCjirKJoOlLzGi5N0QgZ5t7EXEuoqyWCHTuSddURXo3FOBYDyRPNOWzZ6NbkLvZnVkn483Y/tvcQ==", + "version": "0.8.9", + "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.9.tgz", + "integrity": "sha512-flVe1dvlrCyQJN/SGrnBxqHG+RzXrVKsmjD8WS/qYHpq5UPjfq7UWFBENP0ZuOl0g6OpAlL6iBoLSvKYUUmyQw==", "dev": true, "requires": { "@types/glob": "*", @@ -456,412 +5816,253 @@ "@types/node": "*" } }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "@typescript-eslint/eslint-plugin": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.2.tgz", + "integrity": "sha512-PGqpLLzHSxq956rzNGasO3GsAPf2lY9lDUBXhS++SKonglUmJypaUtcKzRtUte8CV7nruwnDxtLUKpVxs0wQBw==", "dev": true, "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "@typescript-eslint/experimental-utils": "4.28.2", + "@typescript-eslint/scope-manager": "4.28.2", + "debug": "^4.3.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" } }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "@typescript-eslint/experimental-utils": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.2.tgz", + "integrity": "sha512-MwHPsL6qo98RC55IoWWP8/opTykjTp4JzfPu1VfO2Z0MshNP0UZ1GEV5rYSSnZSUI8VD7iHvtIPVGW5Nfh7klQ==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.28.2", + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/typescript-estree": "4.28.2", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" } }, - "any-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", - "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==", - "dev": true - }, - "anymatch": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.0.2.tgz", - "integrity": "sha512-rUe9SxpRQlVg4EM8It7JMNWWYHAirTPpbTuvaSKybb5IejNgWB3PGBBX9rrPKDx2pM/p3Wh+7+ASaWRyyAbxmQ==", + "@typescript-eslint/parser": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.2.tgz", + "integrity": "sha512-Q0gSCN51eikAgFGY+gnd5p9bhhCUAl0ERMiDKrTzpSoMYRubdB8MJrTTR/BBii8z+iFwz8oihxd0RAdP4l8w8w==", "dev": true, "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@typescript-eslint/scope-manager": "4.28.2", + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/typescript-estree": "4.28.2", + "debug": "^4.3.1" } }, - "append-transform": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", - "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", + "@typescript-eslint/scope-manager": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.2.tgz", + "integrity": "sha512-MqbypNjIkJFEFuOwPWNDjq0nqXAKZvDNNs9yNseoGBB1wYfz1G0WHC2AVOy4XD7di3KCcW3+nhZyN6zruqmp2A==", "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/visitor-keys": "4.28.2" } }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "@typescript-eslint/types": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.2.tgz", + "integrity": "sha512-Gr15fuQVd93uD9zzxbApz3wf7ua3yk4ZujABZlZhaxxKY8ojo448u7XTm/+ETpy0V0dlMtj6t4VdDvdc0JmUhA==", "dev": true }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "@typescript-eslint/typescript-estree": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.2.tgz", + "integrity": "sha512-86lLstLvK6QjNZjMoYUBMMsULFw0hPHJlk1fzhAVoNjDBuPVxiwvGuPQq3fsBMCxuDJwmX87tM/AXoadhHRljg==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/visitor-keys": "4.28.2", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-filter": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", - "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=", - "dev": true - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "array-map": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", - "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=", - "dev": true - }, - "array-reduce": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", - "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "@typescript-eslint/visitor-keys": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.2.tgz", + "integrity": "sha512-aT2B4PLyyRDUVUafXzpZFoc0C9t0za4BJAKP5sgWIhG+jHECQZUEjuQSCIwZdiJJ4w4cgu5r3Kh20SOdtEBl0w==", "dev": true, "requires": { - "array-uniq": "^1.0.1" + "@typescript-eslint/types": "4.28.2", + "eslint-visitor-keys": "^2.0.0" } }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "axios": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz", - "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==", + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, "requires": { - "follow-redirects": "1.5.10", - "is-buffer": "^2.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", - "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" - } + "mime-types": "~2.1.24", + "negotiator": "0.6.2" } }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } + "requires": {} }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" } }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "type-fest": "^0.21.3" }, "dependencies": { - "core-js": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", - "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==", + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true } } }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "color-convert": "^2.0.1" } }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "append-transform": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", + "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "default-require-extensions": "^2.0.0" } }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true }, - "backbone": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.4.0.tgz", - "integrity": "sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ==", + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "underscore": ">=1.8.3" + "sprintf-js": "~1.0.2" } }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "axios": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "follow-redirects": "^1.10.0" } }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, "benchmark": { "version": "2.1.4", @@ -874,9 +6075,9 @@ } }, "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, "bl": { @@ -889,21 +6090,21 @@ } }, "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", "dev": true, "requires": { - "bytes": "3.0.0", + "bytes": "3.1.0", "content-type": "~1.0.4", "debug": "2.6.9", "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" }, "dependencies": { "debug": { @@ -915,6 +6116,25 @@ "ms": "2.0.0" } }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -934,41 +6154,21 @@ } }, "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" } }, "buffer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, "buffer-alloc": { @@ -1001,88 +6201,40 @@ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", "dev": true }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "requires": { - "callsites": "^2.0.0" - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, "chai": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.1.2.tgz", - "integrity": "sha1-D2RYS6ZC8PKs4oBiefTwbKI61zw=", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", + "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", "dev": true, "requires": { - "assertion-error": "^1.0.1", - "check-error": "^1.0.1", - "deep-eql": "^3.0.0", + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", "get-func-name": "^2.0.0", - "pathval": "^1.0.0", - "type-detect": "^4.0.0" + "pathval": "^1.1.0", + "type-detect": "^4.0.5" } }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, "charm": { @@ -1094,245 +6246,94 @@ "inherits": "^2.0.1" } }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true - }, - "chokidar": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.0.1.tgz", - "integrity": "sha512-2ww34sJWehnbpV0Q4k4V5Hh7juo7po6z7LUWkcIQnSGN1lHOL8GGtLtfwabKvLFQw/hbSUQ0u6V7OgGYgBzlkQ==", - "dev": true, - "requires": { - "anymatch": "^3.0.1", - "async-each": "^1.0.3", - "braces": "^3.0.2", - "fsevents": "^2.0.6", - "glob-parent": "^5.0.0", - "is-binary-path": "^2.1.0", - "is-glob": "^4.0.1", - "normalize-path": "^3.0.0", - "readdirp": "^3.0.2" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-truncate": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", - "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", - "dev": true, - "requires": { - "slice-ansi": "0.0.4", - "string-width": "^1.0.1" - } - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - } - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", "dev": true }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "restore-cursor": "^3.1.0" + } + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "color-name": "1.1.3" + "color-name": "~1.1.4" } }, "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", "dev": true }, "command-exists": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.8.tgz", - "integrity": "sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==" + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" }, "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true }, "concat-map": { @@ -1353,45 +6354,48 @@ "typedarray": "^0.0.6" } }, + "concurrent": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/concurrent/-/concurrent-0.3.2.tgz", + "integrity": "sha1-DqoAEaFXmMVjURKPIiR/biMX9Q4=", + "dev": true + }, "concurrently": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-4.1.0.tgz", - "integrity": "sha512-pwzXCE7qtOB346LyO9eFWpkFJVO3JQZ/qU/feGeaAHiX1M3Rw3zgXKc5cZ8vSH5DGygkjzLFDzA/pwoQDkRNGg==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-6.2.0.tgz", + "integrity": "sha512-v9I4Y3wFoXCSY2L73yYgwA9ESrQMpRn80jMcqMgHx720Hecz2GZAvTI6bREVST6lkddNypDKRN22qhK0X8Y00g==", "dev": true, "requires": { - "chalk": "^2.4.1", - "date-fns": "^1.23.0", - "lodash": "^4.17.10", - "read-pkg": "^4.0.1", - "rxjs": "^6.3.3", + "chalk": "^4.1.0", + "date-fns": "^2.16.1", + "lodash": "^4.17.21", + "read-pkg": "^5.2.0", + "rxjs": "^6.6.3", "spawn-command": "^0.0.2-1", - "supports-color": "^4.5.0", - "tree-kill": "^1.1.0", - "yargs": "^12.0.1" + "supports-color": "^8.1.0", + "tree-kill": "^1.2.2", + "yargs": "^16.2.0" }, "dependencies": { - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "requires": { - "has-flag": "^2.0.0" + "has-flag": "^4.0.0" } } } }, "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", - "dev": true + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } }, "content-type": { "version": "1.0.4", @@ -1400,9 +6404,9 @@ "dev": true }, "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", "dev": true }, "cookie-signature": { @@ -1411,73 +6415,56 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "core-js": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", - "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=", - "dev": true - }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", "dev": true, "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" } }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, "date-fns": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", - "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.22.1.tgz", + "integrity": "sha512-yUFPQjrxEmIsMqlHhAhmxkuH769baF21Kk+nZwZGyrMoyLA+LugaQtC0+Tqf9CBUUULWwUJt6Q5ySI3LJDDCGg==", "dev": true }, "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, "decompress": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", @@ -1565,76 +6552,19 @@ "type-detect": "^4.0.0" } }, - "default-require-extensions": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", - "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", - "dev": true, - "requires": { - "strip-bom": "^2.0.0" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true }, - "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "default-require-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", + "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", "dev": true, "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } + "strip-bom": "^3.0.0" } }, "depd": { @@ -1649,20 +6579,29 @@ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "requires": { - "repeating": "^2.0.0" + "path-type": "^4.0.0" } }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } }, "ee-first": { "version": "1.1.1", @@ -1670,10 +6609,10 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, - "elegant-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", - "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "encodeurl": { @@ -1683,13 +6622,22 @@ "dev": true }, "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "requires": { "once": "^1.4.0" } }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -1699,10 +6647,10 @@ "is-arrayish": "^0.2.1" } }, - "es6-promise": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", - "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, "escape-html": { @@ -1712,197 +6660,245 @@ "dev": true }, "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint": { + "version": "7.30.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.30.0.tgz", + "integrity": "sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg==", + "dev": true, + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.2", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true - }, - "execa": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.2.tgz", - "integrity": "sha512-QI2zLa6CjGWdiQsmSkZoGtDx2N+cQIGb3yNolGTdjSQzydzLgYYf8LRuagp7S7fPimjcrzUDSUFd/MgzELMi4Q==", + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" + "estraverse": "^5.1.0" }, "dependencies": { - "cross-spawn": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.2.tgz", - "integrity": "sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "get-stream": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", - "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } } } }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true }, - "ms": { + "is-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true } } }, "express": { - "version": "4.16.4", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", - "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", "dev": true, "requires": { - "accepts": "~1.3.5", + "accepts": "~1.3.7", "array-flatten": "1.1.1", - "body-parser": "1.18.3", - "content-disposition": "0.5.2", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", "content-type": "~1.0.4", - "cookie": "0.3.1", + "cookie": "0.4.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~1.1.2", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.1.1", + "finalhandler": "~1.1.2", "fresh": "0.5.2", "merge-descriptors": "1.0.1", "methods": "~1.1.2", "on-finished": "~2.3.0", - "parseurl": "~1.3.2", + "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.4", - "qs": "6.5.2", - "range-parser": "~1.2.0", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", "safe-buffer": "5.1.2", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" }, @@ -1921,99 +6917,47 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", - "dev": true } } }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" } }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastq": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", + "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==", "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "reusify": "^1.0.4" } }, "fd-slicer": { @@ -2024,14 +6968,13 @@ "pend": "~1.2.0" } }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" + "flat-cache": "^3.0.4" } }, "file-type": { @@ -2040,40 +6983,26 @@ "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" }, "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "to-regex-range": "^5.0.1" } }, "finalhandler": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", "unpipe": "~1.0.0" }, "dependencies": { @@ -2091,74 +7020,36 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", - "dev": true } } }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "requires": { - "locate-path": "^3.0.0" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" } }, - "fn-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz", - "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=", + "flatted": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.1.tgz", + "integrity": "sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==", "dev": true }, "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "requires": { - "debug": "=3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", + "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==" }, "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", @@ -2170,17 +7061,6 @@ "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -2188,27 +7068,28 @@ "dev": true }, "fsevents": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz", - "integrity": "sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "optional": true }, - "g-status": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/g-status/-/g-status-2.0.2.tgz", - "integrity": "sha512-kQoE9qH+T1AHKgSSD0Hkv98bobE90ILQcXAF4wvGgsr7uFqNvwmh8j+Lq3l0RVt3E3HjSbv2B9biEGcEtpHLCA==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "matcher": "^1.0.0", - "simple-git": "^1.85.0" - } + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true }, "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, "get-func-name": { @@ -2218,9 +7099,9 @@ "dev": true }, "get-own-enumerable-property-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz", - "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", "dev": true }, "get-stream": { @@ -2232,16 +7113,10 @@ "pinkie-promise": "^2.0.0" } }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -2253,53 +7128,54 @@ } }, "glob-parent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz", - "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" - }, - "dependencies": { - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - } } }, "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", + "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } }, "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", "dev": true, "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "dependencies": { + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + } } }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" }, "handlebars": { - "version": "4.7.6", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", - "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "dev": true, "requires": { "minimist": "^1.2.5", @@ -2307,126 +7183,73 @@ "source-map": "^0.6.1", "uglify-js": "^3.1.4", "wordwrap": "^1.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - } } }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - } + "function-bind": "^1.1.1" } }, "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "highlight.js": { - "version": "9.18.5", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.5.tgz", - "integrity": "sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==", + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, - "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", "dev": true, "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" } }, "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true }, "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true }, "immediate": { "version": "3.0.6", @@ -2435,19 +7258,25 @@ "dev": true }, "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" } }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true }, "inflight": { @@ -2461,145 +7290,108 @@ } }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "intern": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/intern/-/intern-4.4.3.tgz", - "integrity": "sha512-amrOqBKIJwlXestVRo42zk3Du54vjQtXEjPDt2PjhVIhin97/izFlAIpsyti8fENuHLa9UMkaReb7nHl6zP0Vg==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/intern/-/intern-4.9.1.tgz", + "integrity": "sha512-Ef0+r2QeQSwKHCXzloAw7XXqt2Amgu73YnVzWJrekvREvb8BAku28sitcq89ekmyx0dKoyeXp22SmhLd4lr6gg==", "dev": true, "requires": { - "@theintern/common": "~0.1.3", - "@theintern/digdug": "~2.2.3", - "@theintern/leadfoot": "~2.2.10", + "@theintern/common": "~0.2.4", + "@theintern/digdug": "~2.5.0", + "@theintern/leadfoot": "~2.3.2", "@types/benchmark": "1.0.31", "@types/chai": "4.1.7", "@types/charm": "1.0.1", - "@types/express": "4.16.1", - "@types/istanbul-lib-coverage": "1.1.0", - "@types/istanbul-lib-instrument": "1.7.2", - "@types/istanbul-lib-report": "1.1.0", - "@types/istanbul-lib-source-maps": "1.2.1", - "@types/istanbul-reports": "1.1.0", + "@types/express": "~4.17.0", + "@types/istanbul-lib-coverage": "~2.0.1", + "@types/istanbul-lib-instrument": "~1.7.3", + "@types/istanbul-lib-report": "~1.1.1", + "@types/istanbul-lib-source-maps": "~1.2.2", + "@types/istanbul-reports": "~1.1.1", "@types/ws": "6.0.1", "benchmark": "~2.1.4", - "body-parser": "~1.18.3", - "chai": "~4.1.2", + "body-parser": "~1.19.0", + "chai": "~4.2.0", "charm": "~1.0.2", - "diff": "~3.5.0", - "express": "~4.16.3", - "glob": "~7.1.1", - "http-errors": "~1.6.3", - "istanbul-lib-coverage": "~1.2.1", - "istanbul-lib-hook": "~1.2.2", - "istanbul-lib-instrument": "~1.10.2", - "istanbul-lib-report": "~1.1.5", - "istanbul-lib-source-maps": "~1.2.6", - "istanbul-reports": "~1.5.1", - "lodash": "~4.17.11", - "mime-types": "~2.1.19", + "concurrent": "~0.3.2", + "diff": "~4.0.1", + "express": "~4.17.1", + "glob": "~7.1.4", + "http-errors": "~1.7.2", + "istanbul-lib-coverage": "~2.0.5", + "istanbul-lib-hook": "~2.0.7", + "istanbul-lib-instrument": "~3.3.0", + "istanbul-lib-report": "~2.0.8", + "istanbul-lib-source-maps": "~3.0.6", + "istanbul-reports": "~2.2.6", + "lodash": "~4.17.15", + "mime-types": "~2.1.24", "minimatch": "~3.0.4", "platform": "~1.3.5", - "resolve": "~1.7.1", + "resolve": "~1.11.1", "shell-quote": "~1.6.1", "source-map": "~0.6.1", - "statuses": "~1.5.0", + "ts-node": "^8.2.0", "tslib": "~1.9.3", - "ws": "~5.1.1" + "ws": "~7.0.0" }, "dependencies": { "@theintern/common": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@theintern/common/-/common-0.1.4.tgz", - "integrity": "sha512-gkoL0S3nQJToKTcfTOHoxqBVChhCmQ3bgXS9a5iV32VSTmq7jK3FHSol7vJNRatbdL8/YvzQEXbbc+q8B62dLA==", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@theintern/common/-/common-0.2.4.tgz", + "integrity": "sha512-zq1Z/yZp9w6EHcLR+kn2cQ0Iu0/6G9e92Q74GOWGs4ITk07n9D1FQC5MK90nrtbkCt+EUue6QoIl9RUWY3BTCg==", "dev": true, "requires": { - "axios": "~0.18.0", + "axios": "~0.21.1", "tslib": "~1.9.3" } }, - "axios": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", - "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", - "dev": true, - "requires": { - "follow-redirects": "1.5.10", - "is-buffer": "^2.0.2" - } - }, - "is-buffer": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", - "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==", - "dev": true - }, "resolve": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", - "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", "dev": true, "requires": { - "path-parse": "^1.0.5" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", - "dev": true - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", - "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "path-parse": "^1.0.6" + } + }, + "ts-node": { + "version": "8.10.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", + "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "arg": "^4.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" } + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true } } }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -2615,91 +7407,31 @@ "binary-extensions": "^2.0.0" } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", + "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "has": "^1.0.3" } }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true }, "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, "requires": { "is-extglob": "^2.1.1" @@ -2711,24 +7443,10 @@ "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" }, "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true }, "is-obj": { "version": "1.0.1", @@ -2736,54 +7454,6 @@ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, - "is-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", - "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", - "dev": true, - "requires": { - "symbol-observable": "^1.1.0" - } - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "requires": { - "is-path-inside": "^1.0.0" - } - }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, "is-regexp": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", @@ -2795,16 +7465,10 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, "isarray": { @@ -2818,117 +7482,159 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, "istanbul-lib-coverage": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", - "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", "dev": true }, "istanbul-lib-hook": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz", - "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", + "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "^1.0.0" } }, "istanbul-lib-instrument": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", - "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", "dev": true, "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.1", - "semver": "^5.3.0" + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" }, "dependencies": { "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, "istanbul-lib-report": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz", - "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", + "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", "dev": true, "requires": { - "istanbul-lib-coverage": "^1.2.1", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "supports-color": "^6.1.0" }, "dependencies": { "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "^3.0.0" } } } }, "istanbul-lib-source-maps": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz", - "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.2.1", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "dependencies": { + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } } }, "istanbul-reports": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.5.1.tgz", - "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==", + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", + "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", "dev": true, "requires": { - "handlebars": "^4.0.3" + "html-escaper": "^2.0.0" } }, - "jquery": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-2.2.4.tgz", - "integrity": "sha1-LInWiJterFIqfuoywUUhVZxsvwI=", - "dev": true - }, "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -2936,366 +7642,196 @@ } }, "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "jszip": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz", - "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==", - "dev": true, - "requires": { - "core-js": "~2.3.0", - "es6-promise": "~3.0.2", - "lie": "~3.1.0", - "pako": "~1.0.2", - "readable-stream": "~2.0.6" - }, - "dependencies": { - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true - }, - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, - "lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dev": true, "requires": { - "immediate": "~3.0.5" + "minimist": "^1.2.5" } }, - "lint-staged": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-8.2.0.tgz", - "integrity": "sha512-DxguyxGOIfb67wZ6EOrqzjAbw6ZH9XK3YS74HO+erJf6+SAQeJJPN//GBOG5xhdt2THeuXjVPaHcCYOWGZwRbA==", + "jszip": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.2.tgz", + "integrity": "sha512-NmKajvAFQpbg3taXQXr/ccS2wcucR1AZ+NtyWp2Nq7HHVsXhcJFR8p0Baf32C2yVvBylFWVeKf+WI2AnvlPhpA==", "dev": true, "requires": { - "chalk": "^2.3.1", - "commander": "^2.14.1", - "cosmiconfig": "^5.2.0", - "debug": "^3.1.0", - "dedent": "^0.7.0", - "del": "^3.0.0", - "execa": "^1.0.0", - "g-status": "^2.0.2", - "is-glob": "^4.0.0", - "is-windows": "^1.0.2", - "listr": "^0.14.2", - "listr-update-renderer": "^0.5.0", - "lodash": "^4.17.11", - "log-symbols": "^2.2.0", - "micromatch": "^3.1.8", - "npm-which": "^3.0.1", - "p-map": "^1.1.1", - "path-is-inside": "^1.0.2", - "pify": "^3.0.0", - "please-upgrade-node": "^3.0.2", - "staged-git-files": "1.1.2", - "string-argv": "^0.0.2", - "stringify-object": "^3.2.2", - "yup": "^0.27.0" - }, - "dependencies": { - "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", - "dev": true - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "set-immediate-shim": "~1.0.1" } }, - "listr": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", - "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "requires": { - "@samverschueren/stream-to-observable": "^0.3.0", - "is-observable": "^1.1.0", - "is-promise": "^2.1.0", - "is-stream": "^1.1.0", - "listr-silent-renderer": "^1.1.1", - "listr-update-renderer": "^0.5.0", - "listr-verbose-renderer": "^0.5.0", - "p-map": "^2.0.0", - "rxjs": "^6.3.3" - }, - "dependencies": { - "p-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.0.0.tgz", - "integrity": "sha512-GO107XdrSUmtHxVoi60qc9tUl/KkNKm+X2CF4P9amalpGxv5YqVPJNfSb0wcA+syCopkZvYYIzW8OVTQW59x/w==", - "dev": true - } + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" } }, - "listr-silent-renderer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", - "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=", - "dev": true - }, - "listr-update-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", - "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "cli-truncate": "^0.2.1", - "elegant-spinner": "^1.0.1", - "figures": "^1.7.0", - "indent-string": "^3.0.0", - "log-symbols": "^1.0.2", - "log-update": "^2.3.0", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", - "dev": true, - "requires": { - "chalk": "^1.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "requires": { + "immediate": "~3.0.5" } }, - "listr-verbose-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", - "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "lint-staged": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-11.0.0.tgz", + "integrity": "sha512-3rsRIoyaE8IphSUtO1RVTFl1e0SLBtxxUOPBtHxQgBHS5/i6nqvjcUfNioMa4BU9yGnPzbO+xkfLtXtxBpCzjw==", "dev": true, "requires": { - "chalk": "^2.4.1", - "cli-cursor": "^2.1.0", - "date-fns": "^1.27.2", - "figures": "^2.0.0" - }, - "dependencies": { - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - } + "chalk": "^4.1.1", + "cli-truncate": "^2.1.0", + "commander": "^7.2.0", + "cosmiconfig": "^7.0.0", + "debug": "^4.3.1", + "dedent": "^0.7.0", + "enquirer": "^2.3.6", + "execa": "^5.0.0", + "listr2": "^3.8.2", + "log-symbols": "^4.1.0", + "micromatch": "^4.0.4", + "normalize-path": "^3.0.0", + "please-upgrade-node": "^3.2.0", + "string-argv": "0.3.1", + "stringify-object": "^3.3.0" } }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "listr2": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.10.0.tgz", + "integrity": "sha512-eP40ZHihu70sSmqFNbNy2NL1YwImmlMmPh9WO5sLmPDleurMHt3n+SwEWNu2kzKScexZnkyFtc1VI0z/TGlmpw==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "cli-truncate": "^2.1.0", + "colorette": "^1.2.2", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rxjs": "^6.6.7", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" } }, "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", "dev": true }, "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "requires": { - "chalk": "^2.0.1" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" } }, "log-update": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", - "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "cli-cursor": "^2.0.0", - "wrap-ansi": "^3.0.1" - } - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", "dev": true, "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } } }, "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "yallist": "^4.0.0" } }, "lunr": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.6.tgz", - "integrity": "sha512-swStvEyDqQ85MGpABCMBclZcLI/pBIlu8FFDtmX197+oEgKloJ67QnB+Tidh0340HmLMs39c4GrkPY3cmkXp6Q==", + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", "dev": true }, "make-dir": { @@ -3319,70 +7855,18 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "requires": { - "p-defer": "^1.0.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, "marked": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.6.2.tgz", - "integrity": "sha512-LqxwVH3P/rqKX4EKGz7+c2G9r98WeM/SW34ybhgNGhUQNKtf1GmmSkJ6cDGJ/t6tiyae49qRkpyTw2B9HOrgUA==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz", + "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==", "dev": true }, - "matcher": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-1.1.1.tgz", - "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.4" - } - }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - }, - "dependencies": { - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - } - } - }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -3395,6 +7879,12 @@ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -3402,51 +7892,40 @@ "dev": true }, "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" } }, "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true }, "mime-db": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", + "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==", "dev": true }, "mime-types": { - "version": "2.1.24", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", - "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "version": "2.1.31", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", + "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", "dev": true, "requires": { - "mime-db": "1.40.0" + "mime-db": "1.48.0" } }, "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, "minimatch": { @@ -3458,68 +7937,23 @@ "brace-expansion": "^1.1.7" } }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } - } + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true }, "negotiator": { "version": "0.6.2", @@ -3533,12 +7967,6 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -3551,19 +7979,10 @@ "validate-npm-package-license": "^3.0.1" }, "dependencies": { - "resolve": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", - "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } @@ -3574,15 +7993,6 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "npm-path": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/npm-path/-/npm-path-2.0.4.tgz", - "integrity": "sha512-IFsj0R9C7ZdR5cP+ET342q77uSRdtWOlWpih5eC+lu29tIDbNEgDbzgVJ5UFvYHWhxDZ5TFkJafFioO0pPQjCw==", - "dev": true, - "requires": { - "which": "^1.2.10" - } - }, "npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -3592,85 +8002,11 @@ "path-key": "^3.0.0" } }, - "npm-which": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/npm-which/-/npm-which-3.0.1.tgz", - "integrity": "sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=", - "dev": true, - "requires": { - "commander": "^2.9.0", - "npm-path": "^2.0.2", - "which": "^1.2.10" - }, - "dependencies": { - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true - } - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -3689,153 +8025,94 @@ } }, "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "^2.1.0" } }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "onigasm": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/onigasm/-/onigasm-2.2.5.tgz", + "integrity": "sha512-F+th54mPc0l1lp1ZcFMyL/jTs2Tlq4SqIHKIXGZOR/VkHkF9A7Fr5rRr5+ZG/lWeRsyrClLYRq7s/yFQ/XhWCA==", "dev": true, "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" + "lru-cache": "^5.1.1" }, "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "requires": { - "path-key": "^2.0.0" + "yallist": "^3.0.2" } }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true } } }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, "os-shim": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", "dev": true }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", - "dev": true - }, - "p-limit": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "requires": { - "p-try": "^2.0.0" + "aggregate-error": "^3.0.0" } }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "callsites": "^3.0.0" } }, - "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", - "dev": true - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pako": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", - "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", - "dev": true - }, "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { + "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" } }, "parseurl": { @@ -3844,30 +8121,12 @@ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -3875,9 +8134,9 @@ "dev": true }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-to-regexp": { @@ -3886,10 +8145,16 @@ "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", "dev": true }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, "pathval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", "dev": true }, "pend": { @@ -3898,9 +8163,9 @@ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" }, "picomatch": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", - "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", "dev": true }, "pify": { @@ -3922,26 +8187,20 @@ } }, "platform": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.5.tgz", - "integrity": "sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q==", + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", + "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==", "dev": true }, "please-upgrade-node": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz", - "integrity": "sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", "dev": true, "requires": { "semver-compare": "^1.0.0" } }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, "pre-commit": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", @@ -3953,6 +8212,42 @@ "which": "1.2.x" }, "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, "which": { "version": "1.2.14", "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", @@ -3961,19 +8256,31 @@ "requires": { "isexe": "^2.0.0" } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true } } }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, "prettier": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.17.1.tgz", - "integrity": "sha512-TzGRNvuUSmPgwivDqkZ9tM/qTGW9hqDKWOE9YHiyQdixlKbv7kvEqsmDPrcHJTKwthU774TQwZXVtaQ/mMsvjg==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", "dev": true }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "progress": { "version": "2.0.3", @@ -3981,20 +8288,14 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, - "property-expr": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-1.5.1.tgz", - "integrity": "sha512-CGuc0VUTGthpJXL36ydB6jnbyOf/rAHFvmVrJlH+Rg0DqqLFQGAP6hIaxD/G0OAmBJPhXDHuEJigrp0e0wFV6g==", - "dev": true - }, "proxy-addr": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", - "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.0" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" } }, "pseudomap": { @@ -4003,20 +8304,22 @@ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true }, "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, "range-parser": { @@ -4026,40 +8329,62 @@ "dev": true }, "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", "dev": true, "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", "unpipe": "1.0.0" + }, + "dependencies": { + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } } }, "read-pkg": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz", - "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, "requires": { - "normalize-package-data": "^2.3.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" }, "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true } } }, "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -4071,12 +8396,12 @@ } }, "readdirp": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.0.2.tgz", - "integrity": "sha512-LbyJYv48eywrhOlScq16H/VkCiGKGPC2TpOdZCJ7QXnYEjn3NN/Oblh8QEU3vqfSRBB7OGvh5x45NKiVeNujIQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "requires": { - "picomatch": "^2.0.4" + "picomatch": "^2.2.1" } }, "rechoir": { @@ -4088,108 +8413,89 @@ "resolve": "^1.1.6" } }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" } }, "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "requires": { - "onetime": "^2.0.0", + "onetime": "^5.1.0", "signal-exit": "^3.0.2" } }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true }, "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" } }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, "rxjs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz", - "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==", + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "requires": { "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } } }, "safe-buffer": { @@ -4197,15 +8503,6 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -4218,13 +8515,23 @@ "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "requires": { "commander": "^2.8.1" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } } }, "semver": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.1.tgz", - "integrity": "sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==", - "dev": true + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } }, "semver-compare": { "version": "1.0.0", @@ -4233,9 +8540,9 @@ "dev": true }, "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", "dev": true, "requires": { "debug": "2.6.9", @@ -4245,12 +8552,12 @@ "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "range-parser": "~1.2.1", + "statuses": "~1.5.0" }, "dependencies": { "debug": { @@ -4260,100 +8567,73 @@ "dev": true, "requires": { "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true } } }, "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" + "parseurl": "~1.3.3", + "send": "0.17.1" } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", "dev": true }, - "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", "dev": true }, "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "^3.0.0" } }, "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "shell-quote": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", - "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", - "dev": true, - "requires": { - "array-filter": "~0.0.0", - "array-map": "~0.0.0", - "array-reduce": "~0.0.0", - "jsonify": "~0.0.0" - } + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.3.tgz", + "integrity": "sha512-KvITSOPOP542Mv4lS5Cx6/qgya20Hyk+JJUdfRfikzyV6iKPszdz5TrssURXRghmi6Z9y9gATRvxJ69zD7wydQ==", + "dev": true }, "shelljs": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", - "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", + "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", "dev": true, "requires": { "glob": "^7.0.0", @@ -4361,179 +8641,46 @@ "rechoir": "^0.6.2" } }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "simple-git": { - "version": "1.113.0", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.113.0.tgz", - "integrity": "sha512-i9WVsrK2u0G/cASI9nh7voxOk9mhanWY9eGtWBDSYql6m49Yk5/Fan6uZsDr/xmzv8n+eQ8ahKCoEr8cvU3h+g==", + "shiki": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.9.5.tgz", + "integrity": "sha512-XFn+rl3wIowDjzdr5DlHoHgQphXefgUTs2bNp/bZu4WF9gTrTLnKwio3f28VjiFG6Jpip7yQn/p4mMj6OrjrtQ==", "dev": true, "requires": { - "debug": "^4.0.1" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } + "json5": "^2.2.0", + "onigasm": "^2.2.5", + "vscode-textmate": "5.2.0" } }, - "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", "dev": true, "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" } }, "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "dev": true, - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, "source-map-support": { "version": "0.5.19", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", @@ -4542,22 +8689,8 @@ "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } } }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, "spawn-command": { "version": "0.0.2-1", "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", @@ -4575,9 +8708,9 @@ } }, "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -4585,15 +8718,15 @@ } }, "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", "dev": true }, "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -4601,76 +8734,23 @@ } }, "spdx-license-ids": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz", - "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", + "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", "dev": true }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "staged-git-files": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/staged-git-files/-/staged-git-files-1.1.2.tgz", - "integrity": "sha512-0Eyrk6uXW6tg9PYkhi/V/J4zHp33aNyi2hOCmhFLqLTIhbgqWn5jlSzI+IU0VqrZq6+DbHcabQl/WP6P3BG0QA==", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, - "string-argv": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.0.2.tgz", - "integrity": "sha1-2sMECGkMIfPDYwo/86BYd73L1zY=", - "dev": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -4679,6 +8759,23 @@ "safe-buffer": "~5.1.0" } }, + "string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, "stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", @@ -4691,30 +8788,19 @@ } }, "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - } + "ansi-regex": "^5.0.0" } }, "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true }, "strip-dirs": { "version": "2.1.0", @@ -4724,38 +8810,71 @@ "is-natural-number": "^4.0.1" } }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, "strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true - }, - "synchronous-promise": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.9.tgz", - "integrity": "sha512-LO95GIW16x69LuND1nuuwM4pjgFGupg7pZ/4lU86AmchPKrhk0o2tpMU2unXRrqo81iAFe1YJ0nAGEVwsrZAgg==", - "dev": true + "table": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", + "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.6.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.1.tgz", + "integrity": "sha512-42VLtQUOLefAvKFAQIxIZDaThq6om/PrfP0CYk3/vn+y4BMNkKnbli8ON2QCiHov4KkzOSJ/xSoBJdayiiYvVQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + } + } }, "tar-stream": { "version": "1.6.2", @@ -4771,6 +8890,12 @@ "xtend": "^4.0.0" } }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -4782,57 +8907,24 @@ "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" }, "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "^7.0.0" } }, - "toposort": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", - "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=", + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", "dev": true }, "tree-kill": { @@ -4841,86 +8933,53 @@ "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", "dev": true }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, "ts-node": { - "version": "8.10.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.1.tgz", - "integrity": "sha512-bdNz1L4ekHiJul6SHtZWs1ujEKERJnHs4HxN7rjTyyVOFf3HaJ6sLqe6aPG62XTzAB/63pKRh5jTSWL0D7bsvw==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.1.0.tgz", + "integrity": "sha512-6szn3+J9WyG2hE+5W8e0ruZrzyk1uFLYye6IGMBadnOzDh8aP7t8CbFpsfCiEx2+wMixAhjFt7lOZC4+l+WbEA==", "dev": true, "requires": { + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.1", "arg": "^4.1.0", + "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", "source-map-support": "^0.5.17", "yn": "3.1.1" - }, - "dependencies": { - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - } } }, "tslib": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" }, - "tslint": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.17.0.tgz", - "integrity": "sha512-pflx87WfVoYepTet3xLfDOLDm9Jqi61UXIKePOuca0qoAZyrGWonDG9VTbji58Fy+8gciUn8Bt7y69+KEVjc/w==", + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^3.2.0", - "glob": "^7.1.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.8.0", - "tsutils": "^2.29.0" + "tslib": "^1.8.1" }, "dependencies": { - "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", - "dev": true - }, - "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true } } }, - "tslint-config-prettier": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz", - "integrity": "sha512-xPw9PgNPLG3iKRxmK7DWr+Ea/SzrvfHtjFt5LBl61gk2UBG/DB9kCXRjv+xyIU1rUtnayLeMUVJBcMX8Z17nDg==", - "dev": true - }, - "tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "requires": { - "tslib": "^1.8.1" + "prelude-ls": "^1.2.1" } }, "type-detect": { @@ -4929,6 +8988,12 @@ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -4946,81 +9011,39 @@ "dev": true }, "typedoc": { - "version": "0.15.0-0", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.15.0-0.tgz", - "integrity": "sha512-N43CSq6T22MVrP1kb0OYusgwnUniwuh9vGVmtgTCjvTSkuJjdMyMeJPMfnugmfRIWxuP9pO6wvNhdDRG32+EQA==", - "dev": true, - "requires": { - "@types/fs-extra": "^5.0.5", - "@types/highlight.js": "^9.12.3", - "@types/lodash": "^4.14.123", - "@types/marked": "^0.6.0", - "@types/minimatch": "3.0.3", - "@types/shelljs": "^0.8.3", - "fs-extra": "^7.0.1", - "handlebars": "^4.1.0", - "highlight.js": "^9.13.1", - "lodash": "^4.17.11", - "marked": "^0.6.0", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.21.4.tgz", + "integrity": "sha512-slZQhvD9U0d9KacktYAyuNMMOXJRFNHy+Gd8xY2Qrqq3eTTTv3frv3N4au/cFnab9t3T5WA0Orb6QUjMc+1bDA==", + "dev": true, + "requires": { + "glob": "^7.1.7", + "handlebars": "^4.7.7", + "lunr": "^2.3.9", + "marked": "^2.1.1", "minimatch": "^3.0.0", "progress": "^2.0.3", - "shelljs": "^0.8.3", - "typedoc-default-themes": "^0.6.0-0", - "typescript": "3.3.x" - }, - "dependencies": { - "typescript": { - "version": "3.3.4000", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.4000.tgz", - "integrity": "sha512-jjOcCZvpkl2+z7JFn0yBOoLQyLoIkNZAs/fYJkUG6VKy6zLPHJGfQJYFHzibB6GJaF/8QrcECtlQ5cpvRHSMEA==", - "dev": true - } + "shiki": "^0.9.3", + "typedoc-default-themes": "^0.12.10" } }, "typedoc-default-themes": { - "version": "0.6.0-0", - "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.6.0-0.tgz", - "integrity": "sha512-O7hBMS1yBCozvVUntIIdlBk04WiqM+f6NOEc9p+LimJSFKJMF66cgzejeiybuTk6mgbMJW+olg42BNYC8E9x9Q==", - "dev": true, - "requires": { - "backbone": "^1.1.2", - "jquery": "^2.2.4", - "lunr": "^2.3.6", - "underscore": "^1.9.1" - } + "version": "0.12.10", + "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.12.10.tgz", + "integrity": "sha512-fIS001cAYHkyQPidWXmHuhs8usjP5XVJjWB8oZGqkTowZaz3v7g3KDZeeqE82FBrmkAnIBOY3jgy7lnPnqATbA==", + "dev": true }, "typescript": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.1.tgz", - "integrity": "sha512-64HkdiRv1yYZsSe4xC1WVgamNigVYjlssIoaH2HcZF0+ijsk5YK2g0G34w9wJkze8+5ow4STd22AynfO6ZYYLw==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", + "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==", "dev": true }, "uglify-js": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", - "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", + "version": "3.13.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.10.tgz", + "integrity": "sha512-57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg==", "dev": true, - "optional": true, - "requires": { - "commander": "~2.17.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true, - "optional": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } + "optional": true }, "unbzip2-stream": { "version": "1.4.3", @@ -5031,111 +9054,21 @@ "through": "^2.3.8" } }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, - "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", "dev": true }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } + "punycode": "^2.1.0" } }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -5147,6 +9080,12 @@ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", "dev": true }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -5163,56 +9102,42 @@ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true }, + "vscode-textmate": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-5.2.0.tgz", + "integrity": "sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==", + "dev": true + }, "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, "wrap-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", - "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" } }, "wrappy": { @@ -5221,12 +9146,12 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "ws": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.1.1.tgz", - "integrity": "sha512-bOusvpCb09TOBLbpMKszd45WKC2KPtxiyiHanv+H2DE3Az+1db5a/L7sVJZVDPUC1Br8f0SKRr1KjLpD1U/IAw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.0.1.tgz", + "integrity": "sha512-ILHfMbuqLJvnSgYXLgy4kMntroJpe8hT41dOVWM8bxRuw6TK4mgMp9VJUNsZTEc5Bh+Mbs0DJT4M0N+wBG9l9A==", "dev": true, "requires": { - "async-limiter": "~1.0.0" + "async-limiter": "^1.0.0" } }, "xtend": { @@ -5235,73 +9160,43 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true }, "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" } }, "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true }, "yauzl": { "version": "2.10.0", @@ -5317,20 +9212,6 @@ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true - }, - "yup": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/yup/-/yup-0.27.0.tgz", - "integrity": "sha512-v1yFnE4+u9za42gG/b/081E7uNW9mUj3qtkmelLbW5YPROZzSH/KUUyJu9Wt8vxFJcT9otL/eZopS0YK1L5yPQ==", - "dev": true, - "requires": { - "@babel/runtime": "^7.0.0", - "fn-name": "~2.0.1", - "lodash": "^4.17.11", - "property-expr": "^1.5.0", - "synchronous-promise": "^2.0.6", - "toposort": "^2.0.2" - } } } } diff --git a/package.json b/package.json index 627a320..3f46bd6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@theintern/digdug", - "version": "2.5.1-pre", + "version": "2.6.0", "description": "Dig Dug. A simple abstraction library for downloading and launching WebDriver service tunnels.", "repository": { "type": "git", @@ -8,28 +8,27 @@ }, "license": "BSD-3-Clause", "dependencies": { - "@theintern/common": "~0.2.3", - "command-exists": "~1.2.6", - "decompress": "~4.2.0", - "tslib": "~1.9.3" + "@theintern/common": "~0.3.0", + "command-exists": "~1.2.9", + "decompress": "~4.2.1", + "tslib": "~2.3.0" }, "devDependencies": { - "@theintern/dev": "~0.10.2", - "@types/command-exists": "~1.2.0", - "@types/decompress": "~4.2.2", - "@types/execa": "~2.0.0", - "@types/node": "~12.0.12", - "@types/semver": "~6.0.0", - "@types/shelljs": "~0.8.5", - "concurrently": "~4.1.0", - "execa": "~4.0.2", - "intern": "~4.4.3", - "lint-staged": "~8.2.0", - "pre-commit": "~1.2.2", - "prettier": "~1.17.1", - "semver": "~6.1.1", - "shelljs": "~0.8.1", - "ts-node": "~8.10.1" + "@theintern/dev": "^0.11.0", + "@types/command-exists": "^1.2.0", + "@types/decompress": "^4.2.4", + "@types/node": "^16.0.0", + "@types/semver": "^7.3.7", + "@types/shelljs": "^0.8.9", + "concurrently": "^6.2.0", + "execa": "^5.1.1", + "intern": "^4.9.1", + "lint-staged": "^11.0.0", + "pre-commit": "^1.2.2", + "prettier": "^2.3.2", + "semver": "^7.3.5", + "shelljs": "^0.8.4", + "ts-node": "^10.0.0" }, "scripts": { "build": "npm run clean && concurrently intern-dev-build intern-dev-api", diff --git a/src/BrowserStackTunnel.ts b/src/BrowserStackTunnel.ts index 473aaf7..628f368 100644 --- a/src/BrowserStackTunnel.ts +++ b/src/BrowserStackTunnel.ts @@ -5,7 +5,7 @@ import Tunnel, { TunnelProperties, DownloadOptions, ChildExecutor, - NormalizedEnvironment + NormalizedEnvironment, } from './Tunnel'; import { parse as parseUrl, Url } from 'url'; import { JobState } from './interfaces'; @@ -17,8 +17,10 @@ import { kill, on } from './lib/util'; * The accessKey and username properties will be initialized using * BROWSERSTACK_ACCESS_KEY and BROWSERSTACK_USERNAME. */ -export default class BrowserStackTunnel extends Tunnel - implements BrowserStackProperties { +export default class BrowserStackTunnel + extends Tunnel + implements BrowserStackProperties +{ /** * Whether or not to start the tunnel with only WebDriver support. Setting * this value to `false` is not supported. @@ -67,17 +69,19 @@ export default class BrowserStackTunnel extends Tunnel protocol: 'https', servers: [], skipServerValidation: true, - username: process.env.BROWSERSTACK_USERNAME + username: process.env.BROWSERSTACK_USERNAME, }, options || {} ) ); } + // @ts-ignore get auth() { return `${this.username || ''}:${this.accessKey || ''}`; } + // @ts-ignore get executable() { return join( this.directory, @@ -87,7 +91,7 @@ export default class BrowserStackTunnel extends Tunnel get extraCapabilities(): Object { const capabilities: any = { - 'browserstack.local': 'true' + 'browserstack.local': 'true', }; if (this.tunnelId) { @@ -97,6 +101,7 @@ export default class BrowserStackTunnel extends Tunnel return capabilities; } + // @ts-ignore get url() { const platform = this.platform; const architecture = this.architecture; @@ -138,15 +143,15 @@ export default class BrowserStackTunnel extends Tunnel const args = [ this.accessKey, this.servers - .map(function(server) { + .map(function (server) { const url = parseUrl(String(server)); return [ url.hostname, url.port, - url.protocol === 'https:' ? 1 : 0 + url.protocol === 'https:' ? 1 : 0, ].join(','); }) - .join(',') + .join(','), ]; this.automateOnly && args.push('-onlyAutomate'); @@ -174,7 +179,7 @@ export default class BrowserStackTunnel extends Tunnel sendJobState(jobId: string, data: JobState): CancellablePromise { const payload = JSON.stringify({ - status: data.status || data.success ? 'completed' : 'error' + status: data.status || data.success ? 'completed' : 'error', }); const url = `https://www.browserstack.com/automate/sessions/${jobId}.json`; @@ -183,14 +188,14 @@ export default class BrowserStackTunnel extends Tunnel data: payload, headers: { 'Content-Length': String(Buffer.byteLength(payload, 'utf8')), - 'Content-Type': 'application/json' + 'Content-Type': 'application/json', }, password: this.accessKey, username: this.username, - proxy: this.proxy - }).then(response => { + proxy: this.proxy, + }).then((response) => { if (response.status < 200 || response.status >= 300) { - return response.text().then(text => { + return response.text().then((text) => { throw new Error( text || `Server reported ${response.status} with no other data.` ); @@ -224,7 +229,7 @@ export default class BrowserStackTunnel extends Tunnel this.emit({ type: 'status', target: this, - status: line + status: line, }); } } @@ -234,17 +239,17 @@ export default class BrowserStackTunnel extends Tunnel }); } - protected _stop(): Promise { - return new Promise(resolve => { + protected _stop(): Promise { + return new Promise((resolve) => { const childProcess = this._process; if (!childProcess) { - resolve(); + resolve(undefined); return; } let exited = false; - childProcess.once('exit', function(code) { + childProcess.once('exit', function (code) { exited = true; resolve(code == null ? undefined : code); }); @@ -255,7 +260,7 @@ export default class BrowserStackTunnel extends Tunnel // Node doesn't provide an easy way to get the PID of the secondary // process, so we'll just wait a few seconds, then kill the process // if it hasn't ended cleanly. - setTimeout(function() { + setTimeout(function () { if (!exited) { kill(childProcess.pid); } @@ -287,14 +292,14 @@ export default class BrowserStackTunnel extends Tunnel '8.1': 'WIN8', '8': 'WIN8', '7': 'WINDOWS', - XP: 'XP' + XP: 'XP', }, - 'OS X': 'MAC' + 'OS X': 'MAC', }; const browserMap: any = { - ie: 'internet explorer' + ie: 'internet explorer', }; // Create the BS platform name for a given os + version @@ -320,8 +325,8 @@ export default class BrowserStackTunnel extends Tunnel intern: { platform, browserName, - version - } + version, + }, }; } } diff --git a/src/CrossBrowserTestingTunnel.ts b/src/CrossBrowserTestingTunnel.ts index e6ca41b..9bd98d8 100644 --- a/src/CrossBrowserTestingTunnel.ts +++ b/src/CrossBrowserTestingTunnel.ts @@ -5,12 +5,12 @@ import { Task, CancellablePromise, createCompositeHandle, - request + request, } from '@theintern/common'; import Tunnel, { ChildExecutor, NormalizedEnvironment, - TunnelProperties + TunnelProperties, } from './Tunnel'; import { JobState } from './interfaces'; import { on } from './lib/util'; @@ -48,8 +48,10 @@ const cbtVersion = '0.9.12'; * The username and accessKey properties will be initialized using CBT_USERNAME * and CBT_APIKEY. */ -export default class CrossBrowserTestingTunnel extends Tunnel - implements CrossBrowserTestingProperties { +export default class CrossBrowserTestingTunnel + extends Tunnel + implements CrossBrowserTestingProperties +{ /** The version of the cbt_tunnels package to use */ cbtVersion!: string; @@ -64,13 +66,14 @@ export default class CrossBrowserTestingTunnel extends Tunnel executable: 'node', hostname: 'hub.crossbrowsertesting.com', port: '80', - username: process.env.CBT_USERNAME + username: process.env.CBT_USERNAME, }, options || {} ) ); } + // @ts-ignore get auth() { return `${this.username || ''}:${this.accessKey || ''}`; } @@ -78,7 +81,7 @@ export default class CrossBrowserTestingTunnel extends Tunnel get extraCapabilities() { return { username: this.username, - password: this.accessKey + password: this.accessKey, }; } @@ -124,14 +127,14 @@ export default class CrossBrowserTestingTunnel extends Tunnel '--username', this.username, '--ready', - readyFile + readyFile, ]; } sendJobState(jobId: string, data: JobState): CancellablePromise { const payload = JSON.stringify({ action: 'set_score', - score: data.status || data.success ? 'pass' : 'fail' + score: data.status || data.success ? 'pass' : 'fail', }); const url = `https://crossbrowsertesting.com/api/v3/selenium/${jobId}`; @@ -140,14 +143,14 @@ export default class CrossBrowserTestingTunnel extends Tunnel data: payload, headers: { 'Content-Length': String(Buffer.byteLength(payload, 'utf8')), - 'Content-Type': 'application/json' + 'Content-Type': 'application/json', }, username: this.username, password: this.accessKey, - proxy: this.proxy - }).then(response => { + proxy: this.proxy, + }).then((response) => { if (response.status !== 200) { - return response.text().then(text => { + return response.text().then((text) => { if (text) { const data = JSON.parse(text); @@ -175,21 +178,22 @@ export default class CrossBrowserTestingTunnel extends Tunnel // Polling API is used because we are only watching for one file, so // efficiency is not a big deal, and the `fs.watch` API has extra // restrictions which are best avoided - watchFile(readyFile, { persistent: false, interval: 1007 }, function( - current, - previous - ) { - if (Number(current.mtime) === Number(previous.mtime)) { - // readyFile hasn't been modified, so ignore the event - return; - } + watchFile( + readyFile, + { persistent: false, interval: 1007 }, + function (current, previous) { + if (Number(current.mtime) === Number(previous.mtime)) { + // readyFile hasn't been modified, so ignore the event + return; + } - unwatchFile(readyFile); - readHandle.destroy(); - exitHandle.destroy(); - stdout = null; - resolve(); - }); + unwatchFile(readyFile); + readHandle.destroy(); + exitHandle.destroy(); + stdout = null; + resolve(); + } + ); // The cbt tunnel outputs its startup error messages on stdout. // Capture any data on stdout and display it if the process exits @@ -197,7 +201,7 @@ export default class CrossBrowserTestingTunnel extends Tunnel const readHandle = on(child.stdout!, 'data', (data: any) => { stdout!.push(String(data)); }); - const exitHandle = on(child, 'exit', function() { + const exitHandle = on(child, 'exit', function () { process.stderr.write(stdout!.join('')); }); @@ -226,7 +230,7 @@ export default class CrossBrowserTestingTunnel extends Tunnel protected _normalizeEnvironment(environment: any): NormalizedEnvironment { const platform = environment.api_name; - return environment.browsers.map(function(browser: any) { + return environment.browsers.map(function (browser: any) { const browserName = browser.type.toLowerCase(); return { @@ -240,8 +244,8 @@ export default class CrossBrowserTestingTunnel extends Tunnel browserName, version: browser.version, browser_api_name: browser.api_name, - os_api_name: platform - } + os_api_name: platform, + }, }; }); } diff --git a/src/SauceLabsTunnel.ts b/src/SauceLabsTunnel.ts index 26481cf..f2356f0 100644 --- a/src/SauceLabsTunnel.ts +++ b/src/SauceLabsTunnel.ts @@ -2,7 +2,7 @@ import Tunnel, { TunnelProperties, DownloadOptions, ChildExecutor, - NormalizedEnvironment + NormalizedEnvironment, } from './Tunnel'; import { JobState } from './interfaces'; import { chmodSync, watchFile, unwatchFile } from 'fs'; @@ -24,8 +24,10 @@ const scVersion = '4.5.3'; * See [[SauceLabsTunnel.SauceLabsProperties]] for a list of options specific to * this tunnel class. */ -export default class SauceLabsTunnel extends Tunnel - implements SauceLabsProperties { +export default class SauceLabsTunnel + extends Tunnel + implements SauceLabsProperties +{ accessKey!: string; /** @@ -137,17 +139,19 @@ export default class SauceLabsTunnel extends Tunnel skipSslDomains: [], tunnelDomains: [], useProxyForTunnel: false, - username: process.env.SAUCE_USERNAME + username: process.env.SAUCE_USERNAME, }, options || {} ) ); } + // @ts-ignore get auth() { return `${this.username || ''}:${this.accessKey || ''}`; } + // @ts-ignore get executable() { const platform = this.platform === 'darwin' ? 'osx' : this.platform; const architecture = this.architecture; @@ -189,6 +193,7 @@ export default class SauceLabsTunnel extends Tunnel ); } + // @ts-ignore get url() { const platform = this.platform === 'darwin' ? 'osx' : this.platform; const architecture = this.architecture; @@ -235,7 +240,7 @@ export default class SauceLabsTunnel extends Tunnel } if (this.domainAuthentication.length) { - this.domainAuthentication.forEach(function(domain) { + this.domainAuthentication.forEach(function (domain) { const url = parseUrl(domain); args.push('-a', `${url.hostname}:${url.port}:${url.auth}`); }); @@ -314,7 +319,7 @@ export default class SauceLabsTunnel extends Tunnel name: data.name, passed: data.success, public: data.visibility, - tags: data.tags + tags: data.tags, }); return request(formatUrl(url), { @@ -322,13 +327,13 @@ export default class SauceLabsTunnel extends Tunnel data: payload, headers: { 'Content-Length': String(Buffer.byteLength(payload, 'utf8')), - 'Content-Type': 'application/x-www-form-urlencoded' + 'Content-Type': 'application/x-www-form-urlencoded', }, password: this.accessKey, username: this.username, - proxy: this.proxy - }).then(function(response) { - return response.text().then(text => { + proxy: this.proxy, + }).then(function (response) { + return response.text().then((text) => { if (text) { const data = JSON.parse(text); @@ -404,7 +409,7 @@ export default class SauceLabsTunnel extends Tunnel return readStatus(message); }; - readRunningMessage = function(message: string) { + readRunningMessage = function (message: string) { // Sauce Connect 3 if (message.indexOf('Problem connecting to Sauce Labs REST API') > -1) { // It will just keep trying and trying and trying for a @@ -428,7 +433,7 @@ export default class SauceLabsTunnel extends Tunnel this.emit({ type: 'status', target: this, - status: message + status: message, }); } @@ -440,29 +445,30 @@ export default class SauceLabsTunnel extends Tunnel // Polling API is used because we are only watching for one file, so // efficiency is not a big deal, and the `fs.watch` API has extra // restrictions which are best avoided - watchFile(readyFile, { persistent: false, interval: 1007 }, function( - current, - previous - ) { - if (Number(current.mtime) === Number(previous.mtime)) { - // readyFile hasn't been modified, so ignore the event - return; - } + watchFile( + readyFile, + { persistent: false, interval: 1007 }, + function (current, previous) { + if (Number(current.mtime) === Number(previous.mtime)) { + // readyFile hasn't been modified, so ignore the event + return; + } - resolve(); - }); + resolve(); + } + ); // Sauce Connect exits with a zero status code when there is a // failure, and outputs error messages to stdout, like a boss. Even // better, it uses the "Error:" tag for warnings. - this._handle = on(child.stdout!, 'data', function(data: string) { + this._handle = on(child.stdout!, 'data', function (data: string) { if (!readMessage) { return; } String(data) .split('\n') - .some(message => { + .some((message) => { // Get rid of the date/time prefix on each message const delimiter = message.indexOf(' - '); if (delimiter > -1) { @@ -519,11 +525,11 @@ export default class SauceLabsTunnel extends Tunnel 'Windows 2008': 'Windows 7', 'Windows 2012': 'Windows 8', 'Windows 2012 R2': 'Windows 8.1', - 'Windows 10': 'Windows 10' + 'Windows 10': 'Windows 10', }; const browserMap: any = { - microsoftedge: 'MicrosoftEdge' + microsoftedge: 'MicrosoftEdge', }; let os = environment.os; @@ -558,8 +564,8 @@ export default class SauceLabsTunnel extends Tunnel intern: { platform, browserName, - version - } + version, + }, }; } } diff --git a/src/SeleniumTunnel.ts b/src/SeleniumTunnel.ts index 04bc9ab..a49192a 100644 --- a/src/SeleniumTunnel.ts +++ b/src/SeleniumTunnel.ts @@ -1,7 +1,7 @@ import Tunnel, { TunnelProperties, DownloadOptions, - ChildExecutor + ChildExecutor, } from './Tunnel'; import { readFileSync } from 'fs'; import { format } from 'util'; @@ -12,7 +12,7 @@ import { CancellablePromise, RequestOptions, deepMixin, - request + request, } from '@theintern/common'; import { fileExists, kill, on, writeFile } from './lib/util'; import { satisfies } from 'semver'; @@ -41,8 +41,10 @@ const webdrivers = webdriversJson.drivers; * - `internet explorer` * - `safari` */ -export default class SeleniumTunnel extends Tunnel - implements SeleniumProperties { +export default class SeleniumTunnel + extends Tunnel + implements SeleniumProperties +{ /** Additional arguments to send to the Selenium server at startup */ seleniumArgs!: string[]; @@ -126,7 +128,7 @@ export default class SeleniumTunnel extends Tunnel drivers: ['chrome'], baseUrl: webdrivers.selenium.baseUrl, version: webdrivers.selenium.latest, - seleniumTimeout: 5000 + seleniumTimeout: 5000, }, options || {} ) @@ -142,10 +144,12 @@ export default class SeleniumTunnel extends Tunnel return `selenium-server-standalone-${this.version}.jar`; } + // @ts-ignore get directory() { return join(__dirname, 'selenium-standalone'); } + // @ts-ignore get executable() { return 'java'; } @@ -154,12 +158,13 @@ export default class SeleniumTunnel extends Tunnel const directory = this.directory; return ( fileExists(join(directory, this.artifact)) && - this._getDriverConfigs().every(config => { + this._getDriverConfigs().every((config) => { return fileExists(join(directory, config.executable)); }) ); } + // @ts-ignore get url() { const majorMinorVersion = this.version.slice( 0, @@ -177,17 +182,17 @@ export default class SeleniumTunnel extends Tunnel let tasks: CancellablePromise[]; return new Task( - resolve => { + (resolve) => { const configs: RemoteFile[] = [ { url: this.url, executable: this.artifact, - dontExtract: true + dontExtract: true, }, - ...this._getDriverConfigs() + ...this._getDriverConfigs(), ]; - tasks = configs.map(config => { + tasks = configs.map((config) => { const executable = config.executable; const dontExtract = Boolean(config.dontExtract); const directory = config.directory; @@ -202,7 +207,7 @@ export default class SeleniumTunnel extends Tunnel >{ executable, dontExtract, - directory + directory, }); }); @@ -210,7 +215,7 @@ export default class SeleniumTunnel extends Tunnel }, () => { tasks && - tasks.forEach(task => { + tasks.forEach((task) => { task.cancel(); }); } @@ -241,11 +246,11 @@ export default class SeleniumTunnel extends Tunnel return request(this.webDriverDataUrl, { proxy: this.proxy, - timeout: 3000 + timeout: 3000, } as RequestOptions) - .then(resp => { + .then((resp) => { if (resp.status === 200) { - return resp.json().then(data => { + return resp.json().then((data) => { updatedData = data; this._webDriverDataLoaded = true; // Save the downloaded data for use if a download fails in a future @@ -254,7 +259,7 @@ export default class SeleniumTunnel extends Tunnel }); } }) - .catch(error => { + .catch((error) => { if (this.verbose) { console.warn(error); } @@ -282,7 +287,7 @@ export default class SeleniumTunnel extends Tunnel return new Constructor(options); } - return this.drivers.map(function(data) { + return this.drivers.map(function (data) { if (typeof data === 'string') { return getDriverConfig(data); } @@ -301,7 +306,7 @@ export default class SeleniumTunnel extends Tunnel const driverConfigs = this._getDriverConfigs(); const args: string[] = []; - driverConfigs.reduce(function(args: string[], config) { + driverConfigs.reduce(function (args: string[], config) { const file = join(directory, config.executable); args.push('-D' + config.seleniumProperty + '=' + file); return args; @@ -370,7 +375,10 @@ export default class SeleniumTunnel extends Tunnel executor(child, resolve, reject); }); - task.then(() => handle.destroy(), () => handle.destroy()); + task.then( + () => handle.destroy(), + () => handle.destroy() + ); return task; } @@ -440,8 +448,10 @@ interface ChromeProperties { type ChromeOptions = Partial; -class ChromeConfig extends Config - implements ChromeProperties, DriverFile { +class ChromeConfig + extends Config + implements ChromeProperties, DriverFile +{ arch!: string; baseUrl!: string; platform!: string; @@ -454,7 +464,7 @@ class ChromeConfig extends Config arch: process.arch, baseUrl: webdrivers.chrome.baseUrl, platform: process.platform, - version: webdrivers.chrome.latest + version: webdrivers.chrome.latest, }, options ) @@ -466,10 +476,8 @@ class ChromeConfig extends Config if (platform === 'linux') { platform = 'linux' + (this.arch === 'x86' ? '32' : '64'); } else if (platform === 'darwin') { - const parts = String(this.version) - .split('.') - .map(Number); - const isGreater = [2, 22].some(function(part, i) { + const parts = String(this.version).split('.').map(Number); + const isGreater = [2, 22].some(function (part, i) { return parts[i] > part; }); platform = isGreater ? 'mac64' : 'mac32'; @@ -506,8 +514,10 @@ interface FirefoxProperties { type FirefoxOptions = Partial; -class FirefoxConfig extends Config - implements FirefoxProperties, DriverFile { +class FirefoxConfig + extends Config + implements FirefoxProperties, DriverFile +{ arch!: string; baseUrl!: string; platform!: string; @@ -520,7 +530,7 @@ class FirefoxConfig extends Config arch: process.arch, baseUrl: webdrivers.firefox.baseUrl, platform: process.platform, - version: webdrivers.firefox.latest + version: webdrivers.firefox.latest, }, options ) @@ -580,7 +590,7 @@ class IEConfig extends Config implements IEProperties, DriverFile { { arch: process.arch, baseUrl: webdrivers.ie.baseUrl, - version: webdrivers.ie.latest + version: webdrivers.ie.latest, }, options ) @@ -626,8 +636,10 @@ interface EdgeVersions { type EdgeOptions = Partial; -class EdgeConfig extends Config - implements EdgeProperties, DriverFile { +class EdgeConfig + extends Config + implements EdgeProperties, DriverFile +{ arch!: string; baseUrl!: string; uuid: string | undefined; @@ -641,7 +653,7 @@ class EdgeConfig extends Config arch: process.arch, baseUrl: webdrivers.edge.baseUrl, version: webdrivers.edge.latest, - versions: webdrivers.edge.versions + versions: webdrivers.edge.versions, }, options ) @@ -703,8 +715,10 @@ interface EdgeChromiumProperties { version: string; } -class EdgeChromiumConfig extends Config - implements EdgeChromiumProperties, DriverFile { +class EdgeChromiumConfig + extends Config + implements EdgeChromiumProperties, DriverFile +{ arch!: string; baseUrl!: string; platform!: string; @@ -717,7 +731,7 @@ class EdgeChromiumConfig extends Config arch: process.arch, baseUrl: webdrivers.edgeChromium.baseUrl, platform: process.platform, - version: webdrivers.edgeChromium.latest + version: webdrivers.edgeChromium.latest, }, options ) @@ -753,7 +767,7 @@ class EdgeChromiumConfig extends Config const edgePlatformNames: { [key: string]: string } = { darwin: 'mac', win32: 'win', - win64: 'win' + win64: 'win', }; const driverNameMap: { [key: string]: DriverConstructor } = { @@ -764,5 +778,5 @@ const driverNameMap: { [key: string]: DriverConstructor } = { edge: EdgeConfig, MicrosoftEdge: EdgeConfig, edgeChromium: EdgeChromiumConfig, - MicrosoftEdgeChromium: EdgeChromiumConfig + MicrosoftEdgeChromium: EdgeChromiumConfig, }; diff --git a/src/TestingBotTunnel.ts b/src/TestingBotTunnel.ts index 98fe753..875452a 100644 --- a/src/TestingBotTunnel.ts +++ b/src/TestingBotTunnel.ts @@ -1,7 +1,7 @@ import Tunnel, { TunnelProperties, ChildExecutor, - NormalizedEnvironment + NormalizedEnvironment, } from './Tunnel'; import { existsSync, watchFile, unlinkSync, unwatchFile } from 'fs'; import { stringify } from 'querystring'; @@ -18,8 +18,10 @@ import { JobState } from './interfaces'; * The username and accessKey properties will be initialized using * TESTINGBOT_API_KEY and TESTINGBOT_API_SECRET. */ -export default class TestingBotTunnel extends Tunnel - implements TestingBotProperties { +export default class TestingBotTunnel + extends Tunnel + implements TestingBotProperties +{ directory!: string; /** @@ -61,13 +63,14 @@ export default class TestingBotTunnel extends Tunnel useCompression: false, useJettyProxy: true, useSquidProxy: true, - useSsl: false + useSsl: false, }, options || {} ) ); } + // @ts-ignore get auth() { return `${this.username || ''}:${this.accessKey || ''}`; } @@ -91,7 +94,7 @@ export default class TestingBotTunnel extends Tunnel '-P', this.port, '-f', - readyFile + readyFile, ]; this.fastFailDomains.length && @@ -139,13 +142,13 @@ export default class TestingBotTunnel extends Tunnel data: payload, headers: { 'Content-Length': String(Buffer.byteLength(payload, 'utf8')), - 'Content-Type': 'application/x-www-form-urlencoded' + 'Content-Type': 'application/x-www-form-urlencoded', }, password: this.accessKey, username: this.username, - proxy: this.proxy - }).then(function(response) { - return response.text().then(text => { + proxy: this.proxy, + }).then(function (response) { + return response.text().then((text) => { if (text) { const data = JSON.parse(text); @@ -182,23 +185,24 @@ export default class TestingBotTunnel extends Tunnel // Polling API is used because we are only watching for one file, so // efficiency is not a big deal, and the `fs.watch` API has extra // restrictions which are best avoided - watchFile(readyFile, { persistent: false, interval: 1007 }, function( - current, - previous - ) { - if (Number(current.mtime) === Number(previous.mtime)) { - // readyFile hasn't been modified, so ignore the event - return; - } + watchFile( + readyFile, + { persistent: false, interval: 1007 }, + function (current, previous) { + if (Number(current.mtime) === Number(previous.mtime)) { + // readyFile hasn't been modified, so ignore the event + return; + } - unwatchFile(readyFile); - resolve(); - }); + unwatchFile(readyFile); + resolve(); + } + ); let lastMessage: string; this._handle = on(child.stderr!, 'data', (data: string) => { data = String(data); - data.split('\n').forEach(message => { + data.split('\n').forEach((message) => { if (message.indexOf('INFO: ') === 0) { message = message.slice('INFO: '.length); // the tunnel produces a lot of repeating messages @@ -212,7 +216,7 @@ export default class TestingBotTunnel extends Tunnel this.emit({ type: 'status', target: this, - status: message + status: message, }); lastMessage = message; } @@ -247,7 +251,7 @@ export default class TestingBotTunnel extends Tunnel protected _normalizeEnvironment(environment: any): NormalizedEnvironment { const browserMap: any = { googlechrome: 'chrome', - iexplore: 'internet explorer' + iexplore: 'internet explorer', }; const platform = environment.platform; @@ -263,8 +267,8 @@ export default class TestingBotTunnel extends Tunnel intern: { platform, browserName, - version - } + version, + }, }; } } diff --git a/src/Tunnel.ts b/src/Tunnel.ts index 054a6c4..d760960 100644 --- a/src/Tunnel.ts +++ b/src/Tunnel.ts @@ -6,22 +6,24 @@ import { Task, CancellablePromise, request, - Response + Response, } from '@theintern/common'; import { spawn, ChildProcess } from 'child_process'; import { join } from 'path'; import { format as formatUrl } from 'url'; import { fileExists, kill, on } from './lib/util'; import { JobState } from './interfaces'; -import * as decompress from 'decompress'; +import decompress from 'decompress'; /** * A Tunnel is a mechanism for connecting to a WebDriver service provider that * securely exposes local services for testing within the service provider’s * network. */ -export default class Tunnel extends Evented - implements TunnelProperties { +export default class Tunnel + extends Evented + implements TunnelProperties +{ /** * The URL of a service that provides a list of environments supported by * the tunnel. @@ -139,7 +141,7 @@ export default class Tunnel extends Evented port: 4444, protocol: 'http', verbose: false, - state: 'stopped' + state: 'stopped', }, options || {} ); @@ -234,10 +236,10 @@ export default class Tunnel extends Evented return request(this.environmentUrl, { password: this.accessKey, username: this.username, - proxy: this.proxy - }).then(response => { + proxy: this.proxy, + }).then((response) => { if (response.status >= 200 && response.status < 400) { - return response.json().then(data => { + return response.json().then((data) => { return data.reduce( (environments: NormalizedEnvironment[], environment: any) => { return environments.concat( @@ -284,10 +286,10 @@ export default class Tunnel extends Evented this._state = 'starting'; this._startTask = this.download().then(() => { - return this._start(child => { + return this._start((child) => { this._process = child; this._handle = createCompositeHandle( - this._handle || { destroy: function() {} }, + this._handle || { destroy: function () {} }, on(child.stdout!, 'data', proxyIOEvent(this, 'stdout')), on(child.stderr!, 'data', proxyIOEvent(this, 'stderr')), on(child, 'exit', () => { @@ -304,10 +306,10 @@ export default class Tunnel extends Evented this.emit({ type: 'status', target: this, - status: 'Ready' + status: 'Ready', }); }) - .catch(error => { + .catch((error) => { this._startTask = undefined; this._state = 'stopped'; this.emit({ @@ -316,7 +318,7 @@ export default class Tunnel extends Evented status: error.name === 'CancelError' ? 'Start cancelled' - : 'Failed to start tunnel' + : 'Failed to start tunnel', }); }); @@ -343,11 +345,11 @@ export default class Tunnel extends Evented this.emit({ type: 'status', target: this, - status: 'Stopping' + status: 'Stopping', }); this._stopTask = this._stop() - .then(returnValue => { + .then((returnValue) => { if (this._handle) { this._handle.destroy(); } @@ -356,11 +358,11 @@ export default class Tunnel extends Evented this.emit({ type: 'status', target: this, - status: 'Stopped' + status: 'Stopped', }); return returnValue; }) - .catch(error => { + .catch((error) => { this._state = 'running'; throw error; }); @@ -383,32 +385,30 @@ export default class Tunnel extends Evented (resolve, reject) => { req = request(url, { proxy, - onDownloadProgress: event => { + onDownloadProgress: (event) => { this.emit({ type: 'downloadprogress', target: this, url, total: event.total, - received: event.received + received: event.received, }); - } + }, }); req - .then(response => { + .then((response) => { if (response.status >= 400) { throw new Error( - `Download server returned status code ${ - response.status - } for ${url}` + `Download server returned status code ${response.status} for ${url}` ); } else { - response.arrayBuffer().then(data => { + response.arrayBuffer().then((data) => { resolve(this._postDownloadFile(Buffer.from(data), options)); }); } }) - .catch(error => { + .catch((error) => { reject(error); }); }, @@ -471,8 +471,9 @@ export default class Tunnel extends Evented function handleChildExit() { reject( new Error( - `Tunnel failed to start: ${errorMessage || - `Exit code: ${exitCode}`}` + `Tunnel failed to start: ${ + errorMessage || `Exit code: ${exitCode}` + }` ) ); } @@ -522,9 +523,9 @@ export default class Tunnel extends Evented handle.destroy(); if (canceled) { // We only want this to run when cancelation has occurred - return new Promise(resolve => { + return new Promise((resolve) => { child.once('exit', () => { - resolve(); + resolve(undefined); }); }); } @@ -626,7 +627,7 @@ export default class Tunnel extends Evented return; } - childProcess.once('exit', code => { + childProcess.once('exit', (code) => { resolve(code == null ? undefined : code); }); @@ -773,13 +774,14 @@ export interface TunnelProperties extends DownloadProperties { export type TunnelOptions = Partial; function proxyIOEvent(target: Tunnel, type: 'stdout' | 'stderr') { - return function(data: any) { + return function (data: any) { target.emit({ type, target, - data: String(data) + data: String(data), }); }; } +// @ts-ignore delete Tunnel.prototype.on; diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..f90d7f9 --- /dev/null +++ b/src/index.ts @@ -0,0 +1,7 @@ +export { default as BrowserStackTunnel } from './BrowserStackTunnel'; +export { default as CrossBrowserTestingTunnel } from './CrossBrowserTestingTunnel'; +export { default as NullTunnel } from './NullTunnel'; +export { default as SauceLabsTunnel } from './SauceLabsTunnel'; +export { default as SeleniumTunnel } from './SeleniumTunnel'; +export { default as TestingBotTunnel } from './TestingBotTunnel'; +export { default as Tunnel } from './Tunnel'; diff --git a/src/lib/util.ts b/src/lib/util.ts index ce9a4df..0a5544a 100644 --- a/src/lib/util.ts +++ b/src/lib/util.ts @@ -43,10 +43,14 @@ export function fileExists(filename: string): boolean { * This function will attempt to kill all processes that it should, and will * report an error at the end if any process could not be killed. */ -export function kill(pid: number) { +export function kill(pid: number | undefined) { let error: Error | undefined; - getChildProcesses(pid).forEach(childPid => { + if (pid === undefined) { + return; + } + + getChildProcesses(pid).forEach((childPid) => { try { killProcess(childPid); } catch (err) { @@ -89,7 +93,7 @@ function killProcess(pid: number) { * @returns A Promise that resolves when the file has been written */ export function writeFile(data: any, filename: string) { - return new Promise(function(resolve, reject) { + return new Promise(function (resolve, reject) { function mkdirp(dir: string) { if (!dir) { return; @@ -111,7 +115,7 @@ export function writeFile(data: any, filename: string) { } mkdirp(dirname(filename)); - fsWriteFile(filename, data, function(error) { + fsWriteFile(filename, data, function (error) { if (error) { reject(error); } else { @@ -134,9 +138,9 @@ function getChildProcesses(pid: number) { .trim() .split('\n') .slice(1) - .map(line => line.trim()) - .map(line => line.split(/\s+/).map(word => word.trim())) - .map(words => ({ parent: Number(words[0]), child: Number(words[1]) })) - .filter(entry => entry.parent === pid) - .map(entry => entry.child); + .map((line) => line.trim()) + .map((line) => line.split(/\s+/).map((word) => word.trim())) + .map((words) => ({ parent: Number(words[0]), child: Number(words[1]) })) + .filter((entry) => entry.parent === pid) + .map((entry) => entry.child); } diff --git a/tests/integration/SeleniumTunnel.ts b/tests/integration/SeleniumTunnel.ts index 1a84e44..44cbc46 100644 --- a/tests/integration/SeleniumTunnel.ts +++ b/tests/integration/SeleniumTunnel.ts @@ -7,14 +7,14 @@ import { ObjectSuiteDescriptor, Tests } from 'intern/lib/interfaces/object'; import SeleniumTunnel, { DriverFile } from '../../src/SeleniumTunnel'; import { addStartStopTest } from '../support/integration'; import { cleanup, deleteTunnelFiles, getDigdugArgs } from '../support/util'; -import * as webdriversJson from '../../src/webdrivers.json'; +import webdriversJson from '../../src/webdrivers.json'; const origWebdriversJson = JSON.parse(JSON.stringify(webdriversJson)); function createDownloadTest(config: any) { return () => { tunnel = new SeleniumTunnel(); - Object.keys(config).forEach(key => { + Object.keys(config).forEach((key) => { Object.defineProperty(tunnel, key, { value: config[key] }); }); @@ -37,7 +37,7 @@ function createDownloadTest(config: any) { progressed = true; }); - return tunnel.download().then(function() { + return tunnel.download().then(function () { for (const file of expected) { assert.isTrue( existsSync(join(tunnel.directory, file)), @@ -52,9 +52,9 @@ function createDownloadTest(config: any) { let tunnel: SeleniumTunnel; let tests: Tests = { - download: (function() { + download: (function () { const tests: any = { - 'selenium standalone': createDownloadTest({ drivers: [] }) + 'selenium standalone': createDownloadTest({ drivers: [] }), }; [ @@ -72,8 +72,8 @@ let tests: Tests = { { name: 'MicrosoftEdgeChromium', platform: 'darwin' }, { name: 'firefox', platform: 'linux' }, { name: 'firefox', platform: 'darwin' }, - { name: 'firefox', platform: 'win32' } - ].forEach(function(config: any) { + { name: 'firefox', platform: 'win32' }, + ].forEach(function (config: any) { let testName = config.name; if (config.platform) { testName += '-' + config.platform; @@ -89,7 +89,7 @@ let tests: Tests = { // to change the Selenium configuration so isDownloaded() should // always report true for Selenium artifact: '.', - drivers: [config] + drivers: [config], }); }); @@ -108,11 +108,11 @@ let tests: Tests = { assert.isFalse(tunnel.isDownloaded); }, - 'version check': function() { + 'version check': function () { const version = '2.25'; const { arch } = process; tunnel = new SeleniumTunnel({ - drivers: [{ name: 'chrome', version }] + drivers: [{ name: 'chrome', version }], }); return tunnel.download().then(() => { const driver = join(tunnel.directory, version, arch, 'chromedriver'); @@ -134,7 +134,7 @@ let tests: Tests = { tests: { async 'bad url'() { tunnel = new SeleniumTunnel({ - drivers: [{ name: 'chrome' }, { name: 'firefox' }] + drivers: [{ name: 'chrome' }, { name: 'firefox' }], }); webdriversJson.drivers.chrome.latest = '2.46'; @@ -184,7 +184,7 @@ let tests: Tests = { async 'good url'() { tunnel = new SeleniumTunnel({ - drivers: [{ name: 'chrome' }, { name: 'firefox' }] + drivers: [{ name: 'chrome' }, { name: 'firefox' }], }); const resp = await request(tunnel.webDriverDataUrl!); @@ -224,13 +224,13 @@ let tests: Tests = { const dataFile = join(tunnel.directory, 'webdrivers.json'); assert.isTrue(existsSync(dataFile), `expected ${dataFile} to exist`); - } - } - } + }, + }, + }, }; tests = addStartStopTest(tests, SeleniumTunnel, { - needsAuthData: false + needsAuthData: false, }); const suite: ObjectSuiteDescriptor = { @@ -242,7 +242,7 @@ const suite: ObjectSuiteDescriptor = { return cleanup(tunnel); }, - tests + tests, }; registerSuite('integration/SeleniumTunnel', suite); diff --git a/tslint.json b/tslint.json deleted file mode 100644 index bfbc075..0000000 --- a/tslint.json +++ /dev/null @@ -1 +0,0 @@ -{ "extends": "@theintern/dev/tslint.json" }