UNPKG

ionic

Version:

A tool for creating and developing Ionic Framework mobile apps.

55 lines (54 loc) 2.23 kB
"use strict"; 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;