mirror of
https://github.com/nestjs/nest.git
synced 2026-02-24 00:02:56 +00:00
Compare commits
30 Commits
e-dot-mast
...
v9.3.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d9c394bb44 | ||
|
|
91f7190b07 | ||
|
|
0a4f9419d8 | ||
|
|
eba8f15683 | ||
|
|
2310c56f4c | ||
|
|
06ea451f1f | ||
|
|
b2c55a6f79 | ||
|
|
3d366ce5c5 | ||
|
|
f7e366600f | ||
|
|
55bc840edb | ||
|
|
22c3175552 | ||
|
|
c1815d2f8c | ||
|
|
34654244a7 | ||
|
|
2924c03aa3 | ||
|
|
d1ec9db5f2 | ||
|
|
cb7e10dbc3 | ||
|
|
511e7162a6 | ||
|
|
32b0d9c600 | ||
|
|
967a136834 | ||
|
|
1aadd30f46 | ||
|
|
ae76b521d6 | ||
|
|
38c365215a | ||
|
|
80b8c86c68 | ||
|
|
8756ed3d68 | ||
|
|
0b395d1f59 | ||
|
|
452f19461c | ||
|
|
7792c43b93 | ||
|
|
d6097a10ac | ||
|
|
584015bc77 | ||
|
|
f3e6c54b3e |
@@ -1 +1,3 @@
|
||||
**/node_modules/**
|
||||
**/node_modules/**
|
||||
*.d.ts
|
||||
*.js
|
||||
@@ -15,7 +15,7 @@ scalar Date
|
||||
|
||||
type Query {
|
||||
recipe(id: String!): Recipe!
|
||||
recipes(skip: Int = 0, take: Int = 25): [Recipe!]!
|
||||
recipes(skip: Int! = 0, take: Int! = 25): [Recipe!]!
|
||||
}
|
||||
|
||||
type Mutation {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -3,5 +3,5 @@
|
||||
"packages": [
|
||||
"packages/*"
|
||||
],
|
||||
"version": "9.3.0-beta.3"
|
||||
"version": "9.3.1"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nestjs/core",
|
||||
"version": "9.1.2",
|
||||
"version": "9.3.0",
|
||||
"description": "Modern, fast, powerful node.js web framework",
|
||||
"homepage": "https://nestjs.com",
|
||||
"repository": {
|
||||
|
||||
@@ -47,15 +47,17 @@ export interface CacheStoreSetOptions<T> {
|
||||
*
|
||||
* @publicApi
|
||||
*/
|
||||
export interface CacheStoreFactory {
|
||||
/**
|
||||
* Return a configured cache store.
|
||||
*
|
||||
* @param args Cache manager options received from `CacheModule.register()`
|
||||
* or `CacheModule.registerAsync()`
|
||||
*/
|
||||
create(args: LiteralObject): CacheStore;
|
||||
}
|
||||
export type CacheStoreFactory =
|
||||
| {
|
||||
/**
|
||||
* Return a configured cache store.
|
||||
*
|
||||
* @param args Cache manager options received from `CacheModule.register()`
|
||||
* or `CacheModule.registerAsync()`
|
||||
*/
|
||||
create(args: LiteralObject): CacheStore;
|
||||
}
|
||||
| ((args: LiteralObject) => CacheStore | Promise<CacheStore>);
|
||||
|
||||
/**
|
||||
* Interface defining Cache Manager configuration options.
|
||||
|
||||
@@ -101,7 +101,7 @@ export class HttpException extends Error {
|
||||
} else if (this.constructor) {
|
||||
this.message = this.constructor.name
|
||||
.match(/[A-Z][a-z]+|[0-9]+/g)
|
||||
.join(' ');
|
||||
?.join(' ') ?? 'Error';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nestjs/common",
|
||||
"version": "9.3.0-beta.3",
|
||||
"version": "9.3.1",
|
||||
"description": "Nest - modern, fast, powerful node.js web framework (@common)",
|
||||
"author": "Kamil Mysliwiec",
|
||||
"homepage": "https://nestjs.com",
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { isUndefined } from '../../utils/shared.utils';
|
||||
import { Injectable, Optional } from '../../decorators/core';
|
||||
import { HttpStatus } from '../../enums';
|
||||
import { PipeTransform } from '../../interfaces/features/pipe-transform.interface';
|
||||
import { HttpErrorByCode } from '../../utils/http-error-by-code.util';
|
||||
import { isEmpty, isObject, isUndefined } from '../../utils/shared.utils';
|
||||
import { FileValidator } from './file-validator.interface';
|
||||
import { ParseFileOptions } from './parse-file-options.interface';
|
||||
|
||||
@@ -39,20 +39,34 @@ export class ParseFilePipe implements PipeTransform<any> {
|
||||
}
|
||||
|
||||
async transform(value: any): Promise<any> {
|
||||
if (isUndefined(value)) {
|
||||
if (this.thereAreNoFilesIn(value)) {
|
||||
if (this.fileIsRequired) {
|
||||
throw this.exceptionFactory('File is required');
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
if (this.validators.length) {
|
||||
await this.validate(value);
|
||||
if (Array.isArray(value)) {
|
||||
await this.validateFiles(value);
|
||||
} else {
|
||||
await this.validate(value);
|
||||
}
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
private validateFiles(files: any[]): Promise<any[]> {
|
||||
return Promise.all(files.map(f => this.validate(f)));
|
||||
}
|
||||
|
||||
private thereAreNoFilesIn(value: any): boolean {
|
||||
const isEmptyArray = Array.isArray(value) && isEmpty(value);
|
||||
const isEmptyObject = isObject(value) && isEmpty(Object.keys(value));
|
||||
return isUndefined(value) || isEmptyArray || isEmptyObject;
|
||||
}
|
||||
|
||||
protected async validate(file: any): Promise<any> {
|
||||
for (const validator of this.validators) {
|
||||
await this.validateOrThrow(file, validator);
|
||||
|
||||
@@ -125,7 +125,9 @@ export class Logger implements LoggerService {
|
||||
@Logger.WrapBuffer
|
||||
error(message: any, ...optionalParams: any[]) {
|
||||
optionalParams = this.context
|
||||
? optionalParams.concat(this.context)
|
||||
? (optionalParams.length ? optionalParams : [undefined]).concat(
|
||||
this.context,
|
||||
)
|
||||
: optionalParams;
|
||||
|
||||
this.localInstance?.error(message, ...optionalParams);
|
||||
|
||||
@@ -480,43 +480,87 @@ describe('Logger', () => {
|
||||
warn(message: any, context?: string) {}
|
||||
}
|
||||
|
||||
const customLogger = new CustomLogger();
|
||||
const originalLogger = new Logger();
|
||||
describe('with global context', () => {
|
||||
const customLogger = new CustomLogger();
|
||||
const globalContext = 'RandomContext';
|
||||
const originalLogger = new Logger(globalContext);
|
||||
|
||||
let previousLoggerRef: LoggerService;
|
||||
let previousLoggerRef: LoggerService;
|
||||
|
||||
beforeEach(() => {
|
||||
previousLoggerRef =
|
||||
Logger['localInstanceRef'] || Logger['staticInstanceRef'];
|
||||
Logger.overrideLogger(customLogger);
|
||||
beforeEach(() => {
|
||||
previousLoggerRef =
|
||||
Logger['localInstanceRef'] || Logger['staticInstanceRef'];
|
||||
Logger.overrideLogger(customLogger);
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
Logger.overrideLogger(previousLoggerRef);
|
||||
});
|
||||
|
||||
it('should call custom logger "#log()" method with context as second argument', () => {
|
||||
const message = 'random log message with global context';
|
||||
|
||||
const customLoggerLogSpy = sinon.spy(customLogger, 'log');
|
||||
|
||||
originalLogger.log(message);
|
||||
|
||||
expect(customLoggerLogSpy.called).to.be.true;
|
||||
expect(customLoggerLogSpy.calledWith(message, globalContext)).to.be
|
||||
.true;
|
||||
});
|
||||
it('should call custom logger "#error()" method with context as third argument', () => {
|
||||
const message = 'random error message with global context';
|
||||
|
||||
const customLoggerErrorSpy = sinon.spy(customLogger, 'error');
|
||||
|
||||
originalLogger.error(message);
|
||||
|
||||
expect(customLoggerErrorSpy.called).to.be.true;
|
||||
expect(
|
||||
customLoggerErrorSpy.calledWith(message, undefined, globalContext),
|
||||
).to.be.true;
|
||||
});
|
||||
});
|
||||
describe('without global context', () => {
|
||||
const customLogger = new CustomLogger();
|
||||
const originalLogger = new Logger();
|
||||
|
||||
afterEach(() => {
|
||||
Logger.overrideLogger(previousLoggerRef);
|
||||
});
|
||||
let previousLoggerRef: LoggerService;
|
||||
|
||||
it('should call custom logger "#log()" method', () => {
|
||||
const message = 'random message';
|
||||
const context = 'RandomContext';
|
||||
beforeEach(() => {
|
||||
previousLoggerRef =
|
||||
Logger['localInstanceRef'] || Logger['staticInstanceRef'];
|
||||
Logger.overrideLogger(customLogger);
|
||||
});
|
||||
|
||||
const customLoggerLogSpy = sinon.spy(customLogger, 'log');
|
||||
afterEach(() => {
|
||||
Logger.overrideLogger(previousLoggerRef);
|
||||
});
|
||||
|
||||
originalLogger.log(message, context);
|
||||
it('should call custom logger "#log()" method', () => {
|
||||
const message = 'random message';
|
||||
const context = 'RandomContext';
|
||||
|
||||
expect(customLoggerLogSpy.called).to.be.true;
|
||||
expect(customLoggerLogSpy.calledWith(message, context)).to.be.true;
|
||||
});
|
||||
const customLoggerLogSpy = sinon.spy(customLogger, 'log');
|
||||
|
||||
it('should call custom logger "#error()" method', () => {
|
||||
const message = 'random message';
|
||||
const context = 'RandomContext';
|
||||
originalLogger.log(message, context);
|
||||
|
||||
const customLoggerErrorSpy = sinon.spy(customLogger, 'error');
|
||||
expect(customLoggerLogSpy.called).to.be.true;
|
||||
expect(customLoggerLogSpy.calledWith(message, context)).to.be.true;
|
||||
});
|
||||
|
||||
originalLogger.error(message, context);
|
||||
it('should call custom logger "#error()" method', () => {
|
||||
const message = 'random message';
|
||||
const context = 'RandomContext';
|
||||
|
||||
expect(customLoggerErrorSpy.called).to.be.true;
|
||||
expect(customLoggerErrorSpy.calledWith(message, context)).to.be.true;
|
||||
const customLoggerErrorSpy = sinon.spy(customLogger, 'error');
|
||||
|
||||
originalLogger.error(message, undefined, context);
|
||||
|
||||
expect(customLoggerErrorSpy.called).to.be.true;
|
||||
expect(customLoggerErrorSpy.calledWith(message, undefined, context))
|
||||
.to.be.true;
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -7,13 +7,13 @@ export enum UuidFactoryMode {
|
||||
}
|
||||
|
||||
export class UuidFactory {
|
||||
private static _mode: UuidFactoryMode = UuidFactoryMode.Random;
|
||||
private static _mode = UuidFactoryMode.Random;
|
||||
|
||||
static set mode(value: UuidFactoryMode) {
|
||||
this._mode = value;
|
||||
}
|
||||
|
||||
static get(key: string = '', namespace?: string) {
|
||||
static get(key = '', namespace?: string) {
|
||||
return this._mode === UuidFactoryMode.Deterministic
|
||||
? DeterministicUuidRegistry.get(key, namespace)
|
||||
: randomStringGenerator();
|
||||
|
||||
@@ -4,84 +4,36 @@ import {
|
||||
isFunction,
|
||||
isNil,
|
||||
} from '@nestjs/common/utils/shared.utils';
|
||||
import { iterate } from 'iterare';
|
||||
|
||||
export class MetadataScanner {
|
||||
public scanFromPrototype<T extends Injectable, R = any>(
|
||||
instance: T,
|
||||
prototype: object | null,
|
||||
prototype: object,
|
||||
callback: (name: string) => R,
|
||||
): R[] {
|
||||
if (!prototype) {
|
||||
return [];
|
||||
}
|
||||
const visitedNames = new Map<string, boolean>();
|
||||
const result: R[] = [];
|
||||
|
||||
do {
|
||||
for (const property of Object.getOwnPropertyNames(prototype)) {
|
||||
if (visitedNames.has(property)) {
|
||||
continue;
|
||||
}
|
||||
visitedNames.set(property, true);
|
||||
|
||||
const descriptor = Object.getOwnPropertyDescriptor(prototype, property);
|
||||
if (
|
||||
descriptor.set ||
|
||||
descriptor.get ||
|
||||
isConstructor(property) ||
|
||||
!isFunction(prototype[property])
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const value = callback(property);
|
||||
if (isNil(value)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
result.push(value);
|
||||
}
|
||||
} while (
|
||||
(prototype = Reflect.getPrototypeOf(prototype)) &&
|
||||
prototype !== Object.prototype
|
||||
);
|
||||
|
||||
return result;
|
||||
const methodNames = new Set(this.getAllFilteredMethodNames(prototype));
|
||||
return iterate(methodNames)
|
||||
.map(callback)
|
||||
.filter(metadata => !isNil(metadata))
|
||||
.toArray();
|
||||
}
|
||||
|
||||
*getAllFilteredMethodNames(
|
||||
prototype: object | null,
|
||||
): IterableIterator<string> {
|
||||
if (!prototype) {
|
||||
return [];
|
||||
}
|
||||
const visitedNames = new Map<string, boolean>();
|
||||
const result: string[] = [];
|
||||
|
||||
do {
|
||||
for (const property of Object.getOwnPropertyNames(prototype)) {
|
||||
if (visitedNames.has(property)) {
|
||||
continue;
|
||||
}
|
||||
visitedNames.set(property, true);
|
||||
|
||||
const descriptor = Object.getOwnPropertyDescriptor(prototype, property);
|
||||
if (
|
||||
descriptor.set ||
|
||||
descriptor.get ||
|
||||
isConstructor(property) ||
|
||||
!isFunction(prototype[property])
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
|
||||
result.push(property);
|
||||
*getAllFilteredMethodNames(prototype: object): IterableIterator<string> {
|
||||
const isMethod = (prop: string) => {
|
||||
const descriptor = Object.getOwnPropertyDescriptor(prototype, prop);
|
||||
if (descriptor.set || descriptor.get) {
|
||||
return false;
|
||||
}
|
||||
return !isConstructor(prop) && isFunction(prototype[prop]);
|
||||
};
|
||||
do {
|
||||
yield* iterate(Object.getOwnPropertyNames(prototype))
|
||||
.filter(isMethod)
|
||||
.toArray();
|
||||
} while (
|
||||
(prototype = Reflect.getPrototypeOf(prototype)) &&
|
||||
prototype !== Object.prototype
|
||||
);
|
||||
|
||||
return result.values();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -316,10 +316,11 @@ export class MiddlewareModule<
|
||||
) {
|
||||
const prefix = this.config.getGlobalPrefix();
|
||||
const excludedRoutes = this.config.getGlobalPrefixOptions().exclude;
|
||||
|
||||
const isAWildcard = ['*', '/*', '(.*)', '/(.*)'].includes(path);
|
||||
if (
|
||||
Array.isArray(excludedRoutes) &&
|
||||
isRouteExcluded(excludedRoutes, path, method)
|
||||
(Array.isArray(excludedRoutes) &&
|
||||
isRouteExcluded(excludedRoutes, path, method)) ||
|
||||
isAWildcard
|
||||
) {
|
||||
path = addLeadingSlash(path);
|
||||
} else {
|
||||
@@ -343,6 +344,7 @@ export class MiddlewareModule<
|
||||
const isMethodAll = isRequestMethodAll(method);
|
||||
const requestMethod = RequestMethod[method];
|
||||
const router = await applicationRef.createMiddlewareFactory(method);
|
||||
|
||||
const middlewareFunction = isMethodAll
|
||||
? proxy
|
||||
: <TRequest, TResponse>(
|
||||
@@ -356,11 +358,6 @@ export class MiddlewareModule<
|
||||
return next();
|
||||
};
|
||||
|
||||
const isAWildcard = ['*', '/*', '(.*)', '/(.*)'].includes(path);
|
||||
if (isAWildcard && Array.isArray(excludedRoutes)) {
|
||||
excludedRoutes.forEach(route => router(route.path, middlewareFunction));
|
||||
}
|
||||
|
||||
router(path, middlewareFunction);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nestjs/core",
|
||||
"version": "9.3.0-beta.3",
|
||||
"version": "9.3.1",
|
||||
"description": "Nest - modern, fast, powerful node.js web framework (@core)",
|
||||
"author": "Kamil Mysliwiec",
|
||||
"license": "MIT",
|
||||
@@ -36,7 +36,7 @@
|
||||
"uuid": "9.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@nestjs/common": "^9.3.0-beta.3"
|
||||
"@nestjs/common": "9.3.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@nestjs/common": "^9.0.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nestjs/microservices",
|
||||
"version": "9.3.0-beta.3",
|
||||
"version": "9.3.1",
|
||||
"description": "Nest - modern, fast, powerful node.js web framework (@microservices)",
|
||||
"author": "Kamil Mysliwiec",
|
||||
"license": "MIT",
|
||||
@@ -21,8 +21,8 @@
|
||||
"tslib": "2.4.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@nestjs/common": "^9.3.0-beta.3",
|
||||
"@nestjs/core": "^9.3.0-beta.3"
|
||||
"@nestjs/common": "9.3.1",
|
||||
"@nestjs/core": "9.3.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@grpc/grpc-js": "*",
|
||||
|
||||
@@ -218,6 +218,8 @@ export class ServerKafka extends Server implements CustomTransportStrategy {
|
||||
if (err instanceof KafkaRetriableException && !isPromiseResolved) {
|
||||
isPromiseResolved = true;
|
||||
reject(err);
|
||||
} else {
|
||||
resolve()
|
||||
}
|
||||
replayStream$.error(err);
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nestjs/platform-express",
|
||||
"version": "9.3.0-beta.3",
|
||||
"version": "9.3.1",
|
||||
"description": "Nest - modern, fast, powerful node.js web framework (@platform-express)",
|
||||
"author": "Kamil Mysliwiec",
|
||||
"license": "MIT",
|
||||
@@ -24,8 +24,8 @@
|
||||
"tslib": "2.4.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@nestjs/common": "^9.3.0-beta.3",
|
||||
"@nestjs/core": "^9.3.0-beta.3"
|
||||
"@nestjs/common": "9.3.1",
|
||||
"@nestjs/core": "9.3.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@nestjs/common": "^9.0.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nestjs/platform-fastify",
|
||||
"version": "9.3.0-beta.3",
|
||||
"version": "9.3.1",
|
||||
"description": "Nest - modern, fast, powerful node.js web framework (@platform-fastify)",
|
||||
"author": "Kamil Mysliwiec",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nestjs/platform-socket.io",
|
||||
"version": "9.3.0-beta.3",
|
||||
"version": "9.3.1",
|
||||
"description": "Nest - modern, fast, powerful node.js web framework (@platform-socket.io)",
|
||||
"author": "Kamil Mysliwiec",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nestjs/platform-ws",
|
||||
"version": "9.3.0-beta.3",
|
||||
"version": "9.3.1",
|
||||
"description": "Nest - modern, fast, powerful node.js web framework (@platform-ws)",
|
||||
"author": "Kamil Mysliwiec",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nestjs/testing",
|
||||
"version": "9.3.0-beta.3",
|
||||
"version": "9.3.1",
|
||||
"description": "Nest - modern, fast, powerful node.js web framework (@testing)",
|
||||
"author": "Kamil Mysliwiec",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -4,6 +4,10 @@ import { ApplicationConfig } from '@nestjs/core/application-config';
|
||||
import { NestContainer } from '@nestjs/core/injector/container';
|
||||
import { GraphInspector } from '@nestjs/core/inspector/graph-inspector';
|
||||
import { NoopGraphInspector } from '@nestjs/core/inspector/noop-graph-inspector';
|
||||
import {
|
||||
UuidFactory,
|
||||
UuidFactoryMode,
|
||||
} from '@nestjs/core/inspector/uuid-factory';
|
||||
import { MetadataScanner } from '@nestjs/core/metadata-scanner';
|
||||
import { DependenciesScanner } from '@nestjs/core/scanner';
|
||||
import {
|
||||
@@ -67,9 +71,14 @@ export class TestingModuleBuilder {
|
||||
): Promise<TestingModule> {
|
||||
this.applyLogger();
|
||||
|
||||
const graphInspector = options?.snapshot
|
||||
? new GraphInspector(this.container)
|
||||
: NoopGraphInspector;
|
||||
let graphInspector: GraphInspector;
|
||||
if (options?.snapshot) {
|
||||
graphInspector = new GraphInspector(this.container);
|
||||
UuidFactory.mode = UuidFactoryMode.Deterministic;
|
||||
} else {
|
||||
graphInspector = NoopGraphInspector;
|
||||
UuidFactory.mode = UuidFactoryMode.Random;
|
||||
}
|
||||
|
||||
const scanner = new DependenciesScanner(
|
||||
this.container,
|
||||
@@ -80,17 +89,7 @@ export class TestingModuleBuilder {
|
||||
await scanner.scan(this.module);
|
||||
|
||||
this.applyOverloadsMap();
|
||||
|
||||
const instanceLoader = new TestingInstanceLoader(
|
||||
this.container,
|
||||
this.injector,
|
||||
graphInspector,
|
||||
);
|
||||
await instanceLoader.createInstancesOfDependencies(
|
||||
this.container.getModules(),
|
||||
this.mocker,
|
||||
);
|
||||
|
||||
await this.createInstancesOfDependencies(graphInspector);
|
||||
scanner.applyApplicationProviders();
|
||||
|
||||
const root = this.getRootModule();
|
||||
@@ -135,6 +134,18 @@ export class TestingModuleBuilder {
|
||||
return modules.next().value;
|
||||
}
|
||||
|
||||
private async createInstancesOfDependencies(graphInspector: GraphInspector) {
|
||||
const instanceLoader = new TestingInstanceLoader(
|
||||
this.container,
|
||||
this.injector,
|
||||
graphInspector,
|
||||
);
|
||||
await instanceLoader.createInstancesOfDependencies(
|
||||
this.container.getModules(),
|
||||
this.mocker,
|
||||
);
|
||||
}
|
||||
|
||||
private createModule(metadata: ModuleMetadata) {
|
||||
class RootTestModule {}
|
||||
Module(metadata)(RootTestModule);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nestjs/websockets",
|
||||
"version": "9.3.0-beta.3",
|
||||
"version": "9.3.1",
|
||||
"description": "Nest - modern, fast, powerful node.js web framework (@websockets)",
|
||||
"author": "Kamil Mysliwiec",
|
||||
"license": "MIT",
|
||||
@@ -17,8 +17,8 @@
|
||||
"tslib": "2.4.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@nestjs/common": "^9.3.0-beta.3",
|
||||
"@nestjs/core": "^9.3.0-beta.3"
|
||||
"@nestjs/common": "9.3.1",
|
||||
"@nestjs/core": "9.3.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@nestjs/common": "^9.0.0",
|
||||
|
||||
48
sample/01-cats-app/package-lock.json
generated
48
sample/01-cats-app/package-lock.json
generated
@@ -1440,9 +1440,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@nestjs/cli/node_modules/json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -3792,9 +3792,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-plugin-import/node_modules/json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -5957,9 +5957,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/json5": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
|
||||
"integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
|
||||
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"json5": "lib/cli.js"
|
||||
@@ -8076,9 +8076,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/tsconfig-paths-webpack-plugin/node_modules/json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -9654,9 +9654,9 @@
|
||||
}
|
||||
},
|
||||
"json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -11547,9 +11547,9 @@
|
||||
}
|
||||
},
|
||||
"json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -13079,9 +13079,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"json5": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
|
||||
"integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
|
||||
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
|
||||
"dev": true
|
||||
},
|
||||
"jsonc-parser": {
|
||||
@@ -14619,9 +14619,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.0"
|
||||
|
||||
62
sample/02-gateways/package-lock.json
generated
62
sample/02-gateways/package-lock.json
generated
@@ -1365,9 +1365,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@nestjs/cli/node_modules/json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -3843,9 +3843,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-plugin-import/node_modules/json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -5990,9 +5990,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/json5": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
|
||||
"integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
|
||||
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"json5": "lib/cli.js"
|
||||
@@ -6376,12 +6376,6 @@
|
||||
"lodash": "^4.17.21"
|
||||
}
|
||||
},
|
||||
"node_modules/node-emoji/node_modules/lodash": {
|
||||
"version": "4.17.21",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/node-fetch": {
|
||||
"version": "2.6.7",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
|
||||
@@ -8153,9 +8147,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/tsconfig-paths-webpack-plugin/node_modules/json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -9711,9 +9705,9 @@
|
||||
}
|
||||
},
|
||||
"json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -11689,9 +11683,9 @@
|
||||
}
|
||||
},
|
||||
"json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -13236,9 +13230,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"json5": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
|
||||
"integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
|
||||
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
|
||||
"dev": true
|
||||
},
|
||||
"jsonc-parser": {
|
||||
@@ -13530,14 +13524,6 @@
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lodash": "^4.17.21"
|
||||
},
|
||||
"dependencies": {
|
||||
"lodash": {
|
||||
"version": "4.17.21",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node-fetch": {
|
||||
@@ -14824,9 +14810,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.0"
|
||||
|
||||
62
sample/03-microservices/package-lock.json
generated
62
sample/03-microservices/package-lock.json
generated
@@ -1349,9 +1349,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@nestjs/cli/node_modules/json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -3709,9 +3709,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-plugin-import/node_modules/json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -5841,9 +5841,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/json5": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
|
||||
"integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
|
||||
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"json5": "lib/cli.js"
|
||||
@@ -6227,12 +6227,6 @@
|
||||
"lodash": "^4.17.21"
|
||||
}
|
||||
},
|
||||
"node_modules/node-emoji/node_modules/lodash": {
|
||||
"version": "4.17.21",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/node-fetch": {
|
||||
"version": "2.6.7",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
|
||||
@@ -7956,9 +7950,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/tsconfig-paths-webpack-plugin/node_modules/json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -9472,9 +9466,9 @@
|
||||
}
|
||||
},
|
||||
"json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -11332,9 +11326,9 @@
|
||||
}
|
||||
},
|
||||
"json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -12867,9 +12861,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"json5": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
|
||||
"integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
|
||||
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
|
||||
"dev": true
|
||||
},
|
||||
"jsonc-parser": {
|
||||
@@ -13161,14 +13155,6 @@
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lodash": "^4.17.21"
|
||||
},
|
||||
"dependencies": {
|
||||
"lodash": {
|
||||
"version": "4.17.21",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node-fetch": {
|
||||
@@ -14415,9 +14401,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.0"
|
||||
|
||||
62
sample/04-grpc/package-lock.json
generated
62
sample/04-grpc/package-lock.json
generated
@@ -1429,9 +1429,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@nestjs/cli/node_modules/json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -3839,9 +3839,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-plugin-import/node_modules/json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -6060,9 +6060,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/json5": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
|
||||
"integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
|
||||
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"json5": "lib/cli.js"
|
||||
@@ -6462,12 +6462,6 @@
|
||||
"lodash": "^4.17.21"
|
||||
}
|
||||
},
|
||||
"node_modules/node-emoji/node_modules/lodash": {
|
||||
"version": "4.17.21",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/node-fetch": {
|
||||
"version": "2.6.7",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
|
||||
@@ -8147,9 +8141,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/tsconfig-paths-webpack-plugin/node_modules/json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -9717,9 +9711,9 @@
|
||||
}
|
||||
},
|
||||
"json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -11606,9 +11600,9 @@
|
||||
}
|
||||
},
|
||||
"json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.0"
|
||||
@@ -13228,9 +13222,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"json5": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
|
||||
"integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
|
||||
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
|
||||
"dev": true
|
||||
},
|
||||
"jsonc-parser": {
|
||||
@@ -13540,14 +13534,6 @@
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lodash": "^4.17.21"
|
||||
},
|
||||
"dependencies": {
|
||||
"lodash": {
|
||||
"version": "4.17.21",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node-fetch": {
|
||||
@@ -14755,9 +14741,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"json5": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.0"
|
||||
|
||||
Reference in New Issue
Block a user