This is an automated email from the ASF dual-hosted git repository.

erisu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cordova-paramedic.git


The following commit(s) were added to refs/heads/master by this push:
     new aa57892  feat!: remove external server & local tunneling (#281)
aa57892 is described below

commit aa578924048aef29e55613f2535d6924513a3fb3
Author: エリス <[email protected]>
AuthorDate: Sun Dec 7 15:42:34 2025 +0900

    feat!: remove external server & local tunneling (#281)
---
 README.md                          |  24 +---
 lib/LocalServer.js                 |  37 +------
 lib/ParamedicConfig.js             |  14 ---
 lib/PluginsManager.js              |   2 +-
 lib/paramedic.js                   |   2 +-
 main.js                            |   8 --
 package-lock.json                  | 221 +------------------------------------
 package.json                       |   1 -
 sample-config/.paramedic.config.js |   2 -
 9 files changed, 9 insertions(+), 302 deletions(-)

diff --git a/README.md b/README.md
index f37cecf..4e513a3 100644
--- a/README.md
+++ b/README.md
@@ -54,8 +54,6 @@ Cordova Paramedic is currently used to automatically run all 
plugin tests on CI.
     - [Emulator/Device to use for tests](#emulatordevice-to-use-for-tests)
       - [`--target` (optional)](#--target-optional)
     - [Test Result Server](#test-result-server)
-      - [`--useTunnel` (optional)](#--usetunnel-optional)
-      - [`--externalServerUrl` (optional)](#--externalserverurl-optional)
       - [`--port` (optional)](#--port-optional)
     - [Test configuration](#test-configuration)
       - [`--timeout` (optional)](#--timeout-optional)
@@ -182,8 +180,7 @@ cordova-paramedic --platform android --plugin ./
 **Test your current plugin on a specific Android device (ID via `adb devices 
-l`):**
 
 ```shell
-
-cordova-paramedic --platform android --plugin ./ --target 02e7f7e9215da7f8 
--useTunnel
+cordova-paramedic --platform android --plugin ./ --target 02e7f7e9215da7f8
 ```
 
 ## Command Line Interface
@@ -256,23 +253,6 @@ cordova-paramedic --platform ios --plugin 
cordova-plugin-contacts --target "iPho
 
 ### Test Result Server
 
-#### `--useTunnel` (optional)
-
-Use a tunnel (via [`localtunnel`](https://www.npmjs.com/package/localtunnel)) 
instead of local address (default is false).
-Useful when testing on real devices and don't want to specify external IP 
address (see `--externalServerUrl` below) of paramedic server.
-
-```shell
-cordova-paramedic --platform ios --plugin cordova-plugin-inappbrowser 
--useTunnel
-```
-
-#### `--externalServerUrl` (optional)
-
-Useful when testing on real device (`--device` parameter) so that tests 
results from device could be posted back to paramedic server.
-
-```shell
-cordova-paramedic --platform ios --plugin cordova-plugin-inappbrowser 
--externalServerUrl http://10.0.8.254
-```
-
 #### `--port` (optional)
 
 Port to use for posting results from emulator back to paramedic server 
(default is from `8008`). You can also specify a range using `--startport` and 
`endport` and paramedic will select the first available.
@@ -337,8 +317,6 @@ Example configuration file is showed below.
 
 ```js
 module.exports = {
-    // "externalServerUrl": "http://10.0.8.254";,
-    "useTunnel": true,
     "plugins": [
         "https://github.com/apache/cordova-plugin-inappbrowser";
     ],
diff --git a/lib/LocalServer.js b/lib/LocalServer.js
index 732072b..034cf6c 100644
--- a/lib/LocalServer.js
+++ b/lib/LocalServer.js
@@ -21,7 +21,6 @@ const Q = require('q');
 const io = require('socket.io');
 const portChecker = require('tcp-port-used');
 const { EventEmitter } = require('events');
-const localtunnel = require('localtunnel');
 const shell = require('shelljs');
 const { spawn } = require('child_process');
 const { logger, execPromise, utilities } = require('./utils');
@@ -32,11 +31,10 @@ const CONNECTION_HEARBEAT_PING_TIMEOUT = 60000;
 const CONNECTION_HEARBEAT_PING_INTERVAL = 25000;
 
 class LocalServer extends EventEmitter {
-    constructor (port, externalServerUrl) {
+    constructor (port) {
         super();
 
         this.port = port;
-        this.externalServerUrl = externalServerUrl;
         this.server = { alive: false };
     }
 
@@ -75,29 +73,6 @@ class LocalServer extends EventEmitter {
         });
     }
 
-    createTunnel () {
-        logger.info('cordova-paramedic: attempt to create local tunnel');
-
-        return Q.Promise((resolve, reject) => {
-            const tunnel = localtunnel(this.port, (err, tunnel) => {
-                if (err) {
-                    reject('Unable to create local tunnel: ' + err);
-                    return;
-                }
-
-                this.tunneledUrl = tunnel.url;
-                logger.info('cordova-paramedic: using tunneled url ' + 
this.tunneledUrl);
-
-                resolve(this);
-            });
-
-            // this trace is useful to debug test run timeout issue
-            tunnel.on('close', function () {
-                logger.normal('local-server: local tunnel has been closed');
-            });
-        });
-    }
-
     createSocketListener () {
         const listener = io(this.port, {
             pingTimeout: CONNECTION_HEARBEAT_PING_TIMEOUT,
@@ -130,8 +105,6 @@ class LocalServer extends EventEmitter {
 
     // Connection address could be platform specific so we pass platform as 
param here
     getConnectionAddress (platformId) {
-        if (this.externalServerUrl) return this.externalServerUrl;
-
         // build connection uri for localhost based on platform
         return platformId === utilities.ANDROID
             ? 'http://10.0.2.2' // TODO This only seems to work sometimes. See 
PR #56
@@ -140,9 +113,6 @@ class LocalServer extends EventEmitter {
 
     // Connection url could be platform specific so we pass platform as param 
here
     getConnectionUrl (platformId) {
-        // --useTunnel option
-        if (this.tunneledUrl) return this.tunneledUrl;
-
         return this.getConnectionAddress(platformId) + ':' + this.port;
     }
 
@@ -155,7 +125,7 @@ function getRandomInt (min, max) {
     return Math.floor(Math.random() * (max - min)) + min;
 }
 
-LocalServer.startServer = function (ports, externalServerUrl, useTunnel, 
noListener) {
+LocalServer.startServer = function (ports, noListener) {
     
logger.warn('------------------------------------------------------------');
     logger.warn('2. Create and configure local server to receive test 
results');
     
logger.warn('------------------------------------------------------------');
@@ -167,10 +137,9 @@ LocalServer.startServer = function (ports, 
externalServerUrl, useTunnel, noListe
             logger.normal('local-server: port ' + port + ' is available');
             logger.info('local-server: starting local medic server');
 
-            const localServer = new LocalServer(port, externalServerUrl);
+            const localServer = new LocalServer(port);
 
             if (!noListener) localServer.createSocketListener();
-            if (useTunnel) return localServer.createTunnel();
 
             return localServer;
         });
diff --git a/lib/ParamedicConfig.js b/lib/ParamedicConfig.js
index 5a9833a..78c10b5 100644
--- a/lib/ParamedicConfig.js
+++ b/lib/ParamedicConfig.js
@@ -27,14 +27,6 @@ class ParamedicConfig {
         this._config = json;
     }
 
-    getUseTunnel () {
-        return this._config.useTunnel;
-    }
-
-    setUseTunnel (useTunnel) {
-        this._config.useTunnel = useTunnel;
-    }
-
     getOutputDir () {
         return this._config.outputDir;
     }
@@ -87,10 +79,6 @@ class ParamedicConfig {
         this._config.plugins = Array.isArray(plugins) ? plugins : [plugins];
     }
 
-    getExternalServerUrl () {
-        return this._config.externalServerUrl;
-    }
-
     isVerbose () {
         return this._config.verbose;
     }
@@ -172,11 +160,9 @@ ParamedicConfig.parseFromArguments = function (argv) {
         action: argv.justbuild || argv.justBuild ? 'build' : 'run',
         args: '',
         plugins: Array.isArray(argv.plugin) ? argv.plugin : [argv.plugin],
-        useTunnel: !!argv.useTunnel,
         verbose: !!argv.verbose,
         startPort: argv.startport || argv.port,
         endPort: argv.endport || argv.port,
-        externalServerUrl: argv.externalServerUrl,
         outputDir: argv.outputDir ? argv.outputDir : null,
         tccDb: argv.tccDbPath ? argv.tccDb : null,
         cleanUpAfterRun: !!argv.cleanUpAfterRun,
diff --git a/lib/PluginsManager.js b/lib/PluginsManager.js
index 6146553..37322e0 100644
--- a/lib/PluginsManager.js
+++ b/lib/PluginsManager.js
@@ -51,7 +51,7 @@ class PluginsManager {
                         additionalArgs += ' --variable 
FILETRANSFER_SERVER_ADDRESS=' + this.config.getFileTransferServer();
                     } else {
                         // no server address specified, starting a local server
-                        const server = new Server(0, 
this.config.getExternalServerUrl());
+                        const server = new Server(0);
                         const fileServerUrl = 
server.getConnectionAddress(this.config.getPlatformId()) + ':5001';
                         additionalArgs += ' --variable 
FILETRANSFER_SERVER_ADDRESS=' + fileServerUrl;
                     }
diff --git a/lib/paramedic.js b/lib/paramedic.js
index 1009def..2456270 100644
--- a/lib/paramedic.js
+++ b/lib/paramedic.js
@@ -64,7 +64,7 @@ class ParamedicRunner {
                 if (this.config.runMainTests()) {
                     // start server
                     const noListener = false;
-                    return Server.startServer(this.config.getPorts(), 
this.config.getExternalServerUrl(), this.config.getUseTunnel(), noListener);
+                    return Server.startServer(this.config.getPorts(), 
noListener);
                 }
             })
             .then((server) => {
diff --git a/main.js b/main.js
index ebbfa55..c8ad5b7 100755
--- a/main.js
+++ b/main.js
@@ -53,7 +53,6 @@ var USAGE           = "Error missing args. \n" +
     "--tccDb : (optional) iOS only - specifies the path for the TCC.db file to 
be copied.\n" +
     "--timeout `MSECS` : (optional) time in millisecs to wait for tests to 
pass|fail \n" +
                 "\t(defaults to 10 minutes) \n" +
-    "--useTunnel: (optional) use tunneling instead of local address. default 
is false\n" +
     "--verbose : (optional) verbose mode. Display more information output\n" +
     "--version : (optional) prints cordova-paramedic version and exits\n" +
     "";
@@ -101,13 +100,6 @@ if (argv.version) {
         paramedicConfig.setAction(argv.action);
     }
 
-    if (argv.useTunnel) {
-        if (argv.useTunnel === 'false') {
-            argv.useTunnel = false;
-        }
-        paramedicConfig.setUseTunnel(argv.useTunnel);
-    }
-
     if (argv.skipMainTests) {
         paramedicConfig.setSkipMainTests(argv.skipMainTests);
     }
diff --git a/package-lock.json b/package-lock.json
index 3705c04..07baadf 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -13,7 +13,6 @@
         "execa": "^5.1.1",
         "jasmine-reporters": "^2.5.2",
         "jasmine-spec-reporter": "^7.0.0",
-        "localtunnel": "^2.0.2",
         "minimist": "^1.2.8",
         "q": "^1.5.1",
         "shelljs": "^0.10.0",
@@ -424,19 +423,11 @@
       "integrity": 
"sha512-iFY7JCgHbepc0b82yLaw4IMortylNb6wG4kL+4R0C3iv6i+RHGHux/yUX5BTiRvSX/shMnngjR1YyNMnXEFh5A==",
       "license": "MIT"
     },
-    "node_modules/ansi-regex": {
-      "version": "5.0.1",
-      "resolved": 
"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz";,
-      "integrity": 
"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
-      "license": "MIT",
-      "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,
       "license": "MIT",
       "dependencies": {
         "color-convert": "^2.0.1"
@@ -612,15 +603,6 @@
         "url": "https://github.com/sponsors/ljharb";
       }
     },
-    "node_modules/axios": {
-      "version": "0.21.4",
-      "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz";,
-      "integrity": 
"sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
-      "license": "MIT",
-      "dependencies": {
-        "follow-redirects": "^1.14.0"
-      }
-    },
     "node_modules/balanced-match": {
       "version": "1.0.2",
       "resolved": 
"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz";,
@@ -778,21 +760,11 @@
         "url": "https://github.com/chalk/chalk?sponsor=1";
       }
     },
-    "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==",
-      "license": "ISC",
-      "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,
       "license": "MIT",
       "dependencies": {
         "color-name": "~1.1.4"
@@ -805,6 +777,7 @@
       "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,
       "license": "MIT"
     },
     "node_modules/colors": {
@@ -1037,12 +1010,6 @@
         "node": ">= 0.4.0"
       }
     },
-    "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==",
-      "license": "MIT"
-    },
     "node_modules/endent": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/endent/-/endent-2.1.0.tgz";,
@@ -1263,15 +1230,6 @@
         "url": "https://github.com/sponsors/ljharb";
       }
     },
-    "node_modules/escalade": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz";,
-      "integrity": 
"sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
-      "license": "MIT",
-      "engines": {
-        "node": ">=6"
-      }
-    },
     "node_modules/escape-string-regexp": {
       "version": "4.0.0",
       "resolved": 
"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz";,
@@ -1815,26 +1773,6 @@
       "dev": true,
       "license": "ISC"
     },
-    "node_modules/follow-redirects": {
-      "version": "1.15.11",
-      "resolved": 
"https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz";,
-      "integrity": 
"sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==",
-      "funding": [
-        {
-          "type": "individual",
-          "url": "https://github.com/sponsors/RubenVerborgh";
-        }
-      ],
-      "license": "MIT",
-      "engines": {
-        "node": ">=4.0"
-      },
-      "peerDependenciesMeta": {
-        "debug": {
-          "optional": true
-        }
-      }
-    },
     "node_modules/for-each": {
       "version": "0.3.5",
       "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz";,
@@ -1902,15 +1840,6 @@
         "node": ">= 0.4"
       }
     },
-    "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==",
-      "license": "ISC",
-      "engines": {
-        "node": "6.* || 8.* || >= 10.*"
-      }
-    },
     "node_modules/get-intrinsic": {
       "version": "1.3.0",
       "resolved": 
"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz";,
@@ -2387,15 +2316,6 @@
         "url": "https://github.com/sponsors/ljharb";
       }
     },
-    "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==",
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/is-generator-function": {
       "version": "1.1.2",
       "resolved": 
"https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz";,
@@ -2760,47 +2680,6 @@
         "node": ">= 0.8.0"
       }
     },
-    "node_modules/localtunnel": {
-      "version": "2.0.2",
-      "resolved": 
"https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz";,
-      "integrity": 
"sha512-n418Cn5ynvJd7m/N1d9WVJISLJF/ellZnfsLnx8WBWGzxv/ntNcFkJ1o6se5quUhCplfLGBNL5tYHiq5WF3Nug==",
-      "license": "MIT",
-      "dependencies": {
-        "axios": "0.21.4",
-        "debug": "4.3.2",
-        "openurl": "1.1.1",
-        "yargs": "17.1.1"
-      },
-      "bin": {
-        "lt": "bin/lt.js"
-      },
-      "engines": {
-        "node": ">=8.3.0"
-      }
-    },
-    "node_modules/localtunnel/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==",
-      "license": "MIT",
-      "dependencies": {
-        "ms": "2.1.2"
-      },
-      "engines": {
-        "node": ">=6.0"
-      },
-      "peerDependenciesMeta": {
-        "supports-color": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/localtunnel/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==",
-      "license": "MIT"
-    },
     "node_modules/locate-path": {
       "version": "6.0.0",
       "resolved": 
"https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz";,
@@ -3093,12 +2972,6 @@
         "url": "https://github.com/sponsors/sindresorhus";
       }
     },
-    "node_modules/openurl": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz";,
-      "integrity": 
"sha512-d/gTkTb1i1GKz5k3XE3XFV/PxQ1k45zDqGP2OA7YhgsaLoqm6qRvARAZOFer1fcXritWlGBRCu/UgeS4HAnXAA==",
-      "license": "MIT"
-    },
     "node_modules/optionator": {
       "version": "0.9.4",
       "resolved": 
"https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz";,
@@ -3337,15 +3210,6 @@
         "url": "https://github.com/sponsors/ljharb";
       }
     },
-    "node_modules/require-directory": {
-      "version": "2.1.1",
-      "resolved": 
"https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz";,
-      "integrity": 
"sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
-      "license": "MIT",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/resolve": {
       "version": "1.22.11",
       "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz";,
@@ -3762,20 +3626,6 @@
         "node": ">= 0.4"
       }
     },
-    "node_modules/string-width": {
-      "version": "4.2.3",
-      "resolved": 
"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz";,
-      "integrity": 
"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
-      "license": "MIT",
-      "dependencies": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/string.prototype.trim": {
       "version": "1.2.10",
       "resolved": 
"https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz";,
@@ -3835,18 +3685,6 @@
         "url": "https://github.com/sponsors/ljharb";
       }
     },
-    "node_modules/strip-ansi": {
-      "version": "6.0.1",
-      "resolved": 
"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz";,
-      "integrity": 
"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
-      "license": "MIT",
-      "dependencies": {
-        "ansi-regex": "^5.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/strip-bom": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz";,
@@ -4295,23 +4133,6 @@
         "node": ">=0.10.0"
       }
     },
-    "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==",
-      "license": "MIT",
-      "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/ws": {
       "version": "8.17.1",
       "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz";,
@@ -4342,42 +4163,6 @@
         "node": ">=8.0"
       }
     },
-    "node_modules/y18n": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz";,
-      "integrity": 
"sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
-      "license": "ISC",
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/yargs": {
-      "version": "17.1.1",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz";,
-      "integrity": 
"sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==",
-      "license": "MIT",
-      "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": ">=12"
-      }
-    },
-    "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==",
-      "license": "ISC",
-      "engines": {
-        "node": ">=10"
-      }
-    },
     "node_modules/yocto-queue": {
       "version": "0.1.0",
       "resolved": 
"https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz";,
diff --git a/package.json b/package.json
index ee23eb9..7dbe851 100644
--- a/package.json
+++ b/package.json
@@ -34,7 +34,6 @@
     "execa": "^5.1.1",
     "jasmine-reporters": "^2.5.2",
     "jasmine-spec-reporter": "^7.0.0",
-    "localtunnel": "^2.0.2",
     "minimist": "^1.2.8",
     "q": "^1.5.1",
     "shelljs": "^0.10.0",
diff --git a/sample-config/.paramedic.config.js 
b/sample-config/.paramedic.config.js
index 38fe36f..c040c3c 100644
--- a/sample-config/.paramedic.config.js
+++ b/sample-config/.paramedic.config.js
@@ -18,8 +18,6 @@
 */
 
 module.exports = {
-    //"externalServerUrl": "http://10.0.8.254";,
-    "useTunnel": true,
     "verbose": false,
     "plugins": [
         "https://github.com/apache/cordova-plugin-inappbrowser";


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to