| Server IP : 34.87.99.72 / Your IP : 216.73.217.31 Web Server : Apache/2.4.46 (Unix) OpenSSL/1.1.1n System : Linux zlock-bitnami-lamp-prod-v2-vm 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 User : bitnami ( 1000) PHP Version : 7.4.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /opt/bitnami/apache/htdocs/app/node_modules/webpack-dev-server/lib/utils/ |
Upload File : |
'use strict';
const open = require('open');
const isAbsoluteUrl = require('is-absolute-url');
function runOpen(uri, options, logger) {
// https://github.com/webpack/webpack-dev-server/issues/1990
const defaultOpenOptions = { wait: false };
const openTasks = [];
const getOpenTask = (item) => {
if (typeof item === 'boolean') {
return [{ target: uri, options: defaultOpenOptions }];
}
if (typeof item === 'string') {
return [{ target: item, options: defaultOpenOptions }];
}
let targets;
if (item.target) {
targets = Array.isArray(item.target) ? item.target : [item.target];
} else {
targets = [uri];
}
return targets.map((target) => {
const openOptions = defaultOpenOptions;
if (item.app) {
openOptions.app = item.app;
}
return { target, options: openOptions };
});
};
if (Array.isArray(options)) {
options.forEach((item) => {
openTasks.push(...getOpenTask(item));
});
} else {
openTasks.push(...getOpenTask(options));
}
return Promise.all(
openTasks.map((openTask) => {
let openTarget;
if (openTask.target) {
if (typeof openTask.target === 'boolean') {
openTarget = uri;
} else {
openTarget = isAbsoluteUrl(openTask.target)
? openTask.target
: new URL(openTask.target, uri).toString();
}
} else {
openTarget = uri;
}
return open(openTarget, openTask.options).catch(() => {
logger.warn(
`Unable to open "${openTarget}" page${
// eslint-disable-next-line no-nested-ternary
openTask.options.app
? Array.isArray(openTask.options.app)
? ` in "${
openTask.options.app[0]
}" app with "${openTask.options.app
.slice(1)
.join(' ')}" arguments`
: ` in "${openTask.options.app}" app`
: ''
}. If you are running in a headless environment, please do not use the "--open" flag or the "open" option.`
);
});
})
);
}
module.exports = runOpen;