Socket
Socket
Sign inDemoInstall

roarr

Package Overview
Dependencies
Maintainers
1
Versions
150
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

roarr - npm Package Compare versions

Comparing version 7.14.0 to 7.14.1

8

dist/src/browser.d.ts

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

import { logLevels } from './constants';
import { getLogLevelName } from './getLogLevelName';
import type { RoarrGlobalState } from './types';
import { type RoarrGlobalState } from './types';
declare const ROARR: RoarrGlobalState;
declare const Roarr: import("./types").Logger<import("./types").JsonObject>;
export type { Logger, LogLevelName, Message, MessageContext, MessageEventHandler, MessageSerializer, RoarrGlobalState, TransformMessageFunction, } from './types';
export { getLogLevelName, logLevels, Roarr, ROARR, };
export { Roarr, ROARR, };
export { logLevels, } from './constants';
export { getLogLevelName, } from './getLogLevelName';

@@ -6,13 +6,10 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.ROARR = exports.Roarr = exports.logLevels = exports.getLogLevelName = void 0;
exports.getLogLevelName = exports.logLevels = exports.ROARR = exports.Roarr = void 0;
const globalthis_1 = __importDefault(require("globalthis"));
const constants_1 = require("./constants");
Object.defineProperty(exports, "logLevels", { enumerable: true, get: function () { return constants_1.logLevels; } });
const createLogger_1 = require("./factories/createLogger");
const createRoarrInitialGlobalStateBrowser_1 = require("./factories/createRoarrInitialGlobalStateBrowser");
const getLogLevelName_1 = require("./getLogLevelName");
Object.defineProperty(exports, "getLogLevelName", { enumerable: true, get: function () { return getLogLevelName_1.getLogLevelName; } });
const globalThis = (0, globalthis_1.default)();
const ROARR = globalThis.ROARR = (0, createRoarrInitialGlobalStateBrowser_1.createRoarrInitialGlobalStateBrowser)(globalThis.ROARR || {});
const ROARR = (0, createRoarrInitialGlobalStateBrowser_1.createRoarrInitialGlobalStateBrowser)(globalThis.ROARR || {});
exports.ROARR = ROARR;
globalThis.ROARR = ROARR;
const serializeMessage = (message) => {

@@ -30,1 +27,5 @@ return JSON.stringify(message);

exports.Roarr = Roarr;
var constants_1 = require("./constants");
Object.defineProperty(exports, "logLevels", { enumerable: true, get: function () { return constants_1.logLevels; } });
var getLogLevelName_1 = require("./getLogLevelName");
Object.defineProperty(exports, "getLogLevelName", { enumerable: true, get: function () { return getLogLevelName_1.getLogLevelName; } });

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

import type { Logger, MessageContext, MessageEventHandler, TransformMessageFunction } from '../types';
import { type Logger, type MessageContext, type MessageEventHandler, type TransformMessageFunction } from '../types';
export declare const createLogger: (onMessage: MessageEventHandler, parentMessageContext?: MessageContext, transforms?: ReadonlyArray<TransformMessageFunction<MessageContext>>) => Logger;

@@ -8,4 +8,4 @@ "use strict";

const fast_printf_1 = require("fast-printf");
const fast_safe_stringify_1 = __importDefault(require("fast-safe-stringify"));
const globalthis_1 = __importDefault(require("globalthis"));
const safe_stable_stringify_1 = __importDefault(require("safe-stable-stringify"));
const config_1 = require("../config");

@@ -42,3 +42,3 @@ const constants_1 = require("../constants");

const asyncLocalContext = getAsyncLocalContext();
if ((0, utilities_1.hasOwnProperty)(asyncLocalContext, 'sequenceRoot') && (0, utilities_1.hasOwnProperty)(asyncLocalContext, 'sequence')) {
if ((0, utilities_1.hasOwnProperty)(asyncLocalContext, 'sequenceRoot') && (0, utilities_1.hasOwnProperty)(asyncLocalContext, 'sequence') && typeof asyncLocalContext.sequence === 'number') {
return String(asyncLocalContext.sequenceRoot) + '.' + String(asyncLocalContext.sequence++);

@@ -60,3 +60,18 @@ }

return (a, b, c, d, e, f, g, h, i, j) => {
const key = (0, fast_safe_stringify_1.default)({ a, b, c, d, e, f, g, h, i, j, logLevel });
const key = (0, safe_stable_stringify_1.default)({
a,
b,
c,
d,
e,
f,
g,
h,
i,
j,
logLevel,
});
if (!key) {
throw new Error('Expected key to be a string');
}
const onceLog = getGlobalRoarrContext().onceLog;

@@ -129,3 +144,6 @@ if (onceLog.has(key)) {

};
for (const transform of [...asyncLocalContext.transforms, ...transforms]) {
for (const transform of [
...asyncLocalContext.transforms,
...transforms,
]) {
packet = transform(packet);

@@ -199,3 +217,3 @@ if (typeof packet !== 'object' || packet === null) {

let sequenceRoot;
if ((0, utilities_1.hasOwnProperty)(asyncLocalContext, 'sequenceRoot')) {
if ((0, utilities_1.hasOwnProperty)(asyncLocalContext, 'sequenceRoot') && (0, utilities_1.hasOwnProperty)(asyncLocalContext, 'sequence') && typeof asyncLocalContext.sequence === 'number') {
sequenceRoot = asyncLocalContext.sequenceRoot + '.' + String(asyncLocalContext.sequence++);

@@ -202,0 +220,0 @@ }

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

import type { Logger, MessageEventHandler } from '../types';
export declare const createMockLogger: (onMessage: MessageEventHandler, parentContext?: import("../types").JsonObject | undefined) => Logger;
import { type Logger, type MessageContext, type MessageEventHandler } from '../types';
export declare const createMockLogger: (onMessage: MessageEventHandler, parentContext?: MessageContext) => Logger;

@@ -13,2 +13,3 @@ "use strict";

const createMockLogger = (onMessage, parentContext) => {
// eslint-disable-next-line unicorn/consistent-function-scoping
const log = () => {

@@ -15,0 +16,0 @@ return undefined;

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

import type { LogWriter } from '../types';
import { type LogWriter } from '../types';
export declare const createNodeWriter: () => LogWriter;

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

import type { RoarrGlobalState } from '../types';
import { type RoarrGlobalState } from '../types';
export declare const createRoarrInitialGlobalState: (currentState: any) => RoarrGlobalState;

@@ -29,10 +29,8 @@ "use strict";

// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
const AsyncLocalStorage = require('async_hooks').AsyncLocalStorage;
const AsyncLocalStorage = require('node:async_hooks').AsyncLocalStorage;
const asyncLocalStorage = new AsyncLocalStorage();
newState = {
...newState,
...{
write: (0, createNodeWriter_1.createNodeWriter)(),
},
asyncLocalStorage,
write: (0, createNodeWriter_1.createNodeWriter)(),
};

@@ -39,0 +37,0 @@ // eslint-disable-next-line no-empty

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

import type { RoarrGlobalState } from '../types';
import { type RoarrGlobalState } from '../types';
export declare const createRoarrInitialGlobalStateBrowser: (currentState: any) => RoarrGlobalState;

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

import type { LogLevelName } from './types';
import { type LogLevelName } from './types';
export declare const getLogLevelName: (numericLogLevel: number) => LogLevelName;

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

import { logLevels } from './constants';
import { getLogLevelName } from './getLogLevelName';
import type { RoarrGlobalState } from './types';
import { type RoarrGlobalState } from './types';
declare const ROARR: RoarrGlobalState;
declare const Roarr: import("./types").Logger<import("./types").JsonObject>;
export type { Logger, LogLevelName, LogWriter, Message, MessageContext, MessageEventHandler, MessageSerializer, RoarrGlobalState, TransformMessageFunction, } from './types';
export { getLogLevelName, logLevels, Roarr, ROARR, };
export { Roarr, ROARR, };
export { logLevels, } from './constants';
export { getLogLevelName, } from './getLogLevelName';

@@ -7,14 +7,10 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.ROARR = exports.Roarr = exports.logLevels = exports.getLogLevelName = void 0;
exports.getLogLevelName = exports.logLevels = exports.ROARR = exports.Roarr = void 0;
const boolean_1 = require("boolean");
const fast_json_stringify_1 = __importDefault(require("fast-json-stringify"));
const fast_safe_stringify_1 = __importDefault(require("fast-safe-stringify"));
const globalthis_1 = __importDefault(require("globalthis"));
const constants_1 = require("./constants");
Object.defineProperty(exports, "logLevels", { enumerable: true, get: function () { return constants_1.logLevels; } });
const safe_stable_stringify_1 = __importDefault(require("safe-stable-stringify"));
const createLogger_1 = require("./factories/createLogger");
const createMockLogger_1 = require("./factories/createMockLogger");
const createRoarrInitialGlobalState_1 = require("./factories/createRoarrInitialGlobalState");
const getLogLevelName_1 = require("./getLogLevelName");
Object.defineProperty(exports, "getLogLevelName", { enumerable: true, get: function () { return getLogLevelName_1.getLogLevelName; } });
const fastStringify = (0, fast_json_stringify_1.default)({

@@ -38,4 +34,5 @@ properties: {

const globalThis = (0, globalthis_1.default)();
const ROARR = globalThis.ROARR = (0, createRoarrInitialGlobalState_1.createRoarrInitialGlobalState)(globalThis.ROARR || {});
const ROARR = (0, createRoarrInitialGlobalState_1.createRoarrInitialGlobalState)(globalThis.ROARR || {});
exports.ROARR = ROARR;
globalThis.ROARR = ROARR;
let logFactory = createLogger_1.createLogger;

@@ -48,3 +45,3 @@ // eslint-disable-next-line node/no-process-env

const serializeMessage = (message) => {
return '{"context":' + (0, fast_safe_stringify_1.default)(message.context) + ',' + fastStringify(message).slice(1);
return '{"context":' + (0, safe_stable_stringify_1.default)(message.context) + ',' + fastStringify(message).slice(1);
};

@@ -60,1 +57,5 @@ const Roarr = logFactory((message) => {

exports.Roarr = Roarr;
var constants_1 = require("./constants");
Object.defineProperty(exports, "logLevels", { enumerable: true, get: function () { return constants_1.logLevels; } });
var getLogLevelName_1 = require("./getLogLevelName");
Object.defineProperty(exports, "getLogLevelName", { enumerable: true, get: function () { return getLogLevelName_1.getLogLevelName; } });
/// <reference types="node" />
import type { AsyncLocalStorage } from 'async_hooks';
export declare type JsonValue = JsonObject | JsonValue[] | boolean | number | string | readonly JsonValue[] | null | undefined;
export declare type JsonObject = {
import { type AsyncLocalStorage } from 'node:async_hooks';
export type JsonValue = JsonObject | JsonValue[] | boolean | number | string | readonly JsonValue[] | null | undefined;
export type JsonObject = {
[k: string]: JsonValue;
};
export declare type LogWriter = (message: string) => void;
export declare type MessageContext<T = {}> = JsonObject & T;
export declare type TopLevelAsyncLocalContext = {
export type LogWriter = (message: string) => void;
export type MessageContext<T = {}> = JsonObject & T;
export type TopLevelAsyncLocalContext = {
messageContext: MessageContext;
transforms: ReadonlyArray<TransformMessageFunction<MessageContext>>;
};
export declare type NestedAsyncLocalContext = TopLevelAsyncLocalContext & {
export type NestedAsyncLocalContext = TopLevelAsyncLocalContext & {
sequence: number;
sequenceRoot: string;
};
export declare type AsyncLocalContext = NestedAsyncLocalContext | TopLevelAsyncLocalContext;
export declare type MessageSerializer = (message: Message<MessageContext>) => string;
export declare type RoarrGlobalState = {
export type AsyncLocalContext = NestedAsyncLocalContext | TopLevelAsyncLocalContext;
export type MessageSerializer = (message: Message<MessageContext>) => string;
export type RoarrGlobalState = {
asyncLocalStorage?: AsyncLocalStorage<AsyncLocalContext>;

@@ -27,4 +27,4 @@ onceLog: Set<string>;

};
export declare type SprintfArgument = boolean | number | string | null;
export declare type Message<T = MessageContext> = {
export type SprintfArgument = boolean | number | string | null;
export type Message<T = MessageContext> = {
readonly context: T;

@@ -36,12 +36,12 @@ readonly message: string;

};
export declare type TransformMessageFunction<T> = (message: Message<T>) => Message<MessageContext>;
export declare type LogMethod<Z> = {
export type TransformMessageFunction<T> = (message: Message<T>) => Message<MessageContext>;
export type LogMethod<Z> = {
<T extends string = string>(context: Z, message: T, c?: T extends `${string}%${string}` ? SprintfArgument : never, d?: SprintfArgument, e?: SprintfArgument, f?: SprintfArgument, g?: SprintfArgument, h?: SprintfArgument, i?: SprintfArgument, j?: SprintfArgument): void;
<T extends string = string>(message: T, b?: T extends `${string}%${string}` ? SprintfArgument : never, c?: SprintfArgument, d?: SprintfArgument, e?: SprintfArgument, f?: SprintfArgument, g?: SprintfArgument, h?: SprintfArgument, i?: SprintfArgument, j?: SprintfArgument): void;
};
declare type Child<Z> = {
type Child<Z> = {
<T = Z>(context: TransformMessageFunction<MessageContext<T>>): Logger<T | Z>;
(context: MessageContext): Logger<Z>;
};
export declare type Logger<Z = MessageContext> = LogMethod<Z> & {
export type Logger<Z = MessageContext> = LogMethod<Z> & {
adopt: <T>(routine: () => T, context?: MessageContext | TransformMessageFunction<MessageContext>) => Promise<T>;

@@ -63,4 +63,4 @@ child: Child<Z>;

};
export declare type MessageEventHandler = (message: Message<MessageContext>) => void;
export declare type LogLevelName = 'trace' | 'debug' | 'info' | 'error' | 'fatal' | 'warn';
export type MessageEventHandler = (message: Message<MessageContext>) => void;
export type LogLevelName = 'trace' | 'debug' | 'info' | 'error' | 'fatal' | 'warn';
export {};

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

import type { TestInterface } from 'ava';
import { type TestFn } from 'ava';
import * as sinon from 'sinon';
export declare const createIntegrationTest: ({ writeLogs, }: {
writeLogs: boolean;
}) => TestInterface<{
}) => TestFn<{
ROARR: any;

@@ -7,0 +7,0 @@ Roarr: any;

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

if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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) {

@@ -9,0 +13,0 @@ if (k2 === undefined) k2 = k;

@@ -8,3 +8,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
const ava_1 = require("ava");
const ava_1 = __importDefault(require("ava"));
const delay_1 = __importDefault(require("delay"));

@@ -16,3 +16,3 @@ const globalthis_1 = __importDefault(require("globalthis"));

const version = '2.0.0';
(0, ava_1.beforeEach)(() => {
ava_1.default.beforeEach(() => {
const globalThis = (0, globalthis_1.default)();

@@ -33,3 +33,3 @@ globalThis.ROARR = null;

};
(0, ava_1.serial)('warns if async_hooks are unavailable', async (t) => {
ava_1.default.serial('warns if async_hooks are unavailable', async (t) => {
const firstLog = createLoggerWithHistory();

@@ -61,3 +61,3 @@ const log = firstLog.child({

});
(0, ava_1.serial)('inherits context from async local scope', async (t) => {
ava_1.default.serial('inherits context from async local scope', async (t) => {
t.plan(1);

@@ -74,3 +74,3 @@ const log = createLoggerWithHistory();

});
(0, ava_1.serial)('inherits context from parent async local scope', async (t) => {
ava_1.default.serial('inherits context from parent async local scope', async (t) => {
t.plan(2);

@@ -96,3 +96,3 @@ const log = createLoggerWithHistory();

});
(0, ava_1.serial)('inherits message transformer from async local scope', async (t) => {
ava_1.default.serial('inherits message transformer from async local scope', async (t) => {
const log = createLoggerWithHistory();

@@ -122,3 +122,3 @@ await log.adopt(() => {

});
(0, ava_1.serial)('inherits message transformer from parent async local scope', async (t) => {
ava_1.default.serial('inherits message transformer from parent async local scope', async (t) => {
const log = createLoggerWithHistory();

@@ -169,3 +169,3 @@ await log.adopt(async () => {

});
(0, ava_1.serial)('top-level adopt increments global sequence', async (t) => {
ava_1.default.serial('top-level adopt increments global sequence', (t) => {
const log = createLoggerWithHistory();

@@ -195,8 +195,8 @@ void log.adopt(() => {

});
(0, ava_1.serial)('top-level adopt increments global sequence (async)', async (t) => {
ava_1.default.serial('top-level adopt increments global sequence (async)', async (t) => {
const log = createLoggerWithHistory();
void log.adopt(async () => {
await log.adopt(async () => {
log('foo');
});
void log.adopt(async () => {
await log.adopt(async () => {
log('bar');

@@ -221,3 +221,3 @@ });

});
(0, ava_1.serial)('logs within adopt increment local sequence', async (t) => {
ava_1.default.serial('logs within adopt increment local sequence', (t) => {
const log = createLoggerWithHistory();

@@ -263,9 +263,9 @@ void log.adopt(() => {

});
(0, ava_1.serial)('logs within adopt increment local sequence (async)', async (t) => {
ava_1.default.serial('logs within adopt increment local sequence (async)', async (t) => {
const log = createLoggerWithHistory();
void log.adopt(async () => {
await log.adopt(async () => {
log('foo');
log('bar');
});
void log.adopt(async () => {
await log.adopt(async () => {
log('baz');

@@ -305,3 +305,3 @@ log('qux');

});
(0, ava_1.serial)('nested adopt increment local sequence', async (t) => {
ava_1.default.serial('nested adopt increment local sequence', (t) => {
const log = createLoggerWithHistory();

@@ -331,5 +331,5 @@ void log.adopt(() => {

});
(0, ava_1.serial)('nested adopt increment local sequence (async)', async (t) => {
ava_1.default.serial('nested adopt increment local sequence (async)', async (t) => {
const log = createLoggerWithHistory();
void log.adopt(async () => {
await log.adopt(async () => {
log('foo');

@@ -357,3 +357,3 @@ await log.adopt(async () => {

});
(0, ava_1.serial)('adopted scope maintains reference to local sequence', async (t) => {
ava_1.default.serial('adopted scope maintains reference to local sequence', (t) => {
const log = createLoggerWithHistory();

@@ -407,3 +407,3 @@ void log.adopt(() => {

});
(0, ava_1.serial)('maintains correct local reference in an async scope', async (t) => {
ava_1.default.serial('maintains correct local reference in an async scope', async (t) => {
const log = createLoggerWithHistory();

@@ -410,0 +410,0 @@ void log.adopt(() => {

@@ -12,3 +12,3 @@ "use strict";

t.is(write.firstCall.args.length, 1);
t.regex(write.firstCall.args[0], /{"context":{"logLevel":30},"message":"foo","sequence":"0","time":\d+,"version":"\d\.\d\.\d"}/);
t.regex(write.firstCall.args[0], /\{"context":\{"logLevel":30\},"message":"foo","sequence":"0","time":\d+,"version":"\d\.\d\.\d"\}/u);
});

@@ -17,3 +17,3 @@ "use strict";

t.is(write.firstCall.args.length, 1);
t.regex(write.firstCall.args[0], /{"context":{"logLevel":30},"message":"foo","sequence":"0.0.0","time":\d+,"version":"\d\.\d\.\d"}/);
t.regex(write.firstCall.args[0], /\{"context":\{"logLevel":30\},"message":"foo","sequence":"0.0.0","time":\d+,"version":"\d\.\d\.\d"\}/u);
});

@@ -16,3 +16,3 @@ "use strict";

log.info('test');
t.regex(write.firstCall.args[0], /{"message":"test"}/);
t.is(write.firstCall.args[0], '{"message":"test"}');
});
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {

@@ -25,3 +6,3 @@ return (mod && mod.__esModule) ? mod : { "default": mod };

Object.defineProperty(exports, "__esModule", { value: true });
const ava_1 = __importStar(require("ava"));
const ava_1 = __importDefault(require("ava"));
const globalthis_1 = __importDefault(require("globalthis"));

@@ -32,3 +13,3 @@ const createLogger_1 = require("../../src/factories/createLogger");

const version = '2.0.0';
(0, ava_1.beforeEach)(() => {
ava_1.default.beforeEach(() => {
const globalThis = (0, globalthis_1.default)();

@@ -166,3 +147,5 @@ globalThis.ROARR = (0, createRoarrInitialGlobalState_1.createRoarrInitialGlobalState)({});

const log = createLoggerWithHistory();
log.child({ foo: 'bar' })('baz');
log.child({
foo: 'bar',
})('baz');
t.deepEqual(log.messages, [

@@ -182,3 +165,7 @@ {

const log = createLoggerWithHistory();
log.child({ foo: 'bar' })({ baz: 'qux' }, 'quux');
log.child({
foo: 'bar',
})({
baz: 'qux',
}, 'quux');
t.deepEqual(log.messages, [

@@ -199,3 +186,7 @@ {

const log = createLoggerWithHistory();
log.child({ foo: 'bar 0' })({ foo: 'bar 1' }, 'quux');
log.child({
foo: 'bar 0',
})({
foo: 'bar 1',
}, 'quux');
t.deepEqual(log.messages, [

@@ -215,3 +206,7 @@ {

const log = createLoggerWithHistory();
log.child({ foo: 'bar' }).child({ baz: 'qux' })('quux');
log.child({
foo: 'bar',
}).child({
baz: 'qux',
})('quux');
t.deepEqual(log.messages, [

@@ -232,3 +227,7 @@ {

const log = createLoggerWithHistory();
log.child({ foo: 'bar 0' }).child({ foo: 'bar 1' })('qux');
log.child({
foo: 'bar 0',
}).child({
foo: 'bar 1',
})('qux');
t.deepEqual(log.messages, [

@@ -235,0 +234,0 @@ {

@@ -21,6 +21,6 @@ {

"boolean": "^3.1.4",
"fast-json-stringify": "^2.7.10",
"fast-json-stringify": "^5.5.0",
"fast-printf": "^1.6.9",
"fast-safe-stringify": "^2.1.1",
"globalthis": "^1.0.2",
"safe-stable-stringify": "^2.4.1",
"semver-compare": "^1.0.0"

@@ -31,2 +31,5 @@ },

"@istanbuljs/nyc-config-typescript": "^1.0.1",
"@semantic-release/commit-analyzer": "^9.0.2",
"@semantic-release/github": "^8.0.7",
"@semantic-release/npm": "^9.0.1",
"@types/globalthis": "^1.0.1",

@@ -37,3 +40,3 @@ "@types/json-stringify-safe": "^5.0.0",

"@types/sinon": "^10.0.4",
"ava": "^3.15.0",
"ava": "^5.1.0",
"benchmark": "^2.1.4",

@@ -44,11 +47,11 @@ "coveralls": "^3.1.1",

"domain-parent": "^1.0.0",
"eslint": "^7.32.0",
"eslint-config-canonical": "^28.0.0",
"eslint": "^8.29.0",
"eslint-config-canonical": "^37.0.3",
"gitdown": "^3.1.4",
"husky": "^7.0.4",
"nyc": "^15.1.0",
"semantic-release": "^18.0.0",
"semantic-release": "^19.0.5",
"sinon": "^11.1.2",
"ts-node": "^10.3.0",
"typescript": "^4.4.4"
"ts-node": "^10.9.1",
"typescript": "^4.9.4"
},

@@ -79,3 +82,3 @@ "engines": {

"typings": "./dist/src/Roarr.d.ts",
"version": "7.14.0"
"version": "7.14.1"
}
<a name="roarr"></a>
# Roarr
[![Travis build status](http://img.shields.io/travis/gajus/roarr/master.svg?style=flat-square)](https://app.travis-ci.com/github/gajus/roarr)
[![Coveralls](https://img.shields.io/coveralls/gajus/roarr.svg?style=flat-square)](https://coveralls.io/github/gajus/roarr)
[![NPM version](http://img.shields.io/npm/v/roarr.svg?style=flat-square)](https://www.npmjs.org/package/roarr)

@@ -7,0 +5,0 @@ [![Canonical Code Style](https://img.shields.io/badge/code%20style-canonical-blue.svg?style=flat-square)](https://github.com/gajus/canonical)

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