ionic
Version:
A tool for creating and developing Ionic Framework mobile apps.
55 lines (54 loc) • 2.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const cli_framework_1 = require("@ionic/cli-framework");
/**
* Filter and gather arguments from command line to be passed to Cordova
*/
function filterArgumentsForCordova(metadata, options) {
const m = { ...metadata };
if (!m.options) {
m.options = [];
}
const globalCordovaOpts = [
{
name: 'verbose',
summary: '',
type: Boolean,
groups: ['cordova-cli'],
},
{
name: 'nosave',
summary: '',
type: Boolean,
groups: ['cordova-cli'],
},
];
m.options.push(...globalCordovaOpts);
const results = cli_framework_1.filterCommandLineOptionsByGroup(m.options, options, 'cordova-cli');
const args = cli_framework_1.unparseArgs(results, { useEquals: false, allowCamelCase: true });
const i = args.indexOf('--');
if (i >= 0) {
args.splice(i, 1); // join separated args onto main args, use them verbatim
}
return [m.name, ...args];
}
exports.filterArgumentsForCordova = filterArgumentsForCordova;
function generateOptionsForCordovaBuild(metadata, inputs, options) {
const platform = inputs[0] ? inputs[0] : (options['platform'] ? String(options['platform']) : undefined);
const project = options['project'] ? String(options['project']) : undefined;
// iOS does not support port forwarding out-of-the-box like Android does.
// See https://github.com/ionic-team/native-run/issues/20
const externalAddressRequired = platform === 'ios' || !options['native-run'];
const includesAppScriptsGroup = cli_framework_1.OptionFilters.includesGroups('app-scripts');
const excludesCordovaGroup = cli_framework_1.OptionFilters.excludesGroups('cordova-cli');
const results = cli_framework_1.filterCommandLineOptions(metadata.options ? metadata.options : [], options, o => excludesCordovaGroup(o) || includesAppScriptsGroup(o));
return {
...results,
externalAddressRequired,
nobrowser: true,
engine: 'cordova',
platform,
project,
};
}
exports.generateOptionsForCordovaBuild = generateOptionsForCordovaBuild;