@jest/console
Advanced tools
Comparing version 29.7.0 to 30.0.0-alpha.1
@@ -13,2 +13,3 @@ /** | ||
import {StackTraceConfig} from 'jest-message-util'; | ||
import type {WriteStream} from 'tty'; | ||
@@ -27,3 +28,3 @@ export declare class BufferedConsole extends Console_2 { | ||
message: LogMessage, | ||
level?: number | null, | ||
stackLevel?: number, | ||
): ConsoleBuffer; | ||
@@ -61,4 +62,4 @@ private _log; | ||
constructor( | ||
stdout: NodeJS.WriteStream, | ||
stderr: NodeJS.WriteStream, | ||
stdout: WriteStream, | ||
stderr: WriteStream, | ||
formatBuffer?: Formatter, | ||
@@ -65,0 +66,0 @@ ); |
@@ -1,7 +0,489 @@ | ||
'use strict'; | ||
/*! | ||
* /** | ||
* * Copyright (c) Meta Platforms, Inc. and affiliates. | ||
* * | ||
* * This source code is licensed under the MIT license found in the | ||
* * LICENSE file in the root directory of this source tree. | ||
* * / | ||
*/ | ||
/******/ (() => { // webpackBootstrap | ||
/******/ "use strict"; | ||
/******/ var __webpack_modules__ = ({ | ||
Object.defineProperty(exports, '__esModule', { | ||
/***/ "./src/BufferedConsole.ts": | ||
/***/ ((__unused_webpack_module, exports) => { | ||
Object.defineProperty(exports, "__esModule", ({ | ||
value: true | ||
}); | ||
Object.defineProperty(exports, 'BufferedConsole', { | ||
})); | ||
exports["default"] = void 0; | ||
function _assert() { | ||
const data = require("assert"); | ||
_assert = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function _console() { | ||
const data = require("console"); | ||
_console = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function _util() { | ||
const data = require("util"); | ||
_util = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function _chalk() { | ||
const data = _interopRequireDefault(require("chalk")); | ||
_chalk = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function _jestUtil() { | ||
const data = require("jest-util"); | ||
_jestUtil = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
/** | ||
* Copyright (c) Meta Platforms, Inc. and affiliates. | ||
* | ||
* This source code is licensed under the MIT license found in the | ||
* LICENSE file in the root directory of this source tree. | ||
*/ | ||
class BufferedConsole extends _console().Console { | ||
_buffer = []; | ||
_counters = {}; | ||
_timers = {}; | ||
_groupDepth = 0; | ||
Console = _console().Console; | ||
constructor() { | ||
super({ | ||
write: message => { | ||
BufferedConsole.write(this._buffer, 'log', message); | ||
return true; | ||
} | ||
}); | ||
} | ||
static write(buffer, type, message, stackLevel = 2) { | ||
const rawStack = new (_jestUtil().ErrorWithStack)(undefined, BufferedConsole.write).stack; | ||
(0, _jestUtil().invariant)(rawStack != null, 'always have a stack trace'); | ||
const origin = rawStack.split('\n').slice(stackLevel).filter(Boolean).join('\n'); | ||
buffer.push({ | ||
message, | ||
origin, | ||
type | ||
}); | ||
return buffer; | ||
} | ||
_log(type, message) { | ||
BufferedConsole.write(this._buffer, type, ' '.repeat(this._groupDepth) + message, 3); | ||
} | ||
assert(value, message) { | ||
try { | ||
(0, _assert().strict)(value, message); | ||
} catch (error) { | ||
if (!(error instanceof _assert().AssertionError)) { | ||
throw error; | ||
} | ||
// https://github.com/jestjs/jest/pull/13422#issuecomment-1273396392 | ||
this._log('assert', error.toString().replace(/:\n\n.*\n/gs, '')); | ||
} | ||
} | ||
count(label = 'default') { | ||
if (!this._counters[label]) { | ||
this._counters[label] = 0; | ||
} | ||
this._log('count', (0, _util().format)(`${label}: ${++this._counters[label]}`)); | ||
} | ||
countReset(label = 'default') { | ||
this._counters[label] = 0; | ||
} | ||
debug(firstArg, ...rest) { | ||
this._log('debug', (0, _util().format)(firstArg, ...rest)); | ||
} | ||
dir(firstArg, options = {}) { | ||
const representation = (0, _util().inspect)(firstArg, options); | ||
this._log('dir', (0, _util().formatWithOptions)(options, representation)); | ||
} | ||
dirxml(firstArg, ...rest) { | ||
this._log('dirxml', (0, _util().format)(firstArg, ...rest)); | ||
} | ||
error(firstArg, ...rest) { | ||
this._log('error', (0, _util().format)(firstArg, ...rest)); | ||
} | ||
group(title, ...rest) { | ||
this._groupDepth++; | ||
if (title != null || rest.length > 0) { | ||
this._log('group', _chalk().default.bold((0, _util().format)(title, ...rest))); | ||
} | ||
} | ||
groupCollapsed(title, ...rest) { | ||
this._groupDepth++; | ||
if (title != null || rest.length > 0) { | ||
this._log('groupCollapsed', _chalk().default.bold((0, _util().format)(title, ...rest))); | ||
} | ||
} | ||
groupEnd() { | ||
if (this._groupDepth > 0) { | ||
this._groupDepth--; | ||
} | ||
} | ||
info(firstArg, ...rest) { | ||
this._log('info', (0, _util().format)(firstArg, ...rest)); | ||
} | ||
log(firstArg, ...rest) { | ||
this._log('log', (0, _util().format)(firstArg, ...rest)); | ||
} | ||
time(label = 'default') { | ||
if (this._timers[label] != null) { | ||
return; | ||
} | ||
this._timers[label] = new Date(); | ||
} | ||
timeEnd(label = 'default') { | ||
const startTime = this._timers[label]; | ||
if (startTime != null) { | ||
const endTime = new Date(); | ||
const time = endTime.getTime() - startTime.getTime(); | ||
this._log('time', (0, _util().format)(`${label}: ${(0, _jestUtil().formatTime)(time)}`)); | ||
delete this._timers[label]; | ||
} | ||
} | ||
timeLog(label = 'default', ...data) { | ||
const startTime = this._timers[label]; | ||
if (startTime != null) { | ||
const endTime = new Date(); | ||
const time = endTime.getTime() - startTime.getTime(); | ||
this._log('time', (0, _util().format)(`${label}: ${(0, _jestUtil().formatTime)(time)}`, ...data)); | ||
} | ||
} | ||
warn(firstArg, ...rest) { | ||
this._log('warn', (0, _util().format)(firstArg, ...rest)); | ||
} | ||
getBuffer() { | ||
return this._buffer.length > 0 ? this._buffer : undefined; | ||
} | ||
} | ||
exports["default"] = BufferedConsole; | ||
/***/ }), | ||
/***/ "./src/CustomConsole.ts": | ||
/***/ ((__unused_webpack_module, exports) => { | ||
Object.defineProperty(exports, "__esModule", ({ | ||
value: true | ||
})); | ||
exports["default"] = void 0; | ||
function _assert() { | ||
const data = require("assert"); | ||
_assert = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function _console() { | ||
const data = require("console"); | ||
_console = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function _util() { | ||
const data = require("util"); | ||
_util = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function _chalk() { | ||
const data = _interopRequireDefault(require("chalk")); | ||
_chalk = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function _jestUtil() { | ||
const data = require("jest-util"); | ||
_jestUtil = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
/** | ||
* Copyright (c) Meta Platforms, Inc. and affiliates. | ||
* | ||
* This source code is licensed under the MIT license found in the | ||
* LICENSE file in the root directory of this source tree. | ||
*/ | ||
class CustomConsole extends _console().Console { | ||
_stdout; | ||
_stderr; | ||
_formatBuffer; | ||
_counters = {}; | ||
_timers = {}; | ||
_groupDepth = 0; | ||
Console = _console().Console; | ||
constructor(stdout, stderr, formatBuffer = (_type, message) => message) { | ||
super(stdout, stderr); | ||
this._stdout = stdout; | ||
this._stderr = stderr; | ||
this._formatBuffer = formatBuffer; | ||
} | ||
_log(type, message) { | ||
(0, _jestUtil().clearLine)(this._stdout); | ||
super.log(this._formatBuffer(type, ' '.repeat(this._groupDepth) + message)); | ||
} | ||
_logError(type, message) { | ||
(0, _jestUtil().clearLine)(this._stderr); | ||
super.error(this._formatBuffer(type, ' '.repeat(this._groupDepth) + message)); | ||
} | ||
assert(value, message) { | ||
try { | ||
(0, _assert().strict)(value, message); | ||
} catch (error) { | ||
if (!(error instanceof _assert().AssertionError)) { | ||
throw error; | ||
} | ||
// https://github.com/jestjs/jest/pull/13422#issuecomment-1273396392 | ||
this._logError('assert', error.toString().replace(/:\n\n.*\n/gs, '')); | ||
} | ||
} | ||
count(label = 'default') { | ||
if (!this._counters[label]) { | ||
this._counters[label] = 0; | ||
} | ||
this._log('count', (0, _util().format)(`${label}: ${++this._counters[label]}`)); | ||
} | ||
countReset(label = 'default') { | ||
this._counters[label] = 0; | ||
} | ||
debug(firstArg, ...args) { | ||
this._log('debug', (0, _util().format)(firstArg, ...args)); | ||
} | ||
dir(firstArg, options = {}) { | ||
const representation = (0, _util().inspect)(firstArg, options); | ||
this._log('dir', (0, _util().formatWithOptions)(options, representation)); | ||
} | ||
dirxml(firstArg, ...args) { | ||
this._log('dirxml', (0, _util().format)(firstArg, ...args)); | ||
} | ||
error(firstArg, ...args) { | ||
this._logError('error', (0, _util().format)(firstArg, ...args)); | ||
} | ||
group(title, ...args) { | ||
this._groupDepth++; | ||
if (title != null || args.length > 0) { | ||
this._log('group', _chalk().default.bold((0, _util().format)(title, ...args))); | ||
} | ||
} | ||
groupCollapsed(title, ...args) { | ||
this._groupDepth++; | ||
if (title != null || args.length > 0) { | ||
this._log('groupCollapsed', _chalk().default.bold((0, _util().format)(title, ...args))); | ||
} | ||
} | ||
groupEnd() { | ||
if (this._groupDepth > 0) { | ||
this._groupDepth--; | ||
} | ||
} | ||
info(firstArg, ...args) { | ||
this._log('info', (0, _util().format)(firstArg, ...args)); | ||
} | ||
log(firstArg, ...args) { | ||
this._log('log', (0, _util().format)(firstArg, ...args)); | ||
} | ||
time(label = 'default') { | ||
if (this._timers[label] != null) { | ||
return; | ||
} | ||
this._timers[label] = new Date(); | ||
} | ||
timeEnd(label = 'default') { | ||
const startTime = this._timers[label]; | ||
if (startTime != null) { | ||
const endTime = new Date().getTime(); | ||
const time = endTime - startTime.getTime(); | ||
this._log('time', (0, _util().format)(`${label}: ${(0, _jestUtil().formatTime)(time)}`)); | ||
delete this._timers[label]; | ||
} | ||
} | ||
timeLog(label = 'default', ...data) { | ||
const startTime = this._timers[label]; | ||
if (startTime != null) { | ||
const endTime = new Date(); | ||
const time = endTime.getTime() - startTime.getTime(); | ||
this._log('time', (0, _util().format)(`${label}: ${(0, _jestUtil().formatTime)(time)}`, ...data)); | ||
} | ||
} | ||
warn(firstArg, ...args) { | ||
this._logError('warn', (0, _util().format)(firstArg, ...args)); | ||
} | ||
getBuffer() { | ||
return undefined; | ||
} | ||
} | ||
exports["default"] = CustomConsole; | ||
/***/ }), | ||
/***/ "./src/NullConsole.ts": | ||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => { | ||
Object.defineProperty(exports, "__esModule", ({ | ||
value: true | ||
})); | ||
exports["default"] = void 0; | ||
var _CustomConsole = _interopRequireDefault(__webpack_require__("./src/CustomConsole.ts")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
/* eslint-disable @typescript-eslint/no-empty-function */ | ||
/** | ||
* Copyright (c) Meta Platforms, Inc. and affiliates. | ||
* | ||
* This source code is licensed under the MIT license found in the | ||
* LICENSE file in the root directory of this source tree. | ||
*/ | ||
class NullConsole extends _CustomConsole.default { | ||
assert() {} | ||
debug() {} | ||
dir() {} | ||
error() {} | ||
info() {} | ||
log() {} | ||
time() {} | ||
timeEnd() {} | ||
timeLog() {} | ||
trace() {} | ||
warn() {} | ||
group() {} | ||
groupCollapsed() {} | ||
groupEnd() {} | ||
} | ||
exports["default"] = NullConsole; | ||
/***/ }), | ||
/***/ "./src/getConsoleOutput.ts": | ||
/***/ ((__unused_webpack_module, exports) => { | ||
Object.defineProperty(exports, "__esModule", ({ | ||
value: true | ||
})); | ||
exports["default"] = getConsoleOutput; | ||
function _chalk() { | ||
const data = _interopRequireDefault(require("chalk")); | ||
_chalk = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function _jestMessageUtil() { | ||
const data = require("jest-message-util"); | ||
_jestMessageUtil = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
/** | ||
* Copyright (c) Meta Platforms, Inc. and affiliates. | ||
* | ||
* This source code is licensed under the MIT license found in the | ||
* LICENSE file in the root directory of this source tree. | ||
*/ | ||
function getConsoleOutput(buffer, config, globalConfig) { | ||
const TITLE_INDENT = globalConfig.verbose === true ? ' '.repeat(2) : ' '.repeat(4); | ||
const CONSOLE_INDENT = TITLE_INDENT + ' '.repeat(2); | ||
const logEntries = buffer.reduce((output, { | ||
type, | ||
message, | ||
origin | ||
}) => { | ||
message = message.split(/\n/).map(line => CONSOLE_INDENT + line).join('\n'); | ||
let typeMessage = `console.${type}`; | ||
let noStackTrace = true; | ||
let noCodeFrame = true; | ||
if (type === 'warn') { | ||
message = _chalk().default.yellow(message); | ||
typeMessage = _chalk().default.yellow(typeMessage); | ||
noStackTrace = globalConfig?.noStackTrace ?? false; | ||
noCodeFrame = false; | ||
} else if (type === 'error') { | ||
message = _chalk().default.red(message); | ||
typeMessage = _chalk().default.red(typeMessage); | ||
noStackTrace = globalConfig?.noStackTrace ?? false; | ||
noCodeFrame = false; | ||
} | ||
const options = { | ||
noCodeFrame, | ||
noStackTrace | ||
}; | ||
const formattedStackTrace = (0, _jestMessageUtil().formatStackTrace)(origin, config, options); | ||
return `${output + TITLE_INDENT + _chalk().default.dim(typeMessage)}\n${message.trimRight()}\n${_chalk().default.dim(formattedStackTrace.trimRight())}\n\n`; | ||
}, ''); | ||
return `${logEntries.trimRight()}\n`; | ||
} | ||
/***/ }) | ||
/******/ }); | ||
/************************************************************************/ | ||
/******/ // The module cache | ||
/******/ var __webpack_module_cache__ = {}; | ||
/******/ | ||
/******/ // The require function | ||
/******/ function __webpack_require__(moduleId) { | ||
/******/ // Check if module is in cache | ||
/******/ var cachedModule = __webpack_module_cache__[moduleId]; | ||
/******/ if (cachedModule !== undefined) { | ||
/******/ return cachedModule.exports; | ||
/******/ } | ||
/******/ // Create a new module (and put it into the cache) | ||
/******/ var module = __webpack_module_cache__[moduleId] = { | ||
/******/ // no module.id needed | ||
/******/ // no module.loaded needed | ||
/******/ exports: {} | ||
/******/ }; | ||
/******/ | ||
/******/ // Execute the module function | ||
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); | ||
/******/ | ||
/******/ // Return the exports of the module | ||
/******/ return module.exports; | ||
/******/ } | ||
/******/ | ||
/************************************************************************/ | ||
var __webpack_exports__ = {}; | ||
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. | ||
(() => { | ||
var exports = __webpack_exports__; | ||
Object.defineProperty(exports, "__esModule", ({ | ||
value: true | ||
})); | ||
Object.defineProperty(exports, "BufferedConsole", ({ | ||
enumerable: true, | ||
@@ -11,4 +493,4 @@ get: function () { | ||
} | ||
}); | ||
Object.defineProperty(exports, 'CustomConsole', { | ||
})); | ||
Object.defineProperty(exports, "CustomConsole", ({ | ||
enumerable: true, | ||
@@ -18,4 +500,4 @@ get: function () { | ||
} | ||
}); | ||
Object.defineProperty(exports, 'NullConsole', { | ||
})); | ||
Object.defineProperty(exports, "NullConsole", ({ | ||
enumerable: true, | ||
@@ -25,4 +507,4 @@ get: function () { | ||
} | ||
}); | ||
Object.defineProperty(exports, 'getConsoleOutput', { | ||
})); | ||
Object.defineProperty(exports, "getConsoleOutput", ({ | ||
enumerable: true, | ||
@@ -32,9 +514,12 @@ get: function () { | ||
} | ||
}); | ||
var _BufferedConsole = _interopRequireDefault(require('./BufferedConsole')); | ||
var _CustomConsole = _interopRequireDefault(require('./CustomConsole')); | ||
var _NullConsole = _interopRequireDefault(require('./NullConsole')); | ||
var _getConsoleOutput = _interopRequireDefault(require('./getConsoleOutput')); | ||
function _interopRequireDefault(obj) { | ||
return obj && obj.__esModule ? obj : {default: obj}; | ||
} | ||
})); | ||
var _BufferedConsole = _interopRequireDefault(__webpack_require__("./src/BufferedConsole.ts")); | ||
var _CustomConsole = _interopRequireDefault(__webpack_require__("./src/CustomConsole.ts")); | ||
var _NullConsole = _interopRequireDefault(__webpack_require__("./src/NullConsole.ts")); | ||
var _getConsoleOutput = _interopRequireDefault(__webpack_require__("./src/getConsoleOutput.ts")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
})(); | ||
module.exports = __webpack_exports__; | ||
/******/ })() | ||
; |
{ | ||
"name": "@jest/console", | ||
"version": "29.7.0", | ||
"version": "30.0.0-alpha.1", | ||
"repository": { | ||
@@ -15,2 +15,4 @@ "type": "git", | ||
"types": "./build/index.d.ts", | ||
"require": "./build/index.js", | ||
"import": "./build/index.mjs", | ||
"default": "./build/index.js" | ||
@@ -21,14 +23,14 @@ }, | ||
"dependencies": { | ||
"@jest/types": "^29.6.3", | ||
"@jest/types": "30.0.0-alpha.1", | ||
"@types/node": "*", | ||
"chalk": "^4.0.0", | ||
"jest-message-util": "^29.7.0", | ||
"jest-util": "^29.7.0", | ||
"jest-message-util": "30.0.0-alpha.1", | ||
"jest-util": "30.0.0-alpha.1", | ||
"slash": "^3.0.0" | ||
}, | ||
"devDependencies": { | ||
"@jest/test-utils": "^29.7.0" | ||
"@jest/test-utils": "30.0.0-alpha.1" | ||
}, | ||
"engines": { | ||
"node": "^14.15.0 || ^16.10.0 || >=18.0.0" | ||
"node": "^16.10.0 || ^18.12.0 || >=20.0.0" | ||
}, | ||
@@ -38,3 +40,3 @@ "publishConfig": { | ||
}, | ||
"gitHead": "4e56991693da7cd4c3730dc3579a1dd1403ee630" | ||
"gitHead": "d005cb2505c041583e0c5636d006e08666a54b63" | ||
} |
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
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
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
20962
5
618
2
1
+ Added@jest/schemas@30.0.0-alpha.1(transitive)
+ Added@jest/types@30.0.0-alpha.1(transitive)
+ Added@sinclair/typebox@0.31.28(transitive)
+ Addedci-info@4.0.0(transitive)
+ Addedjest-message-util@30.0.0-alpha.1(transitive)
+ Addedjest-util@30.0.0-alpha.1(transitive)
+ Addedpretty-format@30.0.0-alpha.1(transitive)
- Removed@jest/schemas@29.6.3(transitive)
- Removed@jest/types@29.6.3(transitive)
- Removed@sinclair/typebox@0.27.8(transitive)
- Removedci-info@3.9.0(transitive)
- Removedjest-message-util@29.7.0(transitive)
- Removedjest-util@29.7.0(transitive)
- Removedpretty-format@29.7.0(transitive)
Updated@jest/types@30.0.0-alpha.1
Updatedjest-util@30.0.0-alpha.1