refactor: remove manual scope key decorator
This commit is contained in:
parent
37762b8a7d
commit
bbf680f360
@ -9,6 +9,7 @@
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@nestjs/common": "^10.2.8",
|
||||
"hyperid": "^3.1.1",
|
||||
"reflect-metadata": "^0.1.13",
|
||||
"rxjs": "^7.8.1"
|
||||
},
|
||||
|
@ -11,7 +11,5 @@ export {
|
||||
LoggedHeaders,
|
||||
LoggedBody,
|
||||
LoggedQuery,
|
||||
ScopeKey,
|
||||
ShouldScoped,
|
||||
Returns
|
||||
} from "./reflected";
|
||||
|
@ -10,7 +10,6 @@ import {
|
||||
LoggedParamReflectData,
|
||||
ReturnsReflectData,
|
||||
ScopeKeyReflectData,
|
||||
forceScopeKey,
|
||||
returns,
|
||||
scopeKey,
|
||||
} from "./reflected";
|
||||
@ -119,7 +118,6 @@ export function LoggedController(param?: any): (target: any) => void {
|
||||
interface FunctionMetadata {
|
||||
scopedLoggerInjectableParam?: number;
|
||||
scopeKeys?: ScopeKeyReflectData[];
|
||||
shouldScoped?: boolean;
|
||||
loggedParams?: LoggedParamReflectData[];
|
||||
}
|
||||
|
||||
@ -143,7 +141,8 @@ function overrideBuild<F extends Array<any>, R>(
|
||||
args[metadatas.scopedLoggerInjectableParam] = new ScopedLogger(
|
||||
baseLogger,
|
||||
key,
|
||||
true
|
||||
true,
|
||||
true,
|
||||
);
|
||||
} else {
|
||||
args[metadatas.scopedLoggerInjectableParam] = new ScopedLogger(
|
||||
@ -154,49 +153,6 @@ function overrideBuild<F extends Array<any>, R>(
|
||||
}
|
||||
|
||||
injectedLogger = args[metadatas.scopedLoggerInjectableParam];
|
||||
|
||||
if (Array.isArray(metadatas.scopeKeys)) {
|
||||
const scopeKeyResults: { error: boolean; value: string }[] =
|
||||
metadatas.scopeKeys.map((key) => {
|
||||
const argsValue = args[key.index];
|
||||
if (!key.path) {
|
||||
if (!metadatas.shouldScoped || argsValue) {
|
||||
return { error: false, value: `${key.name}=${argsValue}` };
|
||||
} else {
|
||||
return {
|
||||
error: true,
|
||||
value: `ScopeKey in ShouldScope cannot be falsy value (${argsValue})`,
|
||||
};
|
||||
}
|
||||
}
|
||||
try {
|
||||
const reduceResult = key.path.reduce((base, keyPath) => {
|
||||
if (
|
||||
typeof base !== "object" ||
|
||||
!Object.keys(base).includes(keyPath)
|
||||
)
|
||||
throw new Error(
|
||||
`Cannot find key ${keyPath} in ${
|
||||
typeof base === "object" ? JSON.stringify(base) : base
|
||||
}`
|
||||
);
|
||||
return base[keyPath];
|
||||
}, argsValue);
|
||||
return { error: false, value: `${key.name}=${reduceResult}` };
|
||||
} catch (e) {
|
||||
return { error: true, value: e.message };
|
||||
}
|
||||
});
|
||||
|
||||
const successResults = scopeKeyResults.filter((v) => v.error === false);
|
||||
if (successResults.length === 0) {
|
||||
if (metadatas.shouldScoped) {
|
||||
scopeKeyResults.forEach((v) => injectedLogger.warn(v.value));
|
||||
}
|
||||
} else {
|
||||
(injectedLogger as ScopedLogger).addScope(successResults[0].value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
injectedLogger.log(
|
||||
@ -302,8 +258,6 @@ export function LoggedFunction<F extends Array<any>, R>(
|
||||
key
|
||||
);
|
||||
|
||||
const shouldScoped: boolean = Reflect.getOwnMetadata(forceScopeKey, fn);
|
||||
|
||||
const returnsData: ReturnsReflectData[] | true = Reflect.getOwnMetadata(
|
||||
returns,
|
||||
fn
|
||||
@ -316,7 +270,6 @@ export function LoggedFunction<F extends Array<any>, R>(
|
||||
scopedLoggerInjectableParam,
|
||||
loggedParams,
|
||||
scopeKeys,
|
||||
shouldScoped,
|
||||
},
|
||||
key,
|
||||
returnsData
|
||||
@ -380,8 +333,6 @@ export function LoggedRoute<F extends Array<any>, R>(route?: string) {
|
||||
key
|
||||
);
|
||||
|
||||
const shouldScoped: boolean = Reflect.getOwnMetadata(forceScopeKey, fn);
|
||||
|
||||
const returnsData: ReturnsReflectData[] | true = Reflect.getOwnMetadata(
|
||||
returns,
|
||||
fn
|
||||
@ -394,7 +345,6 @@ export function LoggedRoute<F extends Array<any>, R>(route?: string) {
|
||||
scopedLoggerInjectableParam,
|
||||
loggedParams,
|
||||
scopeKeys,
|
||||
shouldScoped,
|
||||
},
|
||||
key,
|
||||
returnsData,
|
||||
|
@ -1,20 +1,21 @@
|
||||
import { Logger } from "@nestjs/common";
|
||||
import * as hyperid from 'hyperid';
|
||||
|
||||
const createId = hyperid({ fixedLength: true })
|
||||
|
||||
type LogLevel = "debug" | "log" | "warn" | "verbose" | "error" | "fatal";
|
||||
|
||||
export class ScopedLogger extends Logger {
|
||||
scopeId?: string;
|
||||
private readonly scopeId?: string;
|
||||
|
||||
constructor(
|
||||
private logger: Logger,
|
||||
private scope: string,
|
||||
private root: boolean = false
|
||||
private root: boolean = false,
|
||||
private createScopeId: boolean = false,
|
||||
) {
|
||||
super();
|
||||
}
|
||||
|
||||
public addScope(scopeId: string) {
|
||||
this.scopeId = scopeId;
|
||||
if (this.createScopeId) this.scopeId = createId();
|
||||
}
|
||||
|
||||
private scopedLog(method: LogLevel) {
|
||||
|
@ -74,7 +74,6 @@ export interface ReturnsReflectData {
|
||||
export const scopedLogger = Symbol("nlogdec-scopedLogger");
|
||||
export const loggedParam = Symbol("nlogdec-loggedParam");
|
||||
export const scopeKey = Symbol("nlogdec-scopeKey");
|
||||
export const forceScopeKey = Symbol("nlogdec-forceScopeKey");
|
||||
export const returns = Symbol("nlogdec-returns");
|
||||
|
||||
export function InjectLogger(
|
||||
@ -229,34 +228,6 @@ export function LoggedHeaders(property?: string): LoggedParamReturns {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export function ScopeKey(
|
||||
name: string,
|
||||
options?: { path?: Path; priority?: number }
|
||||
) {
|
||||
return (
|
||||
target: any,
|
||||
propertyKey: string | symbol,
|
||||
parameterIndex: number
|
||||
) => {
|
||||
const existingScopeKeys: ScopeKeyReflectData[] =
|
||||
Reflect.getOwnMetadata(scopeKey, target, propertyKey) || [];
|
||||
|
||||
existingScopeKeys.push({
|
||||
name,
|
||||
index: parameterIndex,
|
||||
path: Array.isArray(options?.path)
|
||||
? options.path
|
||||
: options?.path?.split("."),
|
||||
priority: options?.priority,
|
||||
});
|
||||
|
||||
existingScopeKeys.sort((a, b) => (b.priority ?? 1) - (a.priority ?? 1));
|
||||
|
||||
Reflect.defineMetadata(scopeKey, existingScopeKeys, target, propertyKey);
|
||||
};
|
||||
}
|
||||
|
||||
export function Returns<F extends Array<any>, R>(namePaths?: {
|
||||
[name: string]: string;
|
||||
}) {
|
||||
@ -277,11 +248,3 @@ export function Returns<F extends Array<any>, R>(namePaths?: {
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
export function ShouldScoped(
|
||||
_target: any,
|
||||
_key: string,
|
||||
descriptor: TypedPropertyDescriptor<(...args: any[]) => Promise<any>>
|
||||
) {
|
||||
Reflect.defineMetadata(forceScopeKey, true, descriptor.value);
|
||||
}
|
||||
|
@ -4,8 +4,6 @@ import {
|
||||
InjectLogger,
|
||||
Logged,
|
||||
Returns,
|
||||
ScopeKey,
|
||||
ShouldScoped,
|
||||
} from "../reflected";
|
||||
|
||||
type TestObject = {
|
||||
@ -89,61 +87,6 @@ class LoggedClass {
|
||||
logger.log(JSON.stringify(key));
|
||||
}
|
||||
|
||||
async testScopedLogging(
|
||||
@Logged("key") @ScopeKey("scopekey") key: string,
|
||||
@Logged("key2") key2: number,
|
||||
@InjectLogger logger?: ScopedLogger
|
||||
) {
|
||||
logger.log(key + key2.toString());
|
||||
}
|
||||
|
||||
async testPathScopedLogging(
|
||||
@Logged("key") @ScopeKey("scopekey", { path: "b.c" }) key: TestObject,
|
||||
@InjectLogger logger?: ScopedLogger
|
||||
) {
|
||||
logger.log(JSON.stringify(key));
|
||||
}
|
||||
|
||||
async testOrScopedLogging(
|
||||
@Logged("key")
|
||||
@ScopeKey("scopekey-a", { path: "a" })
|
||||
@ScopeKey("scopekey-b", { path: "b" })
|
||||
key: { a: string } | { b: string },
|
||||
@InjectLogger logger?: ScopedLogger
|
||||
) {
|
||||
logger.log(JSON.stringify(key));
|
||||
}
|
||||
|
||||
async testPriorityScopedLogging(
|
||||
@Logged("key")
|
||||
@ScopeKey("scopekey-a", { path: "a", priority: 0.5 })
|
||||
@ScopeKey("scopekey-b", { path: "b" }) // default 1
|
||||
key: { a?: string; b?: string },
|
||||
// if both a and b are undefined, set scope to nothing
|
||||
@InjectLogger logger?: ScopedLogger
|
||||
) {
|
||||
logger.log(JSON.stringify(key));
|
||||
}
|
||||
|
||||
async testOptionalScopedLogging(
|
||||
@Logged("key")
|
||||
@ScopeKey("scopekey")
|
||||
key?: string,
|
||||
@InjectLogger logger?: ScopedLogger
|
||||
) {
|
||||
logger.log(key);
|
||||
}
|
||||
|
||||
@ShouldScoped // Warn if there is no valid scopekey
|
||||
async testShouldScopedLogging(
|
||||
@Logged("key")
|
||||
@ScopeKey("scopekey")
|
||||
key?: string,
|
||||
@InjectLogger logger?: ScopedLogger
|
||||
) {
|
||||
logger.log(key);
|
||||
}
|
||||
|
||||
@Returns({ result: "http.result", userId: "body.user.id" })
|
||||
async testReturnLogging(
|
||||
@Logged("userId")
|
||||
@ -300,67 +243,6 @@ class LoggedMethodsClass {
|
||||
logger.log(JSON.stringify(key));
|
||||
}
|
||||
|
||||
@LoggedFunction
|
||||
async testScopedLogging(
|
||||
@Logged("key") @ScopeKey("scopekey") key: string,
|
||||
@Logged("key2") key2: number,
|
||||
@InjectLogger logger?: ScopedLogger
|
||||
) {
|
||||
logger.log(key + key2.toString());
|
||||
}
|
||||
|
||||
@LoggedFunction
|
||||
async testPathScopedLogging(
|
||||
@Logged("key") @ScopeKey("scopekey", { path: "b.c" }) key: TestObject,
|
||||
@InjectLogger logger?: ScopedLogger
|
||||
) {
|
||||
logger.log(JSON.stringify(key));
|
||||
}
|
||||
|
||||
@LoggedFunction
|
||||
async testOrScopedLogging(
|
||||
@Logged("key")
|
||||
@ScopeKey("scopekey-a", { path: "a" })
|
||||
@ScopeKey("scopekey-b", { path: "b" })
|
||||
key: { a: string } | { b: string },
|
||||
@InjectLogger logger?: ScopedLogger
|
||||
) {
|
||||
logger.log(JSON.stringify(key));
|
||||
}
|
||||
|
||||
@LoggedFunction
|
||||
async testPriorityScopedLogging(
|
||||
@Logged("key")
|
||||
@ScopeKey("scopekey-a", { path: "a", priority: 0.5 })
|
||||
@ScopeKey("scopekey-b", { path: "b" }) // default 1
|
||||
key: { a?: string; b?: string },
|
||||
// if both a and b are undefined, set scope to nothing
|
||||
@InjectLogger logger?: ScopedLogger
|
||||
) {
|
||||
logger.log(JSON.stringify(key));
|
||||
}
|
||||
|
||||
@LoggedFunction
|
||||
async testOptionalScopedLogging(
|
||||
@Logged("key")
|
||||
@ScopeKey("scopekey")
|
||||
key?: string,
|
||||
@InjectLogger logger?: ScopedLogger
|
||||
) {
|
||||
logger.log(key);
|
||||
}
|
||||
|
||||
@LoggedFunction
|
||||
@ShouldScoped // Warn if there is no valid scopekey
|
||||
async testShouldScopedLogging(
|
||||
@Logged("key")
|
||||
@ScopeKey("scopekey")
|
||||
key?: string,
|
||||
@InjectLogger logger?: ScopedLogger
|
||||
) {
|
||||
logger.log(key);
|
||||
}
|
||||
|
||||
@LoggedFunction
|
||||
@Returns({ result: "http.result", userId: "body.user.id" })
|
||||
async testReturnLogging(
|
||||
@ -452,38 +334,26 @@ class LoggedMethodsClass {
|
||||
/**
|
||||
* Choose Class to Test
|
||||
*/
|
||||
// const tester = new LoggedClass();
|
||||
const tester = new LoggedClass();
|
||||
// const tester = new LoggedMethodsClass();
|
||||
|
||||
/**
|
||||
* Choose Method to Test
|
||||
*/
|
||||
// tester.testParameterLoggingWithoutInjection(1);
|
||||
// tester.testMultiParameterLoggingWithoutInjection(1, "asdf");
|
||||
// tester.testParameterLoggingWithInjection(1);
|
||||
// tester.testMultiParameterLoggingWithInjection(1, "asdf");
|
||||
// tester.testObjectParameterLogging(testObject);
|
||||
// tester.testObjectParameterDotIncludeLogging(testObject);
|
||||
// tester.testObjectParameterArrayIncludeLogging(testObject);
|
||||
// tester.testObjectParameterDotExcludeLogging(testObject);
|
||||
// tester.testObjectParameterArrayExcludeLogging(testObject);
|
||||
// tester.testScopedLogging("asdf", 2);
|
||||
// tester.testPathScopedLogging(testObject);
|
||||
// tester.testOrScopedLogging({ a: "asdf" });
|
||||
// tester.testOrScopedLogging({ b: "qwer" });
|
||||
// tester.testPriorityScopedLogging({ a: "asdf", b: "qwer" });
|
||||
// tester.testPriorityScopedLogging({ a: "asdf" });
|
||||
// tester.testPriorityScopedLogging({ b: "qwer" });
|
||||
// tester.testPriorityScopedLogging({});
|
||||
// tester.testOptionalScopedLogging("asdf");
|
||||
// tester.testOptionalScopedLogging();
|
||||
// tester.testShouldScopedLogging("asdf")
|
||||
// tester.testShouldScopedLogging();
|
||||
// tester.testReturnLogging("asdf");
|
||||
// tester.testMissingReturnLogging("asdf");
|
||||
// tester.testRawObjectReturnLogging("asdf");
|
||||
// tester.testRawValueReturnLogging("asdf");
|
||||
// tester.testLoggerRootLogging();
|
||||
// void tester.testParameterLoggingWithoutInjection(1);
|
||||
// void tester.testMultiParameterLoggingWithoutInjection(1, "asdf");
|
||||
// void tester.testParameterLoggingWithInjection(1);
|
||||
// void tester.testMultiParameterLoggingWithInjection(1, "asdf");
|
||||
// void tester.testObjectParameterLogging(testObject);
|
||||
// void tester.testObjectParameterDotIncludeLogging(testObject);
|
||||
// void tester.testObjectParameterArrayIncludeLogging(testObject);
|
||||
// void tester.testObjectParameterDotExcludeLogging(testObject);
|
||||
// void tester.testObjectParameterArrayExcludeLogging(testObject);
|
||||
// void tester.testReturnLogging("asdf");
|
||||
// void tester.testMissingReturnLogging("asdf");
|
||||
// void tester.testRawObjectReturnLogging("asdf");
|
||||
// void tester.testRawValueReturnLogging("asdf");
|
||||
// void tester.testLoggerRootLogging();
|
||||
// tester.testSyncLogging();
|
||||
|
||||
/**
|
||||
|
150
yarn.lock
150
yarn.lock
@ -4,14 +4,14 @@
|
||||
|
||||
"@cspotcode/source-map-support@^0.8.0":
|
||||
version "0.8.1"
|
||||
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
|
||||
resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz"
|
||||
integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
|
||||
dependencies:
|
||||
"@jridgewell/trace-mapping" "0.3.9"
|
||||
|
||||
"@isaacs/cliui@^8.0.2":
|
||||
version "8.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550"
|
||||
resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz"
|
||||
integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==
|
||||
dependencies:
|
||||
string-width "^5.1.2"
|
||||
@ -23,17 +23,17 @@
|
||||
|
||||
"@jridgewell/resolve-uri@^3.0.3":
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
|
||||
resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz"
|
||||
integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
|
||||
|
||||
"@jridgewell/sourcemap-codec@^1.4.10":
|
||||
version "1.4.15"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
|
||||
resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz"
|
||||
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
|
||||
|
||||
"@jridgewell/trace-mapping@0.3.9":
|
||||
version "0.3.9"
|
||||
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
|
||||
resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz"
|
||||
integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
|
||||
dependencies:
|
||||
"@jridgewell/resolve-uri" "^3.0.3"
|
||||
@ -41,12 +41,12 @@
|
||||
|
||||
"@lukeed/csprng@^1.0.0":
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@lukeed/csprng/-/csprng-1.1.0.tgz#1e3e4bd05c1cc7a0b2ddbd8a03f39f6e4b5e6cfe"
|
||||
resolved "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz"
|
||||
integrity sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==
|
||||
|
||||
"@nestjs/common@^10.2.8":
|
||||
version "10.2.8"
|
||||
resolved "https://registry.yarnpkg.com/@nestjs/common/-/common-10.2.8.tgz#f8934e6353440d6e51c89c0cf1b0f9aef54e8729"
|
||||
resolved "https://registry.npmjs.org/@nestjs/common/-/common-10.2.8.tgz"
|
||||
integrity sha512-rmpwcdvq2IWMmsUVP8rsdKub6uDWk7dwCYo0aif50JTwcvcxzaP3iKVFKoSgvp0RKYu8h15+/AEOfaInmPpl0Q==
|
||||
dependencies:
|
||||
uid "2.0.2"
|
||||
@ -55,105 +55,105 @@
|
||||
|
||||
"@pkgjs/parseargs@^0.11.0":
|
||||
version "0.11.0"
|
||||
resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
|
||||
resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz"
|
||||
integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
|
||||
|
||||
"@tsconfig/node10@^1.0.7":
|
||||
version "1.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2"
|
||||
resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz"
|
||||
integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==
|
||||
|
||||
"@tsconfig/node12@^1.0.7":
|
||||
version "1.0.11"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d"
|
||||
resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz"
|
||||
integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==
|
||||
|
||||
"@tsconfig/node14@^1.0.0":
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1"
|
||||
resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz"
|
||||
integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==
|
||||
|
||||
"@tsconfig/node16@^1.0.2":
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9"
|
||||
resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz"
|
||||
integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==
|
||||
|
||||
"@types/node@^20.9.1":
|
||||
version "20.9.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.9.1.tgz#9d578c610ce1e984adda087f685ace940954fe19"
|
||||
resolved "https://registry.npmjs.org/@types/node/-/node-20.9.1.tgz"
|
||||
integrity sha512-HhmzZh5LSJNS5O8jQKpJ/3ZcrrlG6L70hpGqMIAoM9YVD0YBRNWYsfwcXq8VnSjlNpCpgLzMXdiPo+dxcvSmiA==
|
||||
dependencies:
|
||||
undici-types "~5.26.4"
|
||||
|
||||
acorn-walk@^8.1.1:
|
||||
version "8.3.0"
|
||||
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.0.tgz#2097665af50fd0cf7a2dfccd2b9368964e66540f"
|
||||
resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz"
|
||||
integrity sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==
|
||||
|
||||
acorn@^8.4.1:
|
||||
version "8.11.2"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b"
|
||||
resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz"
|
||||
integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==
|
||||
|
||||
ansi-regex@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
|
||||
resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz"
|
||||
integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
|
||||
|
||||
ansi-regex@^6.0.1:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a"
|
||||
resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz"
|
||||
integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==
|
||||
|
||||
ansi-styles@^4.0.0:
|
||||
version "4.3.0"
|
||||
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
|
||||
resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
|
||||
integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
|
||||
dependencies:
|
||||
color-convert "^2.0.1"
|
||||
|
||||
ansi-styles@^6.1.0:
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5"
|
||||
resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz"
|
||||
integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
|
||||
|
||||
arg@^4.1.0:
|
||||
version "4.1.3"
|
||||
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
|
||||
resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz"
|
||||
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
|
||||
|
||||
balanced-match@^1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
|
||||
resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
|
||||
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
|
||||
|
||||
brace-expansion@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
|
||||
resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz"
|
||||
integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
|
||||
dependencies:
|
||||
balanced-match "^1.0.0"
|
||||
|
||||
color-convert@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
|
||||
resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
|
||||
integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
|
||||
dependencies:
|
||||
color-name "~1.1.4"
|
||||
|
||||
color-name@~1.1.4:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
|
||||
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
|
||||
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
||||
|
||||
create-require@^1.1.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
|
||||
resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz"
|
||||
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
|
||||
|
||||
cross-spawn@^7.0.0:
|
||||
version "7.0.3"
|
||||
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
|
||||
resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
|
||||
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
|
||||
dependencies:
|
||||
path-key "^3.1.0"
|
||||
@ -162,27 +162,27 @@ cross-spawn@^7.0.0:
|
||||
|
||||
diff@^4.0.1:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
|
||||
resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz"
|
||||
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
|
||||
|
||||
eastasianwidth@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
|
||||
resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz"
|
||||
integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
|
||||
|
||||
emoji-regex@^8.0.0:
|
||||
version "8.0.0"
|
||||
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
|
||||
resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"
|
||||
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
|
||||
|
||||
emoji-regex@^9.2.2:
|
||||
version "9.2.2"
|
||||
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
|
||||
resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz"
|
||||
integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
|
||||
|
||||
foreground-child@^3.1.0:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d"
|
||||
resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz"
|
||||
integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==
|
||||
dependencies:
|
||||
cross-spawn "^7.0.0"
|
||||
@ -190,7 +190,7 @@ foreground-child@^3.1.0:
|
||||
|
||||
glob@^10.3.7:
|
||||
version "10.3.10"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b"
|
||||
resolved "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz"
|
||||
integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==
|
||||
dependencies:
|
||||
foreground-child "^3.1.0"
|
||||
@ -199,24 +199,32 @@ glob@^10.3.7:
|
||||
minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
|
||||
path-scurry "^1.10.1"
|
||||
|
||||
hyperid@^3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/hyperid/-/hyperid-3.1.1.tgz#50fe8a75ff3ada74dacaf5a3761fb031bdf541c7"
|
||||
integrity sha512-RveV33kIksycSf7HLkq1sHB5wW0OwuX8ot8MYnY++gaaPXGFfKpBncHrAWxdpuEeRlazUMGWefwP1w6o6GaumA==
|
||||
dependencies:
|
||||
uuid "^8.3.2"
|
||||
uuid-parse "^1.1.0"
|
||||
|
||||
is-fullwidth-code-point@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
|
||||
resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz"
|
||||
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
|
||||
|
||||
isexe@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
|
||||
resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
|
||||
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
|
||||
|
||||
iterare@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/iterare/-/iterare-1.2.1.tgz#139c400ff7363690e33abffa33cbba8920f00042"
|
||||
resolved "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz"
|
||||
integrity sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==
|
||||
|
||||
jackspeak@^2.3.5:
|
||||
version "2.3.6"
|
||||
resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8"
|
||||
resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz"
|
||||
integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==
|
||||
dependencies:
|
||||
"@isaacs/cliui" "^8.0.2"
|
||||
@ -225,43 +233,43 @@ jackspeak@^2.3.5:
|
||||
|
||||
lru-cache@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
|
||||
resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz"
|
||||
integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
|
||||
dependencies:
|
||||
yallist "^4.0.0"
|
||||
|
||||
"lru-cache@^9.1.1 || ^10.0.0":
|
||||
version "10.0.2"
|
||||
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.0.2.tgz#34504678cc3266b09b8dfd6fab4e1515258271b7"
|
||||
resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.2.tgz"
|
||||
integrity sha512-Yj9mA8fPiVgOUpByoTZO5pNrcl5Yk37FcSHsUINpAsaBIEZIuqcCclDZJCVxqQShDsmYX8QG63svJiTbOATZwg==
|
||||
dependencies:
|
||||
semver "^7.3.5"
|
||||
|
||||
make-error@^1.1.1:
|
||||
version "1.3.6"
|
||||
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
|
||||
resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz"
|
||||
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
|
||||
|
||||
minimatch@^9.0.1:
|
||||
version "9.0.3"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825"
|
||||
resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz"
|
||||
integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==
|
||||
dependencies:
|
||||
brace-expansion "^2.0.1"
|
||||
|
||||
"minipass@^5.0.0 || ^6.0.2 || ^7.0.0":
|
||||
version "7.0.4"
|
||||
resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c"
|
||||
resolved "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz"
|
||||
integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==
|
||||
|
||||
path-key@^3.1.0:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
|
||||
resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz"
|
||||
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
|
||||
|
||||
path-scurry@^1.10.1:
|
||||
version "1.10.1"
|
||||
resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698"
|
||||
resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz"
|
||||
integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==
|
||||
dependencies:
|
||||
lru-cache "^9.1.1 || ^10.0.0"
|
||||
@ -269,51 +277,50 @@ path-scurry@^1.10.1:
|
||||
|
||||
reflect-metadata@^0.1.13:
|
||||
version "0.1.13"
|
||||
resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08"
|
||||
resolved "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz"
|
||||
integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==
|
||||
|
||||
rimraf@^5.0.5:
|
||||
version "5.0.5"
|
||||
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.5.tgz#9be65d2d6e683447d2e9013da2bf451139a61ccf"
|
||||
resolved "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz"
|
||||
integrity sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==
|
||||
dependencies:
|
||||
glob "^10.3.7"
|
||||
|
||||
rxjs@^7.8.1:
|
||||
version "7.8.1"
|
||||
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543"
|
||||
resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz"
|
||||
integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==
|
||||
dependencies:
|
||||
tslib "^2.1.0"
|
||||
|
||||
semver@^7.3.5:
|
||||
version "7.5.4"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
|
||||
resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz"
|
||||
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
|
||||
dependencies:
|
||||
lru-cache "^6.0.0"
|
||||
|
||||
shebang-command@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
|
||||
resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"
|
||||
integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
|
||||
dependencies:
|
||||
shebang-regex "^3.0.0"
|
||||
|
||||
shebang-regex@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
|
||||
resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz"
|
||||
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
|
||||
|
||||
signal-exit@^4.0.1:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04"
|
||||
resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz"
|
||||
integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
|
||||
|
||||
"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0:
|
||||
name string-width-cjs
|
||||
version "4.2.3"
|
||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
|
||||
resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
|
||||
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
|
||||
dependencies:
|
||||
emoji-regex "^8.0.0"
|
||||
@ -322,7 +329,7 @@ signal-exit@^4.0.1:
|
||||
|
||||
string-width@^5.0.1, string-width@^5.1.2:
|
||||
version "5.1.2"
|
||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794"
|
||||
resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz"
|
||||
integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
|
||||
dependencies:
|
||||
eastasianwidth "^0.2.0"
|
||||
@ -330,23 +337,22 @@ string-width@^5.0.1, string-width@^5.1.2:
|
||||
strip-ansi "^7.0.1"
|
||||
|
||||
"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
|
||||
name strip-ansi-cjs
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
|
||||
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
|
||||
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
|
||||
dependencies:
|
||||
ansi-regex "^5.0.1"
|
||||
|
||||
strip-ansi@^7.0.1:
|
||||
version "7.1.0"
|
||||
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45"
|
||||
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz"
|
||||
integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==
|
||||
dependencies:
|
||||
ansi-regex "^6.0.1"
|
||||
|
||||
ts-node@^10.9.1:
|
||||
version "10.9.1"
|
||||
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b"
|
||||
resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz"
|
||||
integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==
|
||||
dependencies:
|
||||
"@cspotcode/source-map-support" "^0.8.0"
|
||||
@ -365,41 +371,51 @@ ts-node@^10.9.1:
|
||||
|
||||
tslib@2.6.2, tslib@^2.1.0:
|
||||
version "2.6.2"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
|
||||
resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz"
|
||||
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
|
||||
|
||||
typescript@^5.2.2:
|
||||
version "5.2.2"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78"
|
||||
resolved "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz"
|
||||
integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==
|
||||
|
||||
uid@2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/uid/-/uid-2.0.2.tgz#4b5782abf0f2feeefc00fa88006b2b3b7af3e3b9"
|
||||
resolved "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz"
|
||||
integrity sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==
|
||||
dependencies:
|
||||
"@lukeed/csprng" "^1.0.0"
|
||||
|
||||
undici-types@~5.26.4:
|
||||
version "5.26.5"
|
||||
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"
|
||||
resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz"
|
||||
integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
|
||||
|
||||
uuid-parse@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.npmjs.org/uuid-parse/-/uuid-parse-1.1.0.tgz"
|
||||
integrity sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==
|
||||
|
||||
uuid@^8.3.2:
|
||||
version "8.3.2"
|
||||
resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz"
|
||||
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
|
||||
|
||||
v8-compile-cache-lib@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
|
||||
resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz"
|
||||
integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
|
||||
|
||||
which@^2.0.1:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
|
||||
resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz"
|
||||
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
|
||||
dependencies:
|
||||
isexe "^2.0.0"
|
||||
|
||||
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
|
||||
resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz"
|
||||
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
|
||||
dependencies:
|
||||
ansi-styles "^4.0.0"
|
||||
@ -408,7 +424,7 @@ which@^2.0.1:
|
||||
|
||||
wrap-ansi@^8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"
|
||||
resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz"
|
||||
integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==
|
||||
dependencies:
|
||||
ansi-styles "^6.1.0"
|
||||
@ -417,10 +433,10 @@ wrap-ansi@^8.1.0:
|
||||
|
||||
yallist@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
|
||||
resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz"
|
||||
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
|
||||
|
||||
yn@3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
|
||||
resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz"
|
||||
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
|
||||
|
Loading…
x
Reference in New Issue
Block a user