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-serve.git


The following commit(s) were added to refs/heads/master by this push:
     new c140c75  feat: forward the CLI user arguments to cordova-serve/browser 
(#42)
c140c75 is described below

commit c140c758a0a1ca1f5d0085f566b58c714b506b1d
Author: Tim Brust <git...@timbrust.de>
AuthorDate: Thu Aug 21 05:21:49 2025 +0200

    feat: forward the CLI user arguments to cordova-serve/browser (#42)
    
    Co-authored-by: max104t <max104t_2...@hotmail.com>
---
 spec/browser.spec.js | 18 ++++++++++++++++++
 src/browser.js       | 10 +++++++---
 2 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/spec/browser.spec.js b/spec/browser.spec.js
index f6f27c6..bcc3dbc 100644
--- a/spec/browser.spec.js
+++ b/spec/browser.spec.js
@@ -82,4 +82,22 @@ describe('browser', () => {
             expectPatternToExtractPathFrom(`${regPath} (�� 㬮�砭��)    REG_SZ    
${appPath}`);
         });
     });
+
+    it('should append user arguments to getBrowser results', function (done) {
+        const getBrowser = browser.__get__('getBrowser');
+        const someCoolArgument = 'SOME COOL ARGUMENT';
+        const result = getBrowser(/* target */ 'chrome', /* dataDir */ null, 
/* userArgs */ someCoolArgument);
+        expect(result).toBeDefined();
+        expectPromise(result);
+
+        result.then((res) => {
+            const endsWithSomeCoolArgument = res.endsWith(someCoolArgument);
+            expect(endsWithSomeCoolArgument).toBe(true);
+            if (!endsWithSomeCoolArgument) {
+                done(res);
+            } else {
+                done();
+            }
+        });
+    });
 });
diff --git a/src/browser.js b/src/browser.js
index 2e47296..61163d7 100644
--- a/src/browser.js
+++ b/src/browser.js
@@ -47,7 +47,7 @@ module.exports = function (opts) {
         open(url);
         return Promise.resolve();
     } else {
-        return getBrowser(target, opts.dataDir).then(browser => {
+        return getBrowser(target, opts.dataDir, opts.userArgs).then(browser => 
{
             let args;
             let urlAdded = false;
 
@@ -101,8 +101,12 @@ module.exports = function (opts) {
     }
 };
 
-function getBrowser (target, dataDir) {
+function getBrowser (target, dataDir, userArgs) {
     dataDir = dataDir || 'temp_chrome_user_data_dir_for_cordova';
+    userArgs = userArgs || '';
+    if (userArgs.length > 0) {
+        userArgs = ' ' + userArgs;
+    }
 
     const chromeArgs = ` --user-data-dir=/tmp/${dataDir}`;
     const browsers = {
@@ -130,7 +134,7 @@ function getBrowser (target, dataDir) {
 
     if (target in browsers[process.platform]) {
         const browser = browsers[process.platform][target];
-        return checkBrowserExistsWindows(browser, target).then(() => browser);
+        return checkBrowserExistsWindows(browser, target).then(() => browser + 
userArgs);
     } else {
         return Promise.reject(NOT_SUPPORTED.replace('%target%', target));
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cordova.apache.org
For additional commands, e-mail: commits-h...@cordova.apache.org

Reply via email to