Compare commits

..

284 Commits

Author SHA1 Message Date
Kamil Myśliwiec
4804f32472 refactor(core): tweaks to host filtering, extract error message 2021-02-02 10:35:26 +01:00
Kamil Myśliwiec
40a0678fbf Merge branch 'host-array' of https://github.com/andrewda/nest into andrewda-host-array 2021-02-02 10:28:56 +01:00
Kamil Mysliwiec
6b119c3579 Merge pull request #6289 from nestjs/renovate/typescript-eslint-monorepo
chore(deps): update typescript-eslint monorepo to v4.14.2
2021-02-02 08:41:55 +01:00
Renovate Bot
f22d3370f3 chore(deps): update typescript-eslint monorepo to v4.14.2 2021-02-01 20:22:34 +00:00
Kamil Mysliwiec
c12100c3c6 Merge pull request #6288 from nestjs/renovate/nest-monorepo
fix(deps): update nest monorepo to v7.6.8
2021-02-01 16:12:27 +01:00
Renovate Bot
8cf29c9172 fix(deps): update nest monorepo to v7.6.8 2021-02-01 14:42:54 +00:00
Kamil Myśliwiec
12ac1108a7 chore(): bump package json version 2021-02-01 15:26:40 +01:00
Kamil Myśliwiec
c150deefbd chore(@nestjs) publish v7.6.8 release 2021-02-01 15:25:38 +01:00
Kamil Myśliwiec
68b5d2a8e2 chore(): update README 2021-02-01 15:23:44 +01:00
Kamil Mysliwiec
4d87dd6b1e Merge pull request #6287 from nestjs/renovate/imports-loader-2.x
chore(deps): update dependency imports-loader to v2
2021-02-01 14:27:23 +01:00
Kamil Myśliwiec
e0b825121b Merge branch 'jmcdo29-feat/microservice-deserialize-error' 2021-02-01 14:26:37 +01:00
Kamil Myśliwiec
dc8b1d5c72 refactor(microservices): rename is custom client options method 2021-02-01 14:23:37 +01:00
Renovate Bot
832b3bc90c chore(deps): update dependency imports-loader to v2 2021-02-01 13:20:14 +00:00
Kamil Myśliwiec
8180e5905c Merge branch 'feat/microservice-deserialize-error' of https://github.com/jmcdo29/nest into jmcdo29-feat/microservice-deserialize-error 2021-02-01 13:46:55 +01:00
Kamil Myśliwiec
2307373bfe Merge branch 'gabeodess-graphql-schema-first-resolve-field' 2021-02-01 13:44:50 +01:00
Kamil Myśliwiec
71255392c9 sample(12-graphql-schema-first): fix sample 2021-02-01 13:43:45 +01:00
Kamil Myśliwiec
07c8cdc80b Merge branch 'graphql-schema-first-resolve-field' of https://github.com/gabeodess/nest into gabeodess-graphql-schema-first-resolve-field 2021-02-01 13:18:56 +01:00
Kamil Mysliwiec
f9e5272e2b Merge pull request #6286 from nestjs/renovate/point-of-view-4.x
fix(deps): update dependency point-of-view to v4.11.0
2021-02-01 13:14:06 +01:00
Renovate Bot
b842a7e817 fix(deps): update dependency point-of-view to v4.11.0 2021-02-01 12:12:15 +00:00
Kamil Mysliwiec
8df890a8ac Merge pull request #6245 from bonkboykz/fix-websockets-metadata-typings
fix(websockets): fix typings for gatewaymetadata origins
2021-02-01 13:10:34 +01:00
Kamil Mysliwiec
060befe22e Merge pull request #6257 from Tony133/chore/update-transform-options
chore(): update interface for transform options
2021-02-01 13:10:23 +01:00
Kamil Mysliwiec
06bddccb5c Merge pull request #6249 from nestjs/renovate/point-of-view-4.x
fix(deps): update dependency point-of-view to v4.10.0
2021-02-01 13:08:39 +01:00
Kamil Mysliwiec
4f88c3d147 Merge pull request #6282 from nestjs/renovate/eslint-7.x
chore(deps): update dependency eslint to v7.19.0
2021-02-01 10:00:30 +01:00
Renovate Bot
dd7c176df3 fix(deps): update dependency point-of-view to v4.10.0 2021-02-01 07:56:45 +00:00
Renovate Bot
c43fb62322 chore(deps): update dependency eslint to v7.19.0 2021-02-01 07:53:50 +00:00
Kamil Mysliwiec
8c4fb929b7 Merge pull request #6276 from nestjs/renovate/webpack-5.x
chore(deps): update dependency webpack to v5.19.0
2021-02-01 08:38:52 +01:00
Kamil Mysliwiec
1130edc150 Merge pull request #6285 from nestjs/dependabot/npm_and_yarn/point-of-view-4.10.0
chore(deps-dev): bump point-of-view from 4.9.0 to 4.10.0
2021-02-01 08:38:34 +01:00
dependabot[bot]
6417c5477a chore(deps-dev): bump point-of-view from 4.9.0 to 4.10.0
Bumps [point-of-view](https://github.com/fastify/point-of-view) from 4.9.0 to 4.10.0.
- [Release notes](https://github.com/fastify/point-of-view/releases)
- [Commits](https://github.com/fastify/point-of-view/compare/v4.9.0...v4.10.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-01 05:49:52 +00:00
Kamil Mysliwiec
149483a852 Update Readme.md 2021-01-30 12:41:17 +01:00
Kamil Mysliwiec
27d9202108 Update readme_jp.md 2021-01-30 12:33:13 +01:00
Kamil Mysliwiec
950e3697c7 Merge pull request #6275 from pochi-sato/master
docs(readme): Create Readme for "Japanese"!
2021-01-30 11:57:09 +01:00
Renovate Bot
df5a7c3a48 chore(deps): update dependency webpack to v5.19.0 2021-01-30 10:25:03 +00:00
Kamil Mysliwiec
25b7ad5805 Merge pull request #6273 from nestjs/renovate/ts-jest-26.x
chore(deps): update dependency ts-jest to v26.5.0
2021-01-30 11:23:19 +01:00
Takuto Sato
0f668075fb Create Readme for "Japanese"! 2021-01-30 00:45:31 +09:00
Renovate Bot
b74f80fb1c chore(deps): update dependency ts-jest to v26.5.0 2021-01-29 14:36:13 +00:00
Kamil Mysliwiec
a0d08f049c Merge pull request #6268 from nestjs/renovate/mongoose-5.x
fix(deps): update dependency mongoose to v5.11.14
2021-01-29 13:47:55 +01:00
Renovate Bot
c88db600a0 fix(deps): update dependency mongoose to v5.11.14 2021-01-29 10:44:03 +00:00
Kamil Mysliwiec
e196f51608 Update Readme.md 2021-01-28 11:56:17 +01:00
Kamil Mysliwiec
f4c45f8d88 Update Readme.md 2021-01-28 11:54:50 +01:00
Tony133
4baea48cfa chore(): update interface for trasform options ref:6256 2021-01-27 15:36:18 +01:00
Kamil Mysliwiec
275e71f89a Merge pull request #6231 from nestjs/renovate/supertest-6.x
chore(deps): update dependency supertest to v6.1.3
2021-01-27 10:41:35 +01:00
Kamil Mysliwiec
4a1074a793 Merge pull request #6255 from nestjs/renovate/nest-monorepo
fix(deps): update nest monorepo to v7.6.7
2021-01-27 10:33:15 +01:00
Kamil Mysliwiec
e9d1735688 Merge pull request #6250 from nestjs/renovate/sequelize-6.x
fix(deps): update dependency sequelize to v6.5.0
2021-01-27 10:31:12 +01:00
Kamil Mysliwiec
3b93861706 Merge pull request #6251 from nestjs/dependabot/npm_and_yarn/point-of-view-4.9.0
chore(deps-dev): bump point-of-view from 4.8.0 to 4.9.0
2021-01-27 10:31:05 +01:00
Renovate Bot
6d1c02be01 fix(deps): update nest monorepo to v7.6.7 2021-01-27 09:23:22 +00:00
Kamil Myśliwiec
1e5f60ed17 chore(@nestjs) publish v7.6.7 release 2021-01-27 09:32:28 +01:00
Kamil Myśliwiec
6379162871 Merge branch 'master' of https://github.com/nestjs/nest 2021-01-27 09:06:37 +01:00
Kamil Myśliwiec
fddc980b1d fix(common): fallback to the default get timestamp fn (logger) 2021-01-27 09:06:28 +01:00
Renovate Bot
6027001b4e fix(deps): update dependency sequelize to v6.5.0 2021-01-27 07:37:18 +00:00
dependabot[bot]
0cd83570a2 chore(deps-dev): bump point-of-view from 4.8.0 to 4.9.0
Bumps [point-of-view](https://github.com/fastify/point-of-view) from 4.8.0 to 4.9.0.
- [Release notes](https://github.com/fastify/point-of-view/releases)
- [Commits](https://github.com/fastify/point-of-view/compare/v4.8.0...v4.9.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-27 07:33:14 +00:00
Kamil Mysliwiec
48d91c9646 Merge pull request #6252 from nestjs/dependabot/npm_and_yarn/graphql-15.5.0
chore(deps-dev): bump graphql from 15.4.0 to 15.5.0
2021-01-27 08:30:44 +01:00
Kamil Mysliwiec
9b9b3564a4 Merge pull request #6247 from nestjs/renovate/webpack-5.x
chore(deps): update dependency webpack to v5.18.0
2021-01-27 08:30:30 +01:00
dependabot[bot]
25526070a1 chore(deps-dev): bump graphql from 15.4.0 to 15.5.0
Bumps [graphql](https://github.com/graphql/graphql-js) from 15.4.0 to 15.5.0.
- [Release notes](https://github.com/graphql/graphql-js/releases)
- [Commits](https://github.com/graphql/graphql-js/compare/v15.4.0...v15.5.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-27 05:26:26 +00:00
Renovate Bot
6df1712b0d chore(deps): update dependency webpack to v5.18.0 2021-01-26 20:59:38 +00:00
Renovate Bot
8aa0f75c8c chore(deps): update dependency supertest to v6.1.3 2021-01-26 10:43:58 +00:00
Kamil Mysliwiec
c0babd6cfd Merge pull request #6238 from nestjs/renovate/typescript-eslint-monorepo
chore(deps): update typescript-eslint monorepo to v4.14.1
2021-01-26 11:29:45 +01:00
Kamil Mysliwiec
6448d17f43 Merge pull request #6239 from nestjs/renovate/socket.io-2.x
chore(deps): update dependency @types/socket.io to v2.1.13
2021-01-26 11:29:21 +01:00
Kamil Mysliwiec
6a9c9100f5 Merge pull request #6241 from nestjs/dependabot/npm_and_yarn/supertest-6.1.3
chore(deps-dev): bump supertest from 6.1.1 to 6.1.3
2021-01-26 11:29:13 +01:00
Renovate Bot
55c7051787 chore(deps): update typescript-eslint monorepo to v4.14.1 2021-01-26 09:44:24 +00:00
Renovate Bot
db6a555d29 chore(deps): update dependency @types/socket.io to v2.1.13 2021-01-26 09:16:01 +00:00
dependabot[bot]
7c722c3d0b chore(deps-dev): bump supertest from 6.1.1 to 6.1.3
Bumps [supertest](https://github.com/visionmedia/supertest) from 6.1.1 to 6.1.3.
- [Release notes](https://github.com/visionmedia/supertest/releases)
- [Commits](https://github.com/visionmedia/supertest/compare/v6.1.1...v6.1.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-26 08:58:14 +00:00
Kamil Mysliwiec
e7011e3b4f Merge pull request #6244 from nestjs/renovate/nest-monorepo
fix(deps): update nest monorepo to v7.6.6
2021-01-26 09:55:53 +01:00
Yesset Zhussupov
0fb8e1a025 fix(websockets): fix typings for gatewaymetadata origins 2021-01-26 14:04:12 +06:00
Renovate Bot
459458bbb4 fix(deps): update nest monorepo to v7.6.6 2021-01-26 07:54:06 +00:00
Kamil Myśliwiec
9e96e76e1a chore(@nestjs) publish v7.6.6 release 2021-01-26 08:37:47 +01:00
Kamil Myśliwiec
a63db1b8aa fix(common): check if error is a plain object (logger) 2021-01-26 08:29:35 +01:00
Kamil Myśliwiec
477b6d0d5c Merge branch 'Sikora00-6118' 2021-01-26 08:26:01 +01:00
Kamil Myśliwiec
90aa625bf8 fix(): fix relative imports 2021-01-26 08:25:46 +01:00
Kamil Myśliwiec
e8541185f0 Merge branch '6118' of https://github.com/Sikora00/nest into Sikora00-6118 2021-01-26 08:12:18 +01:00
Kamil Myśliwiec
c48e2bcfdb fix(common): check if get timestamp is present on logger 2021-01-26 08:10:03 +01:00
Kamil Mysliwiec
667df81eb5 Merge pull request #6243 from nestjs/dependabot/npm_and_yarn/types/socket.io-2.1.13
chore(deps-dev): bump @types/socket.io from 2.1.12 to 2.1.13
2021-01-26 08:07:45 +01:00
dependabot[bot]
fb5117c241 chore(deps-dev): bump @types/socket.io from 2.1.12 to 2.1.13
Bumps [@types/socket.io](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/socket.io) from 2.1.12 to 2.1.13.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/socket.io)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-26 05:28:18 +00:00
Maciej Sikorski
ec9727093d feat: allow to config cors async
Bump version of the fastify-cors.
Add CorsOptionsDelegate interface.
Add CorsOptionsDelegate as an acceptable type
for every enableCors usage.

Closes nestjs/nest#6118
2021-01-25 22:46:11 +01:00
Kamil Mysliwiec
d2e6616115 Merge pull request #6235 from nestjs/renovate/fastify-3.x
fix(deps): update dependency fastify to v3.11.0
2021-01-25 13:02:16 +01:00
Renovate Bot
9f3614042f fix(deps): update dependency fastify to v3.11.0 2021-01-25 10:32:31 +00:00
Kamil Mysliwiec
2bc2c8adfa Merge pull request #6148 from nestjs/renovate/class-transformer-0.x
fix(deps): update dependency class-transformer to v0.3.2
2021-01-25 11:26:27 +01:00
Kamil Mysliwiec
e4c5d17df2 Merge pull request #6233 from nestjs/renovate/fastify-cors-5.x
fix(deps): update dependency fastify-cors to v5.2.0
2021-01-25 11:13:09 +01:00
Kamil Mysliwiec
bf420cd91d Merge pull request #6226 from nestjs/renovate/sinon-9.x
chore(deps): update dependency sinon to v9.2.4
2021-01-25 11:12:44 +01:00
Renovate Bot
5d48691713 fix(deps): update dependency class-transformer to v0.3.2 2021-01-25 09:08:37 +00:00
Kamil Myśliwiec
454d519c67 sample(21-serializer): fix transform decorator usage 2021-01-25 09:57:35 +01:00
Renovate Bot
60f256ecdf chore(deps): update dependency sinon to v9.2.4 2021-01-25 08:33:25 +00:00
Renovate Bot
df4c2eb318 fix(deps): update dependency fastify-cors to v5.2.0 2021-01-25 08:30:00 +00:00
Kamil Mysliwiec
843116eea9 Merge pull request #6124 from nestjs/renovate/class-validator-0.x
fix(deps): update dependency class-validator to v0.13.1
2021-01-25 09:26:37 +01:00
Kamil Mysliwiec
3af5404401 Merge pull request #6224 from nestjs/renovate/nestjs-graphql-7.x
fix(deps): update dependency @nestjs/graphql to v7.9.8
2021-01-25 09:25:55 +01:00
Kamil Mysliwiec
9a6610cb07 Merge pull request #6202 from nestjs/renovate/node-14.x
chore(deps): update dependency @types/node to v14.14.22
2021-01-25 09:25:44 +01:00
Kamil Mysliwiec
a76a6e4a30 Merge pull request #6230 from nestjs/dependabot/npm_and_yarn/nestjs/graphql-7.9.8
chore(deps-dev): bump @nestjs/graphql from 7.9.7 to 7.9.8
2021-01-25 09:21:16 +01:00
Renovate Bot
d063c4772d fix(deps): update dependency @nestjs/graphql to v7.9.8 2021-01-25 08:20:24 +00:00
Renovate Bot
64d78a9c80 chore(deps): update dependency @types/node to v14.14.22 2021-01-25 07:59:35 +00:00
Kamil Mysliwiec
efe4884c27 Merge pull request #6188 from nestjs/renovate/eslint-config-prettier-7.x
chore(deps): update dependency eslint-config-prettier to v7.2.0
2021-01-25 08:48:17 +01:00
Kamil Mysliwiec
5ebd3353b1 Merge pull request #6222 from nestjs/renovate/nestjs-schematics-7.x
chore(deps): update dependency @nestjs/schematics to v7.2.7
2021-01-25 08:47:58 +01:00
Kamil Mysliwiec
5d2fa36556 Merge pull request #6223 from nestjs/renovate/webpack-5.x
chore(deps): update dependency webpack to v5.17.0
2021-01-25 08:47:51 +01:00
Kamil Mysliwiec
1440ccaa4b Merge pull request #6225 from nestjs/renovate/nestjs-schedule-0.x
fix(deps): update dependency @nestjs/schedule to v0.4.2
2021-01-25 08:47:41 +01:00
Kamil Mysliwiec
42262df197 Merge pull request #6229 from nestjs/dependabot/npm_and_yarn/class-validator-0.13.1
chore(deps): bump class-validator from 0.12.2 to 0.13.1
2021-01-25 08:47:29 +01:00
dependabot[bot]
6f119c843c chore(deps-dev): bump @nestjs/graphql from 7.9.7 to 7.9.8
Bumps [@nestjs/graphql](https://github.com/nestjs/graphql) from 7.9.7 to 7.9.8.
- [Release notes](https://github.com/nestjs/graphql/releases)
- [Changelog](https://github.com/nestjs/graphql/blob/master/.release-it.json)
- [Commits](https://github.com/nestjs/graphql/compare/7.9.7...7.9.8)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-25 05:38:54 +00:00
dependabot[bot]
cb0564d77a chore(deps): bump class-validator from 0.12.2 to 0.13.1
Bumps [class-validator](https://github.com/typestack/class-validator) from 0.12.2 to 0.13.1.
- [Release notes](https://github.com/typestack/class-validator/releases)
- [Changelog](https://github.com/typestack/class-validator/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/typestack/class-validator/compare/v0.12.2...v0.13.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-25 05:36:01 +00:00
Renovate Bot
d28c25618d fix(deps): update dependency class-validator to v0.13.1 2021-01-22 15:21:18 +00:00
Renovate Bot
4a57915f5a fix(deps): update dependency @nestjs/schedule to v0.4.2 2021-01-22 14:58:33 +00:00
Renovate Bot
3188b801bd chore(deps): update dependency webpack to v5.17.0 2021-01-22 14:54:06 +00:00
Renovate Bot
b7e46f45d4 chore(deps): update dependency eslint-config-prettier to v7.2.0 2021-01-22 14:53:19 +00:00
Renovate Bot
993e5f4a91 chore(deps): update dependency @nestjs/schematics to v7.2.7 2021-01-22 14:27:35 +00:00
Kamil Myśliwiec
bc394eabb2 sample(07-sequelize): fix sample 2021-01-22 15:13:00 +01:00
Kamil Mysliwiec
0b874e7dfc Merge pull request #6220 from nestjs/renovate/nestjs-graphql-7.x
fix(deps): update dependency @nestjs/graphql to v7.9.7
2021-01-22 13:07:39 +01:00
Renovate Bot
a65fcd1472 fix(deps): update dependency @nestjs/graphql to v7.9.7 2021-01-22 10:55:03 +00:00
Kamil Mysliwiec
159cdce1f1 Merge pull request #6214 from nestjs/renovate/nestjs-graphql-7.x
fix(deps): update dependency @nestjs/graphql to v7.9.6
2021-01-22 09:51:17 +01:00
Kamil Mysliwiec
b298b8bc92 Merge pull request #6215 from nestjs/renovate/nestjs-swagger-4.x
fix(deps): update dependency @nestjs/swagger to v4.7.12
2021-01-22 09:49:39 +01:00
Renovate Bot
53226211f7 fix(deps): update dependency @nestjs/graphql to v7.9.6 2021-01-22 08:42:36 +00:00
Kamil Mysliwiec
d4bb87c5eb Merge pull request #6208 from nestjs/renovate/grpc-proto-loader-0.x
fix(deps): update dependency @grpc/proto-loader to v0.5.6
2021-01-22 09:39:39 +01:00
Kamil Mysliwiec
fa4642f70f Merge pull request #6218 from nestjs/dependabot/npm_and_yarn/nestjs/graphql-7.9.6
chore(deps-dev): bump @nestjs/graphql from 7.9.5 to 7.9.6
2021-01-22 09:39:12 +01:00
dependabot[bot]
c4c1b7c6a5 chore(deps-dev): bump @nestjs/graphql from 7.9.5 to 7.9.6
Bumps [@nestjs/graphql](https://github.com/nestjs/graphql) from 7.9.5 to 7.9.6.
- [Release notes](https://github.com/nestjs/graphql/releases)
- [Changelog](https://github.com/nestjs/graphql/blob/master/.release-it.json)
- [Commits](https://github.com/nestjs/graphql/compare/7.9.5...7.9.6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-22 05:25:16 +00:00
Renovate Bot
2be4c4cd70 fix(deps): update dependency @nestjs/swagger to v4.7.12 2021-01-21 14:26:02 +00:00
Renovate Bot
76289893d7 fix(deps): update dependency @grpc/proto-loader to v0.5.6 2021-01-21 14:07:44 +00:00
Kamil Mysliwiec
b3e654e84d Merge pull request #6209 from nestjs/dependabot/npm_and_yarn/types/cache-manager-3.4.0
chore(deps-dev): bump @types/cache-manager from 2.10.3 to 3.4.0
2021-01-21 10:05:56 +01:00
Kamil Mysliwiec
668d781b6c Merge pull request #6206 from nestjs/renovate/mongoose-5.x
fix(deps): update dependency mongoose to v5.11.13
2021-01-21 10:05:48 +01:00
Kamil Mysliwiec
fb45437621 Merge pull request #6211 from nestjs/dependabot/npm_and_yarn/mongoose-5.11.13
chore(deps-dev): bump mongoose from 5.11.12 to 5.11.13
2021-01-21 09:23:15 +01:00
dependabot[bot]
0c7bf92086 chore(deps-dev): bump @types/cache-manager from 2.10.3 to 3.4.0
Bumps [@types/cache-manager](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/cache-manager) from 2.10.3 to 3.4.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/cache-manager)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-21 08:15:13 +00:00
dependabot[bot]
091d09fde2 chore(deps-dev): bump mongoose from 5.11.12 to 5.11.13
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.11.12 to 5.11.13.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/History.md)
- [Commits](https://github.com/Automattic/mongoose/compare/5.11.12...5.11.13)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-21 08:14:29 +00:00
Kamil Mysliwiec
653f0a4281 Merge pull request #6210 from nestjs/dependabot/npm_and_yarn/grpc/proto-loader-0.5.6
chore(deps-dev): bump @grpc/proto-loader from 0.5.5 to 0.5.6
2021-01-21 09:09:52 +01:00
dependabot[bot]
48d899d025 chore(deps-dev): bump @grpc/proto-loader from 0.5.5 to 0.5.6
Bumps [@grpc/proto-loader](https://github.com/grpc/grpc-node) from 0.5.5 to 0.5.6.
- [Release notes](https://github.com/grpc/grpc-node/releases)
- [Commits](https://github.com/grpc/grpc-node/commits/@grpc/proto-loader@0.5.6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-21 08:08:22 +00:00
Renovate Bot
81f3161f7c fix(deps): update dependency mongoose to v5.11.13 2021-01-21 08:06:47 +00:00
Kamil Mysliwiec
0f29446c65 Merge pull request #6194 from nestjs/dependabot/npm_and_yarn/eslint-config-prettier-7.2.0
chore(deps-dev): bump eslint-config-prettier from 7.1.0 to 7.2.0
2021-01-21 09:01:06 +01:00
Kamil Mysliwiec
1b31a744a8 Merge pull request #6199 from nestjs/renovate/webpack-5.x
chore(deps): update dependency webpack to v5.16.0
2021-01-20 11:02:36 +01:00
Renovate Bot
0fe31b9bc8 chore(deps): update dependency webpack to v5.16.0 2021-01-20 07:31:32 +00:00
dependabot[bot]
5da5a4ad58 chore(deps-dev): bump eslint-config-prettier from 7.1.0 to 7.2.0
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 7.1.0 to 7.2.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v7.1.0...v7.2.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-20 07:07:48 +00:00
Kamil Mysliwiec
2abb9b2154 Merge pull request #6203 from nestjs/dependabot/npm_and_yarn/types/node-14.14.22
chore(deps-dev): bump @types/node from 14.14.21 to 14.14.22
2021-01-20 08:03:38 +01:00
Kamil Mysliwiec
43f053ab21 Merge pull request #6196 from nestjs/renovate/webpack-cli-4.x
chore(deps): update dependency webpack-cli to v4.4.0
2021-01-20 08:03:04 +01:00
Kamil Mysliwiec
a74725d585 Merge pull request #6192 from nestjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-4.14.0
chore(deps-dev): bump @typescript-eslint/eslint-plugin from 4.13.0 to 4.14.0
2021-01-20 08:00:38 +01:00
Kamil Mysliwiec
51f5de8333 Merge pull request #6186 from nestjs/renovate/typescript-eslint-monorepo
chore(deps): update typescript-eslint monorepo to v4.14.0
2021-01-20 07:59:58 +01:00
Kamil Mysliwiec
0c8b004bf9 Merge pull request #6204 from nestjs/dependabot/npm_and_yarn/core-js-3.8.3
chore(deps-dev): bump core-js from 3.8.2 to 3.8.3
2021-01-20 07:59:24 +01:00
dependabot[bot]
3ce92c7883 chore(deps-dev): bump core-js from 3.8.2 to 3.8.3
Bumps [core-js](https://github.com/zloirock/core-js) from 3.8.2 to 3.8.3.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/compare/v3.8.2...v3.8.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-20 05:17:17 +00:00
dependabot[bot]
3bbde4c26c chore(deps-dev): bump @types/node from 14.14.21 to 14.14.22
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.21 to 14.14.22.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-20 05:14:40 +00:00
Renovate Bot
a48107ef92 chore(deps): update dependency webpack-cli to v4.4.0 2021-01-19 13:29:00 +00:00
Renovate Bot
b7990aa5b1 chore(deps): update typescript-eslint monorepo to v4.14.0 2021-01-19 08:35:09 +00:00
dependabot[bot]
07737aa371 chore(deps-dev): bump @typescript-eslint/eslint-plugin
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 4.13.0 to 4.14.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.14.0/packages/eslint-plugin)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-19 08:08:17 +00:00
Kamil Mysliwiec
ca7b79532f Merge pull request #6163 from nestjs/dependabot/npm_and_yarn/class-transformer-0.3.2
chore(deps): bump class-transformer from 0.3.1 to 0.3.2
2021-01-19 09:05:26 +01:00
Kamil Mysliwiec
ad6ce62f0e Merge pull request #6187 from nestjs/renovate/bull-3.x
chore(deps): update dependency @types/bull to v3.15.0
2021-01-19 09:04:07 +01:00
Kamil Mysliwiec
4c814a2d85 Merge pull request #6190 from nestjs/renovate/docker-mysql-5.x
chore(deps): update mysql docker tag to v5.7.33
2021-01-19 09:04:00 +01:00
Kamil Mysliwiec
1dbb8ff3db Merge pull request #6189 from nestjs/renovate/sequelize-6.x
fix(deps): update dependency sequelize to v6.4.0
2021-01-19 09:03:49 +01:00
Kamil Mysliwiec
c6780a3a91 Merge pull request #6193 from nestjs/dependabot/npm_and_yarn/typescript-eslint/parser-4.14.0
chore(deps-dev): bump @typescript-eslint/parser from 4.13.0 to 4.14.0
2021-01-19 09:03:30 +01:00
dependabot[bot]
1945f8d24a chore(deps-dev): bump @typescript-eslint/parser from 4.13.0 to 4.14.0
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 4.13.0 to 4.14.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.14.0/packages/parser)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-19 05:24:49 +00:00
Renovate Bot
ccd4fdae58 chore(deps): update mysql docker tag to v5.7.33 2021-01-19 00:01:32 +00:00
Renovate Bot
817d9f45e0 fix(deps): update dependency sequelize to v6.4.0 2021-01-18 20:51:31 +00:00
Renovate Bot
9362db8042 chore(deps): update dependency @types/bull to v3.15.0 2021-01-18 20:37:09 +00:00
dependabot[bot]
2fb5f4dd16 chore(deps): bump class-transformer from 0.3.1 to 0.3.2
Bumps [class-transformer](https://github.com/typestack/class-transformer) from 0.3.1 to 0.3.2.
- [Release notes](https://github.com/typestack/class-transformer/releases)
- [Changelog](https://github.com/typestack/class-transformer/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/typestack/class-transformer/compare/v0.3.1...v0.3.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-18 08:52:25 +00:00
Kamil Mysliwiec
a400be366b Merge pull request #6176 from nestjs/renovate/eslint-7.x
chore(deps): update dependency eslint to v7.18.0
2021-01-18 09:20:54 +01:00
Renovate Bot
7267409d91 chore(deps): update dependency eslint to v7.18.0 2021-01-17 11:51:47 +00:00
Kamil Mysliwiec
fa494041c8 Merge pull request #6167 from nestjs/renovate/fastify-3.x
fix(deps): update dependency fastify to v3.10.1
2021-01-17 12:31:14 +01:00
Kamil Mysliwiec
af4f041d6a Merge pull request #6168 from nestjs/renovate/nestjs-swagger-4.x
fix(deps): update dependency @nestjs/swagger to v4.7.11
2021-01-17 12:23:18 +01:00
Kamil Mysliwiec
562b2bb175 Merge pull request #6170 from nestjs/renovate/nestjs-graphql-7.x
fix(deps): update dependency @nestjs/graphql to v7.9.5
2021-01-17 12:23:10 +01:00
Kamil Mysliwiec
36c2a35614 Merge pull request #6171 from nestjs/renovate/supertest-6.x
chore(deps): update dependency supertest to v6.1.1
2021-01-17 12:23:02 +01:00
Kamil Mysliwiec
fb4cc36c75 Merge pull request #6173 from nestjs/renovate/webpack-5.x
chore(deps): update dependency webpack to v5.15.0
2021-01-17 12:22:57 +01:00
Kamil Mysliwiec
7386204da6 Merge pull request #6177 from nestjs/renovate/husky-4.x
chore(deps): update dependency husky to v4.3.8
2021-01-17 12:22:41 +01:00
Renovate Bot
d99370bb1d chore(deps): update dependency husky to v4.3.8 2021-01-16 00:53:14 +00:00
Renovate Bot
90fcd3599e chore(deps): update dependency supertest to v6.1.1 2021-01-15 19:20:48 +00:00
Renovate Bot
e3a66d1902 chore(deps): update dependency webpack to v5.15.0 2021-01-15 17:28:52 +00:00
Renovate Bot
71cab143e6 fix(deps): update dependency @nestjs/graphql to v7.9.5 2021-01-15 15:03:53 +00:00
Renovate Bot
3357fe0349 fix(deps): update dependency @nestjs/swagger to v4.7.11 2021-01-15 13:30:55 +00:00
Kamil Mysliwiec
be0cdfe7e6 Merge pull request #6165 from nestjs/renovate/fast-json-stringify-2.x
fix(deps): update dependency fast-json-stringify to v2.4.1
2021-01-15 13:10:11 +01:00
Renovate Bot
c9c92b47de fix(deps): update dependency fastify to v3.10.1 2021-01-15 12:09:31 +00:00
Kamil Mysliwiec
6fb25e93e2 Merge pull request #6155 from nestjs/renovate/apollo-graphql-packages
fix(deps): update apollo graphql packages to v2.19.2
2021-01-15 13:06:04 +01:00
Kamil Mysliwiec
6957b52afe Merge pull request #6156 from nestjs/renovate/node-14.x
chore(deps): update dependency @types/node to v14.14.21
2021-01-15 13:05:54 +01:00
Kamil Mysliwiec
5b7eae83e0 Merge pull request #6166 from nestjs/renovate/fastify-3.x
fix(deps): update dependency fastify to v3.10.0
2021-01-15 13:05:33 +01:00
Renovate Bot
52546cc62e fix(deps): update dependency fastify to v3.10.0 2021-01-15 10:36:34 +00:00
Renovate Bot
d43c4d7510 fix(deps): update dependency fast-json-stringify to v2.4.1 2021-01-15 10:01:20 +00:00
Kamil Mysliwiec
b4c24cc17e Merge pull request #6157 from nestjs/renovate/mongoose-5.x
fix(deps): update dependency mongoose to v5.11.12
2021-01-15 09:12:01 +01:00
Renovate Bot
119190ad75 fix(deps): update dependency mongoose to v5.11.12 2021-01-14 22:32:03 +00:00
Renovate Bot
3361cfd236 chore(deps): update dependency @types/node to v14.14.21 2021-01-14 22:28:52 +00:00
Renovate Bot
0cf4409869 fix(deps): update apollo graphql packages to v2.19.2 2021-01-14 17:24:06 +00:00
Kamil Mysliwiec
5028393d57 Merge pull request #6154 from nestjs/renovate/fastify-static-3.x
fix(deps): update dependency fastify-static to v3.4.0
2021-01-14 16:07:35 +01:00
Renovate Bot
05b771a9c2 fix(deps): update dependency fastify-static to v3.4.0 2021-01-14 14:09:48 +00:00
Kamil Mysliwiec
d972d9ad8f Merge pull request #6150 from nestjs/renovate/nestjs-mongoose-7.x
fix(deps): update dependency @nestjs/mongoose to v7.2.2
2021-01-14 11:03:51 +01:00
Renovate Bot
668968faa9 fix(deps): update dependency @nestjs/mongoose to v7.2.2 2021-01-14 09:38:03 +00:00
Kamil Mysliwiec
d588b8bc68 Merge pull request #6147 from nestjs/dependabot/npm_and_yarn/engine.io-client-4.1.0
chore(deps-dev): bump engine.io-client from 4.0.6 to 4.1.0
2021-01-14 09:07:28 +01:00
Kamil Mysliwiec
1a0922a58b Merge pull request #6145 from nestjs/renovate/webpack-5.x
chore(deps): update dependency webpack to v5.14.0
2021-01-14 08:38:14 +01:00
dependabot[bot]
cd04a8d58a chore(deps-dev): bump engine.io-client from 4.0.6 to 4.1.0
Bumps [engine.io-client](https://github.com/socketio/engine.io-client) from 4.0.6 to 4.1.0.
- [Release notes](https://github.com/socketio/engine.io-client/releases)
- [Changelog](https://github.com/socketio/engine.io-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/socketio/engine.io-client/compare/4.0.6...4.1.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-14 05:23:02 +00:00
Renovate Bot
ff935dac06 chore(deps): update dependency webpack to v5.14.0 2021-01-14 00:36:43 +00:00
Kamil Myśliwiec
ba2f5ae63a chore(): update LICENSE file 2021-01-13 13:25:04 +01:00
Kamil Mysliwiec
0d67f823d5 Merge pull request #6071 from nvdnkpr/master
feat(testing): adds builder method for optional custom logger
2021-01-13 12:48:56 +01:00
Kamil Mysliwiec
f001a9ab83 Merge pull request #5994 from sztadii/chore/linter-fix
chore: Run linter without --fix on CI
2021-01-13 11:48:21 +01:00
Kamil Myśliwiec
8bc4e92d21 Merge branch 'nean-update-class-validator' 2021-01-13 11:45:10 +01:00
Kamil Myśliwiec
d2d951870c docs(common): fix jsdoc comment 2021-01-13 11:44:55 +01:00
Kamil Myśliwiec
29e158ac66 Merge branch 'update-class-validator' of https://github.com/nean/nest into nean-update-class-validator 2021-01-13 11:35:50 +01:00
Kamil Mysliwiec
29192b38e4 Merge pull request #6062 from Tony133/chore/microservice-nats-options
chore(microservice): updated nats options
2021-01-13 11:30:58 +01:00
Kamil Mysliwiec
e6e11b9cf1 Update packages/testing/testing-module.builder.ts 2021-01-13 11:30:44 +01:00
Kamil Mysliwiec
38974dc290 Merge pull request #6082 from WonderPanda/feat/types-for-microservices-custom-strategy
fix(microservices): custom strategy typings
2021-01-13 11:30:12 +01:00
Kamil Mysliwiec
8b86d836c3 Merge pull request #6126 from nestjs/renovate/express-4.x
chore(deps): update dependency @types/express to v4.17.11
2021-01-13 10:55:33 +01:00
Renovate Bot
967206ca5d chore(deps): update dependency @types/express to v4.17.11 2021-01-13 09:00:21 +00:00
Kamil Mysliwiec
ca830a8519 Merge pull request #6139 from nestjs/dependabot/npm_and_yarn/types/express-4.17.11
chore(deps-dev): bump @types/express from 4.17.9 to 4.17.11
2021-01-13 09:48:12 +01:00
dependabot[bot]
ce28bee865 chore(deps-dev): bump @types/express from 4.17.9 to 4.17.11
Bumps [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express) from 4.17.9 to 4.17.11.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/express)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-13 05:25:37 +00:00
Kamil Mysliwiec
9e20b0a858 Merge pull request #6135 from nestjs/renovate/typeorm-0.x
fix(deps): update dependency typeorm to v0.2.30
2021-01-12 17:00:16 +01:00
Renovate Bot
b60691737f fix(deps): update dependency typeorm to v0.2.30 2021-01-12 13:38:50 +00:00
Kamil Mysliwiec
41415b5b91 Merge pull request #6127 from nestjs/renovate/webpack-5.x
chore(deps): update dependency webpack to v5.13.0
2021-01-12 11:56:31 +01:00
Kamil Mysliwiec
65d2fac038 Merge pull request #6132 from nestjs/renovate/nestjs-swagger-4.x
fix(deps): update dependency @nestjs/swagger to v4.7.10
2021-01-12 11:56:21 +01:00
Renovate Bot
fe0b7bc95b fix(deps): update dependency @nestjs/swagger to v4.7.10 2021-01-12 10:27:10 +00:00
Renovate Bot
b876a5542c chore(deps): update dependency webpack to v5.13.0 2021-01-12 10:26:33 +00:00
Neranjen
b14c7de30b fix(common): update class-validator interfaces 2021-01-12 15:41:06 +05:30
Kamil Mysliwiec
439512a748 Merge pull request #6125 from nestjs/renovate/typescript-eslint-monorepo
chore(deps): update typescript-eslint monorepo to v4.13.0
2021-01-12 09:07:23 +01:00
Renovate Bot
fa0024e581 chore(deps): update typescript-eslint monorepo to v4.13.0 2021-01-11 19:52:27 +00:00
Kamil Mysliwiec
854522eb88 Merge pull request #6099 from nestjs/renovate/fast-json-stringify-2.x
fix(deps): update dependency fast-json-stringify to v2.3.1
2021-01-11 08:47:17 +01:00
Kamil Mysliwiec
3f67e9a0f2 Merge pull request #6102 from nestjs/renovate/point-of-view-4.x
fix(deps): update dependency point-of-view to v4.8.0
2021-01-11 08:47:11 +01:00
Kamil Mysliwiec
b5a92dd1be Merge pull request #6103 from nestjs/renovate/socket.io-packages
fix(deps): update dependency socket.io to v2.4.1
2021-01-11 08:47:04 +01:00
Kamil Mysliwiec
9c15dc692d Merge pull request #6111 from nestjs/renovate/webpack-5.x
chore(deps): update dependency webpack to v5.12.3
2021-01-11 08:46:48 +01:00
Kamil Mysliwiec
7efeba63c6 Merge pull request #6113 from nestjs/renovate/gulp-4.x
chore(deps): update dependency @types/gulp to v4.0.8
2021-01-11 08:46:25 +01:00
Kamil Mysliwiec
1db29b3632 Merge pull request #6114 from nestjs/renovate/mongoose-5.x
fix(deps): update dependency mongoose to v5.11.11
2021-01-11 08:46:08 +01:00
Renovate Bot
32d06a2bea chore(deps): update dependency webpack to v5.12.3 2021-01-10 19:47:02 +00:00
Renovate Bot
a04d19b339 fix(deps): update dependency point-of-view to v4.8.0 2021-01-09 07:42:39 +00:00
Renovate Bot
27e1748ae9 fix(deps): update dependency fast-json-stringify to v2.3.1 2021-01-09 07:39:28 +00:00
Renovate Bot
025fb6bae9 fix(deps): update dependency mongoose to v5.11.11 2021-01-08 18:27:21 +00:00
Renovate Bot
d7fafd59ab chore(deps): update dependency @types/gulp to v4.0.8 2021-01-08 17:22:48 +00:00
Renovate Bot
54514b636b fix(deps): update dependency socket.io to v2.4.1 2021-01-07 12:13:06 +00:00
Kamil Mysliwiec
b0de6b20c7 Merge pull request #6070 from nestjs/renovate/mongoose-5.x
fix(deps): update dependency mongoose to v5.11.10
2021-01-07 13:05:38 +01:00
Kamil Mysliwiec
d13fad341a Merge pull request #6101 from nestjs/renovate/nestjs-mongoose-7.x
fix(deps): update dependency @nestjs/mongoose to v7.2.1
2021-01-07 13:05:03 +01:00
Kamil Mysliwiec
ad955270cf Merge pull request #6091 from nestjs/renovate/nodemon-2.x
chore(deps): update dependency nodemon to v2.0.7
2021-01-07 11:53:59 +01:00
Kamil Mysliwiec
7f300dc640 Merge pull request #6098 from nestjs/renovate/jest-26.x
chore(deps): update dependency @types/jest to v26.0.20
2021-01-07 11:53:51 +01:00
Kamil Mysliwiec
06b220fd92 Merge pull request #6039 from nestjs/renovate/typescript-eslint-monorepo
chore(deps): update typescript-eslint monorepo to v4.12.0
2021-01-07 11:50:04 +01:00
Renovate Bot
d823d9bf75 fix(deps): update dependency @nestjs/mongoose to v7.2.1 2021-01-07 10:13:53 +00:00
Renovate Bot
a58db3a89d chore(deps): update dependency nodemon to v2.0.7 2021-01-07 10:10:03 +00:00
Kamil Mysliwiec
3b8e4172e7 Merge pull request #6095 from nestjs/dependabot/npm_and_yarn/sinon-9.2.3
chore(deps-dev): bump sinon from 9.2.2 to 9.2.3
2021-01-07 11:08:08 +01:00
Kamil Mysliwiec
6cd9b7e6d4 Merge pull request #6097 from nestjs/dependabot/npm_and_yarn/nodemon-2.0.7
chore(deps-dev): bump nodemon from 2.0.6 to 2.0.7
2021-01-07 11:07:56 +01:00
Renovate Bot
989582529b fix(deps): update dependency mongoose to v5.11.10 2021-01-07 09:34:40 +00:00
Renovate Bot
5210db3050 chore(deps): update dependency @types/jest to v26.0.20 2021-01-07 09:30:09 +00:00
Kamil Mysliwiec
ae76f46e3c Merge pull request #6083 from nestjs/renovate/fastify-static-3.x
fix(deps): update dependency fastify-static to v3.3.1
2021-01-07 10:25:53 +01:00
Renovate Bot
9c102342d9 chore(deps): update typescript-eslint monorepo to v4.12.0 2021-01-07 09:17:47 +00:00
dependabot[bot]
7e79847c61 chore(deps-dev): bump nodemon from 2.0.6 to 2.0.7
Bumps [nodemon](https://github.com/remy/nodemon) from 2.0.6 to 2.0.7.
- [Release notes](https://github.com/remy/nodemon/releases)
- [Commits](https://github.com/remy/nodemon/compare/v2.0.6...v2.0.7)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-07 08:58:25 +00:00
dependabot[bot]
da4fc69e2b chore(deps-dev): bump sinon from 9.2.2 to 9.2.3
Bumps [sinon](https://github.com/sinonjs/sinon) from 9.2.2 to 9.2.3.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v9.2.2...v9.2.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-07 08:58:23 +00:00
Kamil Mysliwiec
25b6e501f8 Merge pull request #6078 from nestjs/dependabot/npm_and_yarn/engine.io-client-4.0.6
chore(deps-dev): bump engine.io-client from 4.0.5 to 4.0.6
2021-01-07 09:56:01 +01:00
Kamil Mysliwiec
1f4f8222b1 Merge pull request #6014 from nestjs/renovate/node-14.x
chore(deps): update dependency @types/node to v14.14.20
2021-01-07 09:30:25 +01:00
Renovate Bot
a85cd23088 fix(deps): update dependency fastify-static to v3.3.1 2021-01-07 08:19:04 +00:00
dependabot[bot]
b0cc4a2ec5 chore(deps-dev): bump engine.io-client from 4.0.5 to 4.0.6
Bumps [engine.io-client](https://github.com/socketio/engine.io-client) from 4.0.5 to 4.0.6.
- [Release notes](https://github.com/socketio/engine.io-client/releases)
- [Changelog](https://github.com/socketio/engine.io-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/socketio/engine.io-client/compare/4.0.5...4.0.6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-07 07:52:34 +00:00
Kamil Mysliwiec
e235bcfcd5 Merge pull request #6079 from nestjs/dependabot/npm_and_yarn/typescript-eslint/parser-4.12.0
chore(deps-dev): bump @typescript-eslint/parser from 4.11.1 to 4.12.0
2021-01-07 08:50:34 +01:00
Kamil Mysliwiec
4841d48e93 Merge pull request #6084 from nestjs/renovate/ts-loader-8.x
chore(deps): update dependency ts-loader to v8.0.14
2021-01-07 08:50:25 +01:00
Kamil Mysliwiec
dac636f0c1 Merge pull request #6086 from nestjs/dependabot/npm_and_yarn/fastify-static-3.3.1
chore(deps-dev): bump fastify-static from 3.3.0 to 3.3.1
2021-01-07 08:50:15 +01:00
Kamil Mysliwiec
dfefa63697 Merge pull request #6089 from nestjs/dependabot/npm_and_yarn/tslib-2.1.0
chore(deps): bump tslib from 2.0.3 to 2.1.0
2021-01-07 08:50:03 +01:00
Kamil Mysliwiec
30e90b7a3a Merge pull request #6096 from nestjs/dependabot/npm_and_yarn/husky-4.3.7
chore(deps-dev): bump husky from 4.3.6 to 4.3.7
2021-01-07 08:49:50 +01:00
dependabot[bot]
045983d7aa chore(deps-dev): bump husky from 4.3.6 to 4.3.7
Bumps [husky](https://github.com/typicode/husky) from 4.3.6 to 4.3.7.
- [Release notes](https://github.com/typicode/husky/releases)
- [Commits](https://github.com/typicode/husky/compare/v4.3.6...v4.3.7)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-07 05:26:50 +00:00
dependabot[bot]
660be0ed86 chore(deps): bump tslib from 2.0.3 to 2.1.0
Bumps [tslib](https://github.com/Microsoft/tslib) from 2.0.3 to 2.1.0.
- [Release notes](https://github.com/Microsoft/tslib/releases)
- [Commits](https://github.com/Microsoft/tslib/compare/2.0.3...2.1.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-06 05:18:56 +00:00
dependabot[bot]
c523845855 chore(deps-dev): bump fastify-static from 3.3.0 to 3.3.1
Bumps [fastify-static](https://github.com/fastify/fastify-static) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/fastify/fastify-static/releases)
- [Commits](https://github.com/fastify/fastify-static/compare/v3.3.0...v3.3.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-06 05:08:48 +00:00
Renovate Bot
d560888761 chore(deps): update dependency ts-loader to v8.0.14 2021-01-05 19:47:51 +00:00
Jesse Carter
fdd678c013 fix(microservices): custom strategy typings 2021-01-05 08:05:02 -05:00
Renovate Bot
4950c53586 chore(deps): update dependency @types/node to v14.14.20 2021-01-05 09:25:28 +00:00
dependabot[bot]
57ebb8e04e chore(deps-dev): bump @typescript-eslint/parser from 4.11.1 to 4.12.0
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 4.11.1 to 4.12.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.12.0/packages/parser)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-05 07:56:56 +00:00
Kamil Mysliwiec
e77b185828 Merge pull request #6048 from nestjs/renovate/ws-7.x
fix(deps): update dependency ws to v7.4.2
2021-01-05 08:50:13 +01:00
Kamil Mysliwiec
bc74ef28a3 Merge pull request #6074 from nestjs/renovate/socket.io-packages
fix(deps): update socket.io packages to v2.4.0
2021-01-05 08:48:14 +01:00
Kamil Mysliwiec
9e6667f9e8 Merge pull request #6076 from nestjs/dependabot/npm_and_yarn/mongoose-5.11.10
chore(deps-dev): bump mongoose from 5.11.9 to 5.11.10
2021-01-05 08:47:58 +01:00
Kamil Mysliwiec
d74ae63e83 Merge pull request #6077 from nestjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-4.12.0
chore(deps-dev): bump @typescript-eslint/eslint-plugin from 4.11.1 to 4.12.0
2021-01-05 08:47:51 +01:00
Kamil Mysliwiec
a4c475ddc2 Merge pull request #6080 from nestjs/dependabot/npm_and_yarn/types/node-14.14.20
chore(deps-dev): bump @types/node from 14.14.17 to 14.14.20
2021-01-05 08:45:36 +01:00
dependabot[bot]
aa4c8608ed chore(deps-dev): bump @types/node from 14.14.17 to 14.14.20
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.17 to 14.14.20.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-05 05:23:28 +00:00
dependabot[bot]
13b366878e chore(deps-dev): bump @typescript-eslint/eslint-plugin
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 4.11.1 to 4.12.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.12.0/packages/eslint-plugin)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-05 05:17:26 +00:00
dependabot[bot]
c6bf80f76c chore(deps-dev): bump mongoose from 5.11.9 to 5.11.10
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.11.9 to 5.11.10.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/History.md)
- [Commits](https://github.com/Automattic/mongoose/compare/5.11.9...5.11.10)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-05 05:15:33 +00:00
Renovate Bot
3080f75534 fix(deps): update socket.io packages to v2.4.0 2021-01-05 00:18:38 +00:00
Navid Nikpour
766218aad1 feat(testing): Changes Logger to LoggerService
to require the same interface that the underlying Logger class is expecting
2021-01-05 00:14:52 +01:00
Navid Nikpour
d6b2266615 feat(testing): adds builder method for optional custom logger
Adds a method that enables to set a new custom logger (extended from the Logger class) for testing. If this method is not used (therefore the logger gets never set) it falls back to the already existing TestingLogger of the testing module.
2021-01-04 22:53:13 +01:00
Renovate Bot
344f6a6efc fix(deps): update dependency ws to v7.4.2 2021-01-04 09:06:55 +00:00
Kamil Mysliwiec
9421dae875 Merge pull request #6040 from nestjs/renovate/mongoose-5.x
fix(deps): update dependency mongoose to v5.11.9
2021-01-04 09:40:20 +01:00
Kamil Mysliwiec
27dafd8292 Merge pull request #6044 from nestjs/renovate/nestjs-graphql-7.x
fix(deps): update dependency @nestjs/graphql to v7.9.4
2021-01-04 09:40:09 +01:00
Kamil Mysliwiec
5150334252 Merge pull request #6068 from nestjs/dependabot/npm_and_yarn/core-js-3.8.2
chore(deps-dev): bump core-js from 3.8.1 to 3.8.2
2021-01-04 09:39:34 +01:00
dependabot[bot]
6f9ae1c871 chore(deps-dev): bump core-js from 3.8.1 to 3.8.2
Bumps [core-js](https://github.com/zloirock/core-js) from 3.8.1 to 3.8.2.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/compare/v3.8.1...v3.8.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-04 05:36:19 +00:00
Renovate Bot
65c6c443a6 fix(deps): update dependency @nestjs/graphql to v7.9.4 2021-01-03 10:23:38 +00:00
Kamil Mysliwiec
732d378c62 Merge pull request #6058 from nestjs/renovate/webpack-cli-4.x
chore(deps): update dependency webpack-cli to v4.3.1
2021-01-03 10:57:46 +01:00
Kamil Mysliwiec
55033eb6b4 Merge pull request #6052 from nestjs/dependabot/npm_and_yarn/nestjs/graphql-7.9.4
chore(deps-dev): bump @nestjs/graphql from 7.9.2 to 7.9.4
2021-01-03 10:57:40 +01:00
Kamil Mysliwiec
5f103779b4 Merge pull request #6055 from nestjs/dependabot/npm_and_yarn/types/node-14.14.17
chore(deps-dev): bump @types/node from 14.14.16 to 14.14.17
2021-01-03 10:57:28 +01:00
Kamil Mysliwiec
2753474871 Merge pull request #6056 from nestjs/renovate/ts-loader-8.x
chore(deps): update dependency ts-loader to v8.0.13
2021-01-03 10:56:41 +01:00
Kamil Mysliwiec
aeec26c25a Merge pull request #6063 from nestjs/renovate/eslint-7.x
chore(deps): update dependency eslint to v7.17.0
2021-01-03 10:56:19 +01:00
Renovate Bot
55d7542cb1 chore(deps): update dependency eslint to v7.17.0 2021-01-02 03:41:39 +00:00
Tony133
987faa5f2e chore(microservice): added key for extra values 2021-01-01 22:52:17 +01:00
Tony133
c5aa2c7b01 chore(microservice): updated nats options ref:6054 2021-01-01 19:15:44 +01:00
Renovate Bot
73059b574f chore(deps): update dependency webpack-cli to v4.3.1 2020-12-31 18:49:22 +00:00
Renovate Bot
98c9674b26 chore(deps): update dependency ts-loader to v8.0.13 2020-12-31 07:04:05 +00:00
dependabot[bot]
a1c76b4a7e chore(deps-dev): bump @types/node from 14.14.16 to 14.14.17
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.16 to 14.14.17.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-31 05:06:15 +00:00
Renovate Bot
eabc87063e fix(deps): update dependency mongoose to v5.11.9 2020-12-30 10:12:34 +00:00
Kamil Mysliwiec
562cd3d6ee Merge pull request #6043 from nestjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-4.11.1
chore(deps-dev): bump @typescript-eslint/eslint-plugin from 4.11.0 to 4.11.1
2020-12-30 10:56:39 +01:00
Kamil Mysliwiec
4b35074d5c Merge pull request #6049 from nestjs/dependabot/npm_and_yarn/ws-7.4.2
chore(deps): bump ws from 7.4.1 to 7.4.2
2020-12-30 10:56:27 +01:00
dependabot[bot]
287b8a4371 chore(deps-dev): bump @nestjs/graphql from 7.9.2 to 7.9.4
Bumps [@nestjs/graphql](https://github.com/nestjs/graphql) from 7.9.2 to 7.9.4.
- [Release notes](https://github.com/nestjs/graphql/releases)
- [Changelog](https://github.com/nestjs/graphql/blob/master/.release-it.json)
- [Commits](https://github.com/nestjs/graphql/compare/7.9.2...7.9.4)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-30 09:42:30 +00:00
dependabot[bot]
b627789e7e chore(deps): bump ws from 7.4.1 to 7.4.2
Bumps [ws](https://github.com/websockets/ws) from 7.4.1 to 7.4.2.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.4.1...7.4.2)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-30 09:42:20 +00:00
Kamil Mysliwiec
c313e14add Merge pull request #6051 from nestjs/renovate/nest-monorepo
fix(deps): update nest monorepo to v7.6.5
2020-12-30 10:39:55 +01:00
Renovate Bot
a0a2aeba77 fix(deps): update nest monorepo to v7.6.5 2020-12-30 09:27:43 +00:00
dependabot[bot]
a2c6cb3ef9 chore(deps-dev): bump @typescript-eslint/eslint-plugin
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 4.11.0 to 4.11.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.11.1/packages/eslint-plugin)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-29 09:26:15 +00:00
Krystian Sztadhaus
86051702b8 chore: Run linter without --fix on CI 2020-12-21 22:26:44 +04:00
Andrew Dassonville
dd51cf8f51 feat(): accept array of host filters
Allows an array of host filters to be passed to the @Controller decorator.
2020-12-17 16:36:45 -08:00
Jay McDoniel
525ef91307 feat(microservice): adds tests for custom client proxy 2020-11-17 08:59:45 -08:00
Jay McDoniel
7dad2e479b feat(microservice): allow for custom serialization of data nad error 2020-11-17 07:01:43 -08:00
Jay McDoniel
530274e2c8 feat(microservice): allow for custom ClientProxy implementation 2020-11-17 07:01:42 -08:00
gabeodessru
d24d0381a2 sample(12): removed unused module method 2020-11-02 08:45:30 -06:00
gabeodessru
85dcf72508 sample(12): move owner tooling to its own service 2020-06-28 08:59:35 -05:00
gabeodessru
f4df4d9a9e sample(12): Example of how to use @ResolveField 2020-05-23 16:12:38 -05:00
141 changed files with 69041 additions and 18108 deletions

View File

@@ -1,6 +1,6 @@
(The MIT License)
Copyright (c) 2017-2020 Kamil Mysliwiec <https://kamilmysliwiec.com>
Copyright (c) 2017-2021 Kamil Mysliwiec <https://kamilmysliwiec.com>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the

View File

@@ -56,16 +56,21 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
#### Principal Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="180" valign="middle" /></a></td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td>
<td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="200" valign="middle" /></a></td>
</tr></table>
#### Gold Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="170" valign="middle" /></a></td></tr></table>
#### Silver Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://neoteric.eu/" target="_blank"><img src="https://nestjs.com/img/neoteric-cut.png" width="120" valign="middle" /></a> </td><td>
<a href="http://gojob.com" target="_blank"><img src="http://nestjs.com/img/gojob-logo.png" valign="middle" width="100" /></a> </td><td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="170" valign="middle" /></a> </td><td>
<a href="http://www.leogistics.com" target="_blank"><img src="https://nestjs.com/img/leogistics-logo.jpeg" width="150" valign="middle" /></td><td>
<a href="http://www.meetdandy.com" target="_blank"><img src="https://nestjs.com/img/dandy-wide-logo.png" width="150" valign="middle" /></td></tr></table>
@@ -90,6 +95,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle">
<a href="https://genuinebee.com/" target="_blank"><img src="https://nestjs.com/img/genuinebee.svg" width="97" valign="middle" /></a> </td>
<td align="center" valign="middle"><a href="https://sanyodigital.com/" target="_blank"><img src="https://nestjs.com/img/sanyo-digital.png" width="130" valign="middle" /></a></td></tr><tr><td align="center" valign="middle"><a href="https://vpn-review.com/vpn-for-torrenting" target="_blank"><img src="https://nestjs.com/img/vpn-review-logo.png" width="85" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://lambda-it.ch/" target="_blank"><img src="https://nestjs.com/img/lambda-it-logo.svg" width="115" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://pickwriters.com/top-10-translation-services" target="_blank"><img src="https://nestjs.com/img/pickwriters-logo.png" width="40" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://thewordpoint.com/services/localization" target="_blank"><img src="https://nestjs.com/img/thewordpoint-logo.png" width="40" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://streamat.se/" target="_blank"><img src="https://nestjs.com/img/streamat-logo.png" width="120" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://filmen.nu/" target="_blank"><img src="https://nestjs.com/img/filmen-logo.png" width="120" valign="middle" /></a></td></tr><tr>
<td align="center" valign="middle"><a href="https://meercode.io/" target="_blank"><img src="https://nestjs.com/img/meercode-logo.png" width="60" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.najlepszeplatformyforex.pl/blog/broker-xtb/" target="_blank"><img src="https://nestjs.com/img/npf-logo.jpg" width="200" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://thestandarddaily.com/" target="_blank"><img src="https://nestjs.com/img/the-standard-daily-logo.png" width="180" valign="middle" /></a></td>
</tr></table>
## Backers

View File

@@ -0,0 +1,177 @@
import { NestFastifyApplication } from '@nestjs/platform-fastify';
import { Test } from '@nestjs/testing';
import * as request from 'supertest';
import { AppModule } from '../src/app.module';
describe('Express Cors', () => {
let app: NestFastifyApplication;
const configs = [
{
origin: 'example.com',
methods: 'GET',
credentials: true,
exposedHeaders: ['foo', 'bar'],
allowedHeaders: ['baz', 'woo'],
maxAge: 123,
},
{
origin: 'sample.com',
methods: 'GET',
credentials: true,
exposedHeaders: ['zoo', 'bar'],
allowedHeaders: ['baz', 'foo'],
maxAge: 321,
},
];
describe('Dynamic config', () => {
describe('enableCors', () => {
before(async () => {
const module = await Test.createTestingModule({
imports: [AppModule],
}).compile();
app = module.createNestApplication<NestFastifyApplication>();
let requestId = 0;
const configDelegation = function (req, cb) {
const config = configs[requestId];
requestId++;
cb(null, config);
};
app.enableCors(configDelegation);
await app.init();
});
it(`Should add cors headers based on the first config`, async () => {
return request(app.getHttpServer())
.get('/')
.expect('access-control-allow-origin', 'example.com')
.expect('vary', 'Origin')
.expect('access-control-allow-credentials', 'true')
.expect('access-control-expose-headers', 'foo,bar')
.expect('content-length', '0');
});
it(`Should add cors headers based on the second config`, async () => {
return request(app.getHttpServer())
.options('/')
.expect('access-control-allow-origin', 'sample.com')
.expect('vary', 'Origin')
.expect('access-control-allow-credentials', 'true')
.expect('access-control-expose-headers', 'zoo,bar')
.expect('access-control-allow-methods', 'GET')
.expect('access-control-allow-headers', 'baz,foo')
.expect('access-control-max-age', '321')
.expect('content-length', '0');
});
after(async () => {
await app.close();
});
});
describe('Application Options', () => {
before(async () => {
const module = await Test.createTestingModule({
imports: [AppModule],
}).compile();
let requestId = 0;
const configDelegation = function (req, cb) {
const config = configs[requestId];
requestId++;
cb(null, config);
};
app = module.createNestApplication<NestFastifyApplication>(null, {
cors: configDelegation,
});
await app.init();
});
it(`Should add cors headers based on the first config`, async () => {
return request(app.getHttpServer())
.get('/')
.expect('access-control-allow-origin', 'example.com')
.expect('vary', 'Origin')
.expect('access-control-allow-credentials', 'true')
.expect('access-control-expose-headers', 'foo,bar')
.expect('content-length', '0');
});
it(`Should add cors headers based on the second config`, async () => {
return request(app.getHttpServer())
.options('/')
.expect('access-control-allow-origin', 'sample.com')
.expect('vary', 'Origin')
.expect('access-control-allow-credentials', 'true')
.expect('access-control-expose-headers', 'zoo,bar')
.expect('access-control-allow-methods', 'GET')
.expect('access-control-allow-headers', 'baz,foo')
.expect('access-control-max-age', '321')
.expect('content-length', '0');
});
after(async () => {
await app.close();
});
});
});
describe('Static config', () => {
describe('enableCors', () => {
before(async () => {
const module = await Test.createTestingModule({
imports: [AppModule],
}).compile();
app = module.createNestApplication<NestFastifyApplication>();
app.enableCors(configs[0]);
await app.init();
});
it(`CORS headers`, async () => {
return request(app.getHttpServer())
.get('/')
.expect('access-control-allow-origin', 'example.com')
.expect('vary', 'Origin')
.expect('access-control-allow-credentials', 'true')
.expect('access-control-expose-headers', 'foo,bar')
.expect('content-length', '0');
});
});
after(async () => {
await app.close();
});
describe('Application Options', () => {
before(async () => {
const module = await Test.createTestingModule({
imports: [AppModule],
}).compile();
app = module.createNestApplication<NestFastifyApplication>(null, {
cors: configs[0],
});
await app.init();
});
it(`CORS headers`, async () => {
return request(app.getHttpServer())
.get('/')
.expect('access-control-allow-origin', 'example.com')
.expect('vary', 'Origin')
.expect('access-control-allow-credentials', 'true')
.expect('access-control-expose-headers', 'foo,bar')
.expect('content-length', '0');
});
after(async () => {
await app.close();
});
});
});
});

View File

@@ -0,0 +1,177 @@
import { NestFastifyApplication } from '@nestjs/platform-fastify';
import { Test } from '@nestjs/testing';
import * as request from 'supertest';
import { AppModule } from '../src/app.module';
describe('Fastify Cors', () => {
let app: NestFastifyApplication;
const configs = [
{
origin: 'example.com',
methods: 'GET',
credentials: true,
exposedHeaders: ['foo', 'bar'],
allowedHeaders: ['baz', 'woo'],
maxAge: 123,
},
{
origin: 'sample.com',
methods: 'GET',
credentials: true,
exposedHeaders: ['zoo', 'bar'],
allowedHeaders: ['baz', 'foo'],
maxAge: 321,
},
];
describe('Dynamic config', () => {
describe('enableCors', () => {
before(async () => {
const module = await Test.createTestingModule({
imports: [AppModule],
}).compile();
app = module.createNestApplication<NestFastifyApplication>();
let requestId = 0;
const configDelegation = function (req, cb) {
const config = configs[requestId];
requestId++;
cb(null, config);
};
app.enableCors(configDelegation);
await app.init();
});
it(`Should add cors headers based on the first config`, async () => {
return request(app.getHttpServer())
.get('/')
.expect('access-control-allow-origin', 'example.com')
.expect('vary', 'Origin')
.expect('access-control-allow-credentials', 'true')
.expect('access-control-expose-headers', 'foo,bar')
.expect('content-length', '0');
});
it(`Should add cors headers based on the second config`, async () => {
return request(app.getHttpServer())
.options('/')
.expect('access-control-allow-origin', 'sample.com')
.expect('vary', 'Origin')
.expect('access-control-allow-credentials', 'true')
.expect('access-control-expose-headers', 'zoo,bar')
.expect('access-control-allow-methods', 'GET')
.expect('access-control-allow-headers', 'baz,foo')
.expect('access-control-max-age', '321')
.expect('content-length', '0');
});
after(async () => {
await app.close();
});
});
describe('Application Options', () => {
before(async () => {
const module = await Test.createTestingModule({
imports: [AppModule],
}).compile();
let requestId = 0;
const configDelegation = function (req, cb) {
const config = configs[requestId];
requestId++;
cb(null, config);
};
app = module.createNestApplication<NestFastifyApplication>(null, {
cors: configDelegation,
});
await app.init();
});
it(`Should add cors headers based on the first config`, async () => {
return request(app.getHttpServer())
.get('/')
.expect('access-control-allow-origin', 'example.com')
.expect('vary', 'Origin')
.expect('access-control-allow-credentials', 'true')
.expect('access-control-expose-headers', 'foo,bar')
.expect('content-length', '0');
});
it(`Should add cors headers based on the second config`, async () => {
return request(app.getHttpServer())
.options('/')
.expect('access-control-allow-origin', 'sample.com')
.expect('vary', 'Origin')
.expect('access-control-allow-credentials', 'true')
.expect('access-control-expose-headers', 'zoo,bar')
.expect('access-control-allow-methods', 'GET')
.expect('access-control-allow-headers', 'baz,foo')
.expect('access-control-max-age', '321')
.expect('content-length', '0');
});
after(async () => {
await app.close();
});
});
});
describe('Static config', () => {
describe('enableCors', () => {
before(async () => {
const module = await Test.createTestingModule({
imports: [AppModule],
}).compile();
app = module.createNestApplication<NestFastifyApplication>();
app.enableCors(configs[0]);
await app.init();
});
it(`CORS headers`, async () => {
return request(app.getHttpServer())
.get('/')
.expect('access-control-allow-origin', 'example.com')
.expect('vary', 'Origin')
.expect('access-control-allow-credentials', 'true')
.expect('access-control-expose-headers', 'foo,bar')
.expect('content-length', '0');
});
});
after(async () => {
await app.close();
});
describe('Application Options', () => {
before(async () => {
const module = await Test.createTestingModule({
imports: [AppModule],
}).compile();
app = module.createNestApplication<NestFastifyApplication>(null, {
cors: configs[0],
});
await app.init();
});
it(`CORS headers`, async () => {
return request(app.getHttpServer())
.get('/')
.expect('access-control-allow-origin', 'example.com')
.expect('vary', 'Origin')
.expect('access-control-allow-credentials', 'true')
.expect('access-control-expose-headers', 'foo,bar')
.expect('content-length', '0');
});
});
after(async () => {
await app.close();
});
});
});

View File

@@ -0,0 +1,9 @@
import { Controller, Get } from '@nestjs/common';
@Controller()
export class AppController {
@Get()
getGlobals() {
return '';
}
}

View File

@@ -0,0 +1,7 @@
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
@Module({
controllers: [AppController],
})
export class AppModule {}

View File

@@ -0,0 +1,22 @@
{
"compilerOptions": {
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es6",
"sourceMap": true,
"allowJs": true,
"outDir": "./dist"
},
"include": [
"src/**/*",
"e2e/**/*"
],
"exclude": [
"node_modules",
]
}

View File

@@ -23,7 +23,7 @@ services:
- "9001:9001"
restart: always
mysql:
image: mysql:5.7.32
image: mysql:5.7.33
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: test

View File

@@ -63,6 +63,22 @@ describe('Hello world (fastify adapter)', () => {
});
});
it(`/GET { host: [":tenant.example1.com", ":tenant.example2.com"] } not matched`, () => {
return app
.inject({
method: 'GET',
url: '/host-array',
})
.then(({ payload }) => {
expect(JSON.parse(payload)).to.be.eql({
error: 'Internal Server Error',
message:
'HTTP adapter does not support filtering on hosts: [":tenant.example1.com", ":tenant.example2.com"]',
statusCode: 500,
});
});
});
it(`/GET inject with LightMyRequest chaining API`, () => {
return app
.inject()

View File

@@ -28,6 +28,16 @@ describe('Hello world (default adapter)', () => {
path: '/host',
greeting: 'Host Greeting! tenant=acme',
},
{
host: 'acme.example1.com',
path: '/host-array',
greeting: 'Host Greeting! tenant=acme',
},
{
host: 'acme.example2.com',
path: '/host-array',
greeting: 'Host Greeting! tenant=acme',
},
].forEach(({ host, path, greeting }) => {
describe(`host=${host}`, () => {
describe('/GET', () => {

View File

@@ -1,8 +1,9 @@
import { Module } from '@nestjs/common';
import { HelloModule } from './hello/hello.module';
import { HostArrayModule } from './host-array/host-array.module';
import { HostModule } from './host/host.module';
@Module({
imports: [HelloModule, HostModule],
imports: [HelloModule, HostModule, HostArrayModule],
})
export class ApplicationModule {}

View File

@@ -0,0 +1,10 @@
import { IsString, IsNotEmpty, IsNumber } from 'class-validator';
export class TestDto {
@IsString()
@IsNotEmpty()
string: string;
@IsNumber()
number: number;
}

View File

@@ -0,0 +1,37 @@
import { Controller, Get, Header, HostParam, Param } from '@nestjs/common';
import { Observable, of } from 'rxjs';
import { HostArrayService } from './host-array.service';
import { UserByIdPipe } from './users/user-by-id.pipe';
@Controller({
path: 'host-array',
host: [':tenant.example1.com', ':tenant.example2.com'],
})
export class HostArrayController {
constructor(private readonly hostService: HostArrayService) {}
@Get()
@Header('Authorization', 'Bearer')
greeting(@HostParam('tenant') tenant: string): string {
return `${this.hostService.greeting()} tenant=${tenant}`;
}
@Get('async')
async asyncGreeting(@HostParam('tenant') tenant: string): Promise<string> {
return `${await this.hostService.greeting()} tenant=${tenant}`;
}
@Get('stream')
streamGreeting(@HostParam('tenant') tenant: string): Observable<string> {
return of(`${this.hostService.greeting()} tenant=${tenant}`);
}
@Get('local-pipe/:id')
localPipe(
@Param('id', UserByIdPipe)
user: any,
@HostParam('tenant') tenant: string,
): any {
return { ...user, tenant };
}
}

View File

@@ -0,0 +1,10 @@
import { Module } from '@nestjs/common';
import { HostArrayController } from './host-array.controller';
import { HostArrayService } from './host-array.service';
import { UsersService } from './users/users.service';
@Module({
controllers: [HostArrayController],
providers: [HostArrayService, UsersService],
})
export class HostArrayModule {}

View File

@@ -0,0 +1,8 @@
import { Injectable } from '@nestjs/common';
@Injectable()
export class HostArrayService {
greeting(): string {
return 'Host Greeting!';
}
}

View File

@@ -0,0 +1,11 @@
import { PipeTransform, Injectable, ArgumentMetadata } from '@nestjs/common';
import { UsersService } from './users.service';
@Injectable()
export class UserByIdPipe implements PipeTransform<string> {
constructor(private readonly usersService: UsersService) {}
transform(value: string, metadata: ArgumentMetadata) {
return this.usersService.findById(value);
}
}

View File

@@ -0,0 +1,8 @@
import { Injectable } from '@nestjs/common';
@Injectable()
export class UsersService {
findById(id: string) {
return { id, host: true };
}
}

View File

@@ -105,6 +105,22 @@ describe('RPC transport', () => {
});
});
it('/POST (custom client)', () => {
return request(server)
.post('/error?client=custom')
.send({})
.expect(200)
.expect('true');
});
it('/POST (standard client)', () => {
return request(server)
.post('/error?client=standard')
.send({})
.expect(200)
.expect('false');
});
afterEach(async () => {
await app.close();
});

View File

@@ -12,15 +12,17 @@ import {
EventPattern,
MessagePattern,
Transport,
RpcException,
} from '@nestjs/microservices';
import { from, Observable, of } from 'rxjs';
import { scan } from 'rxjs/operators';
import { from, Observable, of, throwError } from 'rxjs';
import { catchError, scan } from 'rxjs/operators';
@Controller()
export class AppController {
constructor(
@Inject('USE_CLASS_CLIENT') private useClassClient: ClientProxy,
@Inject('USE_FACTORY_CLIENT') private useFactoryClient: ClientProxy,
@Inject('CUSTOM_PROXY_CLIENT') private customClient: ClientProxy,
) {}
static IS_NOTIFIED = false;
@@ -75,6 +77,17 @@ export class AppController {
.reduce(async (a, b) => (await a) && b);
}
@Post('error')
@HttpCode(200)
serializeError(@Query('client') query: 'custom' | 'standard' = 'standard', @Body() body: Record<string, any>): Observable<boolean> {
const client = query === 'custom' ? this.customClient : this.client;
return client.send({ cmd: 'err' }, {}).pipe(
catchError((err) => {
return of(err instanceof RpcException);
})
)
}
@MessagePattern({ cmd: 'sum' })
sum(data: number[]): number {
return (data || []).reduce((a, b) => a + b);
@@ -95,6 +108,11 @@ export class AppController {
return from(data);
}
@MessagePattern({ cmd: 'err' })
throwAnError() {
return throwError(new Error('err'));
}
@Post('notify')
async sendNotification(): Promise<any> {
return this.client.emit<number>('notification', true);

View File

@@ -5,8 +5,16 @@ import {
Transport,
ClientsModuleOptionsFactory,
ClientOptions,
ClientTCP,
RpcException,
} from '@nestjs/microservices';
class ErrorHandlingProxy extends ClientTCP {
serializeError(err) {
return new RpcException(err);
}
}
@Injectable()
class ConfigService {
private readonly config = {
@@ -51,7 +59,14 @@ class ClientOptionService implements ClientsModuleOptionsFactory {
name: 'USE_CLASS_CLIENT',
useClass: ClientOptionService,
inject: [ConfigService],
},
}, {
imports: [ConfigModule],
inject: [ConfigService],
name: 'CUSTOM_PROXY_CLIENT',
useFactory: (config: ConfigService) => ({
customClass: ErrorHandlingProxy
})
}
]),
],
controllers: [AppController],

View File

@@ -1,4 +1,11 @@
import { Body, Controller, HttpCode, OnModuleInit, Post, OnModuleDestroy } from '@nestjs/common';
import {
Body,
Controller,
HttpCode,
OnModuleInit,
Post,
OnModuleDestroy,
} from '@nestjs/common';
import { Logger } from '@nestjs/common/services/logger.service';
import { Client, ClientKafka, Transport } from '@nestjs/microservices';
import { Observable } from 'rxjs';

View File

@@ -3,5 +3,5 @@
"packages": [
"packages/*"
],
"version": "7.6.5"
"version": "7.6.8"
}

35598
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/core",
"version": "7.5.3",
"version": "7.6.8",
"description": "Modern, fast, powerful node.js web framework",
"homepage": "https://nestjs.com",
"repository": {
@@ -29,9 +29,10 @@
"test:docker:up": "docker-compose -f integration/docker-compose.yml up -d",
"test:docker:down": "docker-compose -f integration/docker-compose.yml down",
"lint": "concurrently 'npm run lint:packages' 'npm run lint:integration' 'npm run lint:spec'",
"lint:integration": "eslint 'integration/*/{,!(node_modules)/**/}/*.ts' -c '.eslintrc.spec.js' --fix",
"lint:packages": "eslint 'packages/**/**.ts' --fix --ignore-pattern 'packages/**/*.spec.ts'",
"lint:spec": "eslint 'packages/**/**.spec.ts' -c '.eslintrc.spec.js' --fix",
"lint:fix": "concurrently 'npm run lint:packages -- --fix' 'npm run lint:integration -- --fix' 'npm run lint:spec -- --fix'",
"lint:integration": "eslint 'integration/*/{,!(node_modules)/**/}/*.ts' -c '.eslintrc.spec.js'",
"lint:packages": "eslint 'packages/**/**.ts' --ignore-pattern 'packages/**/*.spec.ts'",
"lint:spec": "eslint 'packages/**/**.spec.ts' -c '.eslintrc.spec.js'",
"prerelease": "gulp copy-misc && gulp build --dist node_modules/@nestjs",
"publish": "npm run prerelease && npm run build:prod && ./node_modules/.bin/lerna publish --force-publish --access public --exact -m \"chore(@nestjs) publish %s release\"",
"publish:beta": "npm run prerelease && npm run build:prod && ./node_modules/.bin/lerna publish --npm-tag=beta --access public -m \"chore(@nestjs) publish %s release\"",
@@ -53,51 +54,51 @@
"dependencies": {
"@nuxtjs/opencollective": "0.3.2",
"axios": "0.21.1",
"class-transformer": "0.3.1",
"class-validator": "0.12.2",
"class-transformer": "0.3.2",
"class-validator": "0.13.1",
"cli-color": "2.0.0",
"cors": "2.8.5",
"express": "4.17.1",
"fast-json-stringify": "2.3.0",
"fast-json-stringify": "2.4.1",
"fast-safe-stringify": "2.0.7",
"iterare": "1.2.1",
"object-hash": "2.1.1",
"path-to-regexp": "3.2.0",
"reflect-metadata": "0.1.13",
"rxjs": "6.6.3",
"socket.io": "2.3.0",
"tslib": "2.0.3",
"socket.io": "2.4.1",
"tslib": "2.1.0",
"uuid": "8.3.2"
},
"devDependencies": {
"@codechecks/client": "0.1.10",
"@commitlint/cli": "11.0.0",
"@commitlint/config-angular": "11.0.0",
"@grpc/proto-loader": "0.5.5",
"@nestjs/graphql": "7.9.2",
"@nestjs/mongoose": "7.2.0",
"@grpc/proto-loader": "0.5.6",
"@nestjs/graphql": "7.9.8",
"@nestjs/mongoose": "7.2.2",
"@nestjs/typeorm": "7.1.5",
"@types/amqplib": "0.5.17",
"@types/bytes": "3.1.0",
"@types/cache-manager": "2.10.3",
"@types/cache-manager": "3.4.0",
"@types/chai": "4.2.14",
"@types/chai-as-promised": "7.1.3",
"@types/cors": "2.8.9",
"@types/express": "4.17.9",
"@types/gulp": "4.0.7",
"@types/express": "4.17.11",
"@types/gulp": "4.0.8",
"@types/mocha": "8.2.0",
"@types/mongoose": "5.10.3",
"@types/node": "14.14.16",
"@types/node": "14.14.22",
"@types/redis": "2.8.28",
"@types/reflect-metadata": "0.1.0",
"@types/sinon": "9.0.10",
"@types/socket.io": "2.1.12",
"@types/socket.io": "2.1.13",
"@types/ws": "7.4.0",
"@typescript-eslint/eslint-plugin": "4.11.0",
"@typescript-eslint/parser": "4.11.1",
"@typescript-eslint/eslint-plugin": "4.14.2",
"@typescript-eslint/parser": "4.14.2",
"amqp-connection-manager": "3.2.1",
"amqplib": "0.6.0",
"apollo-server-express": "2.19.1",
"apollo-server-express": "2.19.2",
"artillery": "1.6.1",
"awesome-typescript-loader": "5.2.1",
"body-parser": "1.19.0",
@@ -109,21 +110,21 @@
"commitlint-circle": "1.0.0",
"concurrently": "5.3.0",
"conventional-changelog": "3.1.24",
"core-js": "3.8.1",
"core-js": "3.8.3",
"coveralls": "3.1.0",
"delete-empty": "3.0.0",
"engine.io-client": "4.0.5",
"eslint": "7.16.0",
"eslint-config-prettier": "7.1.0",
"engine.io-client": "4.1.0",
"eslint": "7.19.0",
"eslint-config-prettier": "7.2.0",
"eslint-plugin-import": "2.22.1",
"eventsource": "1.0.7",
"fancy-log": "1.3.3",
"fastify": "3.9.2",
"fastify-cors": "5.1.0",
"fastify": "3.11.0",
"fastify-cors": "5.2.0",
"fastify-formbody": "5.0.0",
"fastify-multipart": "3.3.1",
"fastify-static": "3.3.0",
"graphql": "15.4.0",
"fastify-static": "3.4.0",
"graphql": "15.5.0",
"graphql-tools": "7.0.2",
"grpc": "1.24.4",
"gulp": "4.0.2",
@@ -132,8 +133,8 @@
"gulp-sourcemaps": "3.0.0",
"gulp-typescript": "5.0.1",
"gulp-watch": "5.0.1",
"husky": "4.3.6",
"imports-loader": "1.2.0",
"husky": "4.3.8",
"imports-loader": "2.0.0",
"json-loader": "0.5.7",
"kafkajs": "1.15.0",
"lerna": "2.11.0",
@@ -143,28 +144,28 @@
"merge-graphql-schemas": "1.7.8",
"middie": "5.2.0",
"mocha": "8.2.1",
"mongoose": "5.11.9",
"mongoose": "5.11.14",
"mqtt": "4.2.6",
"multer": "1.4.2",
"mysql": "2.18.1",
"nats": "1.4.12",
"nodemon": "2.0.6",
"nodemon": "2.0.7",
"nyc": "15.1.0",
"point-of-view": "4.7.0",
"point-of-view": "4.11.0",
"prettier": "2.2.1",
"redis": "3.0.2",
"rxjs-compat": "6.6.3",
"sinon": "9.2.2",
"sinon": "9.2.4",
"sinon-chai": "3.5.0",
"socket.io-client": "2.3.1",
"socket.io-client": "2.4.0",
"subscriptions-transport-ws": "0.9.18",
"supertest": "6.0.1",
"supertest": "6.1.3",
"ts-morph": "9.1.0",
"ts-node": "9.1.1",
"typeorm": "0.2.29",
"typeorm": "0.2.30",
"typescript": "4.1.3",
"wrk": "1.2.1",
"ws": "7.4.1"
"ws": "7.4.2"
},
"engines": {
"node": ">= 10.13.0"

View File

@@ -56,16 +56,21 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
#### Principal Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="180" valign="middle" /></a></td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td>
<td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="200" valign="middle" /></a></td>
</tr></table>
#### Gold Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="170" valign="middle" /></a></td></tr></table>
#### Silver Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://neoteric.eu/" target="_blank"><img src="https://nestjs.com/img/neoteric-cut.png" width="120" valign="middle" /></a> </td><td>
<a href="http://gojob.com" target="_blank"><img src="http://nestjs.com/img/gojob-logo.png" valign="middle" width="100" /></a> </td><td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="170" valign="middle" /></a> </td><td>
<a href="http://www.leogistics.com" target="_blank"><img src="https://nestjs.com/img/leogistics-logo.jpeg" width="150" valign="middle" /></td><td>
<a href="http://www.meetdandy.com" target="_blank"><img src="https://nestjs.com/img/dandy-wide-logo.png" width="150" valign="middle" /></td></tr></table>
@@ -90,6 +95,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle">
<a href="https://genuinebee.com/" target="_blank"><img src="https://nestjs.com/img/genuinebee.svg" width="97" valign="middle" /></a> </td>
<td align="center" valign="middle"><a href="https://sanyodigital.com/" target="_blank"><img src="https://nestjs.com/img/sanyo-digital.png" width="130" valign="middle" /></a></td></tr><tr><td align="center" valign="middle"><a href="https://vpn-review.com/vpn-for-torrenting" target="_blank"><img src="https://nestjs.com/img/vpn-review-logo.png" width="85" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://lambda-it.ch/" target="_blank"><img src="https://nestjs.com/img/lambda-it-logo.svg" width="115" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://pickwriters.com/top-10-translation-services" target="_blank"><img src="https://nestjs.com/img/pickwriters-logo.png" width="40" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://thewordpoint.com/services/localization" target="_blank"><img src="https://nestjs.com/img/thewordpoint-logo.png" width="40" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://streamat.se/" target="_blank"><img src="https://nestjs.com/img/streamat-logo.png" width="120" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://filmen.nu/" target="_blank"><img src="https://nestjs.com/img/filmen-logo.png" width="120" valign="middle" /></a></td></tr><tr>
<td align="center" valign="middle"><a href="https://meercode.io/" target="_blank"><img src="https://nestjs.com/img/meercode-logo.png" width="60" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.najlepszeplatformyforex.pl/blog/broker-xtb/" target="_blank"><img src="https://nestjs.com/img/npf-logo.jpg" width="200" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://thestandarddaily.com/" target="_blank"><img src="https://nestjs.com/img/the-standard-daily-logo.png" width="180" valign="middle" /></a></td>
</tr></table>
## Backers

View File

@@ -27,7 +27,7 @@ export interface ControllerOptions extends ScopeOptions {
*
* @see [Routing](https://docs.nestjs.com/controllers#routing)
*/
host?: string;
host?: string | string[];
}
/**

View File

@@ -78,4 +78,3 @@ export class HttpException extends Error {
: { statusCode, message: objectOrError, error: description };
}
}

View File

@@ -50,4 +50,9 @@ export interface ClassTransformOptions {
* and exposing all class properties (with undefined, if nothing else is given)
*/
excludeExtraneousValues?: boolean;
/**
* If set to true then class transformer will take default values for unprovided fields.
* This is useful when you convert a plain object to a class and have an optional field with a default value.
*/
exposeDefaultValues?: boolean;
}

View File

@@ -52,3 +52,10 @@ export interface CorsOptions {
*/
optionsSuccessStatus?: number;
}
export interface CorsOptionsCallback {
(error: Error, options: CorsOptions): void;
}
export interface CorsOptionsDelegate<T> {
(req: T, cb: CorsOptionsCallback): void;
}

View File

@@ -2,29 +2,41 @@
* Validation error description.
* @see https://github.com/typestack/class-validator
*
* class-validator@0.13.0
*
* @publicApi
*/
export interface ValidationError {
/**
* Object that was validated.
*
* OPTIONAL - configurable via the ValidatorOptions.validationError.target option
*/
target: Record<string, any>;
target?: Record<string, any>;
/**
* Object's property that hasn't passed validation.
*/
property: string;
/**
* Value that hasn't passed validation.
* Value that haven't pass a validation.
*
* OPTIONAL - configurable via the ValidatorOptions.validationError.value option
*/
value: any;
value?: any;
/**
* Constraints that failed validation with error messages.
*/
constraints: {
constraints?: {
[type: string]: string;
};
/**
* Contains all nested validation errors of the property.
*/
children: ValidationError[];
children?: ValidationError[];
/**
* A transient set of data passed through to the validation result for response mapping
*/
contexts?: {
[type: string]: any;
};
}

View File

@@ -2,11 +2,15 @@
* Options passed to validator during validation.
* @see https://github.com/typestack/class-validator
*
* class-validator@0.10.1
* class-validator@0.13.0
*
* @publicApi
*/
export interface ValidatorOptions {
/**
* If set to true then class-validator will print extra warning messages to the console when something is not right.
*/
enableDebugMessages?: boolean;
/**
* If set to true then validator will skip validation of all properties that are undefined in the validating object.
*/
@@ -33,6 +37,15 @@ export interface ValidatorOptions {
* Groups to be used during validation of the object.
*/
groups?: string[];
/**
* Set default for `always` option of decorators. Default can be overridden in decorator options.
*/
always?: boolean;
/**
* If [groups]{@link ValidatorOptions#groups} is not given or is empty,
* ignore decorators with at least one group.
*/
strictGroups?: boolean;
/**
* If set to true, the validation will not use default messages.
* Error message always will be undefined if its not explicitly set.
@@ -55,4 +68,8 @@ export interface ValidatorOptions {
* Settings true will cause fail validation of unknown objects.
*/
forbidUnknownValues?: boolean;
/**
* When set to true, validation of the given property will stop after encountering the first error. Defaults to false.
*/
stopAtFirstError?: boolean;
}

View File

@@ -1,5 +1,8 @@
import { RequestMethod } from '../../enums';
import { CorsOptions } from '../../interfaces/external/cors-options.interface';
import {
CorsOptions,
CorsOptionsDelegate,
} from '../../interfaces/external/cors-options.interface';
import { NestApplicationOptions } from '../../interfaces/nest-application-options.interface';
export type ErrorHandler<TRequest = any, TResponse = any> = (
@@ -62,7 +65,7 @@ export interface HttpServer<TRequest = any, TResponse = any> {
getRequestUrl?(request: TResponse): string;
getInstance(): any;
registerParserMiddleware(): any;
enableCors(options: CorsOptions): any;
enableCors(options: CorsOptions | CorsOptionsDelegate<TRequest>): any;
getHttpServer(): any;
initHttpServer(options: NestApplicationOptions): void;
close(): any;

View File

@@ -1,4 +1,7 @@
import { CorsOptions } from './external/cors-options.interface';
import {
CorsOptions,
CorsOptionsDelegate,
} from './external/cors-options.interface';
import { HttpsOptions } from './external/https-options.interface';
import { NestApplicationContextOptions } from './nest-application-context-options.interface';
@@ -9,7 +12,7 @@ export interface NestApplicationOptions extends NestApplicationContextOptions {
/**
* CORS options from [CORS package](https://github.com/expressjs/cors#configuration-options)
*/
cors?: boolean | CorsOptions;
cors?: boolean | CorsOptions | CorsOptionsDelegate<any>;
/**
* Whether to use underlying platform body parser.
*/

View File

@@ -1,4 +1,7 @@
import { CorsOptions } from './external/cors-options.interface';
import {
CorsOptions,
CorsOptionsDelegate,
} from './external/cors-options.interface';
import { CanActivate } from './features/can-activate.interface';
import { NestInterceptor } from './features/nest-interceptor.interface';
import { HttpServer } from './http/http-server.interface';
@@ -30,7 +33,7 @@ export interface INestApplication extends INestApplicationContext {
*
* @returns {void}
*/
enableCors(options?: CorsOptions): void;
enableCors(options?: CorsOptions | CorsOptionsDelegate<any>): void;
/**
* Starts the application.

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/common",
"version": "7.6.5",
"version": "7.6.8",
"description": "Nest - modern, fast, powerful node.js web framework (@common)",
"author": "Kamil Mysliwiec",
"homepage": "https://nestjs.com",
@@ -19,7 +19,7 @@
"dependencies": {
"axios": "0.21.1",
"iterare": "1.2.1",
"tslib": "2.0.3",
"tslib": "2.1.0",
"uuid": "8.3.2"
},
"peerDependencies": {

View File

@@ -1,7 +1,7 @@
import { Injectable } from '../decorators/core/injectable.decorator';
import { Optional } from '../decorators/core/optional.decorator';
import { clc, yellow } from '../utils/cli-colors.util';
import { isObject } from '../utils/shared.utils';
import { isObject, isPlainObject } from '../utils/shared.utils';
declare const process: any;
@@ -146,7 +146,7 @@ export class Logger implements LoggerService {
isTimeDiffEnabled?: boolean,
writeStreamType?: 'stdout' | 'stderr',
) {
const output = isObject(message)
const output = isPlainObject(message)
? `${color('Object:')}\n${JSON.stringify(message, null, 2)}\n`
: color(message);
@@ -154,7 +154,10 @@ export class Logger implements LoggerService {
const contextMessage = context ? yellow(`[${context}] `) : '';
const timestampDiff = this.updateAndGetTimestampDiff(isTimeDiffEnabled);
const instance = (this.instance as typeof Logger) ?? Logger;
const computedMessage = `${pidMessage}${instance.getTimestamp()} ${contextMessage}${output}${timestampDiff}\n`;
const timestamp = instance.getTimestamp
? instance.getTimestamp()
: Logger.getTimestamp?.();
const computedMessage = `${pidMessage}${timestamp} ${contextMessage}${output}${timestampDiff}\n`;
process[writeStreamType ?? 'stdout'].write(computedMessage);
}

View File

@@ -4,6 +4,7 @@ import { Controller } from '../../decorators/core/controller.decorator';
describe('@Controller', () => {
const reflectedPath = 'test';
const reflectedHost = 'api.example.com';
const reflectedHostArray = ['api1.example.com', 'api2.example.com'];
@Controller(reflectedPath)
class Test {}
@@ -14,6 +15,9 @@ describe('@Controller', () => {
@Controller({ path: reflectedPath, host: reflectedHost })
class PathAndHostDecorator {}
@Controller({ path: reflectedPath, host: reflectedHostArray })
class PathAndHostArrayDecorator {}
@Controller({ host: reflectedHost })
class HostOnlyDecorator {}
@@ -29,6 +33,8 @@ describe('@Controller', () => {
expect(host).to.be.eql(reflectedHost);
const host2 = Reflect.getMetadata('host', HostOnlyDecorator);
expect(host2).to.be.eql(reflectedHost);
const host3 = Reflect.getMetadata('host', PathAndHostArrayDecorator);
expect(host3).to.be.eql(reflectedHostArray);
});
it('should set default path when no object passed as param', () => {

View File

@@ -56,16 +56,21 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
#### Principal Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="180" valign="middle" /></a></td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td>
<td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="200" valign="middle" /></a></td>
</tr></table>
#### Gold Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="170" valign="middle" /></a></td></tr></table>
#### Silver Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://neoteric.eu/" target="_blank"><img src="https://nestjs.com/img/neoteric-cut.png" width="120" valign="middle" /></a> </td><td>
<a href="http://gojob.com" target="_blank"><img src="http://nestjs.com/img/gojob-logo.png" valign="middle" width="100" /></a> </td><td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="170" valign="middle" /></a> </td><td>
<a href="http://www.leogistics.com" target="_blank"><img src="https://nestjs.com/img/leogistics-logo.jpeg" width="150" valign="middle" /></td><td>
<a href="http://www.meetdandy.com" target="_blank"><img src="https://nestjs.com/img/dandy-wide-logo.png" width="150" valign="middle" /></td></tr></table>
@@ -90,6 +95,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle">
<a href="https://genuinebee.com/" target="_blank"><img src="https://nestjs.com/img/genuinebee.svg" width="97" valign="middle" /></a> </td>
<td align="center" valign="middle"><a href="https://sanyodigital.com/" target="_blank"><img src="https://nestjs.com/img/sanyo-digital.png" width="130" valign="middle" /></a></td></tr><tr><td align="center" valign="middle"><a href="https://vpn-review.com/vpn-for-torrenting" target="_blank"><img src="https://nestjs.com/img/vpn-review-logo.png" width="85" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://lambda-it.ch/" target="_blank"><img src="https://nestjs.com/img/lambda-it-logo.svg" width="115" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://pickwriters.com/top-10-translation-services" target="_blank"><img src="https://nestjs.com/img/pickwriters-logo.png" width="40" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://thewordpoint.com/services/localization" target="_blank"><img src="https://nestjs.com/img/thewordpoint-logo.png" width="40" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://streamat.se/" target="_blank"><img src="https://nestjs.com/img/streamat-logo.png" width="120" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://filmen.nu/" target="_blank"><img src="https://nestjs.com/img/filmen-logo.png" width="120" valign="middle" /></a></td></tr><tr>
<td align="center" valign="middle"><a href="https://meercode.io/" target="_blank"><img src="https://nestjs.com/img/meercode-logo.png" width="60" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.najlepszeplatformyforex.pl/blog/broker-xtb/" target="_blank"><img src="https://nestjs.com/img/npf-logo.jpg" width="200" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://thestandarddaily.com/" target="_blank"><img src="https://nestjs.com/img/the-standard-daily-logo.png" width="180" valign="middle" /></a></td>
</tr></table>
## Backers

View File

@@ -1,6 +1,9 @@
import { HttpServer, RequestMethod } from '@nestjs/common';
import { RequestHandler } from '@nestjs/common/interfaces';
import { CorsOptions } from '@nestjs/common/interfaces/external/cors-options.interface';
import {
CorsOptions,
CorsOptionsDelegate,
} from '@nestjs/common/interfaces/external/cors-options.interface';
import { NestApplicationOptions } from '@nestjs/common/interfaces/nest-application-options.interface';
/**
@@ -14,6 +17,14 @@ export abstract class AbstractHttpAdapter<
protected httpServer: TServer;
constructor(protected readonly instance: any) {}
all(path: string, handler: RequestHandler<TRequest, TResponse>);
all(handler: RequestHandler<TRequest, TResponse>);
all(path: any, handler?: any) {
throw new Error('Method not implemented.');
}
setBaseViewsDir?(path: string | string[]): this {
throw new Error('Method not implemented.');
}
// eslint-disable-next-line @typescript-eslint/no-empty-function
public async init() {}
@@ -97,7 +108,10 @@ export abstract class AbstractHttpAdapter<
abstract setNotFoundHandler(handler: Function, prefix?: string);
abstract setHeader(response, name: string, value: string);
abstract registerParserMiddleware(prefix?: string);
abstract enableCors(options: CorsOptions, prefix?: string);
abstract enableCors(
options: CorsOptions | CorsOptionsDelegate<TRequest>,
prefix?: string,
);
abstract createMiddlewareFactory(
requestMethod: RequestMethod,
):

View File

@@ -14,12 +14,8 @@ export class ApplicationConfig {
private globalInterceptors: NestInterceptor[] = [];
private globalGuards: CanActivate[] = [];
private readonly globalRequestPipes: InstanceWrapper<PipeTransform>[] = [];
private readonly globalRequestFilters: InstanceWrapper<
ExceptionFilter
>[] = [];
private readonly globalRequestInterceptors: InstanceWrapper<
NestInterceptor
>[] = [];
private readonly globalRequestFilters: InstanceWrapper<ExceptionFilter>[] = [];
private readonly globalRequestInterceptors: InstanceWrapper<NestInterceptor>[] = [];
private readonly globalRequestGuards: InstanceWrapper<CanActivate>[] = [];
constructor(private ioAdapter: WebSocketAdapter | null = null) {}

View File

@@ -38,9 +38,7 @@ export interface ExternalContextOptions {
export class ExternalContextCreator {
private readonly contextUtils = new ContextUtils();
private readonly externalErrorProxy = new ExternalErrorProxy();
private readonly handlerMetadataStorage = new HandlerMetadataStorage<
ExternalHandlerMetadata
>();
private readonly handlerMetadataStorage = new HandlerMetadataStorage<ExternalHandlerMetadata>();
private container: NestContainer;
constructor(

View File

@@ -9,7 +9,10 @@ import {
PipeTransform,
WebSocketAdapter,
} from '@nestjs/common';
import { CorsOptions } from '@nestjs/common/interfaces/external/cors-options.interface';
import {
CorsOptions,
CorsOptionsDelegate,
} from '@nestjs/common/interfaces/external/cors-options.interface';
import { NestApplicationOptions } from '@nestjs/common/interfaces/nest-application-options.interface';
import { Logger } from '@nestjs/common/services/logger.service';
import { loadPackage } from '@nestjs/common/utils/load-package.util';
@@ -102,11 +105,15 @@ export class NestApplication
if (!this.appOptions || !this.appOptions.cors) {
return undefined;
}
const isCorsOptionsObj = isObject(this.appOptions.cors);
if (!isCorsOptionsObj) {
const passCustomOptions =
isObject(this.appOptions.cors) ||
typeof this.appOptions.cors === 'function';
if (!passCustomOptions) {
return this.enableCors();
}
return this.enableCors(this.appOptions.cors as CorsOptions);
return this.enableCors(
this.appOptions.cors as CorsOptions | CorsOptionsDelegate<any>,
);
}
public createServer<T = any>(): T {
@@ -224,7 +231,7 @@ export class NestApplication
return this;
}
public enableCors(options?: CorsOptions): void {
public enableCors(options?: CorsOptions | CorsOptionsDelegate<any>): void {
this.httpAdapter.enableCors(options);
}

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/core",
"version": "7.6.5",
"version": "7.6.8",
"description": "Nest - modern, fast, powerful node.js web framework (@core)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -32,11 +32,11 @@
"iterare": "1.2.1",
"object-hash": "2.1.1",
"path-to-regexp": "3.2.0",
"tslib": "2.0.3",
"tslib": "2.1.0",
"uuid": "8.3.2"
},
"devDependencies": {
"@nestjs/common": "7.6.5"
"@nestjs/common": "7.6.8"
},
"peerDependencies": {
"@nestjs/common": "^7.0.0",

View File

@@ -73,7 +73,7 @@ export class RouterExplorer {
module: string,
applicationRef: T,
basePath: string,
host: string,
host: string | string[],
) {
const { instance } = instanceWrapper;
const routerPaths = this.scanForPaths(instance);
@@ -150,7 +150,7 @@ export class RouterExplorer {
instanceWrapper: InstanceWrapper,
moduleKey: string,
basePath: string,
host: string,
host: string | string[],
) {
(routePaths || []).forEach(pathProperties => {
const { path, requestMethod } = pathProperties;
@@ -179,7 +179,7 @@ export class RouterExplorer {
instanceWrapper: InstanceWrapper,
moduleKey: string,
basePath: string,
host: string,
host: string | string[],
) {
const {
path: paths,
@@ -216,14 +216,24 @@ export class RouterExplorer {
});
}
private applyHostFilter(host: string, handler: Function) {
private applyHostFilter(host: string | string[], handler: Function) {
if (!host) {
return handler;
}
const httpAdapterRef = this.container.getHttpAdapterRef();
const keys = [];
const re = pathToRegexp(host, keys);
const hosts = Array.isArray(host) ? host : [host];
const hostRegExps = hosts.map((host: string) => {
const keys = [];
const regexp = pathToRegexp(host, keys);
return { regexp, keys };
});
const unsupportedFilteringErrorMessage = Array.isArray(host)
? `HTTP adapter does not support filtering on hosts: ["${host.join(
'", "',
)}"]`
: `HTTP adapter does not support filtering on host: "${host}"`;
return <TRequest extends Record<string, any> = any, TResponse = any>(
req: TRequest,
@@ -232,14 +242,17 @@ export class RouterExplorer {
) => {
(req as Record<string, any>).hosts = {};
const hostname = httpAdapterRef.getRequestHostname(req) || '';
const match = hostname.match(re);
if (match) {
keys.forEach((key, i) => (req.hosts[key.name] = match[i + 1]));
return handler(req, res, next);
for (const exp of hostRegExps) {
const match = hostname.match(exp.regexp);
if (match) {
exp.keys.forEach((key, i) => (req.hosts[key.name] = match[i + 1]));
return handler(req, res, next);
}
}
if (!next) {
throw new InternalServerErrorException(
`HTTP adapter does not support filtering on host: "${host}"`,
unsupportedFilteringErrorMessage,
);
}
return next();

View File

@@ -132,7 +132,7 @@ export class RoutesResolver implements Resolver {
private getHostMetadata(
metatype: Type<unknown> | Function,
): string | undefined {
): string | string[] | undefined {
return Reflect.getMetadata(HOST_METADATA, metatype);
}
}

View File

@@ -56,16 +56,21 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
#### Principal Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="180" valign="middle" /></a></td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td>
<td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="200" valign="middle" /></a></td>
</tr></table>
#### Gold Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="170" valign="middle" /></a></td></tr></table>
#### Silver Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://neoteric.eu/" target="_blank"><img src="https://nestjs.com/img/neoteric-cut.png" width="120" valign="middle" /></a> </td><td>
<a href="http://gojob.com" target="_blank"><img src="http://nestjs.com/img/gojob-logo.png" valign="middle" width="100" /></a> </td><td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="170" valign="middle" /></a> </td><td>
<a href="http://www.leogistics.com" target="_blank"><img src="https://nestjs.com/img/leogistics-logo.jpeg" width="150" valign="middle" /></td><td>
<a href="http://www.meetdandy.com" target="_blank"><img src="https://nestjs.com/img/dandy-wide-logo.png" width="150" valign="middle" /></td></tr></table>
@@ -90,6 +95,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle">
<a href="https://genuinebee.com/" target="_blank"><img src="https://nestjs.com/img/genuinebee.svg" width="97" valign="middle" /></a> </td>
<td align="center" valign="middle"><a href="https://sanyodigital.com/" target="_blank"><img src="https://nestjs.com/img/sanyo-digital.png" width="130" valign="middle" /></a></td></tr><tr><td align="center" valign="middle"><a href="https://vpn-review.com/vpn-for-torrenting" target="_blank"><img src="https://nestjs.com/img/vpn-review-logo.png" width="85" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://lambda-it.ch/" target="_blank"><img src="https://nestjs.com/img/lambda-it-logo.svg" width="115" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://pickwriters.com/top-10-translation-services" target="_blank"><img src="https://nestjs.com/img/pickwriters-logo.png" width="40" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://thewordpoint.com/services/localization" target="_blank"><img src="https://nestjs.com/img/thewordpoint-logo.png" width="40" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://streamat.se/" target="_blank"><img src="https://nestjs.com/img/streamat-logo.png" width="120" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://filmen.nu/" target="_blank"><img src="https://nestjs.com/img/filmen-logo.png" width="120" valign="middle" /></a></td></tr><tr>
<td align="center" valign="middle"><a href="https://meercode.io/" target="_blank"><img src="https://nestjs.com/img/meercode-logo.png" width="60" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.najlepszeplatformyforex.pl/blog/broker-xtb/" target="_blank"><img src="https://nestjs.com/img/npf-logo.jpg" width="200" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://thestandarddaily.com/" target="_blank"><img src="https://nestjs.com/img/the-standard-daily-logo.png" width="180" valign="middle" /></a></td>
</tr></table>
## Backers

View File

@@ -1,6 +1,7 @@
import { Transport } from '../enums/transport.enum';
import {
ClientOptions,
CustomClientOptions,
TcpClientOptions,
} from '../interfaces/client-metadata.interface';
import { Closeable } from '../interfaces/closeable.interface';
@@ -30,7 +31,16 @@ export class ClientProxyFactory {
clientOptions: { transport: Transport.GRPC } & ClientOptions,
): ClientGrpcProxy;
public static create(clientOptions: ClientOptions): ClientProxy & Closeable;
public static create(clientOptions: ClientOptions): ClientProxy & Closeable {
public static create(
clientOptions: CustomClientOptions,
): ClientProxy & Closeable;
public static create(
clientOptions: ClientOptions | CustomClientOptions,
): ClientProxy & Closeable {
if (this.isCustomClientOptions(clientOptions)) {
const { customClass, options } = clientOptions;
return new customClass(options);
}
const { transport, options } = clientOptions;
switch (transport) {
case Transport.REDIS:
@@ -49,4 +59,10 @@ export class ClientProxyFactory {
return new ClientTCP(options as TcpClientOptions['options']);
}
}
private static isCustomClientOptions(
options: ClientOptions | CustomClientOptions,
): options is CustomClientOptions {
return !!(options as CustomClientOptions).customClass;
}
}

View File

@@ -84,17 +84,25 @@ export abstract class ClientProxy {
): (packet: WritePacket) => void {
return ({ err, response, isDisposed }: WritePacket) => {
if (err) {
return observer.error(err);
return observer.error(this.serializeError(err));
} else if (response !== undefined && isDisposed) {
observer.next(response);
observer.next(this.serializeResponse(response));
return observer.complete();
} else if (isDisposed) {
return observer.complete();
}
observer.next(response);
observer.next(this.serializeResponse(response));
};
}
protected serializeError(err: any): any {
return err;
}
protected serializeResponse(response: any): any {
return response;
}
protected assignPacketId(packet: ReadPacket): ReadPacket & PacketId {
const id = randomStringGenerator();
return Object.assign(packet, { id });

View File

@@ -41,9 +41,7 @@ export interface RpcHandlerMetadata {
export class RpcContextCreator {
private readonly contextUtils = new ContextUtils();
private readonly rpcParamsFactory = new RpcParamsFactory();
private readonly handlerMetadataStorage = new HandlerMetadataStorage<
RpcHandlerMetadata
>();
private readonly handlerMetadataStorage = new HandlerMetadataStorage<RpcHandlerMetadata>();
constructor(
private readonly rpcProxy: RpcProxy,

View File

@@ -1,3 +1,5 @@
import { Type } from '@nestjs/common';
import { ClientProxy } from '../client';
import { Transport } from '../enums/transport.enum';
import { Deserializer } from './deserializer.interface';
import {
@@ -19,6 +21,11 @@ export type ClientOptions =
| TcpClientOptions
| RmqOptions;
export interface CustomClientOptions {
customClass: Type<ClientProxy>;
options?: Record<string, any>;
}
export interface TcpClientOptions {
transport: Transport.TCP;
options?: {

View File

@@ -27,7 +27,7 @@ export type MicroserviceOptions =
| CustomStrategy;
export interface CustomStrategy {
strategy: Server & CustomTransportStrategy;
strategy: CustomTransportStrategy;
options?: {};
}
@@ -103,13 +103,19 @@ export interface MqttOptions {
export interface NatsOptions {
transport?: Transport.NATS;
options?: {
encoding?: string;
url?: string;
name?: string;
user?: string;
pass?: string;
maxPingOut?: number;
maxReconnectAttempts?: number;
reconnectTimeWait?: number;
reconnectJitter?: number;
reconnectJitterTLS?: number;
reconnectDelayHandler?: any;
servers?: string[];
nkey?: any;
reconnect?: boolean;
pedantic?: boolean;
tls?: any;
@@ -119,6 +125,18 @@ export interface NatsOptions {
userJWT?: string;
nonceSigner?: any;
userCreds?: any;
useOldRequestStyle?: boolean;
pingInterval?: number;
preserveBuffers?: boolean;
waitOnFirstConnect?: boolean;
verbose?: boolean;
noEcho?: boolean;
noRandomize?: boolean;
timeout?: number;
token?: string;
yieldTime?: number;
tokenHandler?: any;
[key: string]: any;
};
}

View File

@@ -1,21 +1,23 @@
import { ClientOptions } from '../../interfaces';
import { ClientOptions, CustomClientOptions } from '../../interfaces';
import { Type, Provider, ModuleMetadata } from '@nestjs/common/interfaces';
export type ClientProviderOptions = ClientOptions & {
export type ClientProvider = ClientOptions | CustomClientOptions;
export type ClientProviderOptions = ClientProvider & {
name: string | symbol;
};
export type ClientsModuleOptions = Array<ClientProviderOptions>;
export interface ClientsModuleOptionsFactory {
createClientOptions(): Promise<ClientOptions> | ClientOptions;
createClientOptions(): Promise<ClientProvider> | ClientProvider;
}
export interface ClientsProviderAsyncOptions
extends Pick<ModuleMetadata, 'imports'> {
useExisting?: Type<ClientsModuleOptionsFactory>;
useClass?: Type<ClientsModuleOptionsFactory>;
useFactory?: (...args: any[]) => Promise<ClientOptions> | ClientOptions;
useFactory?: (...args: any[]) => Promise<ClientProvider> | ClientProvider;
inject?: any[];
extraProviders?: Provider[];
name: string | symbol;

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/microservices",
"version": "7.6.5",
"version": "7.6.8",
"description": "Nest - modern, fast, powerful node.js web framework (@microservices)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -19,11 +19,11 @@
"dependencies": {
"iterare": "1.2.1",
"json-socket": "0.3.0",
"tslib": "2.0.3"
"tslib": "2.1.0"
},
"devDependencies": {
"@nestjs/common": "7.6.5",
"@nestjs/core": "7.6.5"
"@nestjs/common": "7.6.8",
"@nestjs/core": "7.6.8"
},
"peerDependencies": {
"@nestjs/common": "^7.0.0",

View File

@@ -56,16 +56,21 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
#### Principal Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="180" valign="middle" /></a></td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td>
<td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="200" valign="middle" /></a></td>
</tr></table>
#### Gold Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="170" valign="middle" /></a></td></tr></table>
#### Silver Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://neoteric.eu/" target="_blank"><img src="https://nestjs.com/img/neoteric-cut.png" width="120" valign="middle" /></a> </td><td>
<a href="http://gojob.com" target="_blank"><img src="http://nestjs.com/img/gojob-logo.png" valign="middle" width="100" /></a> </td><td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="170" valign="middle" /></a> </td><td>
<a href="http://www.leogistics.com" target="_blank"><img src="https://nestjs.com/img/leogistics-logo.jpeg" width="150" valign="middle" /></td><td>
<a href="http://www.meetdandy.com" target="_blank"><img src="https://nestjs.com/img/dandy-wide-logo.png" width="150" valign="middle" /></td></tr></table>
@@ -90,6 +95,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle">
<a href="https://genuinebee.com/" target="_blank"><img src="https://nestjs.com/img/genuinebee.svg" width="97" valign="middle" /></a> </td>
<td align="center" valign="middle"><a href="https://sanyodigital.com/" target="_blank"><img src="https://nestjs.com/img/sanyo-digital.png" width="130" valign="middle" /></a></td></tr><tr><td align="center" valign="middle"><a href="https://vpn-review.com/vpn-for-torrenting" target="_blank"><img src="https://nestjs.com/img/vpn-review-logo.png" width="85" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://lambda-it.ch/" target="_blank"><img src="https://nestjs.com/img/lambda-it-logo.svg" width="115" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://pickwriters.com/top-10-translation-services" target="_blank"><img src="https://nestjs.com/img/pickwriters-logo.png" width="40" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://thewordpoint.com/services/localization" target="_blank"><img src="https://nestjs.com/img/thewordpoint-logo.png" width="40" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://streamat.se/" target="_blank"><img src="https://nestjs.com/img/streamat-logo.png" width="120" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://filmen.nu/" target="_blank"><img src="https://nestjs.com/img/filmen-logo.png" width="120" valign="middle" /></a></td></tr><tr>
<td align="center" valign="middle"><a href="https://meercode.io/" target="_blank"><img src="https://nestjs.com/img/meercode-logo.png" width="60" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.najlepszeplatformyforex.pl/blog/broker-xtb/" target="_blank"><img src="https://nestjs.com/img/npf-logo.jpg" width="200" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://thestandarddaily.com/" target="_blank"><img src="https://nestjs.com/img/the-standard-daily-logo.png" width="180" valign="middle" /></a></td>
</tr></table>
## Backers

View File

@@ -1,5 +1,8 @@
import { RequestMethod } from '@nestjs/common';
import { CorsOptions } from '@nestjs/common/interfaces/external/cors-options.interface';
import {
CorsOptions,
CorsOptionsDelegate,
} from '@nestjs/common/interfaces/external/cors-options.interface';
import { NestApplicationOptions } from '@nestjs/common/interfaces/nest-application-options.interface';
import { isFunction, isNil, isObject } from '@nestjs/common/utils/shared.utils';
import { AbstractHttpAdapter } from '@nestjs/core/adapters/http-adapter';
@@ -108,7 +111,7 @@ export class ExpressAdapter extends AbstractHttpAdapter {
return request.originalUrl;
}
public enableCors(options: CorsOptions) {
public enableCors(options: CorsOptions | CorsOptionsDelegate<any>) {
return this.use(cors(options));
}

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/platform-express",
"version": "7.6.5",
"version": "7.6.8",
"description": "Nest - modern, fast, powerful node.js web framework (@platform-express)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -21,11 +21,11 @@
"cors": "2.8.5",
"express": "4.17.1",
"multer": "1.4.2",
"tslib": "2.0.3"
"tslib": "2.1.0"
},
"devDependencies": {
"@nestjs/common": "7.6.5",
"@nestjs/core": "7.6.5"
"@nestjs/common": "7.6.8",
"@nestjs/core": "7.6.8"
},
"peerDependencies": {
"@nestjs/common": "^7.0.0",

View File

@@ -56,16 +56,21 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
#### Principal Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="180" valign="middle" /></a></td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td>
<td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="200" valign="middle" /></a></td>
</tr></table>
#### Gold Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="170" valign="middle" /></a></td></tr></table>
#### Silver Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://neoteric.eu/" target="_blank"><img src="https://nestjs.com/img/neoteric-cut.png" width="120" valign="middle" /></a> </td><td>
<a href="http://gojob.com" target="_blank"><img src="http://nestjs.com/img/gojob-logo.png" valign="middle" width="100" /></a> </td><td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="170" valign="middle" /></a> </td><td>
<a href="http://www.leogistics.com" target="_blank"><img src="https://nestjs.com/img/leogistics-logo.jpeg" width="150" valign="middle" /></td><td>
<a href="http://www.meetdandy.com" target="_blank"><img src="https://nestjs.com/img/dandy-wide-logo.png" width="150" valign="middle" /></td></tr></table>
@@ -90,6 +95,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle">
<a href="https://genuinebee.com/" target="_blank"><img src="https://nestjs.com/img/genuinebee.svg" width="97" valign="middle" /></a> </td>
<td align="center" valign="middle"><a href="https://sanyodigital.com/" target="_blank"><img src="https://nestjs.com/img/sanyo-digital.png" width="130" valign="middle" /></a></td></tr><tr><td align="center" valign="middle"><a href="https://vpn-review.com/vpn-for-torrenting" target="_blank"><img src="https://nestjs.com/img/vpn-review-logo.png" width="85" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://lambda-it.ch/" target="_blank"><img src="https://nestjs.com/img/lambda-it-logo.svg" width="115" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://pickwriters.com/top-10-translation-services" target="_blank"><img src="https://nestjs.com/img/pickwriters-logo.png" width="40" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://thewordpoint.com/services/localization" target="_blank"><img src="https://nestjs.com/img/thewordpoint-logo.png" width="40" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://streamat.se/" target="_blank"><img src="https://nestjs.com/img/streamat-logo.png" width="120" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://filmen.nu/" target="_blank"><img src="https://nestjs.com/img/filmen-logo.png" width="120" valign="middle" /></a></td></tr><tr>
<td align="center" valign="middle"><a href="https://meercode.io/" target="_blank"><img src="https://nestjs.com/img/meercode-logo.png" width="60" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.najlepszeplatformyforex.pl/blog/broker-xtb/" target="_blank"><img src="https://nestjs.com/img/npf-logo.jpg" width="200" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://thestandarddaily.com/" target="_blank"><img src="https://nestjs.com/img/the-standard-daily-logo.png" width="180" valign="middle" /></a></td>
</tr></table>
## Backers

View File

@@ -1,6 +1,9 @@
/* eslint-disable @typescript-eslint/no-var-requires */
import { HttpStatus, Logger, RequestMethod } from '@nestjs/common';
import { CorsOptions } from '@nestjs/common/interfaces/external/cors-options.interface';
import {
CorsOptions,
CorsOptionsDelegate,
} from '@nestjs/common/interfaces/external/cors-options.interface';
import { loadPackage } from '@nestjs/common/utils/load-package.util';
import { AbstractHttpAdapter } from '@nestjs/core/adapters/http-adapter';
import {
@@ -257,8 +260,18 @@ export class FastifyAdapter<
return request.raw ? request.raw.url : request.url;
}
public enableCors(options: CorsOptions) {
this.register(require('fastify-cors'), options);
public enableCors(
options:
| CorsOptions
| CorsOptionsDelegate<
FastifyRequest<RequestGenericInterface, TServer, TRawRequest>
>,
) {
if (typeof options === 'function') {
this.register(require('fastify-cors'), () => options);
} else {
this.register(require('fastify-cors'), options);
}
}
public registerParserMiddleware() {

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/platform-fastify",
"version": "7.6.5",
"version": "7.6.8",
"description": "Nest - modern, fast, powerful node.js web framework (@platform-fastify)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -17,13 +17,13 @@
"access": "public"
},
"dependencies": {
"fastify": "3.9.2",
"fastify-cors": "5.1.0",
"fastify": "3.11.0",
"fastify-cors": "5.2.0",
"fastify-formbody": "5.0.0",
"light-my-request": "4.4.1",
"middie": "5.2.0",
"path-to-regexp": "3.2.0",
"tslib": "2.0.3"
"tslib": "2.1.0"
},
"peerDependencies": {
"@nestjs/common": "^7.0.0",

View File

@@ -56,16 +56,21 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
#### Principal Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="180" valign="middle" /></a></td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td>
<td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="200" valign="middle" /></a></td>
</tr></table>
#### Gold Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="170" valign="middle" /></a></td></tr></table>
#### Silver Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://neoteric.eu/" target="_blank"><img src="https://nestjs.com/img/neoteric-cut.png" width="120" valign="middle" /></a> </td><td>
<a href="http://gojob.com" target="_blank"><img src="http://nestjs.com/img/gojob-logo.png" valign="middle" width="100" /></a> </td><td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="170" valign="middle" /></a> </td><td>
<a href="http://www.leogistics.com" target="_blank"><img src="https://nestjs.com/img/leogistics-logo.jpeg" width="150" valign="middle" /></td><td>
<a href="http://www.meetdandy.com" target="_blank"><img src="https://nestjs.com/img/dandy-wide-logo.png" width="150" valign="middle" /></td></tr></table>
@@ -90,6 +95,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle">
<a href="https://genuinebee.com/" target="_blank"><img src="https://nestjs.com/img/genuinebee.svg" width="97" valign="middle" /></a> </td>
<td align="center" valign="middle"><a href="https://sanyodigital.com/" target="_blank"><img src="https://nestjs.com/img/sanyo-digital.png" width="130" valign="middle" /></a></td></tr><tr><td align="center" valign="middle"><a href="https://vpn-review.com/vpn-for-torrenting" target="_blank"><img src="https://nestjs.com/img/vpn-review-logo.png" width="85" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://lambda-it.ch/" target="_blank"><img src="https://nestjs.com/img/lambda-it-logo.svg" width="115" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://pickwriters.com/top-10-translation-services" target="_blank"><img src="https://nestjs.com/img/pickwriters-logo.png" width="40" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://thewordpoint.com/services/localization" target="_blank"><img src="https://nestjs.com/img/thewordpoint-logo.png" width="40" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://streamat.se/" target="_blank"><img src="https://nestjs.com/img/streamat-logo.png" width="120" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://filmen.nu/" target="_blank"><img src="https://nestjs.com/img/filmen-logo.png" width="120" valign="middle" /></a></td></tr><tr>
<td align="center" valign="middle"><a href="https://meercode.io/" target="_blank"><img src="https://nestjs.com/img/meercode-logo.png" width="60" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.najlepszeplatformyforex.pl/blog/broker-xtb/" target="_blank"><img src="https://nestjs.com/img/npf-logo.jpg" width="200" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://thestandarddaily.com/" target="_blank"><img src="https://nestjs.com/img/the-standard-daily-logo.png" width="180" valign="middle" /></a></td>
</tr></table>
## Backers

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/platform-socket.io",
"version": "7.6.5",
"version": "7.6.8",
"description": "Nest - modern, fast, powerful node.js web framework (@platform-socket.io)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -17,8 +17,8 @@
"access": "public"
},
"dependencies": {
"socket.io": "2.3.0",
"tslib": "2.0.3"
"socket.io": "2.4.1",
"tslib": "2.1.0"
},
"peerDependencies": {
"@nestjs/common": "^7.0.0",

View File

@@ -56,16 +56,21 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
#### Principal Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="180" valign="middle" /></a></td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td>
<td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="200" valign="middle" /></a></td>
</tr></table>
#### Gold Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="170" valign="middle" /></a></td></tr></table>
#### Silver Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://neoteric.eu/" target="_blank"><img src="https://nestjs.com/img/neoteric-cut.png" width="120" valign="middle" /></a> </td><td>
<a href="http://gojob.com" target="_blank"><img src="http://nestjs.com/img/gojob-logo.png" valign="middle" width="100" /></a> </td><td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="170" valign="middle" /></a> </td><td>
<a href="http://www.leogistics.com" target="_blank"><img src="https://nestjs.com/img/leogistics-logo.jpeg" width="150" valign="middle" /></td><td>
<a href="http://www.meetdandy.com" target="_blank"><img src="https://nestjs.com/img/dandy-wide-logo.png" width="150" valign="middle" /></td></tr></table>
@@ -90,6 +95,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle">
<a href="https://genuinebee.com/" target="_blank"><img src="https://nestjs.com/img/genuinebee.svg" width="97" valign="middle" /></a> </td>
<td align="center" valign="middle"><a href="https://sanyodigital.com/" target="_blank"><img src="https://nestjs.com/img/sanyo-digital.png" width="130" valign="middle" /></a></td></tr><tr><td align="center" valign="middle"><a href="https://vpn-review.com/vpn-for-torrenting" target="_blank"><img src="https://nestjs.com/img/vpn-review-logo.png" width="85" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://lambda-it.ch/" target="_blank"><img src="https://nestjs.com/img/lambda-it-logo.svg" width="115" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://pickwriters.com/top-10-translation-services" target="_blank"><img src="https://nestjs.com/img/pickwriters-logo.png" width="40" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://thewordpoint.com/services/localization" target="_blank"><img src="https://nestjs.com/img/thewordpoint-logo.png" width="40" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://streamat.se/" target="_blank"><img src="https://nestjs.com/img/streamat-logo.png" width="120" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://filmen.nu/" target="_blank"><img src="https://nestjs.com/img/filmen-logo.png" width="120" valign="middle" /></a></td></tr><tr>
<td align="center" valign="middle"><a href="https://meercode.io/" target="_blank"><img src="https://nestjs.com/img/meercode-logo.png" width="60" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.najlepszeplatformyforex.pl/blog/broker-xtb/" target="_blank"><img src="https://nestjs.com/img/npf-logo.jpg" width="200" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://thestandarddaily.com/" target="_blank"><img src="https://nestjs.com/img/the-standard-daily-logo.png" width="180" valign="middle" /></a></td>
</tr></table>
## Backers

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/platform-ws",
"version": "7.6.5",
"version": "7.6.8",
"description": "Nest - modern, fast, powerful node.js web framework (@platform-ws)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -17,8 +17,8 @@
"access": "public"
},
"dependencies": {
"tslib": "2.0.3",
"ws": "7.4.1"
"tslib": "2.1.0",
"ws": "7.4.2"
},
"peerDependencies": {
"@nestjs/common": "^7.0.0",

View File

@@ -56,16 +56,21 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
#### Principal Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="180" valign="middle" /></a></td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td>
<td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="200" valign="middle" /></a></td>
</tr></table>
#### Gold Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="170" valign="middle" /></a></td></tr></table>
#### Silver Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://neoteric.eu/" target="_blank"><img src="https://nestjs.com/img/neoteric-cut.png" width="120" valign="middle" /></a> </td><td>
<a href="http://gojob.com" target="_blank"><img src="http://nestjs.com/img/gojob-logo.png" valign="middle" width="100" /></a> </td><td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="170" valign="middle" /></a> </td><td>
<a href="http://www.leogistics.com" target="_blank"><img src="https://nestjs.com/img/leogistics-logo.jpeg" width="150" valign="middle" /></td><td>
<a href="http://www.meetdandy.com" target="_blank"><img src="https://nestjs.com/img/dandy-wide-logo.png" width="150" valign="middle" /></td></tr></table>
@@ -90,6 +95,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle">
<a href="https://genuinebee.com/" target="_blank"><img src="https://nestjs.com/img/genuinebee.svg" width="97" valign="middle" /></a> </td>
<td align="center" valign="middle"><a href="https://sanyodigital.com/" target="_blank"><img src="https://nestjs.com/img/sanyo-digital.png" width="130" valign="middle" /></a></td></tr><tr><td align="center" valign="middle"><a href="https://vpn-review.com/vpn-for-torrenting" target="_blank"><img src="https://nestjs.com/img/vpn-review-logo.png" width="85" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://lambda-it.ch/" target="_blank"><img src="https://nestjs.com/img/lambda-it-logo.svg" width="115" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://pickwriters.com/top-10-translation-services" target="_blank"><img src="https://nestjs.com/img/pickwriters-logo.png" width="40" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://thewordpoint.com/services/localization" target="_blank"><img src="https://nestjs.com/img/thewordpoint-logo.png" width="40" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://streamat.se/" target="_blank"><img src="https://nestjs.com/img/streamat-logo.png" width="120" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://filmen.nu/" target="_blank"><img src="https://nestjs.com/img/filmen-logo.png" width="120" valign="middle" /></a></td></tr><tr>
<td align="center" valign="middle"><a href="https://meercode.io/" target="_blank"><img src="https://nestjs.com/img/meercode-logo.png" width="60" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.najlepszeplatformyforex.pl/blog/broker-xtb/" target="_blank"><img src="https://nestjs.com/img/npf-logo.jpg" width="200" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://thestandarddaily.com/" target="_blank"><img src="https://nestjs.com/img/the-standard-daily-logo.png" width="180" valign="middle" /></a></td>
</tr></table>
## Backers

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/testing",
"version": "7.6.5",
"version": "7.6.8",
"description": "Nest - modern, fast, powerful node.js web framework (@testing)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -18,7 +18,7 @@
},
"dependencies": {
"optional": "0.1.4",
"tslib": "2.0.3"
"tslib": "2.1.0"
},
"peerDependencies": {
"@nestjs/common": "^7.0.0",

View File

@@ -1,4 +1,4 @@
import { Logger, Module } from '@nestjs/common';
import { Logger, LoggerService, Module } from '@nestjs/common';
import { ModuleMetadata } from '@nestjs/common/interfaces';
import { ApplicationConfig } from '@nestjs/core/application-config';
import { NestContainer } from '@nestjs/core/injector/container';
@@ -16,6 +16,7 @@ export class TestingModuleBuilder {
private readonly scanner: DependenciesScanner;
private readonly instanceLoader = new InstanceLoader(this.container);
private readonly module: any;
private testingLogger: LoggerService;
constructor(metadataScanner: MetadataScanner, metadata: ModuleMetadata) {
this.scanner = new DependenciesScanner(
@@ -26,6 +27,11 @@ export class TestingModuleBuilder {
this.module = this.createModule(metadata);
}
public setLogger(testingLogger: LoggerService) {
this.testingLogger = testingLogger;
return this;
}
public overridePipe<T = any>(typeOrToken: T): OverrideBy {
return this.override(typeOrToken, false);
}
@@ -98,6 +104,6 @@ export class TestingModuleBuilder {
}
private applyLogger() {
Logger.overrideLogger(new TestingLogger());
Logger.overrideLogger(this.testingLogger || new TestingLogger());
}
}

View File

@@ -56,16 +56,21 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
#### Principal Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="180" valign="middle" /></a></td>
<a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle" /></a></td>
<td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="200" valign="middle" /></a></td>
</tr></table>
#### Gold Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="170" valign="middle" /></a></td></tr></table>
#### Silver Sponsors
<table style="text-align:center;"><tr><td>
<a href="https://neoteric.eu/" target="_blank"><img src="https://nestjs.com/img/neoteric-cut.png" width="120" valign="middle" /></a> </td><td>
<a href="http://gojob.com" target="_blank"><img src="http://nestjs.com/img/gojob-logo.png" valign="middle" width="100" /></a> </td><td>
<a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg" width="170" valign="middle" /></a> </td><td>
<a href="http://www.leogistics.com" target="_blank"><img src="https://nestjs.com/img/leogistics-logo.jpeg" width="150" valign="middle" /></td><td>
<a href="http://www.meetdandy.com" target="_blank"><img src="https://nestjs.com/img/dandy-wide-logo.png" width="150" valign="middle" /></td></tr></table>
@@ -90,6 +95,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle">
<a href="https://genuinebee.com/" target="_blank"><img src="https://nestjs.com/img/genuinebee.svg" width="97" valign="middle" /></a> </td>
<td align="center" valign="middle"><a href="https://sanyodigital.com/" target="_blank"><img src="https://nestjs.com/img/sanyo-digital.png" width="130" valign="middle" /></a></td></tr><tr><td align="center" valign="middle"><a href="https://vpn-review.com/vpn-for-torrenting" target="_blank"><img src="https://nestjs.com/img/vpn-review-logo.png" width="85" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://lambda-it.ch/" target="_blank"><img src="https://nestjs.com/img/lambda-it-logo.svg" width="115" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://pickwriters.com/top-10-translation-services" target="_blank"><img src="https://nestjs.com/img/pickwriters-logo.png" width="40" valign="middle" /></a></td><td align="center" valign="middle"><a href="https://thewordpoint.com/services/localization" target="_blank"><img src="https://nestjs.com/img/thewordpoint-logo.png" width="40" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://streamat.se/" target="_blank"><img src="https://nestjs.com/img/streamat-logo.png" width="120" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://filmen.nu/" target="_blank"><img src="https://nestjs.com/img/filmen-logo.png" width="120" valign="middle" /></a></td></tr><tr>
<td align="center" valign="middle"><a href="https://meercode.io/" target="_blank"><img src="https://nestjs.com/img/meercode-logo.png" width="60" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.najlepszeplatformyforex.pl/blog/broker-xtb/" target="_blank"><img src="https://nestjs.com/img/npf-logo.jpg" width="200" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://thestandarddaily.com/" target="_blank"><img src="https://nestjs.com/img/the-standard-daily-logo.png" width="180" valign="middle" /></a></td>
</tr></table>
## Backers

View File

@@ -39,9 +39,7 @@ export interface WsHandlerMetadata {
export class WsContextCreator {
private readonly contextUtils = new ContextUtils();
private readonly wsParamsFactory = new WsParamsFactory();
private readonly handlerMetadataStorage = new HandlerMetadataStorage<
WsHandlerMetadata
>();
private readonly handlerMetadataStorage = new HandlerMetadataStorage<WsHandlerMetadata>();
constructor(
private readonly wsProxy: WsProxy,

View File

@@ -31,7 +31,7 @@ export interface GatewayMetadata {
* Accepted origins
* @default '*:*'
*/
origins?: string;
origins?: string | string[];
parser?: any;

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/websockets",
"version": "7.6.5",
"version": "7.6.8",
"description": "Nest - modern, fast, powerful node.js web framework (@websockets)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -13,11 +13,11 @@
},
"dependencies": {
"iterare": "1.2.1",
"tslib": "2.0.3"
"tslib": "2.1.0"
},
"devDependencies": {
"@nestjs/common": "7.6.5",
"@nestjs/core": "7.6.5"
"@nestjs/common": "7.6.8",
"@nestjs/core": "7.6.8"
},
"peerDependencies": {
"@nestjs/common": "^7.0.0",

70
readme_jp.md Normal file
View File

@@ -0,0 +1,70 @@
<p align="center">
<a href="http://nestjs.com/" target="blank"><img src="https://nestjs.com/img/logo-small.svg" width="120" alt="Nest Logo" /></a>
</p>
[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456
[circleci-url]: https://circleci.com/gh/nestjs/nest
<p align="center">すばやくスケーラブルなサーバーサイドアプリケーションを構築するための革新的な<a href="http://nodejs.org" target="_blank">Node.js</a>フレームワークです。</p>
<p align="center">
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/v/@nestjs/core.svg" alt="NPM Version" /></a>
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/l/@nestjs/core.svg" alt="Package License" /></a>
<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/dm/@nestjs/common.svg" alt="NPM Downloads" /></a>
<a href="https://circleci.com/gh/nestjs/nest" target="_blank"><img src="https://img.shields.io/circleci/build/github/nestjs/nest/master" alt="CircleCI" /></a>
<a href="https://coveralls.io/github/nestjs/nest?branch=master" target="_blank"><img src="https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9" alt="Coverage" /></a>
<a href="https://discord.gg/G7Qnnhy" target="_blank"><img src="https://img.shields.io/badge/discord-online-brightgreen.svg" alt="Discord"/></a>
<a href="https://opencollective.com/nest#backer" target="_blank"><img src="https://opencollective.com/nest/backers/badge.svg" alt="Backers on Open Collective" /></a>
<a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://opencollective.com/nest/sponsors/badge.svg" alt="Sponsors on Open Collective" /></a>
<a href="https://paypal.me/kamilmysliwiec" target="_blank"><img src="https://img.shields.io/badge/Donate-PayPal-ff3f59.svg"/></a>
<a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg" alt="Support us"></a>
<a href="https://twitter.com/nestframework" target="_blank"><img src="https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow"></a>
</p>
<!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer)
[![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)-->
## Description
すばやくスケーラブルなサーバーサイドアプリケーションを構築するための革新的な<a href="http://nodejs.org" target="_blank">Node.js</a>フレームワークです。最新のJavaScriptを使用し、<a href="http://www.typescriptlang.org" target="_blank">TypeScript</a>JavaScriptを拡張したスーパーセットで構築され 、OOPオブジェクト指向プログラミング、FP関数型プログラミング、およびFRP関数型リアクティブプログラミングの要素を取り入れています。
<p>Nestは<a href="https://expressjs.com/" target="_blank">Express</a>(デフォルト)や<a href="https://github.com/fastify/fastify" target="_blank">Fastify</a>などのさまざまなライブラリとの互換性を提供することで、たくさんのサードパーティプラグインを簡単に使用することができます。
</p>
## Philosophy
<p>
近年、Node.jsの発展によって、JavaScriptはフロントエンドとバックエンドの両方でWebの「共通言語」になりました。そしてフロントエンドでは、<a href="https://angular.io/" target="_blank">Angular</a><a href="https://github.com/facebook/react" target="_blank">React</a><a href="https://github.com/vuejs/vue" target="_blank">Vue</a>などの素晴らしいプロジェクトが生まれ、開発効率が飛躍的に向上しました。一方で、サーバーサイドでは、Node.jsエコシステム上に優れたライブラリ、ヘルパー、ツールがたくさんありますが、それらのどれもが主要な問題であるアーキテクチャを効果的に解決するものではありませんでした。
</p>
<p>Nestは、実用的なアーキテクチャをすぐに構築できることを目的としています。具体的には、テストフレンドリーで、スケーラブルで、疎結合で、運用にやさしいアプリケーションを構築できるようになっています。また、アーキテクチャはAngularにインスパイアされています。</p>
## Getting started
* To check out the [guide](https://docs.nestjs.com), visit [docs.nestjs.com](https://docs.nestjs.com). :books:
* 要查看中文 [指南](readme_zh.md), 请访问 [docs.nestjs.cn](https://docs.nestjs.cn). :books:
* 日本語ガイドは現在準備中です。 :books:
## Questions
質問やサポートについては、公式の[Discordチャンネル](https://discord.gg/G7Qnnhy)を使用してください。また、このリポジトリのissueリストは、バグレポートと機能リクエスト **専用** です。
## Issues
issueを開く前に、必ず[Issue Reporting Checklist](https://github.com/nestjs/nest/blob/master/CONTRIBUTING.md#-submitting-an-issue)をお読みください。ガイドラインに準拠していないissueは、クローズされる場合があります。
## Consulting
公式サポートを利用することで、Nestコアチームからのテクニカルサポート、移行戦略、ベストプラクティスの提供、アーキテクチャの相談、PRレビュー、メンタリングを受けることができます。詳しくは[こちら](https://enterprise.nestjs.com)をご覧ください。
## Support
Nestは、MITライセンスのオープンソースプロジェクトです。スポンサーと支援者による素晴らしいサポートによって、その発展を支えられています。参加したい場合は[こちら](https://docs.nestjs.com/support)をご覧ください。
## Stay in touch
* Author - [Kamil Myśliwiec](https://twitter.com/kammysliwiec)
* Website - [https://nestjs.com](https://nestjs.com/)
* Twitter - [@nestframework](https://twitter.com/nestframework)
## License
Nest is [MIT licensed](LICENSE).

File diff suppressed because it is too large Load Diff

View File

@@ -19,34 +19,34 @@
"test:e2e": "jest --config ./e2e/jest-e2e.json"
},
"dependencies": {
"@nestjs/common": "7.6.4",
"@nestjs/core": "7.6.4",
"@nestjs/platform-express": "7.6.4",
"class-transformer": "0.3.1",
"class-validator": "0.12.2",
"@nestjs/common": "7.6.8",
"@nestjs/core": "7.6.8",
"@nestjs/platform-express": "7.6.8",
"class-transformer": "0.3.2",
"class-validator": "0.13.1",
"reflect-metadata": "0.1.13",
"rimraf": "3.0.2",
"rxjs": "6.6.3"
},
"devDependencies": {
"@nestjs/cli": "7.5.4",
"@nestjs/schematics": "7.2.6",
"@nestjs/testing": "7.6.4",
"@types/express": "4.17.9",
"@types/jest": "26.0.19",
"@types/node": "14.14.14",
"@nestjs/schematics": "7.2.7",
"@nestjs/testing": "7.6.8",
"@types/express": "4.17.11",
"@types/jest": "26.0.20",
"@types/node": "14.14.22",
"@types/supertest": "2.0.10",
"jest": "26.6.3",
"prettier": "2.2.1",
"supertest": "6.0.1",
"ts-jest": "26.4.4",
"ts-loader": "8.0.12",
"supertest": "6.1.3",
"ts-jest": "26.5.0",
"ts-loader": "8.0.14",
"ts-node": "9.1.1",
"tsconfig-paths": "3.9.0",
"@typescript-eslint/eslint-plugin": "4.11.0",
"@typescript-eslint/parser": "4.11.0",
"eslint": "7.16.0",
"eslint-config-prettier": "7.1.0",
"@typescript-eslint/eslint-plugin": "4.14.2",
"@typescript-eslint/parser": "4.14.2",
"eslint": "7.19.0",
"eslint-config-prettier": "7.2.0",
"eslint-plugin-import": "2.22.1",
"typescript": "4.1.3"
},

File diff suppressed because it is too large Load Diff

View File

@@ -19,39 +19,39 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "7.6.4",
"@nestjs/core": "7.6.4",
"@nestjs/platform-express": "7.6.4",
"@nestjs/platform-socket.io": "7.6.4",
"@nestjs/websockets": "7.6.4",
"class-transformer": "0.3.1",
"class-validator": "0.12.2",
"@nestjs/common": "7.6.8",
"@nestjs/core": "7.6.8",
"@nestjs/platform-express": "7.6.8",
"@nestjs/platform-socket.io": "7.6.8",
"@nestjs/websockets": "7.6.8",
"class-transformer": "0.3.2",
"class-validator": "0.13.1",
"reflect-metadata": "0.1.13",
"rimraf": "3.0.2",
"rxjs": "6.6.3",
"socket.io-redis": "5.4.0"
},
"devDependencies": {
"@types/socket.io": "2.1.12",
"@types/socket.io": "2.1.13",
"@types/socket.io-redis": "1.0.26",
"@types/ws": "7.4.0",
"@nestjs/cli": "7.5.4",
"@nestjs/schematics": "7.2.6",
"@nestjs/testing": "7.6.4",
"@types/express": "4.17.9",
"@types/node": "14.14.14",
"@nestjs/schematics": "7.2.7",
"@nestjs/testing": "7.6.8",
"@types/express": "4.17.11",
"@types/node": "14.14.22",
"@types/supertest": "2.0.10",
"jest": "26.6.3",
"prettier": "2.2.1",
"supertest": "6.0.1",
"ts-jest": "26.4.4",
"ts-loader": "8.0.12",
"supertest": "6.1.3",
"ts-jest": "26.5.0",
"ts-loader": "8.0.14",
"ts-node": "9.1.1",
"tsconfig-paths": "3.9.0",
"@typescript-eslint/eslint-plugin": "4.11.0",
"@typescript-eslint/parser": "4.11.0",
"eslint": "7.16.0",
"eslint-config-prettier": "7.1.0",
"@typescript-eslint/eslint-plugin": "4.14.2",
"@typescript-eslint/parser": "4.14.2",
"eslint": "7.19.0",
"eslint-config-prettier": "7.2.0",
"eslint-plugin-import": "2.22.1",
"typescript": "4.1.3"
}

File diff suppressed because it is too large Load Diff

View File

@@ -19,35 +19,35 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "7.6.4",
"@nestjs/core": "7.6.4",
"@nestjs/microservices": "7.6.4",
"@nestjs/platform-express": "7.6.4",
"class-transformer": "0.3.1",
"class-validator": "0.12.2",
"@nestjs/common": "7.6.8",
"@nestjs/core": "7.6.8",
"@nestjs/microservices": "7.6.8",
"@nestjs/platform-express": "7.6.8",
"class-transformer": "0.3.2",
"class-validator": "0.13.1",
"reflect-metadata": "0.1.13",
"rimraf": "3.0.2",
"rxjs": "6.6.3"
},
"devDependencies": {
"@nestjs/cli": "7.5.4",
"@nestjs/schematics": "7.2.6",
"@nestjs/testing": "7.6.4",
"@nestjs/schematics": "7.2.7",
"@nestjs/testing": "7.6.8",
"@types/amqplib": "0.5.17",
"@types/express": "4.17.9",
"@types/node": "14.14.14",
"@types/express": "4.17.11",
"@types/node": "14.14.22",
"@types/supertest": "2.0.10",
"jest": "26.6.3",
"prettier": "2.2.1",
"supertest": "6.0.1",
"ts-jest": "26.4.4",
"ts-loader": "8.0.12",
"supertest": "6.1.3",
"ts-jest": "26.5.0",
"ts-loader": "8.0.14",
"ts-node": "9.1.1",
"tsconfig-paths": "3.9.0",
"@typescript-eslint/eslint-plugin": "4.11.0",
"@typescript-eslint/parser": "4.11.0",
"eslint": "7.16.0",
"eslint-config-prettier": "7.1.0",
"@typescript-eslint/eslint-plugin": "4.14.2",
"@typescript-eslint/parser": "4.14.2",
"eslint": "7.19.0",
"eslint-config-prettier": "7.2.0",
"eslint-plugin-import": "2.22.1",
"typescript": "4.1.3"
}

File diff suppressed because it is too large Load Diff

View File

@@ -19,12 +19,12 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@grpc/proto-loader": "0.5.5",
"@nestjs/common": "7.6.4",
"@nestjs/core": "7.6.4",
"@nestjs/microservices": "7.6.4",
"class-transformer": "0.3.1",
"class-validator": "0.12.2",
"@grpc/proto-loader": "0.5.6",
"@nestjs/common": "7.6.8",
"@nestjs/core": "7.6.8",
"@nestjs/microservices": "7.6.8",
"class-transformer": "0.3.2",
"class-validator": "0.13.1",
"grpc": "1.24.4",
"reflect-metadata": "0.1.13",
"rimraf": "3.0.2",
@@ -32,23 +32,23 @@
},
"devDependencies": {
"@nestjs/cli": "7.5.4",
"@nestjs/schematics": "7.2.6",
"@nestjs/testing": "7.6.4",
"@types/express": "4.17.9",
"@types/node": "14.14.14",
"@nestjs/schematics": "7.2.7",
"@nestjs/testing": "7.6.8",
"@types/express": "4.17.11",
"@types/node": "14.14.22",
"@types/supertest": "2.0.10",
"@types/ws": "7.4.0",
"jest": "26.6.3",
"prettier": "2.2.1",
"supertest": "6.0.1",
"ts-jest": "26.4.4",
"ts-loader": "8.0.12",
"supertest": "6.1.3",
"ts-jest": "26.5.0",
"ts-loader": "8.0.14",
"ts-node": "9.1.1",
"tsconfig-paths": "3.9.0",
"@typescript-eslint/eslint-plugin": "4.11.0",
"@typescript-eslint/parser": "4.11.0",
"eslint": "7.16.0",
"eslint-config-prettier": "7.1.0",
"@typescript-eslint/eslint-plugin": "4.14.2",
"@typescript-eslint/parser": "4.14.2",
"eslint": "7.19.0",
"eslint-config-prettier": "7.2.0",
"eslint-plugin-import": "2.22.1",
"typescript": "4.1.3"
}

File diff suppressed because it is too large Load Diff

View File

@@ -19,35 +19,35 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "7.6.4",
"@nestjs/core": "7.6.4",
"@nestjs/platform-express": "7.6.4",
"@nestjs/common": "7.6.8",
"@nestjs/core": "7.6.8",
"@nestjs/platform-express": "7.6.8",
"@nestjs/typeorm": "7.1.5",
"mysql": "2.18.1",
"reflect-metadata": "0.1.13",
"rimraf": "3.0.2",
"rxjs": "6.6.3",
"typeorm": "0.2.29"
"typeorm": "0.2.30"
},
"devDependencies": {
"@nestjs/cli": "7.5.4",
"@nestjs/schematics": "7.2.6",
"@nestjs/testing": "7.6.4",
"@types/express": "4.17.9",
"@types/node": "14.14.14",
"@nestjs/schematics": "7.2.7",
"@nestjs/testing": "7.6.8",
"@types/express": "4.17.11",
"@types/node": "14.14.22",
"@types/supertest": "2.0.10",
"@types/ws": "7.4.0",
"jest": "26.6.3",
"prettier": "2.2.1",
"supertest": "6.0.1",
"ts-jest": "26.4.4",
"ts-loader": "8.0.12",
"supertest": "6.1.3",
"ts-jest": "26.5.0",
"ts-loader": "8.0.14",
"ts-node": "9.1.1",
"tsconfig-paths": "3.9.0",
"@typescript-eslint/eslint-plugin": "4.11.0",
"@typescript-eslint/parser": "4.11.0",
"eslint": "7.16.0",
"eslint-config-prettier": "7.1.0",
"@typescript-eslint/eslint-plugin": "4.14.2",
"@typescript-eslint/parser": "4.14.2",
"eslint": "7.19.0",
"eslint-config-prettier": "7.2.0",
"eslint-plugin-import": "2.22.1",
"typescript": "4.1.3"
}

File diff suppressed because it is too large Load Diff

View File

@@ -19,11 +19,11 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "7.6.4",
"@nestjs/core": "7.6.4",
"@nestjs/mongoose": "7.2.0",
"@nestjs/platform-express": "7.6.4",
"mongoose": "5.11.8",
"@nestjs/common": "7.6.8",
"@nestjs/core": "7.6.8",
"@nestjs/mongoose": "7.2.2",
"@nestjs/platform-express": "7.6.8",
"mongoose": "5.11.14",
"reflect-metadata": "0.1.13",
"rimraf": "3.0.2",
"rxjs": "6.6.3"
@@ -31,23 +31,23 @@
"devDependencies": {
"@types/mongoose": "5.10.3",
"@nestjs/cli": "7.5.4",
"@nestjs/schematics": "7.2.6",
"@nestjs/testing": "7.6.4",
"@types/express": "4.17.9",
"@types/node": "14.14.14",
"@nestjs/schematics": "7.2.7",
"@nestjs/testing": "7.6.8",
"@types/express": "4.17.11",
"@types/node": "14.14.22",
"@types/supertest": "2.0.10",
"@types/ws": "7.4.0",
"jest": "26.6.3",
"prettier": "2.2.1",
"supertest": "6.0.1",
"ts-jest": "26.4.4",
"ts-loader": "8.0.12",
"supertest": "6.1.3",
"ts-jest": "26.5.0",
"ts-loader": "8.0.14",
"ts-node": "9.1.1",
"tsconfig-paths": "3.9.0",
"@typescript-eslint/eslint-plugin": "4.11.0",
"@typescript-eslint/parser": "4.11.0",
"eslint": "7.16.0",
"eslint-config-prettier": "7.1.0",
"@typescript-eslint/eslint-plugin": "4.14.2",
"@typescript-eslint/parser": "4.14.2",
"eslint": "7.19.0",
"eslint-config-prettier": "7.2.0",
"eslint-plugin-import": "2.22.1",
"typescript": "4.1.3"
}

File diff suppressed because it is too large Load Diff

View File

@@ -19,38 +19,38 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "7.6.4",
"@nestjs/core": "7.6.4",
"@nestjs/platform-express": "7.6.4",
"@nestjs/sequelize": "0.1.1",
"@nestjs/common": "7.6.8",
"@nestjs/core": "7.6.8",
"@nestjs/platform-express": "7.6.8",
"@nestjs/sequelize": "0.2.0",
"mysql2": "2.2.5",
"reflect-metadata": "0.1.13",
"rimraf": "3.0.2",
"rxjs": "6.6.3",
"sequelize": "6.3.5",
"sequelize-typescript": "1.1.0",
"sequelize": "6.5.0",
"sequelize-typescript": "2.0.0",
"typescript": "4.1.3"
},
"devDependencies": {
"@types/sequelize": "4.28.9",
"@nestjs/cli": "7.5.4",
"@nestjs/schematics": "7.2.6",
"@nestjs/testing": "7.6.4",
"@types/express": "4.17.9",
"@types/node": "14.14.14",
"@nestjs/schematics": "7.2.7",
"@nestjs/testing": "7.6.8",
"@types/express": "4.17.11",
"@types/node": "14.14.22",
"@types/supertest": "2.0.10",
"@types/ws": "7.4.0",
"jest": "26.6.3",
"prettier": "2.2.1",
"supertest": "6.0.1",
"ts-jest": "26.4.4",
"ts-loader": "8.0.12",
"supertest": "6.1.3",
"ts-jest": "26.5.0",
"ts-loader": "8.0.14",
"ts-node": "9.1.1",
"tsconfig-paths": "3.9.0",
"@typescript-eslint/eslint-plugin": "4.11.0",
"@typescript-eslint/parser": "4.11.0",
"eslint": "7.16.0",
"eslint-config-prettier": "7.1.0",
"@typescript-eslint/eslint-plugin": "4.14.2",
"@typescript-eslint/parser": "4.14.2",
"eslint": "7.19.0",
"eslint-config-prettier": "7.2.0",
"eslint-plugin-import": "2.22.1",
"typescript": "4.1.3"
}

View File

@@ -1,6 +1,5 @@
import { Injectable } from '@nestjs/common';
import { InjectModel } from '@nestjs/sequelize';
import { Sequelize } from 'sequelize-typescript';
import { CreateUserDto } from './dto/create-user.dto';
import { User } from './user.model';
@@ -9,7 +8,6 @@ export class UsersService {
constructor(
@InjectModel(User)
private readonly userModel: typeof User,
private readonly sequelize: Sequelize,
) {}
create(createUserDto: CreateUserDto): Promise<User> {
@@ -21,23 +19,6 @@ export class UsersService {
}
async findAll(): Promise<User[]> {
try {
await this.sequelize.transaction(async t => {
const transactionHost = { transaction: t };
await this.userModel.create(
{ firstName: 'Abraham', lastName: 'Lincoln' },
transactionHost,
);
await this.userModel.create(
{ firstName: 'John', lastName: 'Boothe' },
transactionHost,
);
});
} catch (err) {
// Transaction has been rolled back
// err is whatever rejected the promise chain returned to the transaction callback
}
return this.userModel.findAll();
}

File diff suppressed because it is too large Load Diff

View File

@@ -11,27 +11,27 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "7.6.4",
"@nestjs/core": "7.6.4",
"@nestjs/platform-express": "7.6.4",
"@nestjs/common": "7.6.8",
"@nestjs/core": "7.6.8",
"@nestjs/platform-express": "7.6.8",
"reflect-metadata": "0.1.13",
"rxjs": "6.6.3",
"typescript": "4.1.3"
},
"devDependencies": {
"@nestjs/cli": "7.5.4",
"@nestjs/schematics": "7.2.6",
"@types/node": "14.14.14",
"@typescript-eslint/eslint-plugin": "4.11.0",
"@typescript-eslint/parser": "4.11.0",
"eslint": "7.16.0",
"eslint-config-prettier": "7.1.0",
"@nestjs/schematics": "7.2.7",
"@types/node": "14.14.22",
"@typescript-eslint/eslint-plugin": "4.14.2",
"@typescript-eslint/parser": "4.14.2",
"eslint": "7.19.0",
"eslint-config-prettier": "7.2.0",
"eslint-plugin-import": "2.22.1",
"start-server-webpack-plugin": "2.2.5",
"ts-loader": "8.0.12",
"ts-loader": "8.0.14",
"ts-node": "9.1.1",
"webpack": "5.11.1",
"webpack-cli": "4.3.0",
"webpack": "5.19.0",
"webpack-cli": "4.4.0",
"webpack-node-externals": "2.5.2"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -13,11 +13,11 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "7.6.4",
"@nestjs/core": "7.6.4",
"@nestjs/platform-express": "7.6.4",
"@nestjs/microservices": "7.6.4",
"@nestjs/websockets": "7.6.4",
"@nestjs/common": "7.6.8",
"@nestjs/core": "7.6.8",
"@nestjs/platform-express": "7.6.8",
"@nestjs/microservices": "7.6.8",
"@nestjs/websockets": "7.6.8",
"reflect-metadata": "0.1.13",
"rxjs": "6.6.3"
},
@@ -30,11 +30,11 @@
"@babel/preset-env": "7.12.11",
"@babel/register": "7.12.10",
"@babel/runtime": "7.12.5",
"@nestjs/testing": "7.6.4",
"@nestjs/testing": "7.6.8",
"jest": "26.6.3",
"nodemon": "2.0.6",
"nodemon": "2.0.7",
"prettier": "2.2.1",
"supertest": "6.0.1"
"supertest": "6.1.3"
},
"jest": {
"moduleFileExtensions": [

File diff suppressed because it is too large Load Diff

View File

@@ -19,34 +19,34 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "7.6.4",
"@nestjs/core": "7.6.4",
"@nestjs/platform-fastify": "7.6.4",
"class-transformer": "0.3.1",
"class-validator": "0.12.2",
"@nestjs/common": "7.6.8",
"@nestjs/core": "7.6.8",
"@nestjs/platform-fastify": "7.6.8",
"class-transformer": "0.3.2",
"class-validator": "0.13.1",
"reflect-metadata": "0.1.13",
"rimraf": "3.0.2",
"rxjs": "6.6.3"
},
"devDependencies": {
"@nestjs/cli": "7.5.4",
"@nestjs/schematics": "7.2.6",
"@nestjs/testing": "7.6.4",
"@types/express": "4.17.9",
"@types/node": "14.14.14",
"@nestjs/schematics": "7.2.7",
"@nestjs/testing": "7.6.8",
"@types/express": "4.17.11",
"@types/node": "14.14.22",
"@types/supertest": "2.0.10",
"@types/ws": "7.4.0",
"jest": "26.6.3",
"prettier": "2.2.1",
"supertest": "6.0.1",
"ts-jest": "26.4.4",
"ts-loader": "8.0.12",
"supertest": "6.1.3",
"ts-jest": "26.5.0",
"ts-loader": "8.0.14",
"ts-node": "9.1.1",
"tsconfig-paths": "3.9.0",
"@typescript-eslint/eslint-plugin": "4.11.0",
"@typescript-eslint/parser": "4.11.0",
"eslint": "7.16.0",
"eslint-config-prettier": "7.1.0",
"@typescript-eslint/eslint-plugin": "4.14.2",
"@typescript-eslint/parser": "4.14.2",
"eslint": "7.19.0",
"eslint-config-prettier": "7.2.0",
"eslint-plugin-import": "2.22.1",
"typescript": "4.1.3"
}

File diff suppressed because it is too large Load Diff

View File

@@ -19,12 +19,12 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "7.6.4",
"@nestjs/core": "7.6.4",
"@nestjs/platform-express": "7.6.4",
"@nestjs/swagger": "4.7.9",
"class-transformer": "0.3.1",
"class-validator": "0.12.2",
"@nestjs/common": "7.6.8",
"@nestjs/core": "7.6.8",
"@nestjs/platform-express": "7.6.8",
"@nestjs/swagger": "4.7.12",
"class-transformer": "0.3.2",
"class-validator": "0.13.1",
"reflect-metadata": "0.1.13",
"rimraf": "3.0.2",
"rxjs": "6.6.3",
@@ -32,22 +32,22 @@
},
"devDependencies": {
"@nestjs/cli": "7.5.4",
"@nestjs/schematics": "7.2.6",
"@nestjs/testing": "7.6.4",
"@types/express": "4.17.9",
"@types/node": "14.14.14",
"@nestjs/schematics": "7.2.7",
"@nestjs/testing": "7.6.8",
"@types/express": "4.17.11",
"@types/node": "14.14.22",
"@types/supertest": "2.0.10",
"jest": "26.6.3",
"prettier": "2.2.1",
"supertest": "6.0.1",
"ts-jest": "26.4.4",
"ts-loader": "8.0.12",
"supertest": "6.1.3",
"ts-jest": "26.5.0",
"ts-loader": "8.0.14",
"ts-node": "9.1.1",
"tsconfig-paths": "3.9.0",
"@typescript-eslint/eslint-plugin": "4.11.0",
"@typescript-eslint/parser": "4.11.0",
"eslint": "7.16.0",
"eslint-config-prettier": "7.1.0",
"@typescript-eslint/eslint-plugin": "4.14.2",
"@typescript-eslint/parser": "4.14.2",
"eslint": "7.19.0",
"eslint-config-prettier": "7.2.0",
"eslint-plugin-import": "2.22.1",
"typescript": "4.1.3"
}

File diff suppressed because it is too large Load Diff

View File

@@ -19,14 +19,14 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "7.6.4",
"@nestjs/core": "7.6.4",
"@nestjs/graphql": "7.9.2",
"@nestjs/platform-express": "7.6.4",
"apollo-server": "2.19.1",
"apollo-server-express": "2.19.1",
"class-transformer": "0.3.1",
"class-validator": "0.12.2",
"@nestjs/common": "7.6.8",
"@nestjs/core": "7.6.8",
"@nestjs/graphql": "7.9.8",
"@nestjs/platform-express": "7.6.8",
"apollo-server": "2.19.2",
"apollo-server-express": "2.19.2",
"class-transformer": "0.3.2",
"class-validator": "0.13.1",
"graphql": "15.4.0",
"graphql-subscriptions": "1.1.0",
"reflect-metadata": "0.1.13",
@@ -35,22 +35,22 @@
},
"devDependencies": {
"@nestjs/cli": "7.5.4",
"@nestjs/schematics": "7.2.6",
"@nestjs/testing": "7.6.4",
"@types/express": "4.17.9",
"@types/node": "14.14.14",
"@nestjs/schematics": "7.2.7",
"@nestjs/testing": "7.6.8",
"@types/express": "4.17.11",
"@types/node": "14.14.22",
"@types/supertest": "2.0.10",
"jest": "26.6.3",
"prettier": "2.2.1",
"supertest": "6.0.1",
"ts-jest": "26.4.4",
"ts-loader": "8.0.12",
"supertest": "6.1.3",
"ts-jest": "26.5.0",
"ts-loader": "8.0.14",
"ts-node": "9.1.1",
"tsconfig-paths": "3.9.0",
"@typescript-eslint/eslint-plugin": "4.11.0",
"@typescript-eslint/parser": "4.11.0",
"eslint": "7.16.0",
"eslint-config-prettier": "7.1.0",
"@typescript-eslint/eslint-plugin": "4.14.2",
"@typescript-eslint/parser": "4.14.2",
"eslint": "7.19.0",
"eslint-config-prettier": "7.2.0",
"eslint-plugin-import": "2.22.1",
"typescript": "4.1.3"
}

View File

@@ -0,0 +1,13 @@
import { Parent, ResolveField, Resolver } from '@nestjs/graphql';
import { Cat, Owner } from '../graphql.schema';
import { OwnersService } from '../owners/owners.service';
@Resolver('Cat')
export class CatOwnerResolver {
constructor(private readonly ownersService: OwnersService) {}
@ResolveField()
async owner(@Parent() cat: Cat & { ownerId: number }): Promise<Owner> {
return this.ownersService.findOneById(cat.ownerId);
}
}

View File

@@ -1,5 +1,5 @@
type Query {
getCats: [Cat]
cats: [Cat]
cat(id: ID!): Cat
}
@@ -11,10 +11,18 @@ type Subscription {
catCreated: Cat
}
type Owner {
id: Int!
name: String!
age: Int
cats: [Cat!]
}
type Cat {
id: Int
name: String
age: Int
owner: Owner
}
input CreateCatInput {

View File

@@ -1,8 +1,11 @@
import { Module } from '@nestjs/common';
import { CatsResolvers } from './cats.resolvers';
import { OwnersModule } from '../owners/owners.module';
import { CatOwnerResolver } from './cat-owner.resolver';
import { CatsResolver } from './cats.resolver';
import { CatsService } from './cats.service';
@Module({
providers: [CatsService, CatsResolvers],
imports: [OwnersModule],
providers: [CatsService, CatsResolver, CatOwnerResolver],
})
export class CatsModule {}

View File

@@ -9,10 +9,10 @@ import { CreateCatDto } from './dto/create-cat.dto';
const pubSub = new PubSub();
@Resolver('Cat')
export class CatsResolvers {
export class CatsResolver {
constructor(private readonly catsService: CatsService) {}
@Query()
@Query('cats')
@UseGuards(CatsGuard)
async getCats() {
return this.catsService.findAll();

Some files were not shown because too many files have changed in this diff Show More