Skip to content

Commit

Permalink
Add chromium path arguments (#465)
Browse files Browse the repository at this point in the history
* Add chromium path arguments

* Update simulate API

* Argument correction and exception logs

* Lowercase correction

* Lowercase correction 1.0

* Fix chromium path argument validation

* Fix chromium path argument validation 1.0

* Chromium target validation

* Fix Chromium target validation

* Target validation update

* getBrowser chromiumPath argument location change

---------

Co-authored-by: Rodolfo Liberado (BEYONDSOFT CONSULTING INC) <[email protected]>
  • Loading branch information
RodBerw and Rodolfo Liberado (BEYONDSOFT CONSULTING INC) authored Mar 11, 2024
1 parent e84a1e3 commit d052b51
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 47 deletions.
8 changes: 5 additions & 3 deletions bin/simulate
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ function unknownOptHandler(optName) {
function processArgs() {
try {
var parserOptions = {
string: ['dir', 'simhostui', 'target', 'simulationpath', 'device', 'lang', 'theme', 'middleware'],
string: ['dir', 'simhostui', 'target', 'simulationpath', 'device', 'lang', 'theme', 'middleware', 'chromiumpath'],
boolean: ['livereload', 'forceprepare', 'corsproxy', 'generateids', 'spaurlrewrites', 'showbrowser'],
default: {
dir: null,
Expand Down Expand Up @@ -77,7 +77,8 @@ function processArgs() {
middleware: parsed.middleware,
generateids: parsed.generateids,
spaurlrewrites: parsed.spaurlrewrites,
showbrowser: parsed.showbrowser
showbrowser: parsed.showbrowser,
chromiumpath: parsed.chromiumpath
};
} catch (err) {
throw new Error('Error parsing arguments: ' + (err.message || err) + os.EOL + os.EOL + getUsageString());
Expand All @@ -102,7 +103,8 @@ function getUsageString() {
'[--middleware MIDDLEWARE_PATH]',
'[--generateids (GENERATEIDS)]',
'[--spaurlrewrites (SPA_URL_REWRITES)]',
'[--showbrowser (SHOWBROWSER)]'
'[--showbrowser (SHOWBROWSER)]',
'[--chromiumpath CHROMIUM_PATH]'
];

return message + options.join(' ') + os.EOL;
Expand Down
40 changes: 2 additions & 38 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 4 additions & 2 deletions src/browsers/browser.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ function launchBrowser(opts) {
let target = opts.target || 'default';
const url = opts.url || '';
let showBrowser = opts.showBrowser;
const chromiumPath = opts.chromiumPath;

// Handle showbrowser argument sent from cordova-tools and other unknown scenarios
// Only showbrowser = false will return method
Expand All @@ -29,7 +30,7 @@ function launchBrowser(opts) {
open(url);
return Promise.resolve();
} else {
return getBrowser(target, opts.dataDir, url).then(browser => {
return getBrowser(target, opts.dataDir, url, chromiumPath).then(browser => {
let args;

switch (process.platform) {
Expand Down Expand Up @@ -62,7 +63,7 @@ function launchBrowser(opts) {
}
}

function getBrowser(target, dataDir, url) {
function getBrowser(target, dataDir, url, chromiumPath) {
if (target == 'chrome') {
dataDir = dataDir || 'cordova_simulate_temp_chrome_user_data_dir';
} else if (target == 'edge') {
Expand All @@ -73,6 +74,7 @@ function getBrowser(target, dataDir, url) {
const browsers = {
win32: {
chrome: `chrome --user-data-dir=%TEMP%\\${dataDir}`,
chromium: chromiumPath,
opera: 'opera',
firefox: 'firefox',
edge: `msedge ${url} --user-data-dir=%TEMP%\\${dataDir}`
Expand Down
17 changes: 13 additions & 4 deletions src/simulate.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ var Simulator = require('./server/simulator');
var BrowserHelper = require('./browsers/browser');
const log = require('./server/utils/log');

var launchBrowser = function (target, url, showBrowser) {
return BrowserHelper.launchBrowser({ target: target, url: url, showBrowser: showBrowser });
var launchBrowser = function (target, url, showBrowser, chromiumPath) {
return BrowserHelper.launchBrowser({ target: target, url: url, showBrowser: showBrowser, chromiumPath: chromiumPath });
};

var simulate = function (opts) {
Expand All @@ -17,18 +17,27 @@ var simulate = function (opts) {
var target = opts.target || 'default';
var simulator = new Simulator(opts);
var showBrowser = opts.showbrowser;
var chromiumPath = opts.chromiumpath;

if (!showBrowser) {
var noBrowserMessage = 'The argument `showbrowser` is set to false. Please load simulated application in browser manually if needed.';
log.warning(noBrowserMessage);
}

if(process.platform === 'win32' && target.toLowerCase() === 'chromium' && !chromiumPath){
var win32NoPathMessage = 'Chromium path is required on Windows (win32).';
throw new Error(win32NoPathMessage);
}else if(process.platform !== 'win32' && chromiumPath){
var nonWin32PathMessage = 'Chromium path is not supported on this platform.';
log.warning(nonWin32PathMessage);
}

return simulator.startSimulation()
.then(function () {
return launchBrowser(target, simulator.appUrl(), showBrowser);
return launchBrowser(target, simulator.appUrl(), showBrowser, chromiumPath);
})
.then(function () {
return launchBrowser(target, simulator.simHostUrl(), showBrowser);
return launchBrowser(target, simulator.simHostUrl(), showBrowser, chromiumPath);
})
.then(function () {
return simulator;
Expand Down

0 comments on commit d052b51

Please sign in to comment.