Socket
Socket
Sign inDemoInstall

@lumigo/node-core

Package Overview
Dependencies
Maintainers
3
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lumigo/node-core - npm Package Compare versions

Comparing version 1.4.0 to 1.5.0

6

lib/common/functionUtils.js

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

export const runOneTimeWrapper = (func, context = undefined) => {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.runOneTimeWrapper = void 0;
const runOneTimeWrapper = (func, context = undefined) => {
let done = false;

@@ -11,2 +14,3 @@ return (...args) => {

};
exports.runOneTimeWrapper = runOneTimeWrapper;
//# sourceMappingURL=functionUtils.js.map

@@ -1,2 +0,18 @@

export * from './payloadStringify';
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("./payloadStringify"), exports);
//# sourceMappingURL=index.js.map

55

lib/common/payloadStringify.js

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

import { getEventEntitySize, LUMIGO_SECRET_MASKING_REGEX, LUMIGO_SECRET_MASKING_REGEX_BACKWARD_COMP, OMITTING_KEYS_REGEXES, parseJsonFromEnvVar, isString, LUMIGO_WHITELIST_KEYS_REGEXES, } from '../utils';
import { safeExecute } from '../utils';
import { getLogger } from '../logger';
import untruncateJson from '../tools/untrancateJson';
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.scrub = exports.payloadStringify = exports.prune = exports.keyToOmitRegexes = void 0;
const utils_1 = require("../utils");
const utils_2 = require("../utils");
const logger_1 = require("../logger");
const untrancateJson_1 = require("../tools/untrancateJson");
const nativeTypes = ['string', 'bigint', 'number', 'undefined', 'boolean'];

@@ -9,5 +12,5 @@ const SCRUBBED_TEXT = '****';

const isNativeType = (obj) => nativeTypes.includes(typeof obj);
const keyToRegexes = (regexesList = OMITTING_KEYS_REGEXES, backwardCompRegexEnvVarName = LUMIGO_SECRET_MASKING_REGEX_BACKWARD_COMP, regexesEnvVarName = LUMIGO_SECRET_MASKING_REGEX) => {
const keyToRegexes = (regexesList = utils_1.OMITTING_KEYS_REGEXES, backwardCompRegexEnvVarName = utils_1.LUMIGO_SECRET_MASKING_REGEX_BACKWARD_COMP, regexesEnvVarName = utils_1.LUMIGO_SECRET_MASKING_REGEX) => {
if (process.env[backwardCompRegexEnvVarName]) {
const parseResponse = parseJsonFromEnvVar(backwardCompRegexEnvVarName, true);
const parseResponse = (0, utils_1.parseJsonFromEnvVar)(backwardCompRegexEnvVarName, true);
if (parseResponse) {

@@ -18,3 +21,3 @@ regexesList = parseResponse;

else if (process.env[regexesEnvVarName]) {
const parseResponse = parseJsonFromEnvVar(regexesEnvVarName, true);
const parseResponse = (0, utils_1.parseJsonFromEnvVar)(regexesEnvVarName, true);
if (parseResponse) {

@@ -26,12 +29,13 @@ regexesList = parseResponse;

};
export const keyToOmitRegexes = () => {
const keyToOmitRegexes = () => {
return keyToRegexes();
};
exports.keyToOmitRegexes = keyToOmitRegexes;
const whitelistKeysRegexes = () => {
return keyToRegexes([], null, LUMIGO_WHITELIST_KEYS_REGEXES);
return keyToRegexes([], null, utils_1.LUMIGO_WHITELIST_KEYS_REGEXES);
};
export const prune = (str, maxLength) => {
const prune = (str, maxLength) => {
let toPrune = str;
if (!isString(toPrune)) {
getLogger().warn('Prune was called on a non-string object', toPrune);
if (!(0, utils_1.isString)(toPrune)) {
(0, logger_1.getLogger)().warn('Prune was called on a non-string object', toPrune);
toPrune = '';

@@ -41,2 +45,3 @@ }

};
exports.prune = prune;
const keyContainsRegex = (regexes, key) => {

@@ -51,3 +56,3 @@ if (!isNaN(key)) {

const getNativeVarSize = (obj) => (obj ? (obj.toString().length * 4) / 3 : 0);
const getItemsInPath = safeExecute((payload, path) => {
const getItemsInPath = (0, utils_2.safeExecute)((payload, path) => {
if (!payload || !path) {

@@ -67,7 +72,7 @@ return [];

return [];
}, 'Failed to find items to skip scrubbing', getLogger().LOG_LEVELS.WARNING, []);
export const payloadStringify = (payload, maxPayloadSize = getEventEntitySize(), skipScrubPath = null, truncated = false) => {
}, 'Failed to find items to skip scrubbing', (0, logger_1.getLogger)().LOG_LEVELS.WARNING, []);
const payloadStringify = (payload, maxPayloadSize = (0, utils_1.getEventEntitySize)(), skipScrubPath = null, truncated = false) => {
let totalSize = 0;
const refsFound = [];
const secretsRegexes = keyToOmitRegexes();
const secretsRegexes = (0, exports.keyToOmitRegexes)();
const whitelistRegexes = whitelistKeysRegexes();

@@ -97,7 +102,7 @@ const secretItemsToSkipScrubbing = new Set(getItemsInPath(payload, skipScrubPath));

isPruned = true;
return prune(value, maxPayloadSize);
return (0, exports.prune)(value, maxPayloadSize);
}
if (value instanceof Error)
return {
stack: prune(value.stack, maxPayloadSize),
stack: (0, exports.prune)(value.stack, maxPayloadSize),
message: value.message,

@@ -120,20 +125,22 @@ };

};
exports.payloadStringify = payloadStringify;
const isJsonContent = (payload, headers) => {
return isString(payload) && headers['content-type'] && headers['content-type'].includes('json');
return (0, utils_1.isString)(payload) && headers['content-type'] && headers['content-type'].includes('json');
};
export function scrub(payload, headers, sizeLimit, truncated = false) {
function scrub(payload, headers, sizeLimit, truncated = false) {
try {
if (isJsonContent(payload, headers)) {
if (truncated)
payload = untruncateJson(payload);
return payloadStringify(JSON.parse(payload), sizeLimit, null, truncated);
payload = (0, untrancateJson_1.default)(payload);
return (0, exports.payloadStringify)(JSON.parse(payload), sizeLimit, null, truncated);
}
else {
return payloadStringify(payload, sizeLimit, truncated);
return (0, exports.payloadStringify)(payload, sizeLimit, truncated);
}
}
catch (e) {
return payloadStringify(payload, sizeLimit, truncated);
return (0, exports.payloadStringify)(payload, sizeLimit, truncated);
}
}
exports.scrub = scrub;
//# sourceMappingURL=payloadStringify.js.map

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

import * as Logger_1 from './logger';
export { Logger_1 as Logger };
import * as CommonUtils_1 from './common';
export { CommonUtils_1 as CommonUtils };
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CommonUtils = exports.Logger = void 0;
exports.Logger = require("./logger");
exports.CommonUtils = require("./common");
//# sourceMappingURL=index.js.map

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

export function isAwsContext(awsContext) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isAwsContext = void 0;
function isAwsContext(awsContext) {
const context = awsContext;

@@ -12,2 +15,3 @@ return (context.invokedFunctionArn !== undefined &&

}
exports.isAwsContext = isAwsContext;
//# sourceMappingURL=awsGuards.js.map

@@ -0,1 +1,4 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getLogger = exports.setLoggerPrefix = exports.setLogger = void 0;
const WARN_CLIENT_PREFIX = 'Lumigo Warning';

@@ -59,5 +62,8 @@ let LOG_PREFIX = '#LUMIGO#';

};
export const setLogger = (logger) => (coreLogger = logger);
export const setLoggerPrefix = (prefix) => (LOG_PREFIX = prefix);
export const getLogger = () => coreLogger;
const setLogger = (logger) => (coreLogger = logger);
exports.setLogger = setLogger;
const setLoggerPrefix = (prefix) => (LOG_PREFIX = prefix);
exports.setLoggerPrefix = setLoggerPrefix;
const getLogger = () => coreLogger;
exports.getLogger = getLogger;
//# sourceMappingURL=logger.js.map

@@ -1,4 +0,8 @@

export function aws() {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.aws = void 0;
function aws() {
console.log('AWS');
}
exports.aws = aws;
//# sourceMappingURL=aws.js.map

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

import * as AWSParsers_1 from './aws';
export { AWSParsers_1 as AWSParsers };
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AWSParsers = void 0;
exports.AWSParsers = require("./aws");
//# sourceMappingURL=index.js.map

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

import * as AWSParsers_1 from './aws';
export { AWSParsers_1 as AWSParsers };
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AWSParsers = void 0;
exports.AWSParsers = require("./aws");
//# sourceMappingURL=index.js.map

@@ -0,3 +1,6 @@

"use strict";
//Copied from https://github.com/ThomasR/JSON.sortify/blob/master/src/index.js
//Because its not TS compatible
Object.defineProperty(exports, "__esModule", { value: true });
exports.sortify = void 0;
const sortKeys = (o) => {

@@ -31,3 +34,3 @@ if (Array.isArray(o)) {

const jsonStringify = JSON.stringify.bind(JSON); // this allows redefinition like JSON.stringify = require('json.sortify')
export const sortify = (value, replacer, space) => {
const sortify = (value, replacer, space) => {
// replacer, toJSON(), cyclic references and other stuff is better handled by native stringifier.

@@ -44,2 +47,3 @@ // So we do JSON.stringify(sortKeys( JSON.parse(JSON.stringify()) )).

};
exports.sortify = sortify;
//# sourceMappingURL=jsonSortify.js.map

@@ -0,1 +1,3 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
// copied from https://www.npmjs.com/package/untruncate-json

@@ -29,3 +31,3 @@ var ContextType;

}
export default function untruncateJson(json) {
function untruncateJson(json) {
const contextStack = [ContextType.TOP_LEVEL];

@@ -235,2 +237,3 @@ let position = 0;

}
exports.default = untruncateJson;
//# sourceMappingURL=untrancateJson.js.map

@@ -0,1 +1,2 @@

"use strict";
/*

@@ -6,2 +7,4 @@ XML TO JSON

*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.traverse = void 0;
const clean = function cleanXML(xml) {

@@ -15,3 +18,3 @@ return xml

};
export const traverse = (xml, attributeMode) => {
const traverse = (xml, attributeMode) => {
xml = clean(xml);

@@ -77,3 +80,3 @@ const tagFinder = new RegExp('<(.*?)[>|\\s|/]', 'g'); //find the current tag we are working on

//go one level deeper
const next = traverse(substring, attributeMode);
const next = (0, exports.traverse)(substring, attributeMode);
//when returning from recursion, build up the json

@@ -167,2 +170,3 @@ if (typeof next === 'object') {

};
exports.traverse = traverse;
//Helper methods

@@ -169,0 +173,0 @@ //Determine if a tag is self closing or not. Could be improved

@@ -1,2 +0,3 @@

export {};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=awsEnvironment.js.map

@@ -1,2 +0,3 @@

export {};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=edgeTypes.js.map

@@ -1,2 +0,3 @@

export {};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=basicSpan.js.map

@@ -1,2 +0,3 @@

export {};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=functionSpan.js.map

@@ -1,2 +0,3 @@

export {};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=httpSpan.js.map

@@ -1,7 +0,10 @@

import { getLogger } from './logger';
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.safeExecute = exports.parseJsonFromEnvVar = exports.getEventEntitySize = exports.LUMIGO_MAX_ENTRY_SIZE = exports.isString = exports.isStoreLogs = exports.OMITTING_KEYS_REGEXES = exports.LUMIGO_WHITELIST_KEYS_REGEXES = exports.LUMIGO_SECRET_MASKING_REGEX = exports.LUMIGO_SECRET_MASKING_REGEX_BACKWARD_COMP = void 0;
const logger_1 = require("./logger");
const DEBUG_FLAG = 'LUMIGO_DEBUG';
export const LUMIGO_SECRET_MASKING_REGEX_BACKWARD_COMP = 'LUMIGO_BLACKLIST_REGEX';
export const LUMIGO_SECRET_MASKING_REGEX = 'LUMIGO_SECRET_MASKING_REGEX';
export const LUMIGO_WHITELIST_KEYS_REGEXES = 'LUMIGO_WHITELIST_KEYS_REGEXES';
export const OMITTING_KEYS_REGEXES = [
exports.LUMIGO_SECRET_MASKING_REGEX_BACKWARD_COMP = 'LUMIGO_BLACKLIST_REGEX';
exports.LUMIGO_SECRET_MASKING_REGEX = 'LUMIGO_SECRET_MASKING_REGEX';
exports.LUMIGO_WHITELIST_KEYS_REGEXES = 'LUMIGO_WHITELIST_KEYS_REGEXES';
exports.OMITTING_KEYS_REGEXES = [
'.*pass.*',

@@ -20,11 +23,13 @@ '.*key.*',

const validateEnvVar = (envVar, value = 'TRUE') => !!(process.env[envVar] && process.env[envVar].toUpperCase() === value.toUpperCase());
export const isStoreLogs = () => validateEnvVar(STORE_LOGS_FLAG);
export function isString(x) {
const isStoreLogs = () => validateEnvVar(STORE_LOGS_FLAG);
exports.isStoreLogs = isStoreLogs;
function isString(x) {
return Object.prototype.toString.call(x) === '[object String]';
}
export const LUMIGO_MAX_ENTRY_SIZE = 2048;
export const getEventEntitySize = (hasError = false) => {
exports.isString = isString;
exports.LUMIGO_MAX_ENTRY_SIZE = 2048;
const getEventEntitySize = (hasError = false) => {
const basicSize = parseInt(process.env['MAX_EVENT_ENTITY_SIZE']) ||
parseInt(process.env['LUMIGO_MAX_ENTRY_SIZE']) ||
LUMIGO_MAX_ENTRY_SIZE;
exports.LUMIGO_MAX_ENTRY_SIZE;
if (hasError) {

@@ -35,3 +40,4 @@ return basicSize * 2;

};
export const parseJsonFromEnvVar = (envVar, warnClient = false, defaultReturnValue) => {
exports.getEventEntitySize = getEventEntitySize;
const parseJsonFromEnvVar = (envVar, warnClient = false, defaultReturnValue) => {
try {

@@ -41,7 +47,8 @@ return JSON.parse(process.env[envVar]);

catch (e) {
warnClient && getLogger().warnClient(`${envVar} need to be a valid JSON`);
warnClient && (0, logger_1.getLogger)().warnClient(`${envVar} need to be a valid JSON`);
}
return undefined;
};
export function safeExecute(callback, message = 'Error in Lumigo tracer', logLevel = getLogger().LOG_LEVELS.WARNING, defaultReturn = undefined) {
exports.parseJsonFromEnvVar = parseJsonFromEnvVar;
function safeExecute(callback, message = 'Error in Lumigo tracer', logLevel = (0, logger_1.getLogger)().LOG_LEVELS.WARNING, defaultReturn = undefined) {
return function (...args) {

@@ -52,3 +59,3 @@ try {

catch (err) {
getLogger().log(logLevel, message, err);
(0, logger_1.getLogger)().log(logLevel, message, err);
return defaultReturn;

@@ -58,2 +65,3 @@ }

}
exports.safeExecute = safeExecute;
const recursiveGetKeyByDepth = (event, keyToSearch, maxDepth) => {

@@ -60,0 +68,0 @@ if (maxDepth === 0) {

{
"name": "@lumigo/node-core",
"version": "1.4.0",
"version": "1.5.0",
"description": "Lumigo core node sdk",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

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

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

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

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