@jalik/logger
Advanced tools
Comparing version 3.0.3 to 3.0.4
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
var _typeof = require("@babel/runtime/helpers/typeof"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -58,11 +56,6 @@ value: true | ||
}); | ||
var _levels = _interopRequireWildcard(require("./levels")); | ||
var _Logger = _interopRequireDefault(require("./Logger")); | ||
var _consoleOutput = _interopRequireDefault(require("./outputs/consoleOutput")); | ||
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | ||
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } |
@@ -7,3 +7,2 @@ "use strict"; | ||
exports["default"] = exports.WARN = exports.INFO = exports.FATAL = exports.ERROR = exports.DEBUG = void 0; | ||
/* | ||
@@ -13,2 +12,3 @@ * The MIT License (MIT) | ||
*/ | ||
var DEBUG = 'debug'; | ||
@@ -23,2 +23,3 @@ exports.DEBUG = DEBUG; | ||
var WARN = 'warn'; | ||
/** | ||
@@ -28,3 +29,2 @@ * Log levels ordered by importance and granularity (less to most). | ||
*/ | ||
exports.WARN = WARN; | ||
@@ -31,0 +31,0 @@ var levels = [DEBUG, INFO, WARN, ERROR, FATAL]; |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
var _typeof3 = require("@babel/runtime/helpers/typeof"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -11,23 +9,13 @@ value: true | ||
exports["default"] = void 0; | ||
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); | ||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
var _levels = _interopRequireWildcard(require("./levels")); | ||
var _consoleOutput = _interopRequireDefault(require("./outputs/consoleOutput")); | ||
var _util = require("./util"); | ||
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | ||
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | ||
var defaultOptions = { | ||
@@ -41,21 +29,2 @@ active: true, | ||
}; | ||
/** | ||
* Returns details of an error. | ||
* @param {Error} error | ||
* @return {{message: string, name: string, reason: string, stack: string, type: string}} | ||
*/ | ||
function getErrorDetails(error) { | ||
var attributes = ['message', 'name', 'reason', 'stack', 'type']; | ||
var details = {}; | ||
for (var i = 0; i < attributes.length; i += 1) { | ||
if (attributes[i] in error) { | ||
details[attributes[i]] = error[attributes[i]]; | ||
} | ||
} | ||
return details; | ||
} | ||
var Logger = /*#__PURE__*/function () { | ||
@@ -65,19 +34,22 @@ function Logger() { | ||
(0, _classCallCheck2["default"])(this, Logger); | ||
// Use default options. | ||
var opts = _objectSpread(_objectSpread({}, defaultOptions), options); // Set logger status. | ||
var opts = _objectSpread(_objectSpread({}, defaultOptions), options); | ||
// Set logger status. | ||
this.active = opts.active === true; | ||
this.active = opts.active === true; // Set default log context. | ||
// Set default log context. | ||
this.defaultContext = opts.defaultContext; | ||
this.defaultContext = opts.defaultContext; // Set logs filter. | ||
// Set logs filter. | ||
this.filter = opts.filter; | ||
this.filter = opts.filter; // Set minimal log level. | ||
// Set minimal log level. | ||
this.level = opts.level; | ||
this.level = opts.level; // Set logger name. | ||
// Set logger name. | ||
this.name = opts.name == null ? "logger_".concat(Date.now()) : String(opts.name); | ||
this.name = opts.name == null ? "logger_".concat(Date.now()) : String(opts.name); // Set log outputs. | ||
// Set log outputs. | ||
this.outputs = [].concat(opts.outputs || []); | ||
if ((0, _typeof2["default"])(this.outputs) !== 'object' || !(this.outputs instanceof Array) || this.outputs.length === 0) { | ||
@@ -87,2 +59,3 @@ throw new Error('Logger outputs cannot be empty.'); | ||
} | ||
/** | ||
@@ -93,4 +66,2 @@ * Logs a debug message. | ||
*/ | ||
(0, _createClass2["default"])(Logger, [{ | ||
@@ -102,2 +73,3 @@ key: "debug", | ||
} | ||
/** | ||
@@ -108,3 +80,2 @@ * Logs an error message. | ||
*/ | ||
}, { | ||
@@ -116,10 +87,9 @@ key: "error", | ||
var message = messageOrError; | ||
if (messageOrError instanceof Error) { | ||
message = messageOrError.message; | ||
ctx.error = getErrorDetails(messageOrError); | ||
ctx.error = (0, _util.getErrorDetails)(messageOrError); | ||
} | ||
this.log(_levels.ERROR, message, ctx); | ||
} | ||
/** | ||
@@ -130,3 +100,2 @@ * Logs a fatal error message. | ||
*/ | ||
}, { | ||
@@ -138,10 +107,9 @@ key: "fatal", | ||
var message = messageOrError; | ||
if (messageOrError instanceof Error) { | ||
message = messageOrError.message; | ||
ctx.error = getErrorDetails(messageOrError); | ||
ctx.error = (0, _util.getErrorDetails)(messageOrError); | ||
} | ||
this.log(_levels.FATAL, message, ctx); | ||
} | ||
/** | ||
@@ -151,3 +119,2 @@ * Returns the log level. | ||
*/ | ||
}, { | ||
@@ -158,2 +125,3 @@ key: "getLevel", | ||
} | ||
/** | ||
@@ -163,3 +131,2 @@ * Returns the logger name. | ||
*/ | ||
}, { | ||
@@ -170,2 +137,3 @@ key: "getName", | ||
} | ||
/** | ||
@@ -176,3 +144,2 @@ * Logs an informational message. | ||
*/ | ||
}, { | ||
@@ -184,2 +151,3 @@ key: "info", | ||
} | ||
/** | ||
@@ -189,3 +157,2 @@ * Checks if the logging is active. | ||
*/ | ||
}, { | ||
@@ -196,2 +163,3 @@ key: "isActive", | ||
} | ||
/** | ||
@@ -203,3 +171,2 @@ * Logs a message with a certain level. | ||
*/ | ||
}, { | ||
@@ -209,9 +176,8 @@ key: "log", | ||
var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined; | ||
// Ignore if logger is not active or if log level is higher. | ||
if (!this.isActive() || _levels["default"].indexOf(this.level) > _levels["default"].indexOf(level)) { | ||
return; | ||
} // Prepare log event. | ||
} | ||
// Prepare log event. | ||
var event = { | ||
@@ -223,9 +189,10 @@ context: this.defaultContext ? _objectSpread(_objectSpread({}, this.defaultContext), context) : context, | ||
timestamp: Date.now() | ||
}; // Filter log event. | ||
}; | ||
// Filter log event. | ||
if (typeof this.filter === 'function' && this.filter(event) !== true) { | ||
return; | ||
} // Pass log event to outputs. | ||
} | ||
// Pass log event to outputs. | ||
this.outputs.forEach(function (output) { | ||
@@ -235,2 +202,3 @@ output(event); | ||
} | ||
/** | ||
@@ -240,3 +208,2 @@ * Enables or disables logging. | ||
*/ | ||
}, { | ||
@@ -247,2 +214,3 @@ key: "setActive", | ||
} | ||
/** | ||
@@ -252,3 +220,2 @@ * Changes the log level. | ||
*/ | ||
}, { | ||
@@ -259,2 +226,3 @@ key: "setLevel", | ||
} | ||
/** | ||
@@ -265,3 +233,2 @@ * Logs a warning message. | ||
*/ | ||
}, { | ||
@@ -276,4 +243,3 @@ key: "warn", | ||
}(); | ||
var _default = Logger; | ||
exports["default"] = _default; |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,50 +8,48 @@ value: true | ||
exports["default"] = void 0; | ||
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); | ||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); | ||
var _levels = require("../levels"); | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | ||
var debug = typeof console.debug === 'function' ? console.debug : console.log; | ||
var error = typeof console.error === 'function' ? console.error : console.log; | ||
var fatal = typeof console.fatal === 'function' ? console.fatal : error; | ||
var info = typeof console.info === 'function' ? console.info : console.log; | ||
var warn = typeof console.warn === 'function' ? console.info : console.log; | ||
var defaultOptions = { | ||
formatter: function formatter(event) { | ||
var context = event.context, | ||
level = event.level, | ||
logger = event.logger, | ||
message = event.message, | ||
timestamp = event.timestamp; | ||
var out = "".concat(new Date(timestamp).toISOString(), " ").concat(level.toUpperCase(), " [").concat(logger, "] : ").concat(message); | ||
if (context) { | ||
out += " ; ".concat(JSON.stringify(context)); | ||
} | ||
return out; | ||
function defaultFormatter(event) { | ||
var context = event.context, | ||
level = event.level, | ||
logger = event.logger, | ||
message = event.message, | ||
timestamp = event.timestamp; | ||
var out = "".concat(new Date(timestamp).toISOString(), " ").concat(level.toUpperCase(), " [").concat(logger, "] : ").concat(message); | ||
if (context) { | ||
out += " ; ".concat(JSON.stringify(context)); | ||
} | ||
}; | ||
return out; | ||
} | ||
/** | ||
* Logs events to console. | ||
* @param options | ||
* @returns {(function(*): void)|*} | ||
*/ | ||
function consoleOutput() { | ||
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultOptions; | ||
var opts = _objectSpread(_objectSpread({}, defaultOptions), options); | ||
var formatter = opts.formatter; | ||
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined; | ||
var opts = _objectSpread({ | ||
formatter: defaultFormatter | ||
}, options); | ||
var entries = opts.entries, | ||
formatter = opts.formatter; | ||
var harvest = function harvest(message) { | ||
entries.push(message); | ||
}; | ||
var debug = entries ? harvest : console.debug || console.log; | ||
var error = entries ? harvest : console.error || console.log; | ||
var fatal = entries ? harvest : console.fatal || console.log; | ||
var info = entries ? harvest : console.info || console.log; | ||
var warn = entries ? harvest : console.warn || console.log; | ||
return function (event) { | ||
var level = event.level; // Prepare output. | ||
var level = event.level; | ||
// Prepare output. | ||
var output = formatter(event); | ||
if (!(output instanceof Array)) { | ||
output = [output]; | ||
} | ||
if (level === _levels.DEBUG) { | ||
@@ -71,4 +68,3 @@ debug.apply(void 0, (0, _toConsumableArray2["default"])(output)); | ||
} | ||
var _default = consoleOutput; | ||
exports["default"] = _default; |
@@ -7,2 +7,3 @@ "use strict"; | ||
*/ | ||
// Add polyfill methods to the console object | ||
@@ -15,17 +16,14 @@ // eslint-disable-next-line no-console | ||
console.debug = console.log.bind(console); | ||
} // eslint-disable-next-line no-console | ||
} | ||
// eslint-disable-next-line no-console | ||
if (typeof console.error !== 'function') { | ||
// eslint-disable-next-line no-console | ||
console.error = console.log.bind(console); | ||
} // eslint-disable-next-line no-console | ||
} | ||
// eslint-disable-next-line no-console | ||
if (typeof console.info !== 'function') { | ||
// eslint-disable-next-line no-console | ||
console.info = console.log.bind(console); | ||
} // eslint-disable-next-line no-console | ||
} | ||
// eslint-disable-next-line no-console | ||
if (typeof console.warn !== 'function') { | ||
@@ -32,0 +30,0 @@ // eslint-disable-next-line no-console |
{ | ||
"name": "@jalik/logger", | ||
"version": "3.0.3", | ||
"version": "3.0.4", | ||
"description": "A logging utility to log messages to anywhere.", | ||
@@ -38,3 +38,3 @@ "license": "MIT", | ||
"prepublishOnly": "npm test", | ||
"test": "jest --passWithNoTests" | ||
"test": "jest --passWithNoTests --coverage=true" | ||
}, | ||
@@ -46,16 +46,17 @@ "files": [ | ||
"dependencies": { | ||
"@babel/runtime": "^7.17.2" | ||
"@babel/runtime": "^7.19.4", | ||
"@jest/globals": "^29.2.1" | ||
}, | ||
"devDependencies": { | ||
"@babel/cli": "^7.17.3", | ||
"@babel/core": "^7.17.5", | ||
"@babel/plugin-transform-runtime": "^7.17.0", | ||
"@babel/preset-env": "^7.16.11", | ||
"eslint": "^8.9.0", | ||
"@babel/cli": "^7.19.3", | ||
"@babel/core": "^7.19.3", | ||
"@babel/plugin-transform-runtime": "^7.19.1", | ||
"@babel/preset-env": "^7.19.4", | ||
"eslint": "^8.25.0", | ||
"eslint-config-airbnb-base": "^15.0.0", | ||
"eslint-plugin-import": "^2.25.4", | ||
"eslint-plugin-jest": "^26.1.1", | ||
"jest": "^27.5.1", | ||
"typescript": "^4.5.5" | ||
"eslint-plugin-import": "^2.26.0", | ||
"eslint-plugin-jest": "^27.1.3", | ||
"jest": "^29.2.1", | ||
"typescript": "^4.8.4" | ||
} | ||
} |
# @jalik/logger | ||
![GitHub package.json version](https://img.shields.io/github/package-json/v/jalik/js-logger.svg) | ||
[![Build Status](https://travis-ci.com/jalik/js-logger.svg?branch=master)](https://travis-ci.com/jalik/js-logger) | ||
![GitHub](https://img.shields.io/github/license/jalik/js-logger.svg) | ||
![GitHub last commit](https://img.shields.io/github/last-commit/jalik/js-logger.svg) | ||
![Last commit](https://img.shields.io/github/last-commit/jalik/js-logger.svg) | ||
![Build Status](https://github.com/jalik/js-logger/actions/workflows/node.js.yml/badge.svg) | ||
[![GitHub issues](https://img.shields.io/github/issues/jalik/js-logger.svg)](https://github.com/jalik/js-logger/issues) | ||
@@ -8,0 +8,0 @@ ![npm](https://img.shields.io/npm/dt/@jalik/logger.svg) |
/* | ||
* The MIT License (MIT) | ||
* Copyright (c) 2021 Karl STEIN | ||
* Copyright (c) 2022 Karl STEIN | ||
*/ | ||
@@ -14,2 +14,3 @@ | ||
import consoleOutput from './outputs/consoleOutput'; | ||
import { getErrorDetails } from './util'; | ||
@@ -25,19 +26,2 @@ const defaultOptions = { | ||
/** | ||
* Returns details of an error. | ||
* @param {Error} error | ||
* @return {{message: string, name: string, reason: string, stack: string, type: string}} | ||
*/ | ||
function getErrorDetails(error) { | ||
const attributes = ['message', 'name', 'reason', 'stack', 'type']; | ||
const details = {}; | ||
for (let i = 0; i < attributes.length; i += 1) { | ||
if (attributes[i] in error) { | ||
details[attributes[i]] = error[attributes[i]]; | ||
} | ||
} | ||
return details; | ||
} | ||
class Logger { | ||
@@ -44,0 +28,0 @@ constructor(options = {}) { |
/* | ||
* The MIT License (MIT) | ||
* Copyright (c) 2021 Karl STEIN | ||
* Copyright (c) 2022 Karl STEIN | ||
*/ | ||
@@ -16,30 +16,38 @@ | ||
const debug = typeof console.debug === 'function' ? console.debug : console.log; | ||
const error = typeof console.error === 'function' ? console.error : console.log; | ||
const fatal = typeof console.fatal === 'function' ? console.fatal : error; | ||
const info = typeof console.info === 'function' ? console.info : console.log; | ||
const warn = typeof console.warn === 'function' ? console.info : console.log; | ||
function defaultFormatter(event) { | ||
const { | ||
context, | ||
level, | ||
logger, | ||
message, | ||
timestamp, | ||
} = event; | ||
const defaultOptions = { | ||
formatter: (event) => { | ||
const { | ||
context, | ||
level, | ||
logger, | ||
message, | ||
timestamp, | ||
} = event; | ||
let out = `${new Date(timestamp).toISOString()} ${level.toUpperCase()} [${logger}] : ${message}`; | ||
let out = `${new Date(timestamp).toISOString()} ${level.toUpperCase()} [${logger}] : ${message}`; | ||
if (context) { | ||
out += ` ; ${JSON.stringify(context)}`; | ||
} | ||
return out; | ||
}, | ||
}; | ||
if (context) { | ||
out += ` ; ${JSON.stringify(context)}`; | ||
} | ||
return out; | ||
} | ||
function consoleOutput(options = defaultOptions) { | ||
const opts = { ...defaultOptions, ...options }; | ||
const { formatter } = opts; | ||
/** | ||
* Logs events to console. | ||
* @param options | ||
* @returns {(function(*): void)|*} | ||
*/ | ||
function consoleOutput(options = undefined) { | ||
const opts = { formatter: defaultFormatter, ...options }; | ||
const { entries, formatter } = opts; | ||
const harvest = (message) => { | ||
entries.push(message); | ||
}; | ||
const debug = entries ? harvest : console.debug || console.log; | ||
const error = entries ? harvest : console.error || console.log; | ||
const fatal = entries ? harvest : console.fatal || console.log; | ||
const info = entries ? harvest : console.info || console.log; | ||
const warn = entries ? harvest : console.warn || console.log; | ||
return (event) => { | ||
@@ -46,0 +54,0 @@ const { level } = event; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
15
715
33840
2
+ Added@jest/globals@^29.2.1
+ Added@ampproject/remapping@2.3.0(transitive)
+ Added@babel/code-frame@7.26.2(transitive)
+ Added@babel/compat-data@7.26.3(transitive)
+ Added@babel/core@7.26.0(transitive)
+ Added@babel/generator@7.26.3(transitive)
+ Added@babel/helper-compilation-targets@7.25.9(transitive)
+ Added@babel/helper-module-imports@7.25.9(transitive)
+ Added@babel/helper-module-transforms@7.26.0(transitive)
+ Added@babel/helper-plugin-utils@7.25.9(transitive)
+ Added@babel/helper-string-parser@7.25.9(transitive)
+ Added@babel/helper-validator-identifier@7.25.9(transitive)
+ Added@babel/helper-validator-option@7.25.9(transitive)
+ Added@babel/helpers@7.26.0(transitive)
+ Added@babel/parser@7.26.3(transitive)
+ Added@babel/plugin-syntax-async-generators@7.8.4(transitive)
+ Added@babel/plugin-syntax-bigint@7.8.3(transitive)
+ Added@babel/plugin-syntax-class-properties@7.12.13(transitive)
+ Added@babel/plugin-syntax-class-static-block@7.14.5(transitive)
+ Added@babel/plugin-syntax-import-attributes@7.26.0(transitive)
+ Added@babel/plugin-syntax-import-meta@7.10.4(transitive)
+ Added@babel/plugin-syntax-json-strings@7.8.3(transitive)
+ Added@babel/plugin-syntax-jsx@7.25.9(transitive)
+ Added@babel/plugin-syntax-logical-assignment-operators@7.10.4(transitive)
+ Added@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(transitive)
+ Added@babel/plugin-syntax-numeric-separator@7.10.4(transitive)
+ Added@babel/plugin-syntax-object-rest-spread@7.8.3(transitive)
+ Added@babel/plugin-syntax-optional-catch-binding@7.8.3(transitive)
+ Added@babel/plugin-syntax-optional-chaining@7.8.3(transitive)
+ Added@babel/plugin-syntax-private-property-in-object@7.14.5(transitive)
+ Added@babel/plugin-syntax-top-level-await@7.14.5(transitive)
+ Added@babel/plugin-syntax-typescript@7.25.9(transitive)
+ Added@babel/template@7.25.9(transitive)
+ Added@babel/traverse@7.26.4(transitive)
+ Added@babel/types@7.26.3(transitive)
+ Added@istanbuljs/load-nyc-config@1.1.0(transitive)
+ Added@istanbuljs/schema@0.1.3(transitive)
+ Added@jest/environment@29.7.0(transitive)
+ Added@jest/expect@29.7.0(transitive)
+ Added@jest/expect-utils@29.7.0(transitive)
+ Added@jest/fake-timers@29.7.0(transitive)
+ Added@jest/globals@29.7.0(transitive)
+ Added@jest/schemas@29.6.3(transitive)
+ Added@jest/transform@29.7.0(transitive)
+ Added@jest/types@29.6.3(transitive)
+ Added@jridgewell/gen-mapping@0.3.8(transitive)
+ Added@jridgewell/resolve-uri@3.1.2(transitive)
+ Added@jridgewell/set-array@1.2.1(transitive)
+ Added@jridgewell/sourcemap-codec@1.5.0(transitive)
+ Added@jridgewell/trace-mapping@0.3.25(transitive)
+ Added@sinclair/typebox@0.27.8(transitive)
+ Added@sinonjs/commons@3.0.1(transitive)
+ Added@sinonjs/fake-timers@10.3.0(transitive)
+ Added@types/graceful-fs@4.1.9(transitive)
+ Added@types/istanbul-lib-coverage@2.0.6(transitive)
+ Added@types/istanbul-lib-report@3.0.3(transitive)
+ Added@types/istanbul-reports@3.0.4(transitive)
+ Added@types/node@22.10.2(transitive)
+ Added@types/stack-utils@2.0.3(transitive)
+ Added@types/yargs@17.0.33(transitive)
+ Added@types/yargs-parser@21.0.3(transitive)
+ Addedansi-styles@4.3.05.2.0(transitive)
+ Addedanymatch@3.1.3(transitive)
+ Addedargparse@1.0.10(transitive)
+ Addedbabel-plugin-istanbul@6.1.1(transitive)
+ Addedbabel-preset-current-node-syntax@1.1.0(transitive)
+ Addedbalanced-match@1.0.2(transitive)
+ Addedbrace-expansion@1.1.11(transitive)
+ Addedbraces@3.0.3(transitive)
+ Addedbrowserslist@4.24.3(transitive)
+ Addedbser@2.1.1(transitive)
+ Addedcamelcase@5.3.1(transitive)
+ Addedcaniuse-lite@1.0.30001690(transitive)
+ Addedchalk@4.1.2(transitive)
+ Addedci-info@3.9.0(transitive)
+ Addedcolor-convert@2.0.1(transitive)
+ Addedcolor-name@1.1.4(transitive)
+ Addedconcat-map@0.0.1(transitive)
+ Addedconvert-source-map@2.0.0(transitive)
+ Addeddebug@4.4.0(transitive)
+ Addeddiff-sequences@29.6.3(transitive)
+ Addedelectron-to-chromium@1.5.76(transitive)
+ Addedescalade@3.2.0(transitive)
+ Addedescape-string-regexp@2.0.0(transitive)
+ Addedesprima@4.0.1(transitive)
+ Addedexpect@29.7.0(transitive)
+ Addedfast-json-stable-stringify@2.1.0(transitive)
+ Addedfb-watchman@2.0.2(transitive)
+ Addedfill-range@7.1.1(transitive)
+ Addedfind-up@4.1.0(transitive)
+ Addedfs.realpath@1.0.0(transitive)
+ Addedfsevents@2.3.3(transitive)
+ Addedgensync@1.0.0-beta.2(transitive)
+ Addedget-package-type@0.1.0(transitive)
+ Addedglob@7.2.3(transitive)
+ Addedglobals@11.12.0(transitive)
+ Addedgraceful-fs@4.2.11(transitive)
+ Addedhas-flag@4.0.0(transitive)
+ Addedimurmurhash@0.1.4(transitive)
+ Addedinflight@1.0.6(transitive)
+ Addedinherits@2.0.4(transitive)
+ Addedis-number@7.0.0(transitive)
+ Addedistanbul-lib-coverage@3.2.2(transitive)
+ Addedistanbul-lib-instrument@5.2.1(transitive)
+ Addedjest-diff@29.7.0(transitive)
+ Addedjest-get-type@29.6.3(transitive)
+ Addedjest-haste-map@29.7.0(transitive)
+ Addedjest-matcher-utils@29.7.0(transitive)
+ Addedjest-message-util@29.7.0(transitive)
+ Addedjest-mock@29.7.0(transitive)
+ Addedjest-regex-util@29.6.3(transitive)
+ Addedjest-snapshot@29.7.0(transitive)
+ Addedjest-util@29.7.0(transitive)
+ Addedjest-worker@29.7.0(transitive)
+ Addedjs-tokens@4.0.0(transitive)
+ Addedjs-yaml@3.14.1(transitive)
+ Addedjsesc@3.1.0(transitive)
+ Addedjson5@2.2.3(transitive)
+ Addedlocate-path@5.0.0(transitive)
+ Addedlru-cache@5.1.1(transitive)
+ Addedmakeerror@1.0.12(transitive)
+ Addedmerge-stream@2.0.0(transitive)
+ Addedmicromatch@4.0.8(transitive)
+ Addedminimatch@3.1.2(transitive)
+ Addedms@2.1.3(transitive)
+ Addednatural-compare@1.4.0(transitive)
+ Addednode-int64@0.4.0(transitive)
+ Addednode-releases@2.0.19(transitive)
+ Addednormalize-path@3.0.0(transitive)
+ Addedonce@1.4.0(transitive)
+ Addedp-limit@2.3.0(transitive)
+ Addedp-locate@4.1.0(transitive)
+ Addedp-try@2.2.0(transitive)
+ Addedpath-exists@4.0.0(transitive)
+ Addedpath-is-absolute@1.0.1(transitive)
+ Addedpicocolors@1.1.1(transitive)
+ Addedpicomatch@2.3.1(transitive)
+ Addedpirates@4.0.6(transitive)
+ Addedpretty-format@29.7.0(transitive)
+ Addedreact-is@18.3.1(transitive)
+ Addedresolve-from@5.0.0(transitive)
+ Addedsemver@6.3.17.6.3(transitive)
+ Addedsignal-exit@3.0.7(transitive)
+ Addedslash@3.0.0(transitive)
+ Addedsprintf-js@1.0.3(transitive)
+ Addedstack-utils@2.0.6(transitive)
+ Addedsupports-color@7.2.08.1.1(transitive)
+ Addedtest-exclude@6.0.0(transitive)
+ Addedtmpl@1.0.5(transitive)
+ Addedto-regex-range@5.0.1(transitive)
+ Addedtype-detect@4.0.8(transitive)
+ Addedundici-types@6.20.0(transitive)
+ Addedupdate-browserslist-db@1.1.1(transitive)
+ Addedwalker@1.0.8(transitive)
+ Addedwrappy@1.0.2(transitive)
+ Addedwrite-file-atomic@4.0.2(transitive)
+ Addedyallist@3.1.1(transitive)
Updated@babel/runtime@^7.19.4