Socket
Socket
Sign inDemoInstall

logkitty

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

logkitty - npm Package Compare versions

Comparing version 0.2.1 to 0.2.2

build/android/adb.d.ts

72

build/cli.js

@@ -16,6 +16,7 @@ "use strict";

const yargs_1 = __importDefault(require("yargs"));
const adb_1 = require("./adb");
const LogcatReader_1 = __importDefault(require("./LogcatReader"));
const AndroidParser_1 = __importDefault(require("./android/AndroidParser"));
const adb_1 = require("./android/adb");
const formatters_1 = require("./formatters");
const AndroidFilter_1 = require("./android/AndroidFilter");
const utils_1 = require("./utils");
const formatters_1 = require("./formatters");
const priorityOptions = {

@@ -73,30 +74,51 @@ U: {

};
const platform = 'android';
try {
const adbPath = adb_1.getAbdPath(args['adb-path']);
const targetProcessId = command === 'app'
? adb_1.getApplicationPid(adbPath, args.appId)
: undefined;
const logcatProcess = adb_1.spawnLogcatProcess(adbPath);
let loggingProcess;
let parser;
let filter;
if (platform === 'android') {
loggingProcess = adb_1.runLoggingProcess(args['adb-path']);
parser = new AndroidParser_1.default();
const androidFilter = new AndroidFilter_1.AndroidFilter(utils_1.getMinPriority(selectedPriorities));
switch (command) {
case 'app':
androidFilter.setFilterByApp(args.appId, args['adb-path']);
break;
case 'tag':
androidFilter.setFilterByTag(args.tags);
break;
case 'match':
androidFilter.setFilterByMatch(args.regexes.map((value) => new RegExp(value, 'gm')));
break;
case 'custom':
androidFilter.setCustomFilter(args.patterns);
case 'all':
default:
}
filter = androidFilter;
}
else {
throw new Error(`Unsupported platform: ${platform}`);
}
process.on('exit', () => {
logcatProcess.kill();
loggingProcess.kill();
});
const reader = new LogcatReader_1.default(logcatProcess.stdout);
reader.onEntry = (entry) => {
process.stdout.write(formatters_1.formatEntry(entry));
};
if (command === 'custom') {
reader.setCustomPatterns(args.patterns);
}
else {
reader.setFilter(command, {
tags: args.tags,
processId: targetProcessId,
regexes: args.regexes
? args.regexes.map((value) => new RegExp(value))
: undefined,
minPriority: utils_1.getMinPriority(selectedPriorities),
loggingProcess.stdout.on('data', (raw) => {
const messages = parser.splitMessages(raw.toString());
const entries = parser.parseMessages(messages);
entries.forEach((entry) => {
if (filter.shouldInclude(entry)) {
process.stdout.write(formatters_1.formatEntry(entry));
}
});
}
});
loggingProcess.stdout.on('error', (error) => {
terminate(error);
});
}
catch (error) {
terminate(error);
}
function terminate(error) {
// tslint:disable-next-line: no-console

@@ -103,0 +125,0 @@ console.log(formatters_1.formatError(error));

@@ -1,5 +0,5 @@

import { Entry } from 'adbkit-logcat';
import { CodeError } from './errors';
export declare function formatError(error: CodeError): string;
import { Entry } from './types';
export declare function formatError(error: CodeError | Error): string;
export declare function formatEntry(entry: Entry): string;
//# sourceMappingURL=formatters.d.ts.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const adbkit_logcat_1 = require("adbkit-logcat");
const ansi_fragments_1 = require("ansi-fragments");
const constants_1 = require("./android/constants");
function formatError(error) {
return ansi_fragments_1.container(ansi_fragments_1.color('red', '✖︎ Ups, something went wrong'), ansi_fragments_1.pad(2, '\n'), ansi_fragments_1.color('red', ansi_fragments_1.modifier('bold', 'CODE'), ' ▶︎ '), error.code || 'ERR_UNKNOWN', ansi_fragments_1.pad(1, '\n'), ansi_fragments_1.color('red', ansi_fragments_1.modifier('bold', 'MESSAGE'), ' ▶︎ '), error.message).build();
return ansi_fragments_1.container(ansi_fragments_1.color('red', '✖︎ Ups, something went wrong'), ansi_fragments_1.pad(2, '\n'), ansi_fragments_1.color('red', ansi_fragments_1.modifier('bold', 'CODE'), ' ▶︎ '), 'code' in error ? error.code : 'ERR_UNKNOWN', ansi_fragments_1.pad(1, '\n'), ansi_fragments_1.color('red', ansi_fragments_1.modifier('bold', 'MESSAGE'), ' ▶︎ '), error.message).build();
}

@@ -13,14 +13,14 @@ exports.formatError = formatError;

let messageColor = 'none';
if (entry.priority === adbkit_logcat_1.Priority.FATAL || entry.priority === adbkit_logcat_1.Priority.ERROR) {
if (entry.priority === constants_1.Priority.FATAL || entry.priority === constants_1.Priority.ERROR) {
priorityColor = 'red';
messageColor = 'red';
}
else if (entry.priority === adbkit_logcat_1.Priority.WARN) {
else if (entry.priority === constants_1.Priority.WARN) {
priorityColor = 'yellow';
messageColor = 'yellow';
}
else if (entry.priority === adbkit_logcat_1.Priority.VERBOSE) {
else if (entry.priority === constants_1.Priority.VERBOSE) {
priorityModifier = 'dim';
}
const output = ansi_fragments_1.container(ansi_fragments_1.modifier('dim', parseDate(entry.date)), ansi_fragments_1.pad(1), ansi_fragments_1.color(priorityColor, ansi_fragments_1.modifier(priorityModifier, `${adbkit_logcat_1.Priority.toLetter(entry.priority)} |`)), ansi_fragments_1.pad(1), ansi_fragments_1.modifier('bold', ansi_fragments_1.color(priorityColor, ansi_fragments_1.modifier(priorityModifier, entry.tag))), ansi_fragments_1.pad(1), ansi_fragments_1.color(priorityColor, ansi_fragments_1.modifier(priorityModifier, '▶︎')), ansi_fragments_1.pad(1), ansi_fragments_1.color(priorityColor, ansi_fragments_1.modifier(priorityModifier, entry.message))).build();
const output = ansi_fragments_1.container(ansi_fragments_1.modifier('dim', parseDate(entry.date)), ansi_fragments_1.pad(1), ansi_fragments_1.color(priorityColor, ansi_fragments_1.modifier(priorityModifier, `${constants_1.Priority.toLetter(entry.priority)} |`)), ansi_fragments_1.pad(1), ansi_fragments_1.modifier('bold', ansi_fragments_1.color(priorityColor, ansi_fragments_1.modifier(priorityModifier, entry.tag))), ansi_fragments_1.pad(1), ansi_fragments_1.color(priorityColor, ansi_fragments_1.modifier(priorityModifier, '▶︎')), ansi_fragments_1.pad(1), ansi_fragments_1.color(priorityColor, ansi_fragments_1.modifier(priorityModifier, entry.message))).build();
return `${output}\n`;

@@ -27,0 +27,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const adbkit_logcat_1 = require("adbkit-logcat");
function getMinPriority(priorities, defaultPriority = adbkit_logcat_1.Priority.DEBUG) {
const constants_1 = require("./android/constants");
function getMinPriority(priorities, defaultPriority = constants_1.Priority.DEBUG) {
const parsedPriorities = Object.keys(priorities)
.filter((key) => priorities[key])
.map((key) => {
return adbkit_logcat_1.Priority.fromLetter(key === 'U' ? '?' : key) || adbkit_logcat_1.Priority.SILENT;
return constants_1.Priority.fromLetter(key === 'U' ? '?' : key) || constants_1.Priority.SILENT;
});

@@ -10,0 +10,0 @@ return parsedPriorities.length

{
"name": "logkitty",
"version": "0.2.1",
"version": "0.2.2",
"description": "Display pretty Logcat logs without Android Studio with intuitive Command Line Interface.",

@@ -34,3 +34,2 @@ "keywords": [

"dependencies": {
"adbkit-logcat": "^2.0.1",
"ansi-fragments": "^0.2.0",

@@ -37,0 +36,0 @@ "yargs": "^12.0.5"

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc