mirror of
https://github.com/nestjs/nest.git
synced 2026-02-21 23:11:44 +00:00
Split framework into separated packages
This commit is contained in:
6
.gitignore
vendored
6
.gitignore
vendored
@@ -8,9 +8,15 @@
|
||||
|
||||
# misc
|
||||
npm-debug.log
|
||||
/src/common/npm-debug.log
|
||||
/src/core/npm-debug.log
|
||||
/src/testing/npm-debug.log
|
||||
/src/microservices/npm-debug.log
|
||||
/src/websockets/npm-debug.log
|
||||
|
||||
# example
|
||||
/quick-start
|
||||
/example_dist
|
||||
|
||||
# tests
|
||||
/test
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import { NestFactory } from '../../src/nest-factory';
|
||||
import { Transport } from '../../src/common/enums/transport.enum';
|
||||
import { NestFactory } from '../../src/core/nest-factory';
|
||||
import { Transport } from '../../src/microservices/enums/transport.enum';
|
||||
import { MicroserviceModule } from './modules/microservice.module';
|
||||
|
||||
const app = NestFactory.createMicroservice(
|
||||
MicroserviceModule,
|
||||
{
|
||||
transport: Transport.REDIS,
|
||||
url: 'redis://localhost:6379'
|
||||
}
|
||||
url: 'redis://localhost:6379',
|
||||
},
|
||||
);
|
||||
app.listen(() => console.log('Microservice listen on port:', 5667 ));
|
||||
|
||||
@@ -3,7 +3,7 @@ import { Client } from '../../../src/microservices/utils/client.decorator';
|
||||
import { RequestMapping } from '../../../src/common/utils/decorators/request-mapping.decorator';
|
||||
import { ClientProxy } from '../../../src/microservices/client/client-proxy';
|
||||
import { Observable } from 'rxjs';
|
||||
import { Transport } from '../../../src/common/enums/transport.enum';
|
||||
import { Transport } from '../../../src/microservices/enums/transport.enum';
|
||||
import 'rxjs/add/operator/catch';
|
||||
|
||||
const MicroserviceClient = { transport: Transport.TCP, port: 5667 };
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { UsersService } from './users.service';
|
||||
import { HttpException } from '../../../src/core/exceptions/http-exception';
|
||||
import { Middleware } from '../../../src/common/utils';
|
||||
import { NestMiddleware } from '../../../src/core/middlewares/interfaces/nest-middleware.interface';
|
||||
import { NestMiddleware } from '../../../src/common/interfaces/middlewares/nest-middleware.interface';
|
||||
|
||||
@Middleware()
|
||||
export class AuthMiddleware implements NestMiddleware {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ExceptionFilter } from '../../../src/common/interfaces/exception-filter.interface';
|
||||
import { ExceptionFilter } from '../../../src/common/interfaces/exceptions/exception-filter.interface';
|
||||
import { Catch } from '../../../src/common/utils/decorators/catch.decorator';
|
||||
import { UsersService } from './users.service';
|
||||
|
||||
|
||||
10
package.json
10
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "nest.js",
|
||||
"version": "1.0.6",
|
||||
"name": "@nestjs",
|
||||
"version": "2.0.0",
|
||||
"description": "Modern, fast, powerful node.js web framework",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
@@ -19,7 +19,9 @@
|
||||
],
|
||||
"exclude": [
|
||||
"node_modules/",
|
||||
"src/*.ts",
|
||||
"src/core/nest-application.ts",
|
||||
"src/core/nest-factory.ts",
|
||||
"src/core/nest-microservice.ts",
|
||||
"src/**/*.spec.ts",
|
||||
"src/common/services/logger.service.ts",
|
||||
"src/microservices/exceptions/",
|
||||
@@ -54,11 +56,13 @@
|
||||
"typescript": "^2.2.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@nestjs/common": "^1.0.0",
|
||||
"@types/chai": "^3.4.34",
|
||||
"@types/express": "^4.0.35",
|
||||
"@types/mocha": "^2.2.38",
|
||||
"@types/node": "^7.0.5",
|
||||
"@types/redis": "^0.12.36",
|
||||
"@types/reflect-metadata": "0.0.5",
|
||||
"@types/sinon": "^1.16.36",
|
||||
"@types/socket.io": "^1.4.29",
|
||||
"awesome-typescript-loader": "^3.0.0-beta.18",
|
||||
|
||||
@@ -1,3 +1,2 @@
|
||||
export * from './request-method.enum';
|
||||
export * from './transport.enum';
|
||||
export * from './http-status.enum';
|
||||
2
src/common/exceptions/constants.ts
Normal file
2
src/common/exceptions/constants.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
export const InvalidModuleConfigMessage = (property: string) =>
|
||||
`Invalid property '${property}' in @Module() decorator.`;
|
||||
7
src/common/exceptions/invalid-module-config.exception.ts
Normal file
7
src/common/exceptions/invalid-module-config.exception.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
import { InvalidModuleConfigMessage } from './constants';
|
||||
|
||||
export class InvalidModuleConfigException extends Error {
|
||||
constructor(property: string) {
|
||||
super(InvalidModuleConfigMessage(property));
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,10 @@
|
||||
/*
|
||||
* Nest @common
|
||||
* Copyright(c) 2017-... Kamil Mysliwiec
|
||||
* www.nestjs.com || www.kamilmysliwiec.com
|
||||
* MIT Licensed
|
||||
*/
|
||||
|
||||
export * from './utils';
|
||||
export * from './enums';
|
||||
export {
|
||||
@@ -5,6 +12,8 @@ export {
|
||||
INestApplication,
|
||||
INestMicroservice,
|
||||
MiddlewareConfigProxy,
|
||||
MiddlewareConfiguration,
|
||||
NestMiddleware,
|
||||
MiddlewaresConsumer,
|
||||
OnModuleInit,
|
||||
ExceptionFilter,
|
||||
|
||||
2
src/common/interfaces/controllers/index.ts
Normal file
2
src/common/interfaces/controllers/index.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
export * from './controller-metadata.interface';
|
||||
export * from './controller.interface';
|
||||
@@ -1,5 +1,5 @@
|
||||
import { ExceptionFilter } from './exception-filter.interface';
|
||||
import { Metatype } from './metatype.interface';
|
||||
import { Metatype } from '../metatype.interface';
|
||||
|
||||
export interface ExceptionFilterMetadata {
|
||||
func: ExceptionFilter['catch'];
|
||||
2
src/common/interfaces/exceptions/index.ts
Normal file
2
src/common/interfaces/exceptions/index.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
export * from './exception-filter-metadata.interface';
|
||||
export * from './exception-filter.interface'
|
||||
@@ -1,14 +1,13 @@
|
||||
export * from './request-mapping-metadata.interface';
|
||||
export * from './nest-module.interface';
|
||||
export * from './module-metadata.interface';
|
||||
export * from './controller.interface';
|
||||
export * from './modules/nest-module.interface';
|
||||
export * from './modules/module-metadata.interface';
|
||||
export * from './controllers/controller.interface';
|
||||
export * from './injectable.interface';
|
||||
export * from './controller-metadata.interface';
|
||||
export * from './module-metadata.interface';
|
||||
export * from './controllers/controller-metadata.interface';
|
||||
export * from './modules/module-metadata.interface';
|
||||
export * from './metatype.interface';
|
||||
export * from './nest-application.interface';
|
||||
export * from './nest-microservice.interface';
|
||||
export * from './middlewares-consumer.interface';
|
||||
export * from './on-init.interface';
|
||||
export * from './middleware-config-proxy.interface';
|
||||
export * from './exception-filter.interface';
|
||||
export * from './modules/on-init.interface';
|
||||
export * from './exceptions/exception-filter.interface';
|
||||
export * from './middlewares';
|
||||
4
src/common/interfaces/middlewares/index.ts
Normal file
4
src/common/interfaces/middlewares/index.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export * from './middleware-config-proxy.interface';
|
||||
export * from './middlewares-consumer.interface';
|
||||
export * from './middleware-configuration.interface';
|
||||
export * from './nest-middleware.interface';
|
||||
@@ -1,5 +1,5 @@
|
||||
import { MiddlewaresConsumer } from './middlewares-consumer.interface';
|
||||
import { RequestMappingMetadata } from './request-mapping-metadata.interface';
|
||||
import { RequestMappingMetadata } from '../request-mapping-metadata.interface';
|
||||
|
||||
export interface MiddlewareConfigProxy {
|
||||
with: (...data) => MiddlewareConfigProxy;
|
||||
@@ -0,0 +1,8 @@
|
||||
import { ControllerMetadata } from '../controllers/controller-metadata.interface';
|
||||
import { Controller } from '../controllers/controller.interface';
|
||||
import { RequestMethod } from '../../enums/request-method.enum';
|
||||
|
||||
export interface MiddlewareConfiguration {
|
||||
middlewares: any;
|
||||
forRoutes: (Controller | ControllerMetadata & { method?: RequestMethod })[];
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Metatype } from './metatype.interface';
|
||||
import { Metatype } from '../metatype.interface';
|
||||
import { MiddlewareConfigProxy } from './middleware-config-proxy.interface';
|
||||
|
||||
export interface MiddlewaresConsumer {
|
||||
4
src/common/interfaces/modules/index.ts
Normal file
4
src/common/interfaces/modules/index.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export * from './module-metadata.interface';
|
||||
export * from './module-metatype.interface';
|
||||
export * from './nest-module.interface';
|
||||
export * from './on-init.interface';
|
||||
@@ -1,5 +1,5 @@
|
||||
import { NestModule } from './nest-module.interface';
|
||||
import { Controller } from './controller.interface';
|
||||
import { Controller } from '../controllers/controller.interface';
|
||||
|
||||
export interface ModuleMetadata {
|
||||
modules?: NestModule[] | any[];
|
||||
@@ -1,4 +1,4 @@
|
||||
import { NestModule } from './nest-module.interface';
|
||||
import { Metatype } from './metatype.interface';
|
||||
import { Metatype } from '../metatype.interface';
|
||||
|
||||
export interface NestModuleMetatype extends Metatype<NestModule> {}
|
||||
5
src/common/interfaces/modules/nest-module.interface.ts
Normal file
5
src/common/interfaces/modules/nest-module.interface.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
import { MiddlewaresConsumer } from '../middlewares/middlewares-consumer.interface';
|
||||
|
||||
export interface NestModule {
|
||||
configure?: (consumer: MiddlewaresConsumer) => MiddlewaresConsumer | void;
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
import { MiddlewareBuilder } from '../../core/middlewares/builder';
|
||||
import { MiddlewaresConsumer } from './middlewares-consumer.interface';
|
||||
|
||||
export interface NestModule {
|
||||
configure?: (consumer: MiddlewaresConsumer) => MiddlewaresConsumer | void;
|
||||
}
|
||||
16
src/common/package.json
Normal file
16
src/common/package.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"name": "@nestjs/common",
|
||||
"version": "2.0.0",
|
||||
"description": "Nest - modern, fast, powerful node.js web framework (@common)",
|
||||
"author": "Kamil Mysliwiec",
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
"compile": "tsc -p tsconfig.json"
|
||||
},
|
||||
"dependencies": {
|
||||
"cli-color": "1.1.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"reflect-metadata": "0.1.10"
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@ import 'mocha';
|
||||
import 'reflect-metadata';
|
||||
import { expect } from 'chai';
|
||||
import { BindResolveMiddlewareValues } from '../../utils/bind-resolve-values.util';
|
||||
import { NestMiddleware } from '../../../core/middlewares/interfaces/nest-middleware.interface';
|
||||
import { NestMiddleware } from '../../interfaces/middlewares/nest-middleware.interface';
|
||||
|
||||
describe('BindResolveMiddlewareValues', () => {
|
||||
let type;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'reflect-metadata';
|
||||
import { expect } from 'chai';
|
||||
import { Module } from '../../utils/decorators/module.decorator';
|
||||
import { InvalidModuleConfigException } from '../../../errors/exceptions/invalid-module-config.exception';
|
||||
import { InvalidModuleConfigException } from '../../exceptions/invalid-module-config.exception';
|
||||
|
||||
describe('@Module', () => {
|
||||
const moduleProps = {
|
||||
|
||||
25
src/common/tsconfig.json
Normal file
25
src/common/tsconfig.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"declaration": true,
|
||||
"noImplicitAny": false,
|
||||
"noUnusedLocals": false,
|
||||
"removeComments": false,
|
||||
"noLib": false,
|
||||
"emitDecoratorMetadata": true,
|
||||
"experimentalDecorators": true,
|
||||
"target": "es6",
|
||||
"sourceMap": false,
|
||||
"allowJs": false,
|
||||
"rootDir": "./",
|
||||
"outDir": "../../node_modules/@nestjs/common"
|
||||
},
|
||||
"include": [
|
||||
"*.ts",
|
||||
"**/*.ts"
|
||||
],
|
||||
"exclude": [
|
||||
"../../node_modules",
|
||||
"./**/*.spec.ts"
|
||||
]
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Constructor } from './merge-with-values.util';
|
||||
import { NestMiddleware } from '../../core/middlewares/interfaces/nest-middleware.interface';
|
||||
import { NestMiddleware } from '../interfaces/middlewares/nest-middleware.interface';
|
||||
|
||||
export const BindResolveMiddlewareValues = <T extends Constructor<NestMiddleware>>(data: Array<any>) => {
|
||||
return (Metatype: T): any => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'reflect-metadata';
|
||||
import { ControllerMetadata } from '../../interfaces/controller-metadata.interface';
|
||||
import { ControllerMetadata } from '../../interfaces/controllers/controller-metadata.interface';
|
||||
import { isUndefined, isObject } from '../shared.utils';
|
||||
import { PATH_METADATA } from '../../constants';
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'reflect-metadata';
|
||||
import { ModuleMetadata } from '../../interfaces/module-metadata.interface';
|
||||
import { InvalidModuleConfigException } from '../../../errors/exceptions/invalid-module-config.exception';
|
||||
import { ModuleMetadata } from '../../interfaces/modules/module-metadata.interface';
|
||||
import { InvalidModuleConfigException } from '../../exceptions/invalid-module-config.exception';
|
||||
import { metadata } from '../../constants';
|
||||
|
||||
const metadataKeys = [
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'reflect-metadata';
|
||||
import { ControllerMetadata } from '../../interfaces/controller-metadata.interface';
|
||||
import { ControllerMetadata } from '../../interfaces/controllers/controller-metadata.interface';
|
||||
import { isString } from '../shared.utils';
|
||||
import { PATH_METADATA, SHARED_MODULE_METADATA } from '../../constants';
|
||||
import { NestModuleMetatype } from '../../interfaces/module-metatype.interface';
|
||||
import { NestModuleMetatype } from '../../interfaces/modules/module-metatype.interface';
|
||||
|
||||
export const Shared = (token: string = 'global'): ClassDecorator => {
|
||||
return (target: FunctionConstructor) => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { RuntimeException } from './exceptions/runtime.exception';
|
||||
import { Logger } from '../common/services/logger.service';
|
||||
import { Logger } from '@nestjs/common/services/logger.service';
|
||||
|
||||
export class ExceptionHandler {
|
||||
private readonly logger = new Logger(ExceptionHandler.name);
|
||||
@@ -1,9 +1,6 @@
|
||||
export const InvalidMiddlewareMessage = (name: string) =>
|
||||
`Your middleware doesn't have "resolve" method (${name})`;
|
||||
|
||||
export const InvalidModuleConfigMessage = (property: string) =>
|
||||
`Invalid property '${property}' in @Module() decorator.`;
|
||||
|
||||
export const UnknownDependenciesMessage = (type: string) =>
|
||||
`Nest could not resolves dependencies of ${type}.`;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { HttpException } from './http-exception';
|
||||
import { messages } from '../constants';
|
||||
import { Logger } from '../../common/services/logger.service';
|
||||
import { ExceptionFilterMetadata } from '../../common/interfaces/exception-filter-metadata.interface';
|
||||
import { isEmpty, isObject } from '../../common/utils/shared.utils';
|
||||
import { InvalidExceptionFilterException } from '../../errors/exceptions/invalid-exception-filter.exception';
|
||||
import { Logger } from '@nestjs/common';
|
||||
import { ExceptionFilterMetadata } from '@nestjs/common/interfaces/exceptions/exception-filter-metadata.interface';
|
||||
import { isEmpty, isObject } from '@nestjs/common/utils/shared.utils';
|
||||
import { InvalidExceptionFilterException } from '../errors/exceptions/invalid-exception-filter.exception';
|
||||
|
||||
export class ExceptionsHandler {
|
||||
private readonly logger = new Logger(ExceptionsHandler.name);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { RequestMethod } from '../../common/enums/request-method.enum';
|
||||
import { RequestMethod } from '@nestjs/common/enums/request-method.enum';
|
||||
|
||||
export const ModuleInitMessage = (module: string) => `${module} dependencies initialized`;
|
||||
export const RouteMappedMessage = (path: string, method) => `Mapped {${path}, ${RequestMethod[method]}} route`;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { RequestMethod } from '../../common/enums/request-method.enum';
|
||||
import { RequestMethod } from '@nestjs/common/enums/request-method.enum';
|
||||
|
||||
export class RouterMethodFactory {
|
||||
public get(target, requestMethod: RequestMethod) {
|
||||
|
||||
@@ -1,4 +1,13 @@
|
||||
/*
|
||||
* Nest @core
|
||||
* Copyright(c) 2017-... Kamil Mysliwiec
|
||||
* www.nestjs.com || www.kamilmysliwiec.com
|
||||
* MIT Licensed
|
||||
*/
|
||||
|
||||
export { HttpException } from './exceptions/http-exception';
|
||||
export { NestMiddleware, MiddlewareConfiguration } from './middlewares/interfaces';
|
||||
export { MiddlewareBuilder } from './middlewares/builder';
|
||||
export { ModuleRef } from './injector/module-ref';
|
||||
export * from './nest-factory';
|
||||
export * from './nest-application';
|
||||
export * from './nest-microservice';
|
||||
@@ -1,11 +1,11 @@
|
||||
import 'reflect-metadata';
|
||||
import { Controller, Injectable } from '../../common/interfaces/';
|
||||
import { Controller, Injectable } from '@nestjs/common/interfaces';
|
||||
import { NestModuleMetatype } from '@nestjs/common/interfaces/modules/module-metatype.interface';
|
||||
import { Metatype } from '@nestjs/common/interfaces/metatype.interface';
|
||||
import { SHARED_MODULE_METADATA } from '@nestjs/common/constants';
|
||||
import { isUndefined } from '@nestjs/common/utils/shared.utils';
|
||||
import { Module } from './module';
|
||||
import { UnknownModuleException } from '../../errors/exceptions/unknown-module.exception';
|
||||
import { NestModuleMetatype } from '../../common/interfaces/module-metatype.interface';
|
||||
import { Metatype } from '../../common/interfaces/metatype.interface';
|
||||
import { SHARED_MODULE_METADATA } from '../../common/constants';
|
||||
import { isUndefined } from '../../common/utils/shared.utils';
|
||||
import { UnknownModuleException } from '../errors/exceptions/unknown-module.exception';
|
||||
import { ModuleTokenFactory } from './module-token-factory';
|
||||
|
||||
export class NestContainer {
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
import 'reflect-metadata';
|
||||
import { InstanceWrapper } from './container';
|
||||
import { UnknownDependenciesException } from '../../errors/exceptions/unknown-dependencies.exception';
|
||||
import { RuntimeException } from '../../errors/exceptions/runtime.exception';
|
||||
import { UnknownDependenciesException } from '../errors/exceptions/unknown-dependencies.exception';
|
||||
import { RuntimeException } from '../errors/exceptions/runtime.exception';
|
||||
import { Module } from './module';
|
||||
import { Metatype } from '../../common/interfaces/metatype.interface';
|
||||
import { Controller } from '../../common/interfaces/controller.interface';
|
||||
import { Injectable } from '../../common/interfaces/injectable.interface';
|
||||
import { Metatype } from '@nestjs/common/interfaces/metatype.interface';
|
||||
import { Controller } from '@nestjs/common/interfaces/controllers/controller.interface';
|
||||
import { Injectable } from '@nestjs/common/interfaces/injectable.interface';
|
||||
import { MiddlewareWrapper } from '../middlewares/container';
|
||||
import { isUndefined, isNil, isFunction } from '../../common/utils/shared.utils';
|
||||
import { PARAMTYPES_METADATA, SELF_DECLARED_DEPS_METADATA } from '../../common/constants';
|
||||
import { isUndefined, isNil, isFunction } from '@nestjs/common/utils/shared.utils';
|
||||
import { PARAMTYPES_METADATA, SELF_DECLARED_DEPS_METADATA } from '@nestjs/common/constants';
|
||||
|
||||
export class Injector {
|
||||
public loadInstanceOfMiddleware(
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
import iterate from 'iterare';
|
||||
import { NestContainer } from './container';
|
||||
import { Injector } from './injector';
|
||||
import { Injectable } from '../../common/interfaces/injectable.interface';
|
||||
import { Controller } from '../../common/interfaces/controller.interface';
|
||||
import { Injectable } from '@nestjs/common/interfaces/injectable.interface';
|
||||
import { Controller } from '@nestjs/common/interfaces/controllers/controller.interface';
|
||||
import { Module } from './module';
|
||||
import { Logger } from '../../common/services/logger.service';
|
||||
import { Logger, OnModuleInit } from '@nestjs/common';
|
||||
import { ModuleInitMessage } from '../helpers/messages';
|
||||
import { isUndefined, isNil } from '../../common/utils/shared.utils';
|
||||
import { OnModuleInit } from '../../common/interfaces/index';
|
||||
import { isUndefined, isNil } from '@nestjs/common/utils/shared.utils';
|
||||
|
||||
export class InstanceLoader {
|
||||
private injector = new Injector();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { isUndefined } from '../../common/utils/shared.utils';
|
||||
import { NestModuleMetatype } from '../../common/interfaces/module-metatype.interface';
|
||||
import { SHARED_MODULE_METADATA } from '../../common/constants';
|
||||
import { isUndefined } from '@nestjs/common/utils/shared.utils';
|
||||
import { NestModuleMetatype } from '@nestjs/common/interfaces/modules/module-metatype.interface';
|
||||
import { SHARED_MODULE_METADATA } from '@nestjs/common/constants';
|
||||
|
||||
export class ModuleTokenFactory {
|
||||
public create(metatype: NestModuleMetatype, scope: NestModuleMetatype[]) {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { InstanceWrapper } from './container';
|
||||
import { Injectable, Controller, NestModule } from '../../common/interfaces';
|
||||
import { UnknownExportException } from '../../errors/exceptions/unknown-export.exception';
|
||||
import { NestModuleMetatype } from '../../common/interfaces/module-metatype.interface';
|
||||
import { Metatype } from '../../common/interfaces/metatype.interface';
|
||||
import { Injectable, Controller, NestModule } from '@nestjs/common/interfaces';
|
||||
import { UnknownExportException } from '../errors/exceptions/unknown-export.exception';
|
||||
import { NestModuleMetatype } from '@nestjs/common/interfaces/modules/module-metatype.interface';
|
||||
import { Metatype } from '@nestjs/common/interfaces/metatype.interface';
|
||||
import { ModuleRef } from './module-ref';
|
||||
import { isFunction, isNil, isUndefined } from '../../common/utils/shared.utils';
|
||||
import { RuntimeException } from '../../errors/exceptions/runtime.exception';
|
||||
import { isFunction, isNil, isUndefined } from '@nestjs/common/utils/shared.utils';
|
||||
import { RuntimeException } from '../errors/exceptions/runtime.exception';
|
||||
|
||||
export interface CustomComponent {
|
||||
provide: any;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import iterate from 'iterare';
|
||||
import { Injectable } from '../common/interfaces/injectable.interface';
|
||||
import { isConstructor, isFunction, isNil } from '../common/utils/shared.utils';
|
||||
import { Injectable } from '@nestjs/common/interfaces/injectable.interface';
|
||||
import { isConstructor, isFunction, isNil } from '@nestjs/common/utils/shared.utils';
|
||||
|
||||
export class MetadataScanner {
|
||||
public scanFromPrototype<T extends Injectable, R>(instance: T, prototype, callback: (name: string) => R): R[] {
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { MiddlewareConfiguration } from './interfaces/middleware-configuration.interface';
|
||||
import { InvalidMiddlewareConfigurationException } from '../../errors/exceptions/invalid-middleware-configuration.exception';
|
||||
import { isUndefined, isNil } from '../../common/utils/shared.utils';
|
||||
import { BindResolveMiddlewareValues } from '../../common/utils/bind-resolve-values.util';
|
||||
import { Logger } from '../../common/services/logger.service';
|
||||
import { Metatype, MiddlewaresConsumer } from '../../common/interfaces';
|
||||
import { MiddlewareConfigProxy } from '../../index';
|
||||
import { MiddlewareConfiguration } from '@nestjs/common/interfaces/middlewares/middleware-configuration.interface';
|
||||
import { InvalidMiddlewareConfigurationException } from '../errors/exceptions/invalid-middleware-configuration.exception';
|
||||
import { isUndefined, isNil } from '@nestjs/common/utils/shared.utils';
|
||||
import { BindResolveMiddlewareValues } from '@nestjs/common/utils/bind-resolve-values.util';
|
||||
import { Logger } from '@nestjs/common/services/logger.service';
|
||||
import { Metatype, MiddlewaresConsumer } from '@nestjs/common/interfaces';
|
||||
import { MiddlewareConfigProxy } from '@nestjs/common/interfaces/middlewares';
|
||||
import { RoutesMapper } from './routes-mapper';
|
||||
|
||||
export class MiddlewareBuilder implements MiddlewaresConsumer {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { MiddlewareConfiguration } from './interfaces/middleware-configuration.interface';
|
||||
import { NestMiddleware } from './interfaces/nest-middleware.interface';
|
||||
import { Metatype } from '../../common/interfaces/metatype.interface';
|
||||
import { MiddlewareConfiguration } from '@nestjs/common/interfaces/middlewares/middleware-configuration.interface';
|
||||
import { NestMiddleware } from '@nestjs/common/interfaces/middlewares/nest-middleware.interface';
|
||||
import { Metatype } from '@nestjs/common/interfaces/metatype.interface';
|
||||
|
||||
export class MiddlewaresContainer {
|
||||
private readonly middlewares = new Map<string, Map<string, MiddlewareWrapper>>();
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
export * from './middleware-configuration.interface';
|
||||
export * from './nest-middleware.interface';
|
||||
@@ -1,8 +0,0 @@
|
||||
import { ControllerMetadata } from '../../../common/interfaces/controller-metadata.interface';
|
||||
import { Controller } from '../../../common/interfaces/controller.interface';
|
||||
import { RequestMethod } from '../../../common/enums/request-method.enum';
|
||||
|
||||
export interface MiddlewareConfiguration {
|
||||
middlewares: any;
|
||||
forRoutes: (Controller | ControllerMetadata & { method?: RequestMethod })[];
|
||||
}
|
||||
@@ -3,20 +3,20 @@ import { NestContainer } from '../injector/container';
|
||||
import { MiddlewareBuilder } from './builder';
|
||||
import { MiddlewaresContainer, MiddlewareWrapper } from './container';
|
||||
import { MiddlewaresResolver } from './resolver';
|
||||
import { ControllerMetadata } from '../../common/interfaces/controller-metadata.interface';
|
||||
import { NestModule } from '../../common/interfaces/nest-module.interface';
|
||||
import { MiddlewareConfiguration } from './interfaces/middleware-configuration.interface';
|
||||
import { InvalidMiddlewareException } from '../../errors/exceptions/invalid-middleware.exception';
|
||||
import { RequestMethod } from '../../common/enums/request-method.enum';
|
||||
import { ControllerMetadata } from '@nestjs/common/interfaces/controllers/controller-metadata.interface';
|
||||
import { NestModule } from '@nestjs/common/interfaces/modules/nest-module.interface';
|
||||
import { MiddlewareConfiguration } from '@nestjs/common/interfaces/middlewares/middleware-configuration.interface';
|
||||
import { InvalidMiddlewareException } from '../errors/exceptions/invalid-middleware.exception';
|
||||
import { RequestMethod } from '@nestjs/common/enums/request-method.enum';
|
||||
import { RoutesMapper } from './routes-mapper';
|
||||
import { RouterProxy } from '../router/router-proxy';
|
||||
import { ExceptionsHandler } from '../exceptions/exceptions-handler';
|
||||
import { Module } from '../injector/module';
|
||||
import { RouterMethodFactory } from '../helpers/router-method-factory';
|
||||
import { NestMiddleware } from './interfaces/nest-middleware.interface';
|
||||
import { Metatype } from '../../common/interfaces/metatype.interface';
|
||||
import { RuntimeException } from '../../errors/exceptions/runtime.exception';
|
||||
import { isUndefined } from '../../common/utils/shared.utils';
|
||||
import { NestMiddleware } from '@nestjs/common/interfaces/middlewares/nest-middleware.interface';
|
||||
import { Metatype } from '@nestjs/common/interfaces/metatype.interface';
|
||||
import { RuntimeException } from '../errors/exceptions/runtime.exception';
|
||||
import { isUndefined } from '@nestjs/common/utils/shared.utils';
|
||||
|
||||
export class MiddlewaresModule {
|
||||
private static routesMapper = new RoutesMapper();
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import 'reflect-metadata';
|
||||
import { ExpressRouterExplorer } from '../router/router-explorer';
|
||||
import { UnknownRequestMappingException } from '../../errors/exceptions/unknown-request-mapping.exception';
|
||||
import { RequestMethod } from '../../common/enums/request-method.enum';
|
||||
import { isUndefined, validatePath } from '../../common/utils/shared.utils';
|
||||
import { PATH_METADATA } from '../../common/constants';
|
||||
import { UnknownRequestMappingException } from '../errors/exceptions/unknown-request-mapping.exception';
|
||||
import { RequestMethod } from '@nestjs/common/enums/request-method.enum';
|
||||
import { isUndefined, validatePath } from '@nestjs/common/utils/shared.utils';
|
||||
import { PATH_METADATA } from '@nestjs/common/constants';
|
||||
import { MetadataScanner } from '../metadata-scanner';
|
||||
|
||||
export class RoutesMapper {
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import { MiddlewaresModule } from './core/middlewares/middlewares-module';
|
||||
import { SocketModule } from './websockets/socket-module';
|
||||
import { NestContainer } from './core/injector/container';
|
||||
import { ExpressAdapter } from './core/adapters/express-adapter';
|
||||
import { RoutesResolver } from './core/router/routes-resolver';
|
||||
import { Logger } from './common/services/logger.service';
|
||||
import { messages } from './core/constants';
|
||||
import { MicroservicesModule } from './microservices/microservices-module';
|
||||
import { Resolver } from './core/router/interfaces/resolver.interface';
|
||||
import { INestApplication } from './common/interfaces';
|
||||
import { MiddlewaresModule } from './middlewares/middlewares-module';
|
||||
import { SocketModule } from '@nestjs/websockets/socket-module';
|
||||
import { NestContainer } from './injector/container';
|
||||
import { ExpressAdapter } from './adapters/express-adapter';
|
||||
import { RoutesResolver } from './router/routes-resolver';
|
||||
import { Logger } from '@nestjs/common/services/logger.service';
|
||||
import { messages } from './constants';
|
||||
import { MicroservicesModule } from '@nestjs/microservices/microservices-module';
|
||||
import { Resolver } from './router/interfaces/resolver.interface';
|
||||
import { INestApplication } from '@nestjs/common';
|
||||
|
||||
export class NestApplication implements INestApplication {
|
||||
private readonly routesResolver: Resolver;
|
||||
@@ -1,16 +1,16 @@
|
||||
import { DependenciesScanner } from './core/scanner';
|
||||
import { InstanceLoader } from './core/injector/instance-loader';
|
||||
import { NestContainer } from './core/injector/container';
|
||||
import { DependenciesScanner } from './scanner';
|
||||
import { InstanceLoader } from './injector/instance-loader';
|
||||
import { NestContainer } from './injector/container';
|
||||
import { ExceptionsZone } from './errors/exceptions-zone';
|
||||
import { NestModuleMetatype } from './common/interfaces/module-metatype.interface';
|
||||
import { Logger } from './common/services/logger.service';
|
||||
import { messages } from './core/constants';
|
||||
import { NestModuleMetatype } from '@nestjs/common/interfaces/modules/module-metatype.interface';
|
||||
import { Logger } from '@nestjs/common/services/logger.service';
|
||||
import { messages } from './constants';
|
||||
import { NestApplication } from './nest-application';
|
||||
import { NestMicroservice } from './nest-microservice';
|
||||
import { isFunction } from './common/utils/shared.utils';
|
||||
import { MicroserviceConfiguration } from './microservices/interfaces/microservice-configuration.interface';
|
||||
import { ExpressAdapter } from './core/adapters/express-adapter';
|
||||
import { INestApplication, INestMicroservice } from './common/interfaces';
|
||||
import { isFunction } from '@nestjs/common/utils/shared.utils';
|
||||
import { MicroserviceConfiguration } from '@nestjs/microservices/interfaces/microservice-configuration.interface';
|
||||
import { ExpressAdapter } from './adapters/express-adapter';
|
||||
import { INestApplication, INestMicroservice } from '@nestjs/common';
|
||||
|
||||
export class NestFactory {
|
||||
private static container = new NestContainer();
|
||||
@@ -1,12 +1,12 @@
|
||||
import { NestContainer } from './core/injector/container';
|
||||
import { MicroservicesModule } from './microservices/microservices-module';
|
||||
import { messages } from './core/constants';
|
||||
import { Logger } from './common/services/logger.service';
|
||||
import { Server } from './microservices/server/server';
|
||||
import { MicroserviceConfiguration } from './microservices/interfaces/microservice-configuration.interface';
|
||||
import { ServerFactory } from './microservices/server/server-factory';
|
||||
import { Transport } from './common/enums/transport.enum';
|
||||
import { INestMicroservice } from './common/interfaces';
|
||||
import { NestContainer } from './injector/container';
|
||||
import { MicroservicesModule } from '@nestjs/microservices/microservices-module';
|
||||
import { messages } from './constants';
|
||||
import { Logger } from '@nestjs/common/services/logger.service';
|
||||
import { Server } from '@nestjs/microservices/server/server';
|
||||
import { MicroserviceConfiguration } from '@nestjs/microservices/interfaces/microservice-configuration.interface';
|
||||
import { ServerFactory } from '@nestjs/microservices/server/server-factory';
|
||||
import { Transport } from '@nestjs/common/enums/transport.enum';
|
||||
import { INestMicroservice } from '@nestjs/common';
|
||||
|
||||
export class NestMicroservice implements INestMicroservice {
|
||||
private readonly logger = new Logger(NestMicroservice.name);
|
||||
21
src/core/package.json
Normal file
21
src/core/package.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "@nestjs/core",
|
||||
"version": "2.0.0",
|
||||
"description": "Nest - modern, fast, powerful node.js web framework (@core)",
|
||||
"author": "Kamil Mysliwiec",
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
"compile": "tsc -p tsconfig.json"
|
||||
},
|
||||
"dependencies": {
|
||||
"express": "^4.14.0",
|
||||
"iterare": "0.0.8"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@nestjs/common": "^1.0.0",
|
||||
"@nestjs/websockets": "^1.0.0",
|
||||
"@nestjs/microservices": "^1.0.0",
|
||||
"reflect-metadata": "0.1.10",
|
||||
"rxjs": "^5.0.3"
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Controller } from '../../../common/interfaces/controller.interface';
|
||||
import { Controller } from '@nestjs/common/interfaces/controllers/controller.interface';
|
||||
import { ExceptionsHandler } from '../../exceptions/exceptions-handler';
|
||||
|
||||
export interface ExceptionsFilter {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Controller } from '../../../common/interfaces/index';
|
||||
import { Metatype } from '../../../common/interfaces/metatype.interface';
|
||||
import { Controller } from '@nestjs/common/interfaces/index';
|
||||
import { Metatype } from '@nestjs/common/interfaces/metatype.interface';
|
||||
|
||||
export interface RouterExplorer {
|
||||
explore(instance: Controller, metatype: Metatype<Controller>, moduleName: string);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { RouteParamtypes } from '../../../common/enums/route-paramtypes.enum';
|
||||
import { RouteParamtypes } from '@nestjs/common/enums/route-paramtypes.enum';
|
||||
|
||||
export interface IRouteParamsFactory {
|
||||
exchangeKeyForValue(key: RouteParamtypes, data, { req, res, next });
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { RouteParamtypes } from '../../common/enums/route-paramtypes.enum';
|
||||
import { RouteParamtypes } from '@nestjs/common/enums/route-paramtypes.enum';
|
||||
import { IRouteParamsFactory } from './interfaces/route-params-factory.interface';
|
||||
|
||||
export class RouteParamsFactory implements IRouteParamsFactory {
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
import 'reflect-metadata';
|
||||
import iterate from 'iterare';
|
||||
import { Controller } from '../../common/interfaces/controller.interface';
|
||||
import { Controller } from '@nestjs/common/interfaces/controllers/controller.interface';
|
||||
import { ExceptionsHandler } from '../exceptions/exceptions-handler';
|
||||
import { EXCEPTION_FILTERS_METADATA, FILTER_CATCH_EXCEPTIONS } from '../../common/constants';
|
||||
import { isEmpty, isFunction } from '../../common/utils/shared.utils';
|
||||
import { Metatype } from '../../common/interfaces/index';
|
||||
import { ExceptionFilterMetadata } from '../../common/interfaces/exception-filter-metadata.interface';
|
||||
import { EXCEPTION_FILTERS_METADATA, FILTER_CATCH_EXCEPTIONS } from '@nestjs/common/constants';
|
||||
import { isEmpty, isFunction } from '@nestjs/common/utils/shared.utils';
|
||||
import { Metatype } from '@nestjs/common/interfaces/index';
|
||||
import { ExceptionFilterMetadata } from '@nestjs/common/interfaces/exceptions/exception-filter-metadata.interface';
|
||||
import { NestContainer } from '../injector/container';
|
||||
import { UnknownModuleException } from '../../errors/exceptions/unknown-module.exception';
|
||||
import { ExceptionFilter } from '../../common/interfaces/exception-filter.interface';
|
||||
import { UnknownModuleException } from '../errors/exceptions/unknown-module.exception';
|
||||
import { ExceptionFilter } from '@nestjs/common/interfaces/exceptions/exception-filter.interface';
|
||||
|
||||
export class RouterExceptionFilters {
|
||||
constructor(private container: NestContainer) {}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import 'reflect-metadata';
|
||||
import { ROUTE_ARGS_METADATA } from '../../common/constants';
|
||||
import { isUndefined } from '../../common/utils/shared.utils';
|
||||
import { RouteParamtypes } from '../../common/enums/route-paramtypes.enum';
|
||||
import { Controller } from '../../common/interfaces';
|
||||
import { RouteParamsMetadata } from '../../index';
|
||||
import { ROUTE_ARGS_METADATA } from '@nestjs/common/constants';
|
||||
import { isUndefined } from '@nestjs/common/utils/shared.utils';
|
||||
import { RouteParamtypes } from '@nestjs/common/enums/route-paramtypes.enum';
|
||||
import { Controller } from '@nestjs/common/interfaces';
|
||||
import { RouteParamsMetadata } from '@nestjs/common/utils';
|
||||
import { IRouteParamsFactory } from './interfaces/route-params-factory.interface';
|
||||
|
||||
export interface IndexValuePair {
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
import 'reflect-metadata';
|
||||
import { Controller } from '../../common/interfaces/controller.interface';
|
||||
import { RequestMethod } from '../../common/enums/request-method.enum';
|
||||
import { Controller } from '@nestjs/common/interfaces/controllers/controller.interface';
|
||||
import { RequestMethod } from '@nestjs/common/enums/request-method.enum';
|
||||
import { RouterProxy, RouterProxyCallback } from './router-proxy';
|
||||
import { UnknownRequestMappingException } from '../../errors/exceptions/unknown-request-mapping.exception';
|
||||
import { UnknownRequestMappingException } from '../errors/exceptions/unknown-request-mapping.exception';
|
||||
import { ExpressAdapter } from '../adapters/express-adapter';
|
||||
import { Metatype } from '../../common/interfaces/metatype.interface';
|
||||
import { isUndefined, validatePath } from '../../common/utils/shared.utils';
|
||||
import { Metatype } from '@nestjs/common/interfaces/metatype.interface';
|
||||
import { isUndefined, validatePath } from '@nestjs/common/utils/shared.utils';
|
||||
import { RouterMethodFactory } from '../helpers/router-method-factory';
|
||||
import { PATH_METADATA, METHOD_METADATA } from '../../common/constants';
|
||||
import { Logger } from '../../common/services/logger.service';
|
||||
import { PATH_METADATA, METHOD_METADATA } from '@nestjs/common/constants';
|
||||
import { Logger } from '@nestjs/common/services/logger.service';
|
||||
import { RouteMappedMessage } from '../helpers/messages';
|
||||
import { RouterExecutionContext } from './router-execution-context';
|
||||
import { ExceptionsFilter } from './interfaces/exceptions-filter.interface';
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Application } from 'express';
|
||||
import { NestContainer, InstanceWrapper } from '../injector/container';
|
||||
import { RouterProxy } from './router-proxy';
|
||||
import { Controller } from '../../common/interfaces/controller.interface';
|
||||
import { Logger } from '../../common/services/logger.service';
|
||||
import { Controller } from '@nestjs/common/interfaces/controllers/controller.interface';
|
||||
import { Logger } from '@nestjs/common/services/logger.service';
|
||||
import { ControllerMappingMessage } from '../helpers/messages';
|
||||
import { Resolver } from './interfaces/resolver.interface';
|
||||
import { RouterExceptionFilters } from './router-exception-filters';
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import 'reflect-metadata';
|
||||
import { NestContainer } from './injector/container';
|
||||
import { Controller } from '../common/interfaces/controller.interface';
|
||||
import { Injectable } from '../common/interfaces/injectable.interface';
|
||||
import { metadata, EXCEPTION_FILTERS_METADATA } from '../common/constants';
|
||||
import { NestModuleMetatype } from '../common/interfaces/module-metatype.interface';
|
||||
import { Metatype } from '../common/interfaces/metatype.interface';
|
||||
import { GATEWAY_MIDDLEWARES } from '../websockets/constants';
|
||||
import { Controller } from '@nestjs/common/interfaces/controllers/controller.interface';
|
||||
import { Injectable } from '@nestjs/common/interfaces/injectable.interface';
|
||||
import { metadata, EXCEPTION_FILTERS_METADATA } from '@nestjs/common/constants';
|
||||
import { NestModuleMetatype } from '@nestjs/common/interfaces/modules/module-metatype.interface';
|
||||
import { Metatype } from '@nestjs/common/interfaces/metatype.interface';
|
||||
import { GATEWAY_MIDDLEWARES } from '@nestjs/websockets/constants';
|
||||
|
||||
export class DependenciesScanner {
|
||||
constructor(private container: NestContainer) {}
|
||||
|
||||
@@ -4,7 +4,7 @@ import { ExceptionsHandler } from '../../exceptions/exceptions-handler';
|
||||
import { HttpException } from '../../exceptions/http-exception';
|
||||
import { Logger } from '../../../common/services/logger.service';
|
||||
import { NestEnvironment } from '../../../common/enums/nest-environment.enum';
|
||||
import { InvalidExceptionFilterException } from '../../../errors/exceptions/invalid-exception-filter.exception';
|
||||
import { InvalidExceptionFilterException } from '../../errors/exceptions/invalid-exception-filter.exception';
|
||||
|
||||
describe('ExceptionsHandler', () => {
|
||||
let handler: ExceptionsHandler;
|
||||
|
||||
@@ -2,7 +2,7 @@ import { expect } from 'chai';
|
||||
import * as sinon from 'sinon';
|
||||
import { NestContainer } from '../../injector/container';
|
||||
import { Module } from '../../../common/utils/decorators/module.decorator';
|
||||
import { UnknownModuleException } from '../../../errors/exceptions/unknown-module.exception';
|
||||
import { UnknownModuleException } from '../../errors/exceptions/unknown-module.exception';
|
||||
|
||||
describe('NestContainer', () => {
|
||||
let container: NestContainer;
|
||||
|
||||
@@ -3,9 +3,9 @@ import { expect } from 'chai';
|
||||
import { InstanceWrapper } from '../../injector/container';
|
||||
import { Injector } from '../../injector/injector';
|
||||
import { Component } from '../../../common/utils/decorators/component.decorator';
|
||||
import { RuntimeException } from '../../../errors/exceptions/runtime.exception';
|
||||
import { RuntimeException } from '../../errors/exceptions/runtime.exception';
|
||||
import { Module } from '../../injector/module';
|
||||
import { UnknownDependenciesException } from '../../../errors/exceptions/unknown-dependencies.exception';
|
||||
import { UnknownDependenciesException } from '../../errors/exceptions/unknown-dependencies.exception';
|
||||
|
||||
describe('Injector', () => {
|
||||
let injector: Injector;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { expect } from 'chai';
|
||||
import * as sinon from 'sinon';
|
||||
import { Module as ModuleDecorator } from '../../../common/utils/decorators/module.decorator';
|
||||
import { UnknownExportException } from '../../../errors/exceptions/unknown-export.exception';
|
||||
import { UnknownExportException } from '../../errors/exceptions/unknown-export.exception';
|
||||
import { Module } from '../../injector/module';
|
||||
import { Component } from '../../../common/utils/decorators/component.decorator';
|
||||
import { RuntimeException } from '../../../errors/exceptions/runtime.exception';
|
||||
import { RuntimeException } from '../../errors/exceptions/runtime.exception';
|
||||
|
||||
describe('Module', () => {
|
||||
let module: Module;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { expect } from 'chai';
|
||||
import { MiddlewareBuilder } from '../../middlewares/builder';
|
||||
import { InvalidMiddlewareConfigurationException } from '../../../errors/exceptions/invalid-middleware-configuration.exception';
|
||||
import { InvalidMiddlewareConfigurationException } from '../../errors/exceptions/invalid-middleware-configuration.exception';
|
||||
import { RoutesMapper } from '../../middlewares/routes-mapper';
|
||||
import { Controller, Get } from '../../../index';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { expect } from 'chai';
|
||||
import { MiddlewaresContainer } from '../../middlewares/container';
|
||||
import { MiddlewareConfiguration } from '../../middlewares/interfaces/middleware-configuration.interface';
|
||||
import { NestMiddleware } from '../../middlewares/interfaces/nest-middleware.interface';
|
||||
import { MiddlewareConfiguration } from '../../../common/interfaces/middlewares/middleware-configuration.interface';
|
||||
import { NestMiddleware } from '../../../common/interfaces/middlewares/nest-middleware.interface';
|
||||
import { Component } from '../../../common/utils/decorators/component.decorator';
|
||||
import { Controller } from '../../../common/utils/decorators/controller.decorator';
|
||||
import { RequestMapping } from '../../../common/utils/decorators/request-mapping.decorator';
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
import { expect } from 'chai';
|
||||
import * as sinon from 'sinon';
|
||||
import { NestMiddleware } from '../../middlewares/interfaces/nest-middleware.interface';
|
||||
import { NestMiddleware } from '../../../common/interfaces/middlewares/nest-middleware.interface';
|
||||
import { Component } from '../../../common/utils/decorators/component.decorator';
|
||||
import { MiddlewareBuilder } from '../../middlewares/builder';
|
||||
import { MiddlewaresModule } from '../../middlewares/middlewares-module';
|
||||
import { InvalidMiddlewareException } from '../../../errors/exceptions/invalid-middleware.exception';
|
||||
import { InvalidMiddlewareException } from '../../errors/exceptions/invalid-middleware.exception';
|
||||
import { RequestMethod } from '../../../common/enums/request-method.enum';
|
||||
import { Controller } from '../../../common/utils/decorators/controller.decorator';
|
||||
import { RequestMapping } from '../../../common/utils/decorators/request-mapping.decorator';
|
||||
import { RuntimeException } from '../../../errors/exceptions/runtime.exception';
|
||||
import { RuntimeException } from '../../errors/exceptions/runtime.exception';
|
||||
import { RoutesMapper } from "../../middlewares/routes-mapper";
|
||||
|
||||
describe('MiddlewaresModule', () => {
|
||||
|
||||
@@ -3,7 +3,7 @@ import { expect } from 'chai';
|
||||
import { MiddlewaresResolver } from '../../middlewares/resolver';
|
||||
import { MiddlewaresContainer } from '../../middlewares/container';
|
||||
import { Component } from '../../../common/utils/decorators/component.decorator';
|
||||
import { NestMiddleware } from '../../middlewares/interfaces/nest-middleware.interface';
|
||||
import { NestMiddleware } from '../../../common/interfaces/middlewares/nest-middleware.interface';
|
||||
import { Logger } from '../../../common/services/logger.service';
|
||||
import { NestEnvironment } from '../../../common/enums/nest-environment.enum';
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ import { RoutesMapper } from '../../middlewares/routes-mapper';
|
||||
import { Controller } from '../../../common/utils/decorators/controller.decorator';
|
||||
import { RequestMapping } from '../../../common/utils/decorators/request-mapping.decorator';
|
||||
import { RequestMethod } from '../../../common/enums/request-method.enum';
|
||||
import { UnknownRequestMappingException } from '../../../errors/exceptions/unknown-request-mapping.exception';
|
||||
import { UnknownRequestMappingException } from '../../errors/exceptions/unknown-request-mapping.exception';
|
||||
|
||||
describe('RoutesMapper', () => {
|
||||
@Controller({ path: 'test' })
|
||||
|
||||
@@ -2,7 +2,7 @@ import * as sinon from 'sinon';
|
||||
import { DependenciesScanner } from './../scanner';
|
||||
import { NestContainer } from './../injector/container';
|
||||
import { Module } from '../../common/utils/decorators/module.decorator';
|
||||
import { NestModule } from '../../common/interfaces/nest-module.interface';
|
||||
import { NestModule } from '../../common/interfaces/modules/nest-module.interface';
|
||||
import { Component } from '../../common/utils/decorators/component.decorator';
|
||||
import { Controller } from '../../common/utils/decorators/controller.decorator';
|
||||
|
||||
|
||||
27
src/core/tsconfig.json
Normal file
27
src/core/tsconfig.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"declaration": true,
|
||||
"noImplicitAny": false,
|
||||
"noUnusedLocals": false,
|
||||
"removeComments": false,
|
||||
"noLib": false,
|
||||
"emitDecoratorMetadata": true,
|
||||
"experimentalDecorators": true,
|
||||
"target": "es6",
|
||||
"sourceMap": false,
|
||||
"allowJs": false,
|
||||
"rootDir": "./",
|
||||
"baseUrl": "./../../",
|
||||
"outDir": "../../node_modules/@nestjs/core"
|
||||
},
|
||||
"include": [
|
||||
"*.ts",
|
||||
"**/*.ts"
|
||||
],
|
||||
"exclude": [
|
||||
"node_modules/reflect-metadata",
|
||||
"node_modules/@types/reflect-metadata",
|
||||
"./**/*.spec.ts"
|
||||
]
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
import { RuntimeException } from './runtime.exception';
|
||||
import { InvalidModuleConfigMessage } from '../messages';
|
||||
|
||||
export class InvalidModuleConfigException extends RuntimeException {
|
||||
constructor(property: string) {
|
||||
super(InvalidModuleConfigMessage(property));
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,12 @@
|
||||
/*
|
||||
* Nest
|
||||
* Copyright(c) 2017-... Kamil Mysliwiec
|
||||
* www.kamilmysliwiec.com
|
||||
* www.nestjs.com || www.kamilmysliwiec.com
|
||||
* MIT Licensed
|
||||
*/
|
||||
|
||||
export * from './common';
|
||||
export * from './core';
|
||||
export * from './nest-factory';
|
||||
export * from './nest-application';
|
||||
export * from './nest-microservice';
|
||||
export * from './core/nest-factory';
|
||||
export * from './core/nest-application';
|
||||
export * from './core/nest-microservice';
|
||||
@@ -1,7 +1,7 @@
|
||||
import { ClientTCP } from './client-tcp';
|
||||
import { ClientRedis } from './client-redis';
|
||||
import { ClientMetadata } from '../interfaces/client-metadata.interface';
|
||||
import { Transport } from '../../common/enums/transport.enum';
|
||||
import { Transport } from '@nestjs/common/enums/transport.enum';
|
||||
import { ClientProxy } from './client-proxy';
|
||||
|
||||
export class ClientProxyFactory {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
import { Observer } from 'rxjs/Observer';
|
||||
import { isNil } from '../../common/utils/shared.utils';
|
||||
import { isNil } from '@nestjs/common/utils/shared.utils';
|
||||
import { InvalidMessageException } from '../exceptions/invalid-message.exception';
|
||||
|
||||
export abstract class ClientProxy {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import * as redis from 'redis';
|
||||
import { ClientProxy } from './client-proxy';
|
||||
import { Logger } from '../../common/services/logger.service';
|
||||
import { Logger } from '@nestjs/common/services/logger.service';
|
||||
import { ClientMetadata } from '../interfaces/client-metadata.interface';
|
||||
|
||||
export class ClientRedis extends ClientProxy {
|
||||
|
||||
1
src/microservices/enums/index.ts
Normal file
1
src/microservices/enums/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export * from './transport.enum';
|
||||
@@ -1,4 +1,4 @@
|
||||
import { RuntimeException } from '../../errors/exceptions/runtime.exception';
|
||||
import { RuntimeException } from '@nestjs/core/errors/exceptions/runtime.exception';
|
||||
|
||||
export class InvalidMessageException extends RuntimeException {
|
||||
constructor() {
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
/*
|
||||
* Nest @microservices
|
||||
* Copyright(c) 2017-... Kamil Mysliwiec
|
||||
* www.nestjs.com || www.kamilmysliwiec.com
|
||||
* MIT Licensed
|
||||
*/
|
||||
|
||||
export * from './utils';
|
||||
export * from './interfaces';
|
||||
export * from './client';
|
||||
export * from './enums';
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Transport } from '../../common/enums/transport.enum';
|
||||
import { Transport } from '@nestjs/common/enums/transport.enum';
|
||||
|
||||
export interface MicroserviceConfiguration {
|
||||
transport?: Transport;
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
import { Controller } from '../common/interfaces/controller.interface';
|
||||
import { isFunction } from '../common/utils/shared.utils';
|
||||
import { Controller } from '@nestjs/common/interfaces/controllers/controller.interface';
|
||||
import { isFunction, isUndefined } from '@nestjs/common/utils/shared.utils';
|
||||
import {
|
||||
PATTERN_METADATA, PATTERN_HANDLER_METADATA, CLIENT_CONFIGURATION_METADATA,
|
||||
CLIENT_METADATA,
|
||||
} from './constants';
|
||||
import { isUndefined } from 'util';
|
||||
import { PatternMetadata } from './interfaces/pattern-metadata.interface';
|
||||
import { ClientMetadata } from './interfaces/client-metadata.interface';
|
||||
import { MetadataScanner } from './../core/metadata-scanner';
|
||||
import { MetadataScanner } from '@nestjs/core/metadata-scanner';
|
||||
|
||||
export class ListenerMetadataExplorer {
|
||||
constructor(private readonly metadataScanner: MetadataScanner) {}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user