1
0
mirror of https://github.com/pavlobu/deskreen.git synced 2025-05-18 16:30:10 -07:00

added custom electron-log logger, husky post-commit

This commit is contained in:
Pavlo Buidenkov 2020-08-31 15:29:53 +03:00
parent 79679ad86e
commit 7ec64ce846
9 changed files with 320 additions and 14 deletions

View File

@ -1,12 +1,15 @@
/* eslint-disable no-console */
import getStore from './store';
import Logger from '../utils/logger';
const log = new Logger('app/server/inactive_rooms.ts');
export default async function pollForInactiveRooms() {
const store = getStore();
console.log('Checking for inactive rooms...');
log.info('Checking for inactive rooms...');
const rooms = (await store.getAll('rooms')) || {};
console.log(`${Object.keys(rooms).length} rooms found`);
log.info(`${Object.keys(rooms).length} rooms found`);
Object.keys(rooms).forEach(async (roomId) => {
const room = JSON.parse(rooms[roomId]);
@ -15,7 +18,7 @@ export default async function pollForInactiveRooms() {
timeSinceUpdatedInSeconds / 60 / 60 / 24
);
if (timeSinceUpdatedInDays > 7) {
console.log(
log.info(
`Deleting roomId ${roomId} which hasn't been used in ${timeSinceUpdatedInDays} days`
);
await store.del('rooms', roomId);

View File

@ -14,6 +14,14 @@ import Socket from './socket';
import pollForInactiveRooms from './inactive_rooms';
import getStore from './store';
import Logger from '../utils/logger';
const log = new Logger('app/server/index.ts');
// const log = (...args) => {
// logger.
// };
let isDev;
try {
// eslint-disable-next-line global-require
@ -101,7 +109,7 @@ const init = async (PORT: number) => {
pollForInactiveRooms();
return server.listen(PORT, () => {
console.log(`Signaling server is online at port ${PORT}`);
log.info(`Signaling server is online at port ${PORT}`);
});
};
@ -123,7 +131,7 @@ class SignalingServer {
public async start(): Promise<Server> {
this.port = await getPort({ port: 3131 });
this.server = await init(this.port);
console.log(`\n\nDeskreen signaling server started at port: ${this.port}`);
log.info(`Deskreen signaling server started at port: ${this.port}`);
return this.server;
}

View File

@ -1,4 +1,5 @@
/* eslint-disable no-async-promise-executor */
import regeneratorRuntime from 'regenerator-runtime';
import _ from 'lodash';
import Io from 'socket.io';
// eslint-disable-next-line import/no-cycle

92
app/utils/logger.spec.ts Normal file
View File

@ -0,0 +1,92 @@
import Logger from './logger';
describe('LoggerWithFilePrefix that uses electron-log', () => {
const filePath = 'some/file/path';
let log = new Logger(filePath);
const mockLoggerInfoProperty = jest.fn();
const mockLoggerErrorProperty = jest.fn();
const mockLoggerWarnProperty = jest.fn();
const mockLoggerVerboseProperty = jest.fn();
const mockLoggerDebugProperty = jest.fn();
const mockLoggerSillyProperty = jest.fn();
beforeEach(() => {
mockLoggerInfoProperty.mockClear();
mockLoggerErrorProperty.mockClear();
mockLoggerWarnProperty.mockClear();
mockLoggerVerboseProperty.mockClear();
mockLoggerDebugProperty.mockClear();
mockLoggerDebugProperty.mockClear();
log = new Logger(filePath);
Object.defineProperty(log, 'electronLog', {
value: {
info: mockLoggerInfoProperty,
error: mockLoggerErrorProperty,
warn: mockLoggerWarnProperty,
verbose: mockLoggerVerboseProperty,
debug: mockLoggerDebugProperty,
silly: mockLoggerSillyProperty,
},
});
});
it('should use internal electronLog.info() with filePath as first argument, when .info() is called', () => {
log.info('some info() log here');
expect(mockLoggerInfoProperty).toHaveBeenCalledWith(
filePath,
expect.anything(),
expect.anything()
);
});
it('should use internal electronLog.error() with filePath as first argument, when .error() is called', () => {
log.error('some error() log here');
expect(mockLoggerErrorProperty).toHaveBeenCalledWith(
filePath,
expect.anything(),
expect.anything()
);
});
it('should use internal electronLog.warn() with filePath as first argument, when .warn() is called', () => {
log.warn('some warn() log here');
expect(mockLoggerWarnProperty).toHaveBeenCalledWith(
filePath,
expect.anything(),
expect.anything()
);
});
it('should use internal electronLog.verbose() with filePath as first argument, when .verbose() is called', () => {
log.verbose('some verbose() log here');
expect(mockLoggerVerboseProperty).toHaveBeenCalledWith(
filePath,
expect.anything(),
expect.anything()
);
});
it('should use internal electronLog.debug() with filePath as first argument, when .debug() is called', () => {
log.debug('some debug() log here');
expect(mockLoggerDebugProperty).toHaveBeenCalledWith(
filePath,
expect.anything(),
expect.anything()
);
});
it('should use internal electronLog.silly() with filePath as first argument, when .silly() is called', () => {
log.silly('some silly() log here');
expect(mockLoggerSillyProperty).toHaveBeenCalledWith(
filePath,
expect.anything(),
expect.anything()
);
});
});

45
app/utils/logger.ts Normal file
View File

@ -0,0 +1,45 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
const log = require('electron-log');
log.transports.file.level = 'warn';
if (process.env.NODE_ENV !== 'production') {
log.transports.console.level = 'silly';
} else {
log.transports.console.level = 'silly'; // TODO: make false when doing release
}
export default class LoggerWithFilePrefix {
filenamePath: string;
electronLog: typeof log;
constructor(_filenamePath: string) {
this.filenamePath = _filenamePath;
this.electronLog = log;
}
error(...args: any[]) {
this.electronLog.error(this.filenamePath, ':', ...args);
}
warn(...args: any[]) {
this.electronLog.warn(this.filenamePath, ':', ...args);
}
info(...args: any[]) {
this.electronLog.info(this.filenamePath, ':', ...args);
}
verbose(...args: any[]) {
this.electronLog.verbose(this.filenamePath, ':', ...args);
}
debug(...args: any[]) {
this.electronLog.debug(this.filenamePath, ':', ...args);
}
silly(...args: any[]) {
this.electronLog.silly(this.filenamePath, ':', ...args);
}
}

View File

@ -56,6 +56,15 @@ module.exports = (api) => {
[require('@babel/plugin-proposal-class-properties'), { loose: true }],
require('@babel/plugin-proposal-json-strings'),
// Stage 4
[
require('@babel/plugin-transform-runtime'),
{
helpers: false,
regenerator: true,
},
],
...(development ? developmentPlugins : productionPlugins),
],
};

View File

@ -145,8 +145,14 @@
"homepage": "https://github.com/pavlobu/deskreen#readme",
"jest": {
"testURL": "http://localhost/",
"coveragePathIgnorePatterns": ["/node_modules/", "app/client"],
"testPathIgnorePatterns": ["/node_modules/", "app/client"],
"coveragePathIgnorePatterns": [
"/node_modules/",
"app/client"
],
"testPathIgnorePatterns": [
"/node_modules/",
"app/client"
],
"moduleNameMapper": {
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/internals/mocks/fileMock.js",
"\\.(css|less|sass|scss)$": "identity-obj-proxy"
@ -198,6 +204,7 @@
"@babel/plugin-syntax-import-meta": "^7.10.4",
"@babel/plugin-transform-react-constant-elements": "^7.10.4",
"@babel/plugin-transform-react-inline-elements": "^7.10.4",
"@babel/plugin-transform-runtime": "^7.11.0",
"@babel/preset-env": "^7.11.0",
"@babel/preset-react": "^7.10.4",
"@babel/preset-typescript": "^7.10.4",
@ -333,7 +340,8 @@
"shortid": "^2.2.15",
"socket.io": "^2.3.0",
"socket.io-client": "^2.3.0",
"source-map-support": "^0.5.19"
"source-map-support": "^0.5.19",
"winston": "^3.3.3"
},
"devEngines": {
"node": ">=7.x",
@ -373,7 +381,8 @@
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
"pre-commit": "lint-staged",
"post-commit": "yarn coverage &> /dev/null && yarn sonar &> /dev/null &"
}
},
"jestSonar": {

View File

@ -0,0 +1,18 @@
import http from 'http';
import SignalingServer from '../../../../app/server/index';
describe('signaling server', () => {
let server: typeof SignalingServer;
beforeEach(() => {
server = SignalingServer;
});
afterEach(() => {
server.stop();
});
it('start() should return http.Server', async () => {
const res = await server.start();
expect(res instanceof http.Server).toBe(true);
});
});

131
yarn.lock
View File

@ -896,6 +896,16 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-transform-runtime@^7.11.0":
version "7.11.0"
resolved "https://packages.deskreen.com/@babel%2fplugin-transform-runtime/-/plugin-transform-runtime-7.11.0.tgz#e27f78eb36f19448636e05c33c90fd9ad9b8bccf"
integrity sha512-LFEsP+t3wkYBlis8w6/kmnd6Kb1dxTd+wGJ8MlxTGzQo//ehtqlVL4S9DNUa53+dtPSQobN2CXx4d81FqC58cw==
dependencies:
"@babel/helper-module-imports" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
resolve "^1.8.1"
semver "^5.5.1"
"@babel/plugin-transform-shorthand-properties@^7.10.4":
version "7.10.4"
resolved "https://packages.deskreen.com/@babel%2fplugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz#9fd25ec5cdd555bb7f473e5e6ee1c971eede4dd6"
@ -1161,6 +1171,15 @@
exec-sh "^0.3.2"
minimist "^1.2.0"
"@dabh/diagnostics@^2.0.2":
version "2.0.2"
resolved "https://packages.deskreen.com/@dabh%2fdiagnostics/-/diagnostics-2.0.2.tgz#290d08f7b381b8f94607dc8f471a12c675f9db31"
integrity sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==
dependencies:
colorspace "1.1.x"
enabled "2.0.x"
kuler "^2.0.0"
"@develar/schema-utils@~2.6.5":
version "2.6.5"
resolved "https://packages.deskreen.com/@develar%2fschema-utils/-/schema-utils-2.6.5.tgz#3ece22c5838402419a6e0425f85742b961d9b6c6"
@ -2746,6 +2765,11 @@ async@^2.6.2:
dependencies:
lodash "^4.17.14"
async@^3.1.0:
version "3.2.0"
resolved "https://packages.deskreen.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720"
integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==
asynckit@^0.4.0:
version "0.4.0"
resolved "https://packages.deskreen.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@ -4564,6 +4588,14 @@ color-string@^1.5.2:
color-name "^1.0.0"
simple-swizzle "^0.2.2"
color@3.0.x:
version "3.0.0"
resolved "https://packages.deskreen.com/color/-/color-3.0.0.tgz#d920b4328d534a3ac8295d68f7bd4ba6c427be9a"
integrity sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==
dependencies:
color-convert "^1.9.1"
color-string "^1.5.2"
color@^3.0.0:
version "3.1.2"
resolved "https://packages.deskreen.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10"
@ -4577,11 +4609,19 @@ colorette@^1.2.1:
resolved "https://packages.deskreen.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b"
integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==
colors@^1.3.3:
colors@^1.2.1, colors@^1.3.3:
version "1.4.0"
resolved "https://packages.deskreen.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==
colorspace@1.1.x:
version "1.1.2"
resolved "https://packages.deskreen.com/colorspace/-/colorspace-1.1.2.tgz#e0128950d082b86a2168580796a0aa5d6c68d8c5"
integrity sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==
dependencies:
color "3.0.x"
text-hex "1.0.x"
colour@0.7.1:
version "0.7.1"
resolved "https://packages.deskreen.com/colour/-/colour-0.7.1.tgz#9cb169917ec5d12c0736d3e8685746df1cadf778"
@ -5891,6 +5931,11 @@ emojis-list@^3.0.0:
resolved "https://packages.deskreen.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
enabled@2.0.x:
version "2.0.0"
resolved "https://packages.deskreen.com/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2"
integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==
encodeurl@^1.0.2, encodeurl@~1.0.2:
version "1.0.2"
resolved "https://packages.deskreen.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
@ -6725,6 +6770,11 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6:
resolved "https://packages.deskreen.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
fast-safe-stringify@^2.0.4:
version "2.0.7"
resolved "https://packages.deskreen.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743"
integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==
fastq@^1.6.0:
version "1.8.0"
resolved "https://packages.deskreen.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481"
@ -6760,6 +6810,11 @@ fd-slicer@~1.1.0:
dependencies:
pend "~1.2.0"
fecha@^4.2.0:
version "4.2.0"
resolved "https://packages.deskreen.com/fecha/-/fecha-4.2.0.tgz#3ffb6395453e3f3efff850404f0a59b6747f5f41"
integrity sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg==
figgy-pudding@^3.5.1:
version "3.5.2"
resolved "https://packages.deskreen.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
@ -6933,6 +6988,11 @@ flush-write-stream@^1.0.0:
inherits "^2.0.3"
readable-stream "^2.3.6"
fn.name@1.x.x:
version "1.1.0"
resolved "https://packages.deskreen.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc"
integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==
follow-redirects@1.5.10:
version "1.5.10"
resolved "https://packages.deskreen.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
@ -9341,6 +9401,11 @@ koa@^2.13.0:
type-is "^1.6.16"
vary "^1.1.2"
kuler@^2.0.0:
version "2.0.0"
resolved "https://packages.deskreen.com/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3"
integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==
language-subtag-registry@~0.3.2:
version "0.3.20"
resolved "https://packages.deskreen.com/language-subtag-registry/-/language-subtag-registry-0.3.20.tgz#a00a37121894f224f763268e431c55556b0c0755"
@ -9588,6 +9653,17 @@ log-update@^4.0.0:
slice-ansi "^4.0.0"
wrap-ansi "^6.2.0"
logform@^2.2.0:
version "2.2.0"
resolved "https://packages.deskreen.com/logform/-/logform-2.2.0.tgz#40f036d19161fc76b68ab50fdc7fe495544492f2"
integrity sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==
dependencies:
colors "^1.2.1"
fast-safe-stringify "^2.0.4"
fecha "^4.2.0"
ms "^2.1.1"
triple-beam "^1.3.0"
loglevel@^1.6.8:
version "1.7.0"
resolved "https://packages.deskreen.com/loglevel/-/loglevel-1.7.0.tgz#728166855a740d59d38db01cf46f042caa041bb0"
@ -10535,6 +10611,13 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0:
dependencies:
wrappy "1"
one-time@^1.0.0:
version "1.0.0"
resolved "https://packages.deskreen.com/one-time/-/one-time-1.0.0.tgz#e06bc174aed214ed58edede573b433bbf827cb45"
integrity sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==
dependencies:
fn.name "1.x.x"
onetime@^2.0.0, onetime@^2.0.1:
version "2.0.1"
resolved "https://packages.deskreen.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
@ -11975,7 +12058,7 @@ read-pkg@^5.2.0:
parse-json "^5.0.0"
type-fest "^0.6.0"
"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6:
"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@^2.3.7, readable-stream@~2.3.6:
version "2.3.7"
resolved "https://packages.deskreen.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
@ -11988,7 +12071,7 @@ read-pkg@^5.2.0:
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0:
readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
version "3.6.0"
resolved "https://packages.deskreen.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
@ -12388,7 +12471,7 @@ resolve-url@^0.2.1:
resolved "https://packages.deskreen.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.2:
resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1:
version "1.17.0"
resolved "https://packages.deskreen.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
@ -12650,7 +12733,7 @@ semver-regex@^2.0.0:
resolved "https://packages.deskreen.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338"
integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==
"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1:
"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1:
version "5.7.1"
resolved "https://packages.deskreen.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
@ -13179,6 +13262,11 @@ stable@^0.1.8:
resolved "https://packages.deskreen.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
stack-trace@0.0.x:
version "0.0.10"
resolved "https://packages.deskreen.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=
stack-utils@^2.0.2:
version "2.0.2"
resolved "https://packages.deskreen.com/stack-utils/-/stack-utils-2.0.2.tgz#5cf48b4557becb4638d0bc4f21d23f5d19586593"
@ -13936,6 +14024,11 @@ testcafe@^1.8.8:
tree-kill "^1.1.0"
typescript "^3.3.3"
text-hex@1.0.x:
version "1.0.0"
resolved "https://packages.deskreen.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5"
integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==
text-table@^0.2.0:
version "0.2.0"
resolved "https://packages.deskreen.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
@ -14136,6 +14229,11 @@ trim@0.0.1:
resolved "https://packages.deskreen.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd"
integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0=
triple-beam@^1.2.0, triple-beam@^1.3.0:
version "1.3.0"
resolved "https://packages.deskreen.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9"
integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==
trough@^1.0.0:
version "1.0.5"
resolved "https://packages.deskreen.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406"
@ -14967,6 +15065,29 @@ wildcard@^2.0.0:
resolved "https://packages.deskreen.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec"
integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==
winston-transport@^4.4.0:
version "4.4.0"
resolved "https://packages.deskreen.com/winston-transport/-/winston-transport-4.4.0.tgz#17af518daa690d5b2ecccaa7acf7b20ca7925e59"
integrity sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==
dependencies:
readable-stream "^2.3.7"
triple-beam "^1.2.0"
winston@^3.3.3:
version "3.3.3"
resolved "https://packages.deskreen.com/winston/-/winston-3.3.3.tgz#ae6172042cafb29786afa3d09c8ff833ab7c9170"
integrity sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==
dependencies:
"@dabh/diagnostics" "^2.0.2"
async "^3.1.0"
is-stream "^2.0.0"
logform "^2.2.0"
one-time "^1.0.0"
readable-stream "^3.4.0"
stack-trace "0.0.x"
triple-beam "^1.3.0"
winston-transport "^4.4.0"
word-wrap@^1.2.3, word-wrap@~1.2.3:
version "1.2.3"
resolved "https://packages.deskreen.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"