Compare commits

...

405 Commits

Author SHA1 Message Date
Kamil Myśliwiec
e4a2b06205 chore(@nestjs) publish v7.6.13 release 2021-02-22 10:49:59 +01:00
Kamil Myśliwiec
7cb7b1dc8a fix(core): support extracting paths from ctrl with many paths #6463 2021-02-22 10:47:35 +01:00
Kamil Myśliwiec
e7fa96022e chore(): update benchmarks 2021-02-22 10:21:11 +01:00
Kamil Mysliwiec
de4a90cc65 Merge pull request #6464 from nestjs/renovate/husky-5.x
chore(deps): update dependency husky to v5.1.0
2021-02-22 08:01:06 +01:00
Renovate Bot
dfb03e17ef chore(deps): update dependency husky to v5.1.0 2021-02-21 23:29:48 +00:00
Kamil Mysliwiec
87b6951143 Merge pull request #6455 from nestjs/renovate/node-14.x
chore(deps): update dependency @types/node to v14.14.31
2021-02-21 20:57:25 +01:00
Renovate Bot
1e644bd95b chore(deps): update dependency @types/node to v14.14.31 2021-02-21 14:03:27 +00:00
Kamil Mysliwiec
29cc923de8 Merge pull request #6459 from nestjs/renovate/concurrently-6.x
chore(deps): update dependency concurrently to v6
2021-02-21 14:40:25 +01:00
Kamil Mysliwiec
d570a79a3b Merge pull request #6456 from BatuhanW/add-injectable-to-event-emitter-sample
chore(sample/30): add Injectable decorator to OrderCreatedListener
2021-02-21 14:39:51 +01:00
Renovate Bot
7ad0f61bf4 chore(deps): update dependency concurrently to v6 2021-02-20 11:51:56 +00:00
Batuhan Wilhelm
513d2c91aa chore(sample/30): add Injectable decorator to OrderCreatedListener 2021-02-20 01:20:01 +03:00
Kamil Mysliwiec
c19f6267d4 Merge pull request #6447 from nestjs/renovate/babel-monorepo
chore(deps): update babel monorepo
2021-02-19 13:31:11 +01:00
Renovate Bot
c1c7f00f85 chore(deps): update babel monorepo 2021-02-19 07:51:07 +00:00
Kamil Mysliwiec
6ac26cba50 Merge pull request #6452 from nestjs/dependabot/npm_and_yarn/types/node-14.14.30
chore(deps-dev): bump @types/node from 14.14.28 to 14.14.30
2021-02-19 08:46:44 +01:00
Kamil Mysliwiec
a9d16961af Merge pull request #6451 from nestjs/dependabot/npm_and_yarn/core-js-3.9.0
chore(deps-dev): bump core-js from 3.8.3 to 3.9.0
2021-02-19 08:46:39 +01:00
Kamil Mysliwiec
49e2c4dc7d Merge pull request #6450 from nestjs/renovate/node-14.x
chore(deps): update dependency @types/node to v14.14.30
2021-02-19 08:46:32 +01:00
Kamil Mysliwiec
9518f6448f Merge pull request #6449 from nestjs/renovate/core-js-3.x
chore(deps): update dependency core-js to v3.9.0
2021-02-19 08:46:26 +01:00
Kamil Mysliwiec
2882764a45 Merge pull request #6448 from nestjs/renovate/webpack-5.x
chore(deps): update dependency webpack to v5.23.0
2021-02-19 08:46:19 +01:00
dependabot[bot]
38cfd1b445 chore(deps-dev): bump @types/node from 14.14.28 to 14.14.30
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.28 to 14.14.30.
- [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-02-19 05:22:57 +00:00
dependabot[bot]
aa47eb99be chore(deps-dev): bump core-js from 3.8.3 to 3.9.0
Bumps [core-js](https://github.com/zloirock/core-js) from 3.8.3 to 3.9.0.
- [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.3...v3.9.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 05:20:37 +00:00
Renovate Bot
ffa1ead4a2 chore(deps): update dependency @types/node to v14.14.30 2021-02-19 04:42:08 +00:00
Renovate Bot
5385337dfc chore(deps): update dependency core-js to v3.9.0 2021-02-18 17:54:56 +00:00
Renovate Bot
89c454b996 chore(deps): update dependency webpack to v5.23.0 2021-02-18 16:19:45 +00:00
Kamil Mysliwiec
f95d37f542 Merge pull request #6442 from nestjs/renovate/fastify-static-4.x
fix(deps): update dependency fastify-static to v4
2021-02-18 13:56:01 +01:00
Renovate Bot
a47c2d8ddc fix(deps): update dependency fastify-static to v4 2021-02-18 11:09:20 +00:00
Kamil Mysliwiec
e86a66c794 Merge pull request #6434 from nestjs/renovate/mongoose-5.x
fix(deps): update dependency mongoose to v5.11.17
2021-02-18 10:11:52 +01:00
Renovate Bot
b39ae98514 fix(deps): update dependency mongoose to v5.11.17 2021-02-18 08:02:17 +00:00
Kamil Mysliwiec
3d40ae3f3c Merge pull request #6438 from nestjs/dependabot/npm_and_yarn/mongoose-5.11.17
chore(deps-dev): bump mongoose from 5.11.16 to 5.11.17
2021-02-18 08:26:18 +01:00
Kamil Mysliwiec
6b4f830e30 Merge pull request #6435 from nestjs/renovate/mocha-8.x
chore(deps): update dependency @types/mocha to v8.2.1
2021-02-18 08:26:11 +01:00
Kamil Mysliwiec
7809ec8d45 Merge pull request #6433 from nestjs/renovate/graphql-tools-monorepo
fix(deps): update dependency graphql-tools to v7.0.4
2021-02-18 08:26:06 +01:00
Kamil Mysliwiec
2eff8bb355 Merge pull request #6430 from nestjs/renovate/nest-monorepo
chore(deps): update nest monorepo
2021-02-18 08:25:59 +01:00
dependabot[bot]
9a12e7bf35 chore(deps-dev): bump mongoose from 5.11.16 to 5.11.17
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.11.16 to 5.11.17.
- [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.16...5.11.17)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-18 05:23:43 +00:00
Renovate Bot
bbf9e693b6 chore(deps): update dependency @types/mocha to v8.2.1 2021-02-17 18:11:11 +00:00
Renovate Bot
47b2ed07ed fix(deps): update dependency graphql-tools to v7.0.4 2021-02-17 14:10:01 +00:00
Renovate Bot
59319e93d9 chore(deps): update nest monorepo 2021-02-17 12:35:28 +00:00
Kamil Mysliwiec
45866e26ab Merge pull request #6426 from nestjs/renovate/socket.io-redis-1.x
chore(deps): update dependency @types/socket.io-redis to v1.0.27
2021-02-17 09:34:09 +01:00
Renovate Bot
544633f4ad chore(deps): update dependency @types/socket.io-redis to v1.0.27 2021-02-16 19:09:18 +00:00
Kamil Mysliwiec
c8de663f40 Merge pull request #6424 from nestjs/renovate/nestjs-graphql-7.x
fix(deps): update dependency @nestjs/graphql to v7.9.9
2021-02-16 16:00:51 +01:00
Renovate Bot
801dd7a882 fix(deps): update dependency @nestjs/graphql to v7.9.9 2021-02-16 12:01:20 +00:00
Kamil Mysliwiec
14a2415070 Update Readme.md 2021-02-16 09:23:13 +01:00
Kamil Mysliwiec
c429576c07 Merge pull request #6417 from nestjs/renovate/sequelize-typescript-2.x
fix(deps): update dependency sequelize-typescript to v2.1.0
2021-02-16 08:53:59 +01:00
Kamil Mysliwiec
0a287c8817 Merge pull request #6420 from nestjs/renovate/typescript-eslint-monorepo
chore(deps): update typescript-eslint monorepo to v4.15.1
2021-02-16 08:53:45 +01:00
Renovate Bot
cc445332a3 chore(deps): update typescript-eslint monorepo to v4.15.1 2021-02-15 20:06:53 +00:00
Renovate Bot
fcb31ab7bb fix(deps): update dependency sequelize-typescript to v2.1.0 2021-02-15 13:28:24 +00:00
Kamil Mysliwiec
bc6dda9992 Merge pull request #6399 from nestjs/renovate/eslint-7.x
chore(deps): update dependency eslint to v7.20.0
2021-02-15 14:26:45 +01:00
Kamil Mysliwiec
99059148d4 Merge pull request #6400 from nestjs/renovate/mongoose-5.x
fix(deps): update dependency mongoose to v5.11.16
2021-02-15 14:26:37 +01:00
Kamil Mysliwiec
1848755d21 Merge pull request #6414 from nestjs/renovate/webpack-5.x
chore(deps): update dependency webpack to v5.22.0
2021-02-15 14:26:28 +01:00
Kamil Mysliwiec
d450111f06 Merge pull request #6415 from nestjs/renovate/handlebars-4.x
fix(deps): update dependency handlebars to v4.7.7
2021-02-15 14:26:20 +01:00
Kamil Mysliwiec
db73a25a1d Merge pull request #6416 from nestjs/renovate/fast-json-stringify-2.x
fix(deps): update dependency fast-json-stringify to v2.4.2
2021-02-15 14:26:10 +01:00
Renovate Bot
e20758036e fix(deps): update dependency fast-json-stringify to v2.4.2 2021-02-15 11:54:11 +00:00
Renovate Bot
9922cae666 fix(deps): update dependency handlebars to v4.7.7 2021-02-15 10:50:56 +00:00
Renovate Bot
8f270c4129 chore(deps): update dependency webpack to v5.22.0 2021-02-15 10:50:04 +00:00
Renovate Bot
147cd417b5 chore(deps): update dependency eslint to v7.20.0 2021-02-15 10:49:02 +00:00
Renovate Bot
cbbc01fe43 fix(deps): update dependency mongoose to v5.11.16 2021-02-15 10:27:04 +00:00
Kamil Mysliwiec
a5a05fa5b0 Update Readme.md 2021-02-15 11:10:40 +01:00
Kamil Mysliwiec
23001620eb Merge pull request #6413 from nestjs/dependabot/npm_and_yarn/types/cors-2.8.10
chore(deps-dev): bump @types/cors from 2.8.9 to 2.8.10
2021-02-15 10:59:43 +01:00
Kamil Mysliwiec
55d113c250 Merge pull request #6412 from nestjs/dependabot/npm_and_yarn/mongoose-5.11.16
chore(deps-dev): bump mongoose from 5.11.15 to 5.11.16
2021-02-15 10:59:27 +01:00
Kamil Mysliwiec
45345cfb6a Merge pull request #6410 from nestjs/dependabot/npm_and_yarn/types/node-14.14.28
chore(deps-dev): bump @types/node from 14.14.27 to 14.14.28
2021-02-15 10:59:22 +01:00
Kamil Mysliwiec
97d0aee4e1 Merge pull request #6409 from nestjs/dependabot/npm_and_yarn/eslint-7.20.0
chore(deps-dev): bump eslint from 7.19.0 to 7.20.0
2021-02-15 10:59:16 +01:00
Kamil Mysliwiec
5cd3c3c0c9 Merge pull request #6408 from nestjs/renovate/node-14.x
chore(deps): update dependency @types/node to v14.14.28
2021-02-15 10:59:10 +01:00
Kamil Mysliwiec
4fa1564288 Merge pull request #6406 from nestjs/renovate/class-transformer-0.x
fix(deps): update dependency class-transformer to v0.4.0
2021-02-15 10:59:05 +01:00
Kamil Mysliwiec
a5a8bc80c3 Merge pull request #6405 from nestjs/renovate/cors-2.x
chore(deps): update dependency @types/cors to v2.8.10
2021-02-15 10:58:57 +01:00
Kamil Mysliwiec
50b7c7103e Merge pull request #6402 from nestjs/renovate/fastify-3.x
fix(deps): update dependency fastify to v3.12.0
2021-02-15 10:58:47 +01:00
dependabot[bot]
c25abbfda4 chore(deps-dev): bump @types/cors from 2.8.9 to 2.8.10
Bumps [@types/cors](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/cors) from 2.8.9 to 2.8.10.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/cors)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-15 05:34:22 +00:00
dependabot[bot]
60bae3d5f0 chore(deps-dev): bump mongoose from 5.11.15 to 5.11.16
Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.11.15 to 5.11.16.
- [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.15...5.11.16)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-15 05:33:06 +00:00
dependabot[bot]
14969285ea chore(deps-dev): bump @types/node from 14.14.27 to 14.14.28
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.27 to 14.14.28.
- [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-02-15 05:29:09 +00:00
dependabot[bot]
e9e2f8e884 chore(deps-dev): bump eslint from 7.19.0 to 7.20.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.19.0 to 7.20.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.19.0...v7.20.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-15 05:27:30 +00:00
Renovate Bot
151562673a chore(deps): update dependency @types/node to v14.14.28 2021-02-14 20:01:39 +00:00
Renovate Bot
36027564bd fix(deps): update dependency class-transformer to v0.4.0 2021-02-14 16:26:15 +00:00
Renovate Bot
78fe4989ca chore(deps): update dependency @types/cors to v2.8.10 2021-02-14 07:53:42 +00:00
Renovate Bot
517df3ce9e fix(deps): update dependency fastify to v3.12.0 2021-02-13 13:22:19 +00:00
Kamil Mysliwiec
f26163df3e Merge pull request #6398 from nestjs/renovate/nestjs-swagger-4.x
fix(deps): update dependency @nestjs/swagger to v4.7.13
2021-02-12 15:45:51 +01:00
Renovate Bot
4e19e959f2 fix(deps): update dependency @nestjs/swagger to v4.7.13 2021-02-12 14:45:07 +00:00
Kamil Mysliwiec
ceb5de6479 Merge pull request #6380 from nestjs/renovate/point-of-view-4.x
fix(deps): update dependency point-of-view to v4.13.0
2021-02-12 14:06:40 +01:00
Kamil Mysliwiec
e6772683ce Merge pull request #6389 from nestjs/renovate/node-14.x
chore(deps): update dependency @types/node to v14.14.27
2021-02-12 14:06:33 +01:00
Renovate Bot
60aafc591b chore(deps): update dependency @types/node to v14.14.27 2021-02-12 12:38:57 +00:00
Kamil Mysliwiec
78fa9b4e64 Merge pull request #6392 from nestjs/renovate/babel-monorepo
chore(deps): update babel monorepo to v7.12.16
2021-02-12 12:51:43 +01:00
Kamil Mysliwiec
40b1a7c106 Merge pull request #6393 from nestjs/renovate/apollo-graphql-packages
fix(deps): update apollo graphql packages to v2.21.0
2021-02-12 12:51:38 +01:00
Kamil Mysliwiec
af420c44e9 Merge pull request #6394 from nestjs/dependabot/npm_and_yarn/mocha-8.3.0
chore(deps-dev): bump mocha from 8.2.1 to 8.3.0
2021-02-12 12:51:34 +01:00
Kamil Mysliwiec
e95c6e7456 Merge pull request #6396 from nestjs/dependabot/npm_and_yarn/apollo-server-express-2.21.0
chore(deps-dev): bump apollo-server-express from 2.20.0 to 2.21.0
2021-02-12 12:51:30 +01:00
Kamil Mysliwiec
fac59d5530 Merge pull request #6395 from nestjs/dependabot/npm_and_yarn/types/node-14.14.26
chore(deps-dev): bump @types/node from 14.14.25 to 14.14.26
2021-02-12 12:50:26 +01:00
dependabot[bot]
f7d0e94a0e chore(deps-dev): bump apollo-server-express from 2.20.0 to 2.21.0
Bumps [apollo-server-express](https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-express) from 2.20.0 to 2.21.0.
- [Release notes](https://github.com/apollographql/apollo-server/releases)
- [Changelog](https://github.com/apollographql/apollo-server/blob/main/CHANGELOG.md)
- [Commits](https://github.com/apollographql/apollo-server/commits/apollo-server-express@2.21.0/packages/apollo-server-express)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-12 05:22:23 +00:00
dependabot[bot]
00995d0ff3 chore(deps-dev): bump @types/node from 14.14.25 to 14.14.26
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.25 to 14.14.26.
- [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-02-12 05:20:30 +00:00
dependabot[bot]
c3806a557a chore(deps-dev): bump mocha from 8.2.1 to 8.3.0
Bumps [mocha](https://github.com/mochajs/mocha) from 8.2.1 to 8.3.0.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v8.2.1...v8.3.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-12 05:18:42 +00:00
Renovate Bot
b3e0568245 fix(deps): update apollo graphql packages to v2.21.0 2021-02-12 03:05:56 +00:00
Renovate Bot
5fe60d707b chore(deps): update babel monorepo to v7.12.16 2021-02-11 23:54:14 +00:00
Kamil Mysliwiec
6c44abedc8 Merge pull request #6379 from nestjs/renovate/chai-4.x
chore(deps): update dependency @types/chai to v4.2.15
2021-02-11 13:24:52 +01:00
Renovate Bot
6d625b91b4 chore(deps): update dependency @types/chai to v4.2.15 2021-02-11 07:48:12 +00:00
Kamil Mysliwiec
51c091e8eb Merge pull request #6377 from nestjs/renovate/ts-loader-8.x
chore(deps): update dependency ts-loader to v8.0.17
2021-02-11 08:41:03 +01:00
Kamil Mysliwiec
597b6c514a Merge pull request #6378 from nestjs/renovate/graphql-tools-monorepo
fix(deps): update dependency graphql-tools to v7.0.3
2021-02-11 08:40:56 +01:00
Kamil Mysliwiec
8be6777d6b Merge pull request #6381 from nestjs/renovate/typescript-4.x
chore(deps): update dependency typescript to v4.1.5
2021-02-11 08:40:51 +01:00
Kamil Mysliwiec
4b73018de0 Merge pull request #6382 from nestjs/dependabot/npm_and_yarn/graphql-tools-7.0.3
chore(deps-dev): bump graphql-tools from 7.0.2 to 7.0.3
2021-02-11 08:40:45 +01:00
Kamil Mysliwiec
b4907b36ae Merge pull request #6384 from nestjs/dependabot/npm_and_yarn/point-of-view-4.13.0
chore(deps-dev): bump point-of-view from 4.12.0 to 4.13.0
2021-02-11 08:40:39 +01:00
dependabot[bot]
2dc8b572a1 chore(deps-dev): bump point-of-view from 4.12.0 to 4.13.0
Bumps [point-of-view](https://github.com/fastify/point-of-view) from 4.12.0 to 4.13.0.
- [Release notes](https://github.com/fastify/point-of-view/releases)
- [Commits](https://github.com/fastify/point-of-view/compare/v4.12.0...v4.13.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-11 05:23:29 +00:00
dependabot[bot]
1e916fbc6a chore(deps-dev): bump graphql-tools from 7.0.2 to 7.0.3
Bumps [graphql-tools](https://github.com/ardatan/graphql-tools/tree/HEAD/packages/graphql-tools) from 7.0.2 to 7.0.3.
- [Release notes](https://github.com/ardatan/graphql-tools/releases)
- [Changelog](https://github.com/ardatan/graphql-tools/blob/master/packages/graphql-tools/CHANGELOG.md)
- [Commits](https://github.com/ardatan/graphql-tools/commits/graphql-tools@7.0.3/packages/graphql-tools)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-11 05:19:08 +00:00
Renovate Bot
59c917e30a chore(deps): update dependency typescript to v4.1.5 2021-02-10 21:53:30 +00:00
Renovate Bot
6421d6b04a fix(deps): update dependency point-of-view to v4.13.0 2021-02-10 19:30:34 +00:00
Renovate Bot
0257245554 fix(deps): update dependency graphql-tools to v7.0.3 2021-02-10 18:54:21 +00:00
Renovate Bot
47525d26d8 chore(deps): update dependency ts-loader to v8.0.17 2021-02-10 18:50:49 +00:00
Kamil Mysliwiec
954fbb693f Merge pull request #6374 from nestjs/renovate/pin-dependencies
fix(deps): pin dependencies
2021-02-10 11:41:15 +01:00
Renovate Bot
fbe04f2db4 fix(deps): pin dependencies 2021-02-10 10:40:47 +00:00
Kamil Mysliwiec
e088e113b7 Merge pull request #6373 from nestjs/renovate/nest-monorepo
fix(deps): update nest monorepo to v7.6.12
2021-02-10 11:39:26 +01:00
Kamil Myśliwiec
d478e22723 Merge branch 'Tony133-sample/event-emitter' 2021-02-10 11:38:06 +01:00
Kamil Myśliwiec
d513fdf408 sample(30-event-emitter): tweaks, fix example 2021-02-10 11:37:45 +01:00
Kamil Myśliwiec
a7df4d6d55 Merge branch 'sample/event-emitter' of https://github.com/Tony133/nest into Tony133-sample/event-emitter 2021-02-10 11:27:59 +01:00
Renovate Bot
b32817aeed fix(deps): update nest monorepo to v7.6.12 2021-02-10 09:23:35 +00:00
Kamil Myśliwiec
c349d92bea chore(@nestjs) publish v7.6.12 release 2021-02-10 09:25:06 +01:00
Kamil Myśliwiec
f4a8f493bc fix(platform-fastify): return res.view from handler #6363 2021-02-10 09:24:05 +01:00
Kamil Myśliwiec
a60491d9bc Merge branch 'master' of https://github.com/nestjs/nest 2021-02-10 09:20:32 +01:00
Kamil Myśliwiec
80edd1002b Merge branch 'stoleruradu-fix/app-methods-chain-invocation-crash' 2021-02-10 09:20:17 +01:00
Kamil Myśliwiec
527f8ccfbb refactor(core): minor tweaks 2021-02-10 09:20:04 +01:00
Kamil Mysliwiec
7a7ccb7c45 Merge pull request #6364 from nestjs/renovate/ts-jest-26.x
chore(deps): update dependency ts-jest to v26.5.1
2021-02-10 09:18:36 +01:00
Renovate Bot
8e999a7665 chore(deps): update dependency ts-jest to v26.5.1 2021-02-10 08:06:55 +00:00
Kamil Mysliwiec
1a8eefebfd Merge pull request #6369 from nestjs/renovate/apollo-graphql-packages
fix(deps): update apollo graphql packages to v2.20.0
2021-02-10 08:33:14 +01:00
Kamil Mysliwiec
cf5cd331ec Merge pull request #6370 from nestjs/dependabot/npm_and_yarn/apollo-server-express-2.20.0
chore(deps-dev): bump apollo-server-express from 2.19.2 to 2.20.0
2021-02-10 08:27:28 +01:00
Kamil Mysliwiec
b8078d7d05 Merge pull request #6368 from nestjs/renovate/grpc-1.x
fix(deps): update dependency grpc to v1.24.5
2021-02-10 08:27:20 +01:00
Kamil Mysliwiec
34adb6d90b Merge pull request #6367 from nestjs/renovate/typescript-4.x
chore(deps): update dependency typescript to v4.1.4
2021-02-10 08:27:01 +01:00
dependabot[bot]
bff8609b98 chore(deps-dev): bump apollo-server-express from 2.19.2 to 2.20.0
Bumps [apollo-server-express](https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-express) from 2.19.2 to 2.20.0.
- [Release notes](https://github.com/apollographql/apollo-server/releases)
- [Changelog](https://github.com/apollographql/apollo-server/blob/main/CHANGELOG.md)
- [Commits](https://github.com/apollographql/apollo-server/commits/apollo-server-express@2.20.0/packages/apollo-server-express)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-10 05:18:09 +00:00
Renovate Bot
29847d265c fix(deps): update apollo graphql packages to v2.20.0 2021-02-10 01:00:19 +00:00
Renovate Bot
38a2b106c4 fix(deps): update dependency grpc to v1.24.5 2021-02-09 22:37:14 +00:00
Renovate Bot
0a8eb9cbbe chore(deps): update dependency typescript to v4.1.4 2021-02-09 19:55:11 +00:00
Radu Stoleru
40ec0aee09 fix(core): app methods chain invocation crash
Closes: #6365
2021-02-09 20:36:13 +02:00
Kamil Mysliwiec
5fcda32a88 Merge pull request #6361 from nestjs/renovate/amqp-connection-manager-3.x
chore(deps): update dependency amqp-connection-manager to v3.2.2
2021-02-09 13:08:43 +01:00
Renovate Bot
c4778047ca chore(deps): update dependency amqp-connection-manager to v3.2.2 2021-02-09 10:44:21 +00:00
Kamil Myśliwiec
10164b6770 Merge branch 'lucavb-feature/pipes-fileinterceptor' 2021-02-09 09:47:46 +01:00
Kamil Myśliwiec
0312224383 refactor(common): minor tweaks 2021-02-09 09:47:33 +01:00
Kamil Myśliwiec
a8e19c0514 Merge branch 'feature/pipes-fileinterceptor' of https://github.com/lucavb/nest into lucavb-feature/pipes-fileinterceptor 2021-02-09 09:42:18 +01:00
Kamil Mysliwiec
ccfb512992 Merge pull request #6351 from nestjs/renovate/ts-loader-8.x
chore(deps): update dependency ts-loader to v8.0.16
2021-02-09 08:55:30 +01:00
Kamil Mysliwiec
fa3b744e46 Merge pull request #6352 from nestjs/renovate/typeorm-0.x
fix(deps): update dependency typeorm to v0.2.31
2021-02-09 08:55:23 +01:00
Kamil Mysliwiec
86870636a2 Merge pull request #6353 from nestjs/renovate/typescript-eslint-monorepo
chore(deps): update typescript-eslint monorepo to v4.15.0
2021-02-09 08:55:17 +01:00
Kamil Mysliwiec
b9d39b973d Merge pull request #6354 from nestjs/renovate/husky-5.x
chore(deps): update dependency husky to v5
2021-02-09 08:55:09 +01:00
Kamil Mysliwiec
5b07b2432f Update renovate.json 2021-02-09 08:54:55 +01:00
Luca Becker
2ceddd61c0 feat(common): Allowing pipes for UploadedFile / UploadedFiles
https://github.com/nestjs/nest/issues/4752
2021-02-08 21:53:28 +01:00
Renovate Bot
1ac11d1b06 chore(deps): update dependency husky to v5 2021-02-08 20:21:00 +00:00
Renovate Bot
8503d62e4e chore(deps): update typescript-eslint monorepo to v4.15.0 2021-02-08 19:42:18 +00:00
Renovate Bot
6e8547bd94 fix(deps): update dependency typeorm to v0.2.31 2021-02-08 18:17:31 +00:00
Renovate Bot
7009884378 chore(deps): update dependency ts-loader to v8.0.16 2021-02-08 18:13:21 +00:00
Kamil Mysliwiec
170f574bef Merge pull request #6248 from nestjs/renovate/graphql-15.x
fix(deps): update dependency graphql to v15.5.0
2021-02-08 11:25:38 +01:00
Kamil Myśliwiec
124afbbdc7 fix(core): extract forward reference name to output ctor params (#6331) 2021-02-08 10:11:24 +01:00
Renovate Bot
bee7ab584f fix(deps): update dependency graphql to v15.5.0 2021-02-08 08:28:05 +00:00
Kamil Mysliwiec
97fe2dde38 Merge pull request #6346 from nestjs/renovate/webpack-5.x
chore(deps): update dependency webpack to v5.21.2
2021-02-08 09:23:19 +01:00
Kamil Mysliwiec
52483414d6 Merge pull request #6340 from nestjs/renovate/graphql-subscriptions-1.x
fix(deps): update dependency graphql-subscriptions to v1.2.0
2021-02-08 09:23:14 +01:00
Kamil Mysliwiec
3323283a1d Merge pull request #6323 from nestjs/renovate/ts-loader-8.x
chore(deps): update dependency ts-loader to v8.0.15
2021-02-08 09:23:07 +01:00
Kamil Mysliwiec
4b3f1a43ae Merge pull request #6332 from nestjs/renovate/point-of-view-4.x
fix(deps): update dependency point-of-view to v4.12.0
2021-02-08 09:23:01 +01:00
Kamil Mysliwiec
b5006c958f Merge pull request #6341 from nestjs/renovate/bull-3.x
fix(deps): update dependency bull to v3.20.1
2021-02-08 09:22:51 +01:00
Kamil Mysliwiec
36757d4056 Merge pull request #6348 from nestjs/dependabot/npm_and_yarn/point-of-view-4.12.0
chore(deps-dev): bump point-of-view from 4.11.0 to 4.12.0
2021-02-08 09:22:42 +01:00
dependabot[bot]
989a66a2ec chore(deps-dev): bump point-of-view from 4.11.0 to 4.12.0
Bumps [point-of-view](https://github.com/fastify/point-of-view) from 4.11.0 to 4.12.0.
- [Release notes](https://github.com/fastify/point-of-view/releases)
- [Commits](https://github.com/fastify/point-of-view/compare/v4.11.0...v4.12.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-08 05:25:56 +00:00
Renovate Bot
38baa94eee chore(deps): update dependency webpack to v5.21.2 2021-02-07 19:12:16 +00:00
Renovate Bot
b4bad009d9 fix(deps): update dependency point-of-view to v4.12.0 2021-02-06 16:11:25 +00:00
Renovate Bot
6aa9c131ac fix(deps): update dependency graphql-subscriptions to v1.2.0 2021-02-06 16:08:27 +00:00
Renovate Bot
58cdb78acc fix(deps): update dependency bull to v3.20.1 2021-02-06 16:06:44 +00:00
Renovate Bot
fd7286476b chore(deps): update dependency ts-loader to v8.0.15 2021-02-06 16:05:36 +00:00
Kamil Mysliwiec
d5c51c144b Merge pull request #6336 from nestjs/renovate/lint-staged-10.x
chore(deps): update dependency lint-staged to v10.5.4
2021-02-06 16:40:59 +01:00
Kamil Mysliwiec
6c65300078 Merge pull request #6339 from muturgan/master
HttpServer.getRequestUrl typings fixed
2021-02-06 16:39:08 +01:00
Kamil Mysliwiec
3e196c1376 Merge pull request #6337 from nestjs/renovate/webpack-5.x
chore(deps): update dependency webpack to v5.21.1
2021-02-06 16:36:10 +01:00
Renovate Bot
462da30ecd chore(deps): update dependency webpack to v5.21.1 2021-02-06 10:14:48 +00:00
Andrey Sakharov
ddcd840fb8 HttpServer.getRequestUrl typings fixed 2021-02-06 01:43:10 +03:00
Renovate Bot
025689f022 chore(deps): update dependency lint-staged to v10.5.4 2021-02-05 17:55:23 +00:00
Kamil Mysliwiec
d449a70a49 Merge pull request #6333 from nestjs/renovate/fastify-multipart-4.x
chore(deps): update dependency fastify-multipart to v4
2021-02-05 15:21:53 +01:00
Renovate Bot
fd094c19c9 chore(deps): update dependency fastify-multipart to v4 2021-02-05 13:32:38 +00:00
Kamil Mysliwiec
28d1ab655e Merge pull request #6329 from nestjs/renovate/nestjs-mongoose-7.x
fix(deps): update dependency @nestjs/mongoose to v7.2.3
2021-02-05 13:01:57 +01:00
Renovate Bot
4feca70016 fix(deps): update dependency @nestjs/mongoose to v7.2.3 2021-02-05 09:10:31 +00:00
Kamil Mysliwiec
59476d8aa5 Merge pull request #6318 from Tony133/test/fix-client-mqtt
test(microservice): fix client mqtt unit tests
2021-02-05 09:11:49 +01:00
Kamil Mysliwiec
8f6ee6ec82 Merge pull request #6320 from Tony133/test/fix-client-redis
test(microservice): fix client redis unit tests
2021-02-05 09:11:38 +01:00
Kamil Mysliwiec
7a224d6ce9 Merge pull request #6306 from nestjs/renovate/webpack-5.x
chore(deps): update dependency webpack to v5.20.2
2021-02-05 08:55:16 +01:00
Kamil Mysliwiec
5657412a55 Merge pull request #6316 from nestjs/renovate/chai-4.x
chore(deps): update dependency chai to v4.3.0
2021-02-05 08:55:08 +01:00
Kamil Mysliwiec
e4d6695c15 Merge pull request #6324 from nestjs/renovate/babel-monorepo
chore(deps): update dependency @babel/plugin-transform-runtime to v7.12.15
2021-02-05 08:54:50 +01:00
Kamil Mysliwiec
ee92aecddf Merge pull request #6327 from nestjs/dependabot/npm_and_yarn/chai-4.3.0
chore(deps-dev): bump chai from 4.2.0 to 4.3.0
2021-02-05 08:54:40 +01:00
dependabot[bot]
2deced39c8 chore(deps-dev): bump chai from 4.2.0 to 4.3.0
Bumps [chai](https://github.com/chaijs/chai) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/chaijs/chai/releases)
- [Changelog](https://github.com/chaijs/chai/blob/master/History.md)
- [Commits](https://github.com/chaijs/chai/compare/4.2.0...4.3.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-05 05:20:09 +00:00
Renovate Bot
095bce2687 chore(deps): update dependency @babel/plugin-transform-runtime to v7.12.15 2021-02-04 22:27:43 +00:00
Renovate Bot
c190ccb5cd chore(deps): update dependency webpack to v5.20.2 2021-02-04 15:11:38 +00:00
Tony133
71fb7c68b2 test(microservice): fix client redis unit tests 2021-02-04 15:46:47 +01:00
Kamil Mysliwiec
0e16450a64 Merge pull request #6311 from nestjs/renovate/mongoose-5.x
fix(deps): update dependency mongoose to v5.11.15
2021-02-04 14:49:31 +01:00
Kamil Mysliwiec
2ee0e7f840 Merge pull request #6312 from nestjs/renovate/node-14.x
chore(deps): update dependency @types/node to v14.14.25
2021-02-04 14:49:23 +01:00
Tony133
b365aa5fba test(microservice): fix client mqtt unit tests 2021-02-04 13:15:29 +01:00
Renovate Bot
a423ca8c31 chore(deps): update dependency chai to v4.3.0 2021-02-04 11:47:18 +00:00
Renovate Bot
e0816c91a1 fix(deps): update dependency mongoose to v5.11.15 2021-02-04 10:36:54 +00:00
Renovate Bot
8cd06e9bb5 chore(deps): update dependency @types/node to v14.14.25 2021-02-04 09:10:57 +00:00
Kamil Mysliwiec
b21af5ef47 Merge pull request #6308 from Tony133/test/fix-web-sockets-controller-spec
test(websockets): fix websockets controller unit tests
2021-02-04 08:24:45 +01:00
Tony133
7b95db1a5b test(websockets): fix websockets controller unit tests 2021-02-03 20:49:58 +01:00
Kamil Myśliwiec
1823b46607 Merge branch 'master' of https://github.com/nestjs/nest 2021-02-03 14:08:22 +01:00
Kamil Myśliwiec
f6715dae15 fix(platform-ws): fail when namespace present in gateway config 2021-02-03 14:07:50 +01:00
Kamil Mysliwiec
da2935cc0f Merge pull request #6305 from nestjs/renovate/nest-monorepo
fix(deps): update nest monorepo to v7.6.11
2021-02-03 14:05:34 +01:00
Renovate Bot
65e1cca493 fix(deps): update nest monorepo to v7.6.11 2021-02-03 12:50:48 +00:00
Kamil Myśliwiec
6bf271aa10 test(microservices): fix clients module unit tests 2021-02-03 13:34:59 +01:00
Kamil Myśliwiec
e22c6019e9 chore(@nestjs) publish v7.6.11 release 2021-02-03 10:22:03 +01:00
Kamil Myśliwiec
054bae48a1 Merge branch 'master' of https://github.com/nestjs/nest 2021-02-03 10:20:32 +01:00
Kamil Myśliwiec
0ba2658ab4 fix(microservices): auto close clients on app shutdown 2021-02-03 10:20:24 +01:00
Kamil Mysliwiec
dcf8788262 Merge pull request #6297 from nestjs/renovate/webpack-cli-4.x
chore(deps): update dependency webpack-cli to v4.5.0
2021-02-03 10:14:25 +01:00
Kamil Mysliwiec
c8f739ced0 Merge pull request #6303 from SuperHuangXu/master
test: 💍 add test
2021-02-03 10:14:09 +01:00
Kamil Mysliwiec
eb233d9fb3 Update sample/19-auth-jwt/src/auth/auth.service.spec.ts 2021-02-03 10:13:52 +01:00
Kamil Mysliwiec
b8e552b229 Update sample/19-auth-jwt/src/auth/auth.service.spec.ts 2021-02-03 10:13:33 +01:00
Kamil Myśliwiec
a96b08465e chore(@nestjs) publish v7.6.10 release 2021-02-03 09:27:25 +01:00
Kamil Myśliwiec
c47c45b6ff Merge branch 'master' of https://github.com/nestjs/nest 2021-02-03 09:24:24 +01:00
Kamil Myśliwiec
93b5598a33 fix(common): flatten nested errors (parse array pipe) 2021-02-03 09:24:14 +01:00
Kamil Mysliwiec
29497d61af Merge pull request #6298 from nestjs/renovate/ws-7.x
fix(deps): update dependency ws to v7.4.3
2021-02-03 09:19:54 +01:00
Renovate Bot
f37e23c5ea fix(deps): update dependency ws to v7.4.3 2021-02-03 07:57:40 +00:00
Renovate Bot
07cab6a468 chore(deps): update dependency webpack-cli to v4.5.0 2021-02-03 07:56:57 +00:00
Kamil Mysliwiec
fa0e011b03 Merge pull request #6299 from nestjs/renovate/webpack-5.x
chore(deps): update dependency webpack to v5.20.0
2021-02-03 08:55:06 +01:00
Kamil Mysliwiec
d034e62ff0 Merge pull request #6301 from nestjs/renovate/mongodb-3.x
fix(deps): update dependency mongodb to v3.6.4
2021-02-03 08:55:01 +01:00
Kamil Mysliwiec
396fe779e6 Merge pull request #6302 from nestjs/renovate/babel-monorepo
chore(deps): update babel monorepo to v7.12.13
2021-02-03 08:54:56 +01:00
Kamil Mysliwiec
5728578e10 Merge pull request #6304 from nestjs/dependabot/npm_and_yarn/ws-7.4.3
chore(deps): bump ws from 7.4.2 to 7.4.3
2021-02-03 08:52:02 +01:00
dependabot[bot]
0db1b041ef chore(deps): bump ws from 7.4.2 to 7.4.3
Bumps [ws](https://github.com/websockets/ws) from 7.4.2 to 7.4.3.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.4.2...7.4.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-03 05:12:10 +00:00
Renovate Bot
821574cee9 chore(deps): update babel monorepo to v7.12.13 2021-02-03 02:41:11 +00:00
SuperHuangXu
4f96cadb7e test: 💍 add test 2021-02-03 10:02:15 +08:00
Renovate Bot
90d64d085d fix(deps): update dependency mongodb to v3.6.4 2021-02-02 22:55:57 +00:00
Renovate Bot
6db30813de chore(deps): update dependency webpack to v5.20.0 2021-02-02 21:19:16 +00:00
Kamil Mysliwiec
b336fd172c Merge pull request #6295 from nestjs/renovate/nest-monorepo
fix(deps): update nest monorepo to v7.6.9
2021-02-02 13:43:50 +01:00
Renovate Bot
3123ad3f19 fix(deps): update nest monorepo to v7.6.9 2021-02-02 12:35:09 +00:00
Kamil Mysliwiec
fc5f3c91af Merge pull request #6293 from nestjs/renovate/engine.io-client-4.x
chore(deps): update dependency engine.io-client to v4.1.1
2021-02-02 12:41:19 +01:00
Kamil Myśliwiec
e51ab047d2 chore(@nestjs) publish v7.6.9 release 2021-02-02 11:24:11 +01:00
Kamil Myśliwiec
2ba2b99325 fix(common): validate all array items when stop at first disabled (#6263) 2021-02-02 11:12:45 +01:00
Kamil Myśliwiec
ba37eee5b0 Merge branch 'andrewda-host-array' 2021-02-02 10:35:50 +01:00
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
Renovate Bot
a11d167130 chore(deps): update dependency engine.io-client to v4.1.1 2021-02-02 09:25:49 +00: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
Tony133
91be6a6a55 chore(sample): Added sample for event emitter with nestjs 2021-01-28 22:58:02 +01: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 Mysliwiec
e6e11b9cf1 Update packages/testing/testing-module.builder.ts 2021-01-13 11:30:44 +01: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
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
185 changed files with 34574 additions and 344166 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,13 @@ 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>
<td align="center" valign="middle"><a href="https://houseofangular.io/" target="_blank"><img src="https://nestjs.com/img/house-of-angular.png" width="100" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://rocketech.it/cases/?utm_source=google&utm_medium=badge&utm_campaign=nestjs" target="_blank"><img src="https://nestjs.com/img/rocketech-logo.svg" width="110" valign="middle" /></a></td>
</tr></table>
## Backers

View File

@@ -2,47 +2,87 @@
express
-----------------------
Running 10s test @ http://localhost:3000
8 threads and 1024 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 47.78ms 19.09ms 212.47ms 66.94%
Req/Sec 1.31k 268.90 2.07k 72.38%
104687 requests in 10.02s, 21.47MB read
Socket errors: connect 0, read 877, write 0, timeout 0
Requests/sec: 10444.24
Transfer/sec: 2.14MB
1024 connections
┌─────────┬───────┬───────┬───────┬────────┬──────────┬──────────┬────────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼───────┼───────┼───────┼────────┼──────────┼──────────┼────────┤
│ Latency │ 55 ms │ 58 ms │ 91 ms │ 138 ms │ 61.88 ms │ 23.95 ms │ 747 ms │
└─────────┴───────┴───────┴───────┴────────┴──────────┴──────────┴────────┘
┌───────────┬─────────┬─────────┬─────────┬─────────┬──────────┬─────────┬─────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼─────────┼─────────┼─────────┼─────────┼──────────┼─────────┼─────────┤
│ Req/Sec │ 8407 │ 8407 │ 17407 │ 17743 │ 16454.41 │ 2716.94 │ 8402 │
├───────────┼─────────┼─────────┼─────────┼─────────┼──────────┼─────────┼─────────┤
│ Bytes/Sec │ 1.81 MB │ 1.81 MB │ 3.74 MB │ 3.81 MB │ 3.54 MB │ 584 kB │ 1.81 MB │
└───────────┴─────────┴─────────┴─────────┴─────────┴──────────┴─────────┴─────────┘
Req/Bytes counts sampled once per second.
165k requests in 10.17s, 35.4 MB read
-----------------------
nest (with "@nestjs/platform-express")
-----------------------
Running 10s test @ http://localhost:3000
1024 connections
┌─────────┬───────┬───────┬───────┬───────┬──────────┬──────────┬────────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼───────┼───────┼───────┼───────┼──────────┼──────────┼────────┤
│ Latency │ 61 ms │ 64 ms │ 71 ms │ 94 ms │ 65.44 ms │ 17.35 ms │ 325 ms │
└─────────┴───────┴───────┴───────┴───────┴──────────┴──────────┴────────┘
┌───────────┬─────────┬─────────┬─────────┬─────────┬─────────┬────────┬─────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼─────────┼─────────┼─────────┼─────────┼─────────┼────────┼─────────┤
│ Req/Sec │ 14183 │ 14183 │ 15767 │ 15991 │ 15640 │ 501.13 │ 14182 │
├───────────┼─────────┼─────────┼─────────┼─────────┼─────────┼────────┼─────────┤
│ Bytes/Sec │ 3.06 MB │ 3.06 MB │ 3.41 MB │ 3.45 MB │ 3.38 MB │ 108 kB │ 3.06 MB │
└───────────┴─────────┴─────────┴─────────┴─────────┴─────────┴────────┴─────────┘
Req/Bytes counts sampled once per second.
156k requests in 10.24s, 33.8 MB read
-----------------------
fastify
-----------------------
Running 10s test @ http://localhost:3000
8 threads and 1024 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 21.80ms 8.73ms 78.12ms 55.78%
Req/Sec 2.99k 0.92k 5.67k 68.88%
238550 requests in 10.02s, 31.17MB read
Socket errors: connect 0, read 862, write 0, timeout 0
Requests/sec: 23795.79
Transfer/sec: 3.11MB
1024 connections
┌─────────┬───────┬───────┬───────┬───────┬──────────┬──────────┬─────────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼───────┼───────┼───────┼───────┼──────────┼──────────┼─────────┤
│ Latency │ 27 ms │ 30 ms │ 39 ms │ 78 ms │ 31.62 ms │ 26.59 ms │ 1232 ms │
└─────────┴───────┴───────┴───────┴───────┴──────────┴──────────┴─────────┘
┌───────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
│ Req/Sec │ 19935 │ 19935 │ 33247 │ 34111 │ 32030.4 │ 4103.84 │ 19931 │
├───────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
│ Bytes/Sec │ 3.03 MB │ 3.03 MB │ 5.05 MB │ 5.19 MB │ 4.87 MB │ 624 kB │ 3.03 MB │
└───────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
Req/Bytes counts sampled once per second.
320k requests in 10.18s, 48.7 MB read
-----------------------
nest
nest (with "@nestjs/platform-fastify")
-----------------------
Running 10s test @ http://localhost:3000
8 threads and 1024 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 54.00ms 22.33ms 200.25ms 62.23%
Req/Sec 1.15k 338.60 1.88k 66.12%
91348 requests in 10.05s, 18.82MB read
Socket errors: connect 0, read 983, write 0, timeout 0
Requests/sec: 9093.64
Transfer/sec: 1.87MB
-----------------------
nest-fastify
-----------------------
Running 10s test @ http://localhost:3000
8 threads and 1024 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 29.31ms 11.71ms 101.96ms 70.03%
Req/Sec 2.17k 0.93k 4.12k 63.13%
173241 requests in 10.05s, 22.80MB read
Socket errors: connect 0, read 934, write 0, timeout 0
Requests/sec: 17233.87
Transfer/sec: 2.27MB
1024 connections
┌─────────┬───────┬───────┬───────┬───────┬──────────┬──────────┬────────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼───────┼───────┼───────┼───────┼──────────┼──────────┼────────┤
│ Latency │ 31 ms │ 33 ms │ 38 ms │ 52 ms │ 34.41 ms │ 11.73 ms │ 245 ms │
└─────────┴───────┴───────┴───────┴───────┴──────────┴──────────┴────────┘
┌───────────┬─────────┬─────────┬────────┬─────────┬─────────┬─────────┬─────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼─────────┼─────────┼────────┼─────────┼─────────┼─────────┼─────────┤
│ Req/Sec │ 24911 │ 24911 │ 30031 │ 30335 │ 29470.4 │ 1564.48 │ 24907 │
├───────────┼─────────┼─────────┼────────┼─────────┼─────────┼─────────┼─────────┤
│ Bytes/Sec │ 3.81 MB │ 3.81 MB │ 4.6 MB │ 4.64 MB │ 4.51 MB │ 239 kB │ 3.81 MB │
└───────────┴─────────┴─────────┴────────┴─────────┴─────────┴─────────┴─────────┘
Req/Bytes counts sampled once per second.
295k requests in 10.17s, 45.1 MB read

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

@@ -113,6 +113,5 @@ describe('GRPC transport', () => {
after(async () => {
await app.close();
client.close();
});
});

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.13"
}

5216
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,12 +54,12 @@
"dependencies": {
"@nuxtjs/opencollective": "0.3.2",
"axios": "0.21.1",
"class-transformer": "0.3.1",
"class-validator": "0.12.2",
"class-transformer": "0.4.0",
"class-validator": "0.13.1",
"cli-color": "2.0.0",
"cors": "2.8.5",
"express": "4.17.1",
"fast-json-stringify": "2.3.1",
"fast-json-stringify": "2.4.2",
"fast-safe-stringify": "2.0.7",
"iterare": "1.2.1",
"object-hash": "2.1.1",
@@ -73,98 +74,98 @@
"@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.4",
"@nestjs/mongoose": "7.2.1",
"@grpc/proto-loader": "0.5.6",
"@nestjs/graphql": "7.9.9",
"@nestjs/mongoose": "7.2.3",
"@nestjs/typeorm": "7.1.5",
"@types/amqplib": "0.5.17",
"@types/bytes": "3.1.0",
"@types/cache-manager": "2.10.3",
"@types/chai": "4.2.14",
"@types/cache-manager": "3.4.0",
"@types/chai": "4.2.15",
"@types/chai-as-promised": "7.1.3",
"@types/cors": "2.8.9",
"@types/cors": "2.8.10",
"@types/express": "4.17.11",
"@types/gulp": "4.0.8",
"@types/mocha": "8.2.0",
"@types/mocha": "8.2.1",
"@types/mongoose": "5.10.3",
"@types/node": "14.14.20",
"@types/node": "14.14.31",
"@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.13.0",
"@typescript-eslint/parser": "4.13.0",
"amqp-connection-manager": "3.2.1",
"@typescript-eslint/eslint-plugin": "4.15.1",
"@typescript-eslint/parser": "4.15.1",
"amqp-connection-manager": "3.2.2",
"amqplib": "0.6.0",
"apollo-server-express": "2.19.1",
"apollo-server-express": "2.21.0",
"artillery": "1.6.1",
"awesome-typescript-loader": "5.2.1",
"body-parser": "1.19.0",
"bytes": "3.1.0",
"cache-manager": "3.4.0",
"chai": "4.2.0",
"chai": "4.3.0",
"chai-as-promised": "7.1.1",
"clang-format": "1.5.0",
"commitlint-circle": "1.0.0",
"concurrently": "5.3.0",
"concurrently": "6.0.0",
"conventional-changelog": "3.1.24",
"core-js": "3.8.2",
"core-js": "3.9.0",
"coveralls": "3.1.0",
"delete-empty": "3.0.0",
"engine.io-client": "4.0.6",
"eslint": "7.17.0",
"eslint-config-prettier": "7.1.0",
"engine.io-client": "4.1.1",
"eslint": "7.20.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.12.0",
"fastify-cors": "5.2.0",
"fastify-formbody": "5.0.0",
"fastify-multipart": "3.3.1",
"fastify-static": "3.3.1",
"graphql": "15.4.0",
"graphql-tools": "7.0.2",
"grpc": "1.24.4",
"fastify-multipart": "4.0.0",
"fastify-static": "4.0.0",
"graphql": "15.5.0",
"graphql-tools": "7.0.4",
"grpc": "1.24.5",
"gulp": "4.0.2",
"gulp-clang-format": "1.0.27",
"gulp-clean": "0.4.0",
"gulp-sourcemaps": "3.0.0",
"gulp-typescript": "5.0.1",
"gulp-watch": "5.0.1",
"husky": "4.3.7",
"imports-loader": "1.2.0",
"husky": "5.1.0",
"imports-loader": "2.0.0",
"json-loader": "0.5.7",
"kafkajs": "1.15.0",
"lerna": "2.11.0",
"light-my-request": "4.4.1",
"lint-staged": "10.5.3",
"lint-staged": "10.5.4",
"markdown-table": "2.0.0",
"merge-graphql-schemas": "1.7.8",
"middie": "5.2.0",
"mocha": "8.2.1",
"mongoose": "5.11.11",
"mocha": "8.3.0",
"mongoose": "5.11.17",
"mqtt": "4.2.6",
"multer": "1.4.2",
"mysql": "2.18.1",
"nats": "1.4.12",
"nodemon": "2.0.7",
"nyc": "15.1.0",
"point-of-view": "4.8.0",
"point-of-view": "4.13.0",
"prettier": "2.2.1",
"redis": "3.0.2",
"rxjs-compat": "6.6.3",
"sinon": "9.2.3",
"sinon": "9.2.4",
"sinon-chai": "3.5.0",
"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.30",
"typescript": "4.1.3",
"typeorm": "0.2.31",
"typescript": "4.1.5",
"wrk": "1.2.1",
"ws": "7.4.2"
"ws": "7.4.3"
},
"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

@@ -167,7 +167,7 @@ export const Session: () => ParameterDecorator = createRouteParamDecorator(
* Route handler parameter decorator. Extracts the `file` object
* and populates the decorated parameter with the value of `file`.
* Used in conjunction with
* [multer middleware](https://github.com/expressjs/multer).
* [multer middleware](https://github.com/expressjs/multer) for Express-based applications.
*
* For example:
* ```typescript
@@ -179,15 +179,78 @@ export const Session: () => ParameterDecorator = createRouteParamDecorator(
*
* @publicApi
*/
export const UploadedFile: (
export function UploadedFile(): ParameterDecorator;
/**
* Route handler parameter decorator. Extracts the `file` object
* and populates the decorated parameter with the value of `file`.
* Used in conjunction with
* [multer middleware](https://github.com/expressjs/multer) for Express-based applications.
*
* For example:
* ```typescript
* uploadFile(@UploadedFile() file) {
* console.log(file);
* }
* ```
* @see [Request object](https://docs.nestjs.com/techniques/file-upload)
*
* @publicApi
*/
export function UploadedFile(
...pipes: (Type<PipeTransform> | PipeTransform)[]
): ParameterDecorator;
/**
* Route handler parameter decorator. Extracts the `file` object
* and populates the decorated parameter with the value of `file`.
* Used in conjunction with
* [multer middleware](https://github.com/expressjs/multer) for Express-based applications.
*
* For example:
* ```typescript
* uploadFile(@UploadedFile() file) {
* console.log(file);
* }
* ```
* @see [Request object](https://docs.nestjs.com/techniques/file-upload)
*
* @publicApi
*/
export function UploadedFile(
fileKey?: string,
) => ParameterDecorator = createRouteParamDecorator(RouteParamtypes.FILE);
...pipes: (Type<PipeTransform> | PipeTransform)[]
): ParameterDecorator;
/**
* Route handler parameter decorator. Extracts the `file` object
* and populates the decorated parameter with the value of `file`.
* Used in conjunction with
* [multer middleware](https://github.com/expressjs/multer) for Express-based applications.
*
* For example:
* ```typescript
* uploadFile(@UploadedFile() file) {
* console.log(file);
* }
* ```
* @see [Request object](https://docs.nestjs.com/techniques/file-upload)
*
* @publicApi
*/
export function UploadedFile(
fileKey?: string | (Type<PipeTransform> | PipeTransform),
...pipes: (Type<PipeTransform> | PipeTransform)[]
): ParameterDecorator {
return createPipesRouteParamDecorator(RouteParamtypes.FILE)(
fileKey,
...pipes,
);
}
/**
* Route handler parameter decorator. Extracts the `files` object
* and populates the decorated parameter with the value of `files`.
* Used in conjunction with
* [multer middleware](https://github.com/expressjs/multer).
* [multer middleware](https://github.com/expressjs/multer) for Express-based applications.
*
* For example:
* ```typescript
@@ -199,9 +262,51 @@ export const UploadedFile: (
*
* @publicApi
*/
export const UploadedFiles: () => ParameterDecorator = createRouteParamDecorator(
RouteParamtypes.FILES,
);
export function UploadedFiles(): ParameterDecorator;
/**
* Route handler parameter decorator. Extracts the `files` object
* and populates the decorated parameter with the value of `files`.
* Used in conjunction with
* [multer middleware](https://github.com/expressjs/multer) for Express-based applications.
*
* For example:
* ```typescript
* uploadFile(@UploadedFiles() files) {
* console.log(files);
* }
* ```
* @see [Request object](https://docs.nestjs.com/techniques/file-upload)
*
* @publicApi
*/
export function UploadedFiles(
...pipes: (Type<PipeTransform> | PipeTransform)[]
): ParameterDecorator;
/**
* Route handler parameter decorator. Extracts the `files` object
* and populates the decorated parameter with the value of `files`.
* Used in conjunction with
* [multer middleware](https://github.com/expressjs/multer) for Express-based applications.
*
* For example:
* ```typescript
* uploadFile(@UploadedFiles() files) {
* console.log(files);
* }
* ```
* @see [Request object](https://docs.nestjs.com/techniques/file-upload)
*
* @publicApi
*/
export function UploadedFiles(
...pipes: (Type<PipeTransform> | PipeTransform)[]
): ParameterDecorator {
return createPipesRouteParamDecorator(RouteParamtypes.FILES)(
undefined,
...pipes,
);
}
/**
* Route handler parameter decorator. Extracts the `headers`
* property from the `req` object and populates the decorated

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

@@ -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> = (
@@ -59,10 +62,10 @@ export interface HttpServer<TRequest = any, TResponse = any> {
| Promise<(path: string, callback: Function) => any>;
getRequestHostname?(request: TRequest): string;
getRequestMethod?(request: TRequest): string;
getRequestUrl?(request: TResponse): string;
getRequestUrl?(request: TRequest): 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.13",
"description": "Nest - modern, fast, powerful node.js web framework (@common)",
"author": "Kamil Mysliwiec",
"homepage": "https://nestjs.com",

View File

@@ -86,7 +86,39 @@ export class ParseArrayPipe implements PipeTransform {
} catch {}
return this.validationPipe.transform(item, validationMetadata);
};
value = await Promise.all(value.map(toClassInstance));
if (this.options.stopAtFirstError === false) {
// strict compare to "false" to make sure
// that this option is disabled by default
let errors = [];
const targetArray = value as Array<unknown>;
for (let i = 0; i < targetArray.length; i++) {
try {
targetArray[i] = await toClassInstance(targetArray[i]);
} catch (err) {
let message: string[] | unknown;
if (err.getResponse) {
const response = err.getResponse();
if (Array.isArray(response.message)) {
message = response.message.map(
(item: string) => `[${i}] ${item}`,
);
} else {
message = `[${i}] ${response.message}`;
}
} else {
message = err;
}
errors = errors.concat(message);
}
}
if (errors.length > 0) {
throw this.exceptionFactory(errors as any);
}
return targetArray;
} else {
value = await Promise.all(value.map(toClassInstance));
}
}
return value;
}

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

@@ -1,7 +1,19 @@
import * as chai from 'chai';
import { expect } from 'chai';
import * as chaiAsPromised from 'chai-as-promised';
import { Type } from 'class-transformer';
import {
IsBoolean,
IsDate,
IsDefined,
IsNumber,
IsString,
ValidateNested,
} from 'class-validator';
import { BadRequestException } from '../../exceptions';
import { ArgumentMetadata } from '../../interfaces/features/pipe-transform.interface';
import { ParseArrayPipe } from '../../pipes/parse-array.pipe';
chai.use(chaiAsPromised);
describe('ParseArrayPipe', () => {
let target: ParseArrayPipe;
@@ -102,6 +114,153 @@ describe('ParseArrayPipe', () => {
expect(item).to.be.instanceOf(ArrItem);
});
});
describe('when "stopAtFirstError" is explicitly turned off', () => {
it('should validate each item and concat errors', async () => {
class ArrItemWithProp {
@IsNumber()
number: number;
}
const pipe = new ParseArrayPipe({
items: ArrItemWithProp,
stopAtFirstError: false,
});
try {
await pipe.transform(
[
{ number: '1' },
{ number: '1' },
{ number: 1 },
] as ArrItemWithProp[],
{} as ArgumentMetadata,
);
} catch (err) {
expect(err).to.be.instanceOf(BadRequestException);
expect(err.getResponse().message).to.deep.equal([
'[0] number must be a number conforming to the specified constraints',
'[1] number must be a number conforming to the specified constraints',
]);
}
});
it('should validate each nested object and concat errors', async () => {
class RandomObject {
@IsDefined()
@IsBoolean()
isEnabled: boolean;
@IsString()
title: string;
@IsDate()
createdAt: Date;
constructor(partial: Partial<any>) {
Object.assign(this, partial);
}
}
class ArrItemObject {
@ValidateNested()
random: RandomObject;
}
const pipe = new ParseArrayPipe({
items: ArrItemObject,
stopAtFirstError: false,
});
try {
await pipe.transform(
[
{
random: new RandomObject({
isEnabled: true,
title: true,
createdAt: new Date(),
}),
},
{
random: new RandomObject({
title: 'ok',
createdAt: false,
}),
},
] as any[],
{} as ArgumentMetadata,
);
} catch (err) {
expect(err).to.be.instanceOf(BadRequestException);
expect(err.getResponse().message).to.deep.equal([
'[0] random.title must be a string',
'[1] random.isEnabled should not be null or undefined',
'[1] random.isEnabled must be a boolean value',
'[1] random.createdAt must be a Date instance',
]);
}
});
it('should validate each nested array and concat errors', async () => {
class RandomObject {
@IsDefined()
@IsBoolean()
isEnabled: boolean;
@IsString()
title: string;
@IsDate()
createdAt: Date;
constructor(partial: Partial<any>) {
Object.assign(this, partial);
}
}
class ArrItemObject {
@Type(() => RandomObject)
@ValidateNested({ each: true })
random: RandomObject[];
}
const pipe = new ParseArrayPipe({
items: ArrItemObject,
stopAtFirstError: false,
});
try {
await pipe.transform(
[
{
random: [
new RandomObject({
isEnabled: true,
title: true,
createdAt: new Date(),
}),
new RandomObject({
isEnabled: true,
title: true,
createdAt: new Date(),
}),
],
},
{
random: [
new RandomObject({
title: 'ok',
createdAt: false,
}),
],
},
] as any[],
{} as ArgumentMetadata,
);
} catch (err) {
expect(err).to.be.instanceOf(BadRequestException);
expect(err.getResponse().message).to.deep.equal([
'[0] random.0.title must be a string',
'[0] random.1.title must be a string',
'[1] random.0.isEnabled should not be null or undefined',
'[1] random.0.isEnabled must be a boolean value',
'[1] random.0.createdAt must be a Date instance',
]);
}
});
});
});
});
});

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

@@ -1,4 +1,4 @@
import { Type } from '@nestjs/common';
import { ForwardReference, Type } from '@nestjs/common';
import { isNil, isSymbol } from '@nestjs/common/utils/shared.utils';
import {
InjectorDependency,
@@ -10,8 +10,12 @@ import { Module } from '../injector/module';
* Returns the name of an instance
* @param instance The instance which should get the name from
*/
const getInstanceName = (instance: unknown): string =>
instance && (instance as Type<any>).name;
const getInstanceName = (instance: unknown): string => {
if ((instance as ForwardReference)?.forwardRef) {
return (instance as ForwardReference).forwardRef()?.name;
}
return (instance as Type<any>)?.name;
};
/**
* Returns the name of the dependency

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

@@ -28,8 +28,11 @@ export class RoutesMapper {
},
];
}
const routePath: string = Reflect.getMetadata(PATH_METADATA, route);
if (this.isRouteInfo(routePath, route)) {
const routePathOrPaths: string | string[] = Reflect.getMetadata(
PATH_METADATA,
route,
);
if (this.isRouteInfo(routePathOrPaths, route)) {
return [
{
path: this.validateRoutePath(route.path),
@@ -43,21 +46,28 @@ export class RoutesMapper {
);
const concatPaths = <T>(acc: T[], currentValue: T[]) =>
acc.concat(currentValue);
return paths
.map(
item =>
item.path &&
item.path.map(p => ({
path:
this.validateGlobalPath(routePath) + this.validateRoutePath(p),
method: item.requestMethod,
})),
return []
.concat(routePathOrPaths)
.map(routePath =>
paths
.map(
item =>
item.path &&
item.path.map(p => ({
path:
this.validateGlobalPath(routePath) +
this.validateRoutePath(p),
method: item.requestMethod,
})),
)
.reduce(concatPaths, []),
)
.reduce(concatPaths, []);
}
private isRouteInfo(
path: string | undefined,
path: string | string[] | undefined,
objectOrClass: Function | RouteInfo,
): objectOrClass is RouteInfo {
return isUndefined(path);

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';
@@ -76,6 +79,7 @@ export class NestApplication
protected async dispose(): Promise<void> {
this.socketModule && (await this.socketModule.close());
this.microservicesModule && (await this.microservicesModule.close());
this.httpAdapter && (await this.httpAdapter.close());
await Promise.all(
@@ -102,11 +106,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 +232,7 @@ export class NestApplication
return this;
}
public enableCors(options?: CorsOptions): void {
public enableCors(options?: CorsOptions | CorsOptionsDelegate<any>): void {
this.httpAdapter.enableCors(options);
}

View File

@@ -248,14 +248,29 @@ export class NestFactoryStatic {
}
private createAdapterProxy<T>(app: NestApplication, adapter: HttpServer): T {
return (new Proxy(app, {
const proxy = new Proxy(app, {
get: (receiver: Record<string, any>, prop: string) => {
if (!(prop in receiver) && prop in adapter) {
return this.createExceptionZone(adapter, prop);
return (...args: unknown[]) => {
this.createExceptionZone(adapter, prop)(...args);
return proxy;
};
}
if (isFunction(receiver[prop])) {
const mapToProxy = (result: unknown) =>
result instanceof NestApplication ? proxy : result;
return (...args: unknown[]) => {
const result = receiver[prop](...args);
return result instanceof Promise
? result.then(mapToProxy)
: mapToProxy(result);
};
}
return receiver[prop];
},
}) as unknown) as T;
});
return (proxy as unknown) as T;
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/core",
"version": "7.6.5",
"version": "7.6.13",
"description": "Nest - modern, fast, powerful node.js web framework (@core)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -36,7 +36,7 @@
"uuid": "8.3.2"
},
"devDependencies": {
"@nestjs/common": "7.6.5"
"@nestjs/common": "7.6.13"
},
"peerDependencies": {
"@nestjs/common": "^7.0.0",

View File

@@ -413,7 +413,11 @@ export class RouterExecutionContext {
const renderTemplate = this.reflectRenderTemplate(callback);
if (renderTemplate) {
return async <TResult, TResponse>(result: TResult, res: TResponse) => {
await this.responseController.render(result, res, renderTemplate);
return await this.responseController.render(
result,
res,
renderTemplate,
);
};
}
if (redirectResponse && typeof redirectResponse.url === 'string') {

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

@@ -48,7 +48,7 @@ export class RouterResponseController {
template: string,
) {
const result = await this.transformToResult(resultOrDeferred);
this.applicationRef.render(response, template, result);
return this.applicationRef.render(response, template, result);
}
public async transformToResult(resultOrDeferred: any) {

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

@@ -34,4 +34,32 @@ describe('RoutesMapper', () => {
{ path: '/test/another', method: RequestMethod.DELETE },
]);
});
@Controller(['test', 'test2'])
class TestRouteWithMultiplePaths {
@RequestMapping({ path: 'test' })
public getTest() {}
@RequestMapping({ path: 'another', method: RequestMethod.DELETE })
public getAnother() {}
}
it('should map a controller with multiple paths to "ControllerMetadata" in forRoutes', () => {
const config = {
middleware: 'Test',
forRoutes: [
{ path: 'test', method: RequestMethod.GET },
TestRouteWithMultiplePaths,
],
};
expect(mapper.mapRouteToRouteInfo(config.forRoutes[0])).to.deep.equal([
{ path: '/test', method: RequestMethod.GET },
]);
expect(mapper.mapRouteToRouteInfo(config.forRoutes[1])).to.deep.equal([
{ path: '/test/test', method: RequestMethod.GET },
{ path: '/test/another', method: RequestMethod.DELETE },
{ path: '/test2/test', method: RequestMethod.GET },
{ path: '/test2/another', method: RequestMethod.DELETE },
]);
});
});

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

@@ -305,7 +305,9 @@ export class ClientGrpcProxy extends ClientProxy implements ClientGrpc {
}
public close() {
this.grpcClients.forEach(client => client.close());
this.grpcClients
.filter(client => client && isFunction(client.close))
.forEach(client => client.close());
this.grpcClients = [];
}

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

@@ -39,11 +39,13 @@ export class MicroservicesModule {
new InterceptorsContextCreator(container, config),
new InterceptorsConsumer(),
);
const injector = new Injector();
this.listenersController = new ListenersController(
this.clientsContainer,
contextCreator,
container,
new Injector(),
injector,
ClientProxyFactory,
exceptionFiltersContext,
);
@@ -90,9 +92,9 @@ export class MicroservicesModule {
});
}
public close() {
public async close() {
const clients = this.clientsContainer.getAllClients();
clients.forEach(client => client.close());
await Promise.all(clients.map(client => client.close()));
this.clientsContainer.clear();
}
}

View File

@@ -1,5 +1,11 @@
import { DynamicModule, Module, Provider } from '@nestjs/common';
import { ClientProxyFactory } from '../client';
import {
DynamicModule,
Module,
OnApplicationShutdown,
Provider,
} from '@nestjs/common';
import { ClientProxy, ClientProxyFactory } from '../client';
import { Closeable } from '../interfaces';
import {
ClientsModuleAsyncOptions,
ClientsModuleOptions,
@@ -12,7 +18,7 @@ export class ClientsModule {
static register(options: ClientsModuleOptions): DynamicModule {
const clients = (options || []).map(item => ({
provide: item.name,
useValue: ClientProxyFactory.create(item),
useValue: this.assignOnAppShutdownHook(ClientProxyFactory.create(item)),
}));
return {
module: ClientsModule,
@@ -84,7 +90,14 @@ export class ClientsModule {
) {
return async (...args: any[]) => {
const clientOptions = await useFactory(...args);
return ClientProxyFactory.create(clientOptions);
const clientProxyRef = ClientProxyFactory.create(clientOptions);
return this.assignOnAppShutdownHook(clientProxyRef);
};
}
private static assignOnAppShutdownHook(client: ClientProxy & Closeable) {
((client as unknown) as OnApplicationShutdown).onApplicationShutdown =
client.close;
return client;
}
}

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

@@ -149,6 +149,8 @@ export class NestMicroservice
protected async closeApplication(): Promise<any> {
this.socketModule && (await this.socketModule.close());
this.microservicesModule && (await this.microservicesModule.close());
await super.close();
this.setIsTerminated(true);
}
@@ -159,5 +161,6 @@ export class NestMicroservice
return;
}
this.socketModule && (await this.socketModule.close());
this.microservicesModule && (await this.microservicesModule.close());
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/microservices",
"version": "7.6.5",
"version": "7.6.13",
"description": "Nest - modern, fast, powerful node.js web framework (@microservices)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -22,8 +22,8 @@
"tslib": "2.1.0"
},
"devDependencies": {
"@nestjs/common": "7.6.5",
"@nestjs/core": "7.6.5"
"@nestjs/common": "7.6.13",
"@nestjs/core": "7.6.13"
},
"peerDependencies": {
"@nestjs/common": "^7.0.0",

View File

@@ -124,7 +124,7 @@ describe('ClientMqtt', () => {
subscription = client.createResponseCallback();
client['routingMap'].set(responseMessage.id, callback);
subscription('channel', new Buffer(JSON.stringify(responseMessage)));
subscription('channel', Buffer.from(JSON.stringify(responseMessage)));
});
it('should call callback with expected arguments', () => {
expect(
@@ -143,7 +143,7 @@ describe('ClientMqtt', () => {
client['routingMap'].set(responseMessage.id, callback);
subscription(
'channel',
new Buffer(
Buffer.from(
JSON.stringify({
...responseMessage,
isDisposed: true,
@@ -169,7 +169,7 @@ describe('ClientMqtt', () => {
subscription = client.createResponseCallback();
client['routingMap'].set('3', callback);
subscription('channel', new Buffer(JSON.stringify(responseMessage)));
subscription('channel', Buffer.from(JSON.stringify(responseMessage)));
});
it('should not call callback', () => {

View File

@@ -128,7 +128,7 @@ describe('ClientRedis', () => {
subscription = client.createResponseCallback();
client['routingMap'].set(responseMessage.id, callback);
subscription('channel', new Buffer(JSON.stringify(responseMessage)));
subscription('channel', Buffer.from(JSON.stringify(responseMessage)));
});
it('should call callback with expected arguments', () => {
expect(
@@ -146,7 +146,7 @@ describe('ClientRedis', () => {
client['routingMap'].set(responseMessage.id, callback);
subscription(
'channel',
new Buffer(
Buffer.from(
JSON.stringify({
...responseMessage,
isDisposed: responseMessage.response,
@@ -170,7 +170,7 @@ describe('ClientRedis', () => {
beforeEach(() => {
callback = sinon.spy();
subscription = client.createResponseCallback();
subscription('channel', new Buffer(JSON.stringify(responseMessage)));
subscription('channel', Buffer.from(JSON.stringify(responseMessage)));
});
it('should not call callback', () => {
@@ -336,4 +336,4 @@ describe('ClientRedis', () => {
);
});
});
});
});

View File

@@ -2,9 +2,9 @@ import { DynamicModule, FactoryProvider, Injectable } from '@nestjs/common';
import { expect } from 'chai';
import * as sinon from 'sinon';
import { ClientProxyFactory } from '../../client';
import { ClientsModule, ClientsModuleOptionsFactory } from '../../module';
import { ClientOptions } from '../../interfaces';
import { Transport } from '../../enums';
import { ClientOptions } from '../../interfaces';
import { ClientsModule, ClientsModuleOptionsFactory } from '../../module';
describe('ClientsModule', () => {
let dynamicModule: DynamicModule;
@@ -24,7 +24,9 @@ describe('ClientsModule', () => {
expect(dynamicModule.providers).to.be.deep.eq([
{
provide: 'test',
useValue: ClientProxyFactory.create({}),
useValue: ClientsModule['assignOnAppShutdownHook'](
ClientProxyFactory.create({}),
),
},
]);
});

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.13",
"description": "Nest - modern, fast, powerful node.js web framework (@platform-express)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -24,8 +24,8 @@
"tslib": "2.1.0"
},
"devDependencies": {
"@nestjs/common": "7.6.5",
"@nestjs/core": "7.6.5"
"@nestjs/common": "7.6.13",
"@nestjs/core": "7.6.13"
},
"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.13",
"description": "Nest - modern, fast, powerful node.js web framework (@platform-fastify)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -17,8 +17,8 @@
"access": "public"
},
"dependencies": {
"fastify": "3.9.2",
"fastify-cors": "5.1.0",
"fastify": "3.12.0",
"fastify-cors": "5.2.0",
"fastify-formbody": "5.0.0",
"light-my-request": "4.4.1",
"middie": "5.2.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.13",
"description": "Nest - modern, fast, powerful node.js web framework (@platform-socket.io)",
"author": "Kamil Mysliwiec",
"license": "MIT",

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

@@ -32,6 +32,13 @@ export class WsAdapter extends AbstractWsAdapter {
options?: any & { namespace?: string; server?: any },
): any {
const { server, ...wsOptions } = options;
if (wsOptions?.namespace) {
const error = new Error(
'"WsAdapter" does not support namespaces. If you need namespaces in your project, consider using the "@nestjs/platform-socket.io" package instead.',
);
this.logger.error(error);
throw error;
}
if (port === 0 && this.httpServer) {
return this.bindErrorHandler(
new wsPackage.Server({

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/platform-ws",
"version": "7.6.5",
"version": "7.6.13",
"description": "Nest - modern, fast, powerful node.js web framework (@platform-ws)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -18,7 +18,7 @@
},
"dependencies": {
"tslib": "2.1.0",
"ws": "7.4.2"
"ws": "7.4.3"
},
"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.13",
"description": "Nest - modern, fast, powerful node.js web framework (@testing)",
"author": "Kamil Mysliwiec",
"license": "MIT",

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.13",
"description": "Nest - modern, fast, powerful node.js web framework (@websockets)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -16,8 +16,8 @@
"tslib": "2.1.0"
},
"devDependencies": {
"@nestjs/common": "7.6.5",
"@nestjs/core": "7.6.5"
"@nestjs/common": "7.6.13",
"@nestjs/core": "7.6.13"
},
"peerDependencies": {
"@nestjs/common": "^7.0.0",

View File

@@ -46,20 +46,20 @@ export class SocketModule<HttpServer = any> {
);
const modules = container.getModules();
modules.forEach(({ providers }, moduleName: string) =>
this.combineAllGateways(providers, moduleName),
this.connectAllGateways(providers, moduleName),
);
}
public combineAllGateways(
public connectAllGateways(
providers: Map<string, InstanceWrapper<Injectable>>,
moduleName: string,
) {
iterate(providers.values())
.filter(wrapper => wrapper && !wrapper.isNotMetatype)
.forEach(wrapper => this.combineGatewayAndServer(wrapper, moduleName));
.forEach(wrapper => this.connectGatewayToServer(wrapper, moduleName));
}
public combineGatewayAndServer(
public connectGatewayToServer(
wrapper: InstanceWrapper<Injectable>,
moduleName: string,
) {
@@ -71,7 +71,7 @@ export class SocketModule<HttpServer = any> {
if (!this.isAdapterInitialized) {
this.initializeAdapter();
}
this.webSocketsController.mergeGatewayAndServer(
this.webSocketsController.connectGatewayToServer(
instance as NestGateway,
metatype,
moduleName,

View File

@@ -50,7 +50,7 @@ describe('WebSocketsController', () => {
contextCreator as any,
);
});
describe('mergeGatewayAndServer', () => {
describe('connectGatewayToServer', () => {
let subscribeToServerEvents: sinon.SinonSpy;
@WebSocketGateway('test' as any)
@@ -66,7 +66,7 @@ describe('WebSocketsController', () => {
it('should throws "InvalidSocketPortException" when port is not a number', () => {
Reflect.defineMetadata(PORT_METADATA, 'test', InvalidGateway);
expect(() =>
instance.mergeGatewayAndServer(
instance.connectGatewayToServer(
new InvalidGateway(),
InvalidGateway,
'',
@@ -75,12 +75,12 @@ describe('WebSocketsController', () => {
});
it('should call "subscribeToServerEvents" with default values when metadata is empty', () => {
const gateway = new DefaultGateway();
instance.mergeGatewayAndServer(gateway, DefaultGateway, '');
instance.connectGatewayToServer(gateway, DefaultGateway, '');
expect(subscribeToServerEvents.calledWith(gateway, {}, 0, '')).to.be.true;
});
it('should call "subscribeToServerEvents" when metadata is valid', () => {
const gateway = new Test();
instance.mergeGatewayAndServer(gateway, Test, '');
instance.connectGatewayToServer(gateway, Test, '');
expect(
subscribeToServerEvents.calledWith(gateway, { namespace }, port, ''),
).to.be.true;
@@ -370,4 +370,4 @@ describe('WebSocketsController', () => {
});
});
});
});
});

View File

@@ -28,7 +28,7 @@ export class WebSocketsController {
private readonly contextCreator: WsContextCreator,
) {}
public mergeGatewayAndServer(
public connectGatewayToServer(
instance: NestGateway,
metatype: Type<unknown> | Function,
moduleKey: string,

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).

View File

@@ -1,5 +1,12 @@
{
"extends": [
"config:base"
],
"labels": ["dependencies"],
"packageRules": [
{
"matchDepTypes": ["devDependencies"],
"automerge": true
}
]
}

File diff suppressed because it is too large Load Diff

View File

@@ -19,36 +19,36 @@
"test:e2e": "jest --config ./e2e/jest-e2e.json"
},
"dependencies": {
"@nestjs/common": "7.6.5",
"@nestjs/core": "7.6.5",
"@nestjs/platform-express": "7.6.5",
"class-transformer": "0.3.1",
"class-validator": "0.12.2",
"@nestjs/common": "7.6.12",
"@nestjs/core": "7.6.12",
"@nestjs/platform-express": "7.6.12",
"class-transformer": "0.4.0",
"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.5",
"@nestjs/cli": "7.5.5",
"@nestjs/schematics": "7.2.7",
"@nestjs/testing": "7.6.12",
"@types/express": "4.17.11",
"@types/jest": "26.0.20",
"@types/node": "14.14.20",
"@types/node": "14.14.31",
"@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.14",
"supertest": "6.1.3",
"ts-jest": "26.5.1",
"ts-loader": "8.0.17",
"ts-node": "9.1.1",
"tsconfig-paths": "3.9.0",
"@typescript-eslint/eslint-plugin": "4.13.0",
"@typescript-eslint/parser": "4.13.0",
"eslint": "7.17.0",
"eslint-config-prettier": "7.1.0",
"@typescript-eslint/eslint-plugin": "4.15.1",
"@typescript-eslint/parser": "4.15.1",
"eslint": "7.20.0",
"eslint-config-prettier": "7.2.0",
"eslint-plugin-import": "2.22.1",
"typescript": "4.1.3"
"typescript": "4.1.5"
},
"jest": {
"moduleFileExtensions": [

View File

@@ -1,5 +1,5 @@
export interface Cat {
readonly name: string;
readonly age: number;
readonly breed: string;
name: string;
age: number;
breed: string;
}

File diff suppressed because it is too large Load Diff

View File

@@ -19,40 +19,40 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "7.6.5",
"@nestjs/core": "7.6.5",
"@nestjs/platform-express": "7.6.5",
"@nestjs/platform-socket.io": "7.6.5",
"@nestjs/websockets": "7.6.5",
"class-transformer": "0.3.1",
"class-validator": "0.12.2",
"@nestjs/common": "7.6.12",
"@nestjs/core": "7.6.12",
"@nestjs/platform-express": "7.6.12",
"@nestjs/platform-socket.io": "7.6.12",
"@nestjs/websockets": "7.6.12",
"class-transformer": "0.4.0",
"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-redis": "1.0.26",
"@types/socket.io": "2.1.13",
"@types/socket.io-redis": "1.0.27",
"@types/ws": "7.4.0",
"@nestjs/cli": "7.5.4",
"@nestjs/schematics": "7.2.6",
"@nestjs/testing": "7.6.5",
"@nestjs/cli": "7.5.5",
"@nestjs/schematics": "7.2.7",
"@nestjs/testing": "7.6.12",
"@types/express": "4.17.11",
"@types/node": "14.14.20",
"@types/node": "14.14.31",
"@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.14",
"supertest": "6.1.3",
"ts-jest": "26.5.1",
"ts-loader": "8.0.17",
"ts-node": "9.1.1",
"tsconfig-paths": "3.9.0",
"@typescript-eslint/eslint-plugin": "4.13.0",
"@typescript-eslint/parser": "4.13.0",
"eslint": "7.17.0",
"eslint-config-prettier": "7.1.0",
"@typescript-eslint/eslint-plugin": "4.15.1",
"@typescript-eslint/parser": "4.15.1",
"eslint": "7.20.0",
"eslint-config-prettier": "7.2.0",
"eslint-plugin-import": "2.22.1",
"typescript": "4.1.3"
"typescript": "4.1.5"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -19,36 +19,36 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@nestjs/common": "7.6.5",
"@nestjs/core": "7.6.5",
"@nestjs/microservices": "7.6.5",
"@nestjs/platform-express": "7.6.5",
"class-transformer": "0.3.1",
"class-validator": "0.12.2",
"@nestjs/common": "7.6.12",
"@nestjs/core": "7.6.12",
"@nestjs/microservices": "7.6.12",
"@nestjs/platform-express": "7.6.12",
"class-transformer": "0.4.0",
"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.5",
"@nestjs/cli": "7.5.5",
"@nestjs/schematics": "7.2.7",
"@nestjs/testing": "7.6.12",
"@types/amqplib": "0.5.17",
"@types/express": "4.17.11",
"@types/node": "14.14.20",
"@types/node": "14.14.31",
"@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.14",
"supertest": "6.1.3",
"ts-jest": "26.5.1",
"ts-loader": "8.0.17",
"ts-node": "9.1.1",
"tsconfig-paths": "3.9.0",
"@typescript-eslint/eslint-plugin": "4.13.0",
"@typescript-eslint/parser": "4.13.0",
"eslint": "7.17.0",
"eslint-config-prettier": "7.1.0",
"@typescript-eslint/eslint-plugin": "4.15.1",
"@typescript-eslint/parser": "4.15.1",
"eslint": "7.20.0",
"eslint-config-prettier": "7.2.0",
"eslint-plugin-import": "2.22.1",
"typescript": "4.1.3"
"typescript": "4.1.5"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -19,37 +19,37 @@
"test:e2e": "echo 'No e2e tests implemented yet.'"
},
"dependencies": {
"@grpc/proto-loader": "0.5.5",
"@nestjs/common": "7.6.5",
"@nestjs/core": "7.6.5",
"@nestjs/microservices": "7.6.5",
"class-transformer": "0.3.1",
"class-validator": "0.12.2",
"grpc": "1.24.4",
"@grpc/proto-loader": "0.5.6",
"@nestjs/common": "7.6.12",
"@nestjs/core": "7.6.12",
"@nestjs/microservices": "7.6.12",
"class-transformer": "0.4.0",
"class-validator": "0.13.1",
"grpc": "1.24.5",
"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.5",
"@nestjs/cli": "7.5.5",
"@nestjs/schematics": "7.2.7",
"@nestjs/testing": "7.6.12",
"@types/express": "4.17.11",
"@types/node": "14.14.20",
"@types/node": "14.14.31",
"@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.14",
"supertest": "6.1.3",
"ts-jest": "26.5.1",
"ts-loader": "8.0.17",
"ts-node": "9.1.1",
"tsconfig-paths": "3.9.0",
"@typescript-eslint/eslint-plugin": "4.13.0",
"@typescript-eslint/parser": "4.13.0",
"eslint": "7.17.0",
"eslint-config-prettier": "7.1.0",
"@typescript-eslint/eslint-plugin": "4.15.1",
"@typescript-eslint/parser": "4.15.1",
"eslint": "7.20.0",
"eslint-config-prettier": "7.2.0",
"eslint-plugin-import": "2.22.1",
"typescript": "4.1.3"
"typescript": "4.1.5"
}
}

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