123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- "use strict";
- var _yargs = _interopRequireDefault(require("yargs"));
- var _api = require("./api");
- var _formatters = require("./formatters");
- var _utils = require("./utils");
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- const androidPriorityOptions = {
- unknown: {
- alias: ['U', 'u'],
- boolean: true,
- default: false,
- describe: 'Unknown priority'
- },
- verbose: {
- alias: ['V', 'v'],
- boolean: true,
- default: false,
- describe: 'Verbose priority'
- },
- debug: {
- alias: ['D', 'd'],
- boolean: true,
- default: false,
- describe: 'Debug priority'
- },
- info: {
- alias: ['I', 'i'],
- boolean: true,
- default: false,
- describe: 'Info priority'
- },
- warn: {
- alias: ['W', 'w'],
- boolean: true,
- default: false,
- describe: 'Warn priority'
- },
- error: {
- alias: ['E', 'e'],
- boolean: true,
- default: false,
- describe: 'Error priority'
- },
- fatal: {
- alias: ['F', 'f'],
- boolean: true,
- default: false,
- describe: 'Fatal priority'
- },
- silent: {
- alias: ['S', 's'],
- boolean: true,
- default: false,
- describe: 'Silent priority'
- }
- };
- const iosPriorityOptions = {
- debug: {
- alias: ['D', 'd'],
- boolean: true,
- default: false,
- describe: 'Debug level'
- },
- info: {
- alias: ['I', 'i'],
- boolean: true,
- default: false,
- describe: 'Info level'
- },
- error: {
- alias: ['E', 'e'],
- boolean: true,
- default: false,
- describe: 'Error level'
- }
- };
- const {
- argv: {
- _: [platform, filter],
- ...args
- }
- } = _yargs.default.usage('Usage: $0 [options] <platform>').command('android', 'Android', yargs => yargs.command('tag <tags ...>', 'Show logs matching given tags', androidPriorityOptions).command('app <appId>', 'Show logs from application with given identifier', androidPriorityOptions).command('match <regexes...>', 'Show logs matching given patterns', androidPriorityOptions).command('custom <patterns ...>', 'Filter using custom patterns <tag>:<priority>').command('all', 'Show all logs', androidPriorityOptions).demandCommand(1).option('adb-path', {
- type: 'string',
- describe: 'Use custom path to adb',
- nargs: 1
- }).example('$0 android tag MyTag', 'Filter logs to only include ones with MyTag tag').example('$0 android tag MyTag -I', 'Filter logs to only include ones with MyTag tag and priority INFO and above').example('$0 android app com.example.myApp', 'Show all logs from com.example.myApp').example('$0 android match device', 'Show all logs matching /device/gm regex').example('$0 android app com.example.myApp -E', 'Show all logs from com.example.myApp with priority ERROR and above').example('$0 android custom *:S MyTag:D', 'Silence all logs and show only ones with MyTag with priority DEBUG and above')).command('ios <filter>', 'iOS', yargs => yargs.command('tag <tags ...>', 'Show logs matching given tags', iosPriorityOptions).command('match <regexes...>', 'Show logs matching given patterns', iosPriorityOptions).command('all', 'Show all logs', iosPriorityOptions).demandCommand(1).example('$0 ios tag MyTag', 'Filter logs to only include ones with MyTag tag').example('$0 ios tag MyTag -i', 'Filter logs to only include ones with MyTag tag and priority Info and Error').example('$0 ios match device', 'Show all logs matching /device/gm regex')).demandCommand(1).help('h').alias('h', 'help').alias('v', 'version').version();
- const selectedAndroidPriorities = {
- unknown: Boolean(args.unknown),
- verbose: Boolean(args.verbose),
- debug: Boolean(args.debug),
- info: Boolean(args.info),
- warn: Boolean(args.warn),
- error: Boolean(args.error),
- fatal: Boolean(args.fatal),
- silent: Boolean(args.silent)
- };
- const selectedIosPriorities = {
- debug: Boolean(args.debug),
- info: Boolean(args.info),
- error: Boolean(args.error)
- };
- try {
- let createFilter;
- switch (filter) {
- case 'app':
- createFilter = (0, _api.makeAppFilter)(args.appId);
- break;
- case 'tag':
- createFilter = (0, _api.makeTagsFilter)(...args.tags);
- break;
- case 'match':
- createFilter = (0, _api.makeMatchFilter)(...args.regexes.map(value => new RegExp(value, 'gm')));
- break;
- case 'custom':
- createFilter = (0, _api.makeCustomFilter)(...args.patterns);
- break;
- case 'all':
- default:
- }
- const emitter = (0, _api.logkitty)({
- platform: platform,
- adbPath: args.adbPath ? String(args.adbPath) : '',
- priority: platform === 'android' ? (0, _utils.getMinPriority)(_api.AndroidPriority, selectedAndroidPriorities, _api.AndroidPriority.DEBUG) : (0, _utils.getMinPriority)(_api.IosPriority, selectedIosPriorities, _api.IosPriority.DEFAULT),
- filter: createFilter
- });
- emitter.on('entry', entry => {
- process.stdout.write((0, _formatters.formatEntry)(entry));
- });
- emitter.on('error', error => {
- terminate(error);
- });
- } catch (error) {
- terminate(error);
- }
- function terminate(error) {
- // eslint-disable-next-line no-console
- console.log((0, _formatters.formatError)(error));
- process.exit(1);
- }
- //# sourceMappingURL=cli.js.map
|