Compare commits

...

455 Commits

Author SHA1 Message Date
Kamil Mysliwiec
f76a69341e Update packages/common/pipes/validation.pipe.ts 2024-11-21 09:48:21 +01:00
Kamil Myśliwiec
a3acefffda fix(common): fallback to empty string for enums when validating (swc) 2024-11-21 09:38:42 +01:00
Kamil Myśliwiec
5064d9b4a4 Merge branch 'pacyL2K19-test/sample-12-graphql-schema-first' 2024-11-20 12:56:23 +01:00
Kamil Myśliwiec
d98524ab9c chore: minor formatting changes 2024-11-20 12:56:10 +01:00
Kamil Myśliwiec
ddf99c39d0 Merge branch 'martinvysnovsky-test-sample-mongoose' 2024-11-20 12:53:04 +01:00
Kamil Myśliwiec
691e7d448e chore: minor formatting changes 2024-11-20 12:52:50 +01:00
Kamil Myśliwiec
518879b3d6 Merge branch 'test-sample-mongoose' of https://github.com/martinvysnovsky/nest into martinvysnovsky-test-sample-mongoose 2024-11-20 12:50:39 +01:00
Kamil Myśliwiec
b770d7d9b2 Merge branch 'master' of https://github.com/nestjs/nest 2024-11-20 12:49:16 +01:00
Kamil Myśliwiec
8b978e3028 Merge branch 'Yansb-test/sample-01-cats-app' 2024-11-20 12:49:03 +01:00
Kamil Myśliwiec
0f25e83229 style: minor formatting changes 2024-11-20 12:48:53 +01:00
Kamil Myśliwiec
f3ec5f22fa Merge branch 'test/sample-01-cats-app' of https://github.com/Yansb/nest into Yansb-test/sample-01-cats-app 2024-11-20 12:48:06 +01:00
Kamil Mysliwiec
1dafb5fdce Merge pull request #14165 from nestjs/dependabot/npm_and_yarn/typescript-eslint/parser-8.15.0
chore(deps-dev): bump @typescript-eslint/parser from 8.14.0 to 8.15.0
2024-11-20 12:46:02 +01:00
Kamil Mysliwiec
71e8acec39 Merge pull request #14163 from nestjs/fix/grpc-client-streaming-bug
fix(microservices): grpc client streaming bugs
2024-11-20 11:11:51 +01:00
Kamil Mysliwiec
6094701679 Merge pull request #12954 from gunb0s/feature/nestjs-kafka-emit-batch
feat: emit batch
2024-11-20 11:11:43 +01:00
Kamil Mysliwiec
99b5a5bbfe Merge pull request #14171 from nestjs/dependabot/npm_and_yarn/sample/11-swagger/cross-spawn-7.0.6
chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /sample/11-swagger
2024-11-20 10:39:37 +01:00
Kamil Mysliwiec
1531e6a767 Merge pull request #14172 from nestjs/dependabot/npm_and_yarn/sample/35-use-esm-package-after-node22/multi-c29acd3782
chore(deps): bump cookie and @nestjs/platform-express in /sample/35-use-esm-package-after-node22
2024-11-20 10:36:36 +01:00
dependabot[bot]
3fa80a9dab chore(deps): bump cookie and @nestjs/platform-express
Bumps [cookie](https://github.com/jshttp/cookie) to 0.7.1 and updates ancestor dependency [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `cookie` from 0.6.0 to 0.7.1
- [Release notes](https://github.com/jshttp/cookie/releases)
- [Commits](https://github.com/jshttp/cookie/compare/v0.6.0...v0.7.1)

Updates `@nestjs/platform-express` from 10.4.4 to 10.4.8
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.8/packages/platform-express)

---
updated-dependencies:
- dependency-name: cookie
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-20 09:27:05 +00:00
Kamil Mysliwiec
439516d7dc Merge pull request #14051 from micalevisk/add-esm-only-sample
chore: add sample on how to use esm on cjs
2024-11-20 10:26:00 +01:00
dependabot[bot]
22c4e9cae3 chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /sample/11-swagger
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-20 09:22:40 +00:00
Kamil Mysliwiec
2dda578d9a Merge pull request #14170 from nestjs/dependabot/npm_and_yarn/sample/24-serve-static/cross-spawn-7.0.6
chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /sample/24-serve-static
2024-11-20 10:21:33 +01:00
Kamil Myśliwiec
b65c41c5a8 fix: use proxy, drain buffer before execution 2024-11-20 10:21:10 +01:00
dependabot[bot]
f0c3cef7d4 chore(deps): bump cross-spawn in /sample/24-serve-static
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-20 08:24:47 +00:00
Kamil Mysliwiec
e2e70c1bc3 Merge pull request #14169 from nestjs/dependabot/npm_and_yarn/sample/15-mvc/cross-spawn-7.0.6
chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /sample/15-mvc
2024-11-20 09:23:39 +01:00
dependabot[bot]
70c18e9e7b chore(deps-dev): bump @typescript-eslint/parser from 8.14.0 to 8.15.0
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.14.0 to 8.15.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.15.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-20 07:42:35 +00:00
dependabot[bot]
102718ad1b chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /sample/15-mvc
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-20 07:42:00 +00:00
Kamil Mysliwiec
02d26a6fd7 Merge pull request #14164 from nestjs/dependabot/npm_and_yarn/sample/01-cats-app/cross-spawn-7.0.6
chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /sample/01-cats-app
2024-11-20 08:40:13 +01:00
Kamil Mysliwiec
8279fb5319 Merge pull request #14167 from nestjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-8.15.0
chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.14.0 to 8.15.0
2024-11-20 08:40:05 +01:00
dependabot[bot]
d4e5743c9b 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 8.14.0 to 8.15.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.15.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-19 00:49:10 +00:00
dependabot[bot]
b1e33ece5d chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /sample/01-cats-app
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 22:46:40 +00:00
Micael Levi L. Cavalcante
e15d73190d chore: add sample on how to use esm with nodejs experimental flag 2024-11-18 11:30:39 -04:00
Kamil Myśliwiec
4564503936 fix: use valid reference for the cancel event constant 2024-11-18 15:27:45 +01:00
Kamil Myśliwiec
30a6b52c50 fix(microservices): grpc client streaming bugs #14094 #13818 2024-11-18 15:23:44 +01:00
Kamil Mysliwiec
bc19f81729 Merge pull request #14161 from nestjs/dependabot/npm_and_yarn/sample/25-dynamic-modules/cross-spawn-7.0.5
chore(deps): bump cross-spawn from 7.0.3 to 7.0.5 in /sample/25-dynamic-modules
2024-11-18 09:50:43 +01:00
dependabot[bot]
989075e6c1 chore(deps): bump cross-spawn in /sample/25-dynamic-modules
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.5.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.5)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 08:17:48 +00:00
Kamil Mysliwiec
c60428a6fd Merge pull request #14159 from nestjs/dependabot/npm_and_yarn/sample/33-graphql-mercurius/cross-spawn-7.0.5
chore(deps): bump cross-spawn from 7.0.3 to 7.0.5 in /sample/33-graphql-mercurius
2024-11-18 09:16:06 +01:00
Kamil Mysliwiec
92e2db8d99 Merge pull request #13632 from nestjs/renovate/npm-mysql2-vulnerability
fix(deps): update dependency mysql2 to v3.9.8 [security]
2024-11-18 08:16:45 +01:00
dependabot[bot]
5911ed245e chore(deps): bump cross-spawn in /sample/33-graphql-mercurius
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.5.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.5)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 07:15:19 +00:00
Kamil Mysliwiec
1b4decf75e Merge pull request #14151 from nestjs/dependabot/npm_and_yarn/sample/27-scheduling/cross-spawn-7.0.5
chore(deps): bump cross-spawn from 7.0.3 to 7.0.5 in /sample/27-scheduling
2024-11-18 08:13:39 +01:00
Kamil Mysliwiec
36756dd194 Merge pull request #14153 from micalevisk/patch-1
chore: shallow cloning `wrk` repository on benchmark setup
2024-11-18 08:13:18 +01:00
Kamil Mysliwiec
27193cc99f Merge pull request #14155 from webdiscus/cli-color-to-ansis
build(sample): replace cli-color with smaller and faster ansis
2024-11-18 08:13:08 +01:00
Micael Levi L. Cavalcante
194732f4aa chore: shallow cloning wrk repository on benchmarking setup 2024-11-17 12:41:46 -04:00
biodiscus
3559e0c1f2 build(sample): replace cli-color with smaller and faster ansis 2024-11-17 17:01:47 +01:00
dependabot[bot]
2e4ebe4870 chore(deps): bump cross-spawn in /sample/27-scheduling
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.5.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.5)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-16 21:17:27 +00:00
Kamil Mysliwiec
7d62aad5fc Merge pull request #14146 from nestjs/dependabot/npm_and_yarn/sample/28-sse/multi-c29acd3782
chore(deps): bump cookie and @nestjs/platform-express in /sample/28-sse
2024-11-16 22:16:21 +01:00
Kamil Mysliwiec
ef8f64cf42 Merge pull request #14149 from nestjs/dependabot/npm_and_yarn/sample/32-graphql-federation-schema-first/gateway/cross-spawn-7.0.5
chore(deps): bump cross-spawn from 7.0.3 to 7.0.5 in /sample/32-graphql-federation-schema-first/gateway
2024-11-16 22:16:13 +01:00
Kamil Mysliwiec
afa667509f Merge pull request #12995 from nestjs/renovate/supertest-6.x
chore(deps): update dependency supertest to v6.3.4
2024-11-16 22:15:59 +01:00
renovate[bot]
dc09280634 chore(deps): update dependency supertest to v6.3.4 2024-11-16 20:31:33 +00:00
dependabot[bot]
8115930ec8 chore(deps): bump cookie and @nestjs/platform-express in /sample/28-sse
Bumps [cookie](https://github.com/jshttp/cookie) to 0.7.1 and updates ancestor dependency [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `cookie` from 0.6.0 to 0.7.1
- [Release notes](https://github.com/jshttp/cookie/releases)
- [Commits](https://github.com/jshttp/cookie/compare/v0.6.0...v0.7.1)

Updates `@nestjs/platform-express` from 10.4.4 to 10.4.8
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.8/packages/platform-express)

---
updated-dependencies:
- dependency-name: cookie
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-16 20:27:58 +00:00
Kamil Mysliwiec
8fc1c9786a Merge pull request #12815 from nestjs/renovate/node-20.x
chore(deps): update dependency @types/node to v20.17.6
2024-11-16 21:26:57 +01:00
renovate[bot]
2b9f2fd493 chore(deps): update dependency @types/node to v20.17.6 2024-11-16 20:20:53 +00:00
renovate[bot]
2867dff697 fix(deps): update dependency mysql2 to v3.9.8 [security] 2024-11-16 20:18:43 +00:00
dependabot[bot]
ee7eb9d48d chore(deps): bump cross-spawn
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.5.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.5)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-16 20:13:01 +00:00
Kamil Mysliwiec
f38a07719a Merge pull request #14147 from nestjs/chore/upgrade-deps
chore: upgrade deps
2024-11-16 21:11:51 +01:00
Kamil Myśliwiec
af8cd7e4c9 sample: update grpc example 2024-11-16 20:49:36 +01:00
Kamil Myśliwiec
c800b06a22 ci: update node version for eslint workflow 2024-11-16 20:38:48 +01:00
Kamil Myśliwiec
f00192f4f1 chore: regenerate package-lock 2024-11-16 20:32:25 +01:00
Kamil Myśliwiec
b8ddf4fa59 chore: revert markdown-table 2024-11-16 20:29:41 +01:00
Kamil Myśliwiec
a9954025dd style(lint): update eslint rules 2024-11-16 20:26:21 +01:00
Kamil Myśliwiec
0d9b7c85db sample: updateg grpc options type 2024-11-16 20:25:42 +01:00
Kamil Myśliwiec
d9a592d899 chore: update package json 2024-11-16 20:01:52 +01:00
Kamil Myśliwiec
ef24801fcc chore: upgrade deps 2024-11-16 20:00:50 +01:00
Kamil Mysliwiec
bde210677f Merge pull request #14144 from nestjs/dependabot/npm_and_yarn/sample/33-graphql-mercurius/multi-ba981ebd23
chore(deps): bump cookie, light-my-request and @nestjs/platform-fastify in /sample/33-graphql-mercurius
2024-11-15 15:29:41 +01:00
Kamil Myśliwiec
d35006a0d3 chore: update readmes 2024-11-15 14:55:07 +01:00
dependabot[bot]
29a80ba8ab chore(deps): bump cookie, light-my-request and @nestjs/platform-fastify
Bumps [cookie](https://github.com/jshttp/cookie) to 0.7.2 and updates ancestor dependencies [cookie](https://github.com/jshttp/cookie), [light-my-request](https://github.com/fastify/light-my-request) and [@nestjs/platform-fastify](https://github.com/nestjs/nest/tree/HEAD/packages/platform-fastify). These dependencies need to be updated together.


Updates `cookie` from 0.5.0 to 0.7.2
- [Release notes](https://github.com/jshttp/cookie/releases)
- [Commits](https://github.com/jshttp/cookie/compare/v0.5.0...v0.7.2)

Updates `light-my-request` from 5.11.0 to 5.14.0
- [Release notes](https://github.com/fastify/light-my-request/releases)
- [Commits](https://github.com/fastify/light-my-request/compare/v5.11.0...v5.14.0)

Updates `@nestjs/platform-fastify` from 10.3.2 to 10.4.8
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.8/packages/platform-fastify)

---
updated-dependencies:
- dependency-name: cookie
  dependency-type: indirect
- dependency-name: light-my-request
  dependency-type: indirect
- dependency-name: "@nestjs/platform-fastify"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-15 13:53:10 +00:00
Kamil Myśliwiec
3c5180d2d5 chore(@nestjs) publish v10.4.8 release 2024-11-15 14:51:54 +01:00
Kamil Mysliwiec
a7b73e3107 Merge pull request #14143 from nestjs/feat/expose-listening-stream
feat(core): expose listening stream from http adapter host
2024-11-15 14:40:16 +01:00
Kamil Mysliwiec
491ed77f22 Merge pull request #14059 from v-sum/fix-disregarded-rmq-client-options
fix(microservices): include discarded rmq client options
2024-11-15 14:32:46 +01:00
Kamil Myśliwiec
e64ab182ba refactor(core): replace internal init with an inline promise 2024-11-15 14:32:09 +01:00
Kamil Mysliwiec
dade6d5889 Merge pull request #14139 from mksony/chore/ensure-application-init-before-accepting-sigterm
chore(core): defer application shutdown until init finishes
2024-11-15 14:31:03 +01:00
Kamil Mysliwiec
49dc36d9e5 Merge pull request #14132 from nestjs/fix/mqtt-microservices-qos2
fix(microservices): no messages emitted with mqtt when qos set
2024-11-15 14:30:42 +01:00
Kamil Mysliwiec
831d29553d Merge pull request #14133 from nestjs/fix/flaky-durable-provider
fix(core): flaky durable provider, remove instance on error
2024-11-15 14:30:28 +01:00
Kamil Myśliwiec
1a076fc4cb feat(core): expose listening stream from http adapter host 2024-11-15 11:23:16 +01:00
Max Karacsony
5c6986f0c7 chore(core): defer application shutdown until init finishes 2024-11-14 13:50:07 +01:00
Kamil Myśliwiec
229d97f018 fix(core): flaky durable provider, remove instance on error #13953 2024-11-12 13:23:51 +01:00
Kamil Myśliwiec
1fe4dc2cad fix(microservices): no messages emitted with mqtt when qos set #14079 2024-11-12 12:35:25 +01:00
Kamil Mysliwiec
bc4667c15a Update Readme.md 2024-11-05 14:19:52 +01:00
Kamil Myśliwiec
a544552f72 chore(@nestjs) publish v10.4.7 release 2024-11-05 09:57:20 +01:00
Kamil Mysliwiec
954616da7d Merge pull request #14108 from nestjs/chore/undeprecate-listen-fastify
chore(fastify): undeprecate listen method
2024-11-05 09:49:24 +01:00
Kamil Myśliwiec
c6b95f54a7 chore(fastify): undeprecate listen method 2024-11-05 09:37:22 +01:00
Kamil Myśliwiec
7843db3984 chore(@nestjs) publish v10.4.6 release 2024-10-23 10:21:04 +02:00
Kamil Mysliwiec
42e0798d8c Merge pull request #14085 from nestjs/fix/internal-core-module-on-preview
fix(core): initialize internal core module on preview
2024-10-23 10:20:07 +02:00
Kamil Myśliwiec
d9c8df7d40 fix(core): initialize internal core module on preview 2024-10-23 09:59:47 +02:00
Kamil Myśliwiec
025b32f342 Merge branch 'master' of https://github.com/nestjs/nest 2024-10-21 09:41:11 +02:00
Kamil Myśliwiec
c28f92e0c3 sample: simulate timeout to demonstrate caching 2024-10-21 09:40:57 +02:00
Kamil Mysliwiec
bc3ba4861d Merge pull request #14069 from pabloaguilarmartinez/engineio-cookie-vulnerability-update
build(socket.io): update engine.io dependencies for cookie vulnerability
2024-10-19 12:13:58 +02:00
Kamil Mysliwiec
8996a10235 Merge pull request #14076 from nestjs/renovate/npm-apollo-gateway-vulnerability
fix(deps): update dependency @apollo/gateway to v2.8.5 [security]
2024-10-19 12:13:46 +02:00
renovate[bot]
2c6eea08a9 fix(deps): update dependency @apollo/gateway to v2.8.5 [security] 2024-10-18 17:25:50 +00:00
Kamil Mysliwiec
f63e7adc80 Merge pull request #14067 from nestjs/renovate/npm-apollo-gateway-vulnerability
fix(deps): update dependency @apollo/gateway to v2.8.5 [security]
2024-10-18 15:02:29 +02:00
pabloaguilarm
4d3d39158a build(socket.io): update engine.io dependencies for cookie vulnerability 2024-10-16 19:59:59 +02:00
Kamil Myśliwiec
198eaf7e5c chore: update package.json 2024-10-16 12:40:57 +02:00
Kamil Myśliwiec
94a1ca14a9 chore: update readme and package.json 2024-10-16 12:40:33 +02:00
Kamil Myśliwiec
ed644e9877 chore(@nestjs) publish v10.4.5 release 2024-10-16 12:40:09 +02:00
renovate[bot]
bb2f2c4bb5 fix(deps): update dependency @apollo/gateway to v2.8.5 [security] 2024-10-16 10:39:50 +00:00
Kamil Mysliwiec
0ea48d2d7a Merge pull request #13879 from frndvrgs/feat-opts-listen-method
feat(fastify): adding opts to the listen method interface and deprecating variadic JSDocs warnings
2024-10-16 12:37:51 +02:00
Kamil Mysliwiec
508d2f3428 Merge pull request #14060 from ezintz/fix-express-vulnerabilities
build(express): upgrade to express 4.2.1
2024-10-16 12:36:34 +02:00
Kamil Mysliwiec
7cf4708a05 Merge pull request #13903 from nestjs/dependabot/npm_and_yarn/sample/31-graphql-federation-code-first/posts-application/multi-dabac980bd
chore(deps): bump ws and @nestjs/graphql in /sample/31-graphql-federation-code-first/posts-application
2024-10-16 12:36:13 +02:00
Kamil Mysliwiec
8c2e03dcc9 Merge pull request #13917 from nestjs/dependabot/npm_and_yarn/sample/32-graphql-federation-schema-first/posts-application/micromatch-4.0.8
chore(deps): bump micromatch from 4.0.4 to 4.0.8 in /sample/32-graphql-federation-schema-first/posts-application
2024-10-16 12:36:01 +02:00
Kamil Mysliwiec
6ada824161 Merge pull request #14064 from PattyTrish/cookie-vulnerability-update
build(fastify): upgrade light-my-request to 6.1.0
2024-10-16 12:35:38 +02:00
Kamil Mysliwiec
d2ca9ec757 Merge pull request #14066 from micalevisk/test/cover-validation-pipe-options
test(common): add tests for validation pipe on 'custom' types
2024-10-16 12:35:09 +02:00
Micael Levi L. Cavalcante
78b3f0c912 test(common): add tests for validation pipe on 'custom' types 2024-10-12 17:50:14 -04:00
Patricia Ahern
980eb5bb0a build(fastify): upgrade light-my-request to 6.1.0 2024-10-10 19:14:57 -05:00
Eduard Zintz
160c3b37d8 build(express): upgrade to express 4.2.1
fixes vulnerabilites with cookie and path-to-regexp, see
https://github.com/jshttp/cookie/security/advisories/GHSA-pxg6-pf52-xh8x
https://github.com/advisories/GHSA-9wv6-86v2-598j
2024-10-10 09:31:46 +02:00
Kamil Mysliwiec
d0f401ab6e Merge pull request #14015 from nestjs/dependabot/npm_and_yarn/sample/10-fastify/find-my-way-8.2.2
chore(deps): bump find-my-way from 8.1.0 to 8.2.2 in /sample/10-fastify
2024-10-09 09:08:13 +02:00
Kamil Mysliwiec
89840cee57 Merge pull request #14039 from nestjs/dependabot/npm_and_yarn/sample/23-graphql-code-first/multi-1f9ae28231
chore(deps): bump serve-static, express and @nestjs/platform-express in /sample/23-graphql-code-first
2024-10-09 09:08:05 +02:00
Kamil Mysliwiec
94237439c4 Merge pull request #14040 from nestjs/dependabot/npm_and_yarn/sample/24-serve-static/multi-0b8bbc7c9e
chore(deps): bump send, @nestjs/platform-express and express in /sample/24-serve-static
2024-10-09 09:07:57 +02:00
Kamil Mysliwiec
9ee022495a Update Readme.md 2024-10-09 09:06:40 +02:00
Vasile Sumanschi
9cd43532ae fix(microservices): include discarded rmq client options
all other properties, beside 'connectionOptions', from the socketOptions object ( of type AmqpConnectionManagerSocketOptions )
were being discarded on the creation of the AmqpConnectionManager client
https://github.com/nestjs/nest/blob/master/packages/microservices/external/rmq-url.interface.ts#L47
https://github.com/jwalton/node-amqp-connection-manager/blob/v4.1.14/src/AmqpConnectionManager.ts#L46

https://github.com/nestjs/nest/issues/5788#issuecomment-2373361313
2024-10-09 01:17:27 +03:00
Micael Levi L. Cavalcante
aff30bf63d chore: support skip npm script execution depending on require nodejs 2024-10-02 18:03:17 -04:00
Micael Levi L. Cavalcante
0dafaaa0b9 chore: add sample on how to use esm on cjs 2024-10-01 09:35:05 -04:00
dependabot[bot]
93514fdc70 chore(deps): bump send, @nestjs/platform-express and express
Bumps [send](https://github.com/pillarjs/send) to 0.19.0 and updates ancestor dependencies [send](https://github.com/pillarjs/send), [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express) and [express](https://github.com/expressjs/express). These dependencies need to be updated together.


Updates `send` from 0.18.0 to 0.19.0
- [Release notes](https://github.com/pillarjs/send/releases)
- [Changelog](https://github.com/pillarjs/send/blob/master/HISTORY.md)
- [Commits](https://github.com/pillarjs/send/compare/0.18.0...0.19.0)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.4
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.4/packages/platform-express)

Updates `express` from 4.19.2 to 4.21.0
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0)

---
updated-dependencies:
- dependency-name: send
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-26 08:10:45 +00:00
dependabot[bot]
a46a7dbe12 chore(deps): bump serve-static, express and @nestjs/platform-express
Bumps [serve-static](https://github.com/expressjs/serve-static) to 1.16.2 and updates ancestor dependencies [serve-static](https://github.com/expressjs/serve-static), [express](https://github.com/expressjs/express) and [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `serve-static` from 1.15.0 to 1.16.2
- [Release notes](https://github.com/expressjs/serve-static/releases)
- [Changelog](https://github.com/expressjs/serve-static/blob/v1.16.2/HISTORY.md)
- [Commits](https://github.com/expressjs/serve-static/compare/v1.15.0...v1.16.2)

Updates `express` from 4.19.2 to 4.21.0
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0)

Updates `@nestjs/platform-express` from 10.3.10 to 10.4.4
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.4/packages/platform-express)

---
updated-dependencies:
- dependency-name: serve-static
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-26 08:10:28 +00:00
Kamil Mysliwiec
9825529f40 Merge pull request #14034 from nestjs/dependabot/npm_and_yarn/sample/28-sse/multi-5eb378ec3a
chore(deps): bump serve-static and @nestjs/platform-express in /sample/28-sse
2024-09-26 10:09:15 +02:00
Kamil Mysliwiec
826ff4b426 Merge pull request #14035 from nestjs/dependabot/npm_and_yarn/sample/28-sse/multi-6ddc2c7951
chore(deps): bump send and @nestjs/platform-express in /sample/28-sse
2024-09-26 10:09:09 +02:00
dependabot[bot]
fd740b61a6 chore(deps): bump send and @nestjs/platform-express in /sample/28-sse
Bumps [send](https://github.com/pillarjs/send) to 0.19.0 and updates ancestor dependency [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `send` from 0.18.0 to 0.19.0
- [Release notes](https://github.com/pillarjs/send/releases)
- [Changelog](https://github.com/pillarjs/send/blob/master/HISTORY.md)
- [Commits](https://github.com/pillarjs/send/compare/0.18.0...0.19.0)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.4
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.4/packages/platform-express)

---
updated-dependencies:
- dependency-name: send
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-25 06:24:39 +00:00
dependabot[bot]
c936deccad chore(deps): bump serve-static and @nestjs/platform-express
Bumps [serve-static](https://github.com/expressjs/serve-static) to 1.16.2 and updates ancestor dependency [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `serve-static` from 1.15.0 to 1.16.2
- [Release notes](https://github.com/expressjs/serve-static/releases)
- [Changelog](https://github.com/expressjs/serve-static/blob/v1.16.2/HISTORY.md)
- [Commits](https://github.com/expressjs/serve-static/compare/v1.15.0...v1.16.2)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.4
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.4/packages/platform-express)

---
updated-dependencies:
- dependency-name: serve-static
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-25 06:24:32 +00:00
Kamil Mysliwiec
47cda92922 Merge pull request #14030 from nestjs/dependabot/npm_and_yarn/sample/25-dynamic-modules/multi-6ddc2c7951
chore(deps): bump send and @nestjs/platform-express in /sample/25-dynamic-modules
2024-09-25 08:23:29 +02:00
Kamil Mysliwiec
d70d0ba209 Merge pull request #14031 from nestjs/dependabot/npm_and_yarn/sample/25-dynamic-modules/multi-5eb378ec3a
chore(deps): bump serve-static and @nestjs/platform-express in /sample/25-dynamic-modules
2024-09-25 08:23:18 +02:00
dependabot[bot]
0fbc2a65d1 chore(deps): bump serve-static and @nestjs/platform-express
Bumps [serve-static](https://github.com/expressjs/serve-static) to 1.16.2 and updates ancestor dependency [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `serve-static` from 1.15.0 to 1.16.2
- [Release notes](https://github.com/expressjs/serve-static/releases)
- [Changelog](https://github.com/expressjs/serve-static/blob/v1.16.2/HISTORY.md)
- [Commits](https://github.com/expressjs/serve-static/compare/v1.15.0...v1.16.2)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.4
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.4/packages/platform-express)

---
updated-dependencies:
- dependency-name: serve-static
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-24 06:53:07 +00:00
dependabot[bot]
fa56e58847 chore(deps): bump send and @nestjs/platform-express
Bumps [send](https://github.com/pillarjs/send) to 0.19.0 and updates ancestor dependency [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `send` from 0.18.0 to 0.19.0
- [Release notes](https://github.com/pillarjs/send/releases)
- [Changelog](https://github.com/pillarjs/send/blob/master/HISTORY.md)
- [Commits](https://github.com/pillarjs/send/compare/0.18.0...0.19.0)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.4
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.4/packages/platform-express)

---
updated-dependencies:
- dependency-name: send
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-24 06:53:02 +00:00
Kamil Mysliwiec
44c4f8fa8d Merge pull request #14026 from nestjs/dependabot/npm_and_yarn/sample/26-queues/multi-791e36bb45
chore(deps): bump serve-static and @nestjs/platform-express in /sample/26-queues
2024-09-24 08:51:57 +02:00
Kamil Mysliwiec
1460c6b468 Merge pull request #14025 from nestjs/dependabot/npm_and_yarn/sample/26-queues/multi-6828042f11
chore(deps): bump send and @nestjs/platform-express in /sample/26-queues
2024-09-24 08:51:52 +02:00
Kamil Mysliwiec
a1336bf60c Merge pull request #14028 from tuxmachine/test/14016-fastify-head
test: add coverage for Fastify HEAD regression
2024-09-24 08:51:14 +02:00
Rick Dutour Geerling
4d46bd8f75 test: GET endpoints should respond to HEAD reqs 2024-09-23 10:12:19 +02:00
Kamil Myśliwiec
5ae7e0f214 chore(@nestjs) publish v10.4.4 release 2024-09-23 08:47:40 +02:00
dependabot[bot]
166d5840c1 chore(deps): bump serve-static and @nestjs/platform-express
Bumps [serve-static](https://github.com/expressjs/serve-static) to 1.16.2 and updates ancestor dependency [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `serve-static` from 1.15.0 to 1.16.2
- [Release notes](https://github.com/expressjs/serve-static/releases)
- [Changelog](https://github.com/expressjs/serve-static/blob/v1.16.2/HISTORY.md)
- [Commits](https://github.com/expressjs/serve-static/compare/v1.15.0...v1.16.2)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.3
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.3/packages/platform-express)

---
updated-dependencies:
- dependency-name: serve-static
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-23 06:47:29 +00:00
dependabot[bot]
03e122a273 chore(deps): bump send and @nestjs/platform-express in /sample/26-queues
Bumps [send](https://github.com/pillarjs/send) to 0.19.0 and updates ancestor dependency [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `send` from 0.18.0 to 0.19.0
- [Release notes](https://github.com/pillarjs/send/releases)
- [Changelog](https://github.com/pillarjs/send/blob/master/HISTORY.md)
- [Commits](https://github.com/pillarjs/send/compare/0.18.0...0.19.0)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.3
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.3/packages/platform-express)

---
updated-dependencies:
- dependency-name: send
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-23 06:47:15 +00:00
Kamil Myśliwiec
0682d390cb Merge branch 'master' of https://github.com/nestjs/nest 2024-09-23 08:46:34 +02:00
Kamil Myśliwiec
3c24de6e1f chore: update readmes 2024-09-23 08:46:26 +02:00
Kamil Mysliwiec
091722e179 Merge pull request #14013 from nestjs/dependabot/npm_and_yarn/sample/27-scheduling/multi-6828042f11
chore(deps): bump send and @nestjs/platform-express in /sample/27-scheduling
2024-09-23 08:45:51 +02:00
Kamil Mysliwiec
7dca5bdf42 Merge pull request #14014 from nestjs/dependabot/npm_and_yarn/sample/27-scheduling/multi-791e36bb45
chore(deps): bump serve-static and @nestjs/platform-express in /sample/27-scheduling
2024-09-23 08:45:45 +02:00
Kamil Mysliwiec
f9c5140a47 Merge pull request #14017 from tuxmachine/fix/14016-fastify-head
fix(fastify): uppercase http method names
2024-09-23 08:45:19 +02:00
Rick Dutour Geerling
29fca46d55 fix(fastify): uppercase http method names
Fastify expects uppercase and won't auto-add the HEAD method otherwise

Closes #13016
2024-09-20 14:01:31 +02:00
dependabot[bot]
d378fff036 chore(deps): bump find-my-way from 8.1.0 to 8.2.2 in /sample/10-fastify
Bumps [find-my-way](https://github.com/delvedor/find-my-way) from 8.1.0 to 8.2.2.
- [Release notes](https://github.com/delvedor/find-my-way/releases)
- [Commits](https://github.com/delvedor/find-my-way/compare/v8.1.0...v8.2.2)

---
updated-dependencies:
- dependency-name: find-my-way
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-20 10:20:38 +00:00
dependabot[bot]
b389a536fb chore(deps): bump ws and @nestjs/graphql
Bumps [ws](https://github.com/websockets/ws) to 8.17.1 and updates ancestor dependency [@nestjs/graphql](https://github.com/nestjs/graphql). These dependencies need to be updated together.


Updates `ws` from 7.5.9 to 8.17.1
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.9...8.17.1)

Updates `@nestjs/graphql` from 12.0.11 to 12.2.0
- [Release notes](https://github.com/nestjs/graphql/releases)
- [Commits](https://github.com/nestjs/graphql/compare/v12.0.11...v12.2.0)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
- dependency-name: "@nestjs/graphql"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-20 10:20:35 +00:00
dependabot[bot]
6ca325476a chore(deps): bump serve-static and @nestjs/platform-express
Bumps [serve-static](https://github.com/expressjs/serve-static) to 1.16.2 and updates ancestor dependency [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `serve-static` from 1.15.0 to 1.16.2
- [Release notes](https://github.com/expressjs/serve-static/releases)
- [Changelog](https://github.com/expressjs/serve-static/blob/v1.16.2/HISTORY.md)
- [Commits](https://github.com/expressjs/serve-static/compare/v1.15.0...v1.16.2)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.3
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.3/packages/platform-express)

---
updated-dependencies:
- dependency-name: serve-static
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-20 10:20:32 +00:00
dependabot[bot]
2409e3c48b chore(deps): bump send and @nestjs/platform-express
Bumps [send](https://github.com/pillarjs/send) to 0.19.0 and updates ancestor dependency [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `send` from 0.18.0 to 0.19.0
- [Release notes](https://github.com/pillarjs/send/releases)
- [Changelog](https://github.com/pillarjs/send/blob/master/HISTORY.md)
- [Commits](https://github.com/pillarjs/send/compare/0.18.0...0.19.0)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.3
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.3/packages/platform-express)

---
updated-dependencies:
- dependency-name: send
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-20 10:20:31 +00:00
Kamil Mysliwiec
43e374c07b Merge pull request #14011 from nestjs/dependabot/npm_and_yarn/sample/31-graphql-federation-code-first/gateway/multi-1f3c83078e
chore(deps): bump send, express and @nestjs/platform-express in /sample/31-graphql-federation-code-first/gateway
2024-09-20 12:19:30 +02:00
Kamil Mysliwiec
fd3dddf57a Merge pull request #14012 from nestjs/dependabot/npm_and_yarn/sample/31-graphql-federation-code-first/gateway/multi-987c7c1031
chore(deps): bump serve-static, express and @nestjs/platform-express in /sample/31-graphql-federation-code-first/gateway
2024-09-20 12:19:24 +02:00
dependabot[bot]
a6e9c9306f chore(deps): bump serve-static, express and @nestjs/platform-express
Bumps [serve-static](https://github.com/expressjs/serve-static) to 1.16.2 and updates ancestor dependencies [serve-static](https://github.com/expressjs/serve-static), [express](https://github.com/expressjs/express) and [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `serve-static` from 1.15.0 to 1.16.2
- [Release notes](https://github.com/expressjs/serve-static/releases)
- [Changelog](https://github.com/expressjs/serve-static/blob/v1.16.2/HISTORY.md)
- [Commits](https://github.com/expressjs/serve-static/compare/v1.15.0...v1.16.2)

Updates `express` from 4.19.2 to 4.21.0
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.3
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.3/packages/platform-express)

---
updated-dependencies:
- dependency-name: serve-static
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-19 13:44:24 +00:00
dependabot[bot]
50ad923137 chore(deps): bump send, express and @nestjs/platform-express
Bumps [send](https://github.com/pillarjs/send) to 0.19.0 and updates ancestor dependencies [send](https://github.com/pillarjs/send), [express](https://github.com/expressjs/express) and [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `send` from 0.18.0 to 0.19.0
- [Release notes](https://github.com/pillarjs/send/releases)
- [Changelog](https://github.com/pillarjs/send/blob/master/HISTORY.md)
- [Commits](https://github.com/pillarjs/send/compare/0.18.0...0.19.0)

Updates `express` from 4.19.2 to 4.21.0
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.3
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.3/packages/platform-express)

---
updated-dependencies:
- dependency-name: send
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-19 13:44:22 +00:00
Kamil Mysliwiec
725e958e5d Merge pull request #14008 from nestjs/dependabot/npm_and_yarn/sample/29-file-upload/multi-6828042f11
chore(deps): bump send and @nestjs/platform-express in /sample/29-file-upload
2024-09-19 15:43:19 +02:00
Kamil Mysliwiec
a26fca197d Merge pull request #14009 from nestjs/dependabot/npm_and_yarn/sample/29-file-upload/multi-791e36bb45
chore(deps): bump serve-static and @nestjs/platform-express in /sample/29-file-upload
2024-09-19 15:43:12 +02:00
dependabot[bot]
fd5697dd79 chore(deps): bump serve-static and @nestjs/platform-express
Bumps [serve-static](https://github.com/expressjs/serve-static) to 1.16.2 and updates ancestor dependency [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `serve-static` from 1.15.0 to 1.16.2
- [Release notes](https://github.com/expressjs/serve-static/releases)
- [Changelog](https://github.com/expressjs/serve-static/blob/v1.16.2/HISTORY.md)
- [Commits](https://github.com/expressjs/serve-static/compare/v1.15.0...v1.16.2)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.3
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.3/packages/platform-express)

---
updated-dependencies:
- dependency-name: serve-static
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-19 06:46:19 +00:00
dependabot[bot]
bd71e16a84 chore(deps): bump send and @nestjs/platform-express
Bumps [send](https://github.com/pillarjs/send) to 0.19.0 and updates ancestor dependency [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `send` from 0.18.0 to 0.19.0
- [Release notes](https://github.com/pillarjs/send/releases)
- [Changelog](https://github.com/pillarjs/send/blob/master/HISTORY.md)
- [Commits](https://github.com/pillarjs/send/compare/0.18.0...0.19.0)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.3
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.3/packages/platform-express)

---
updated-dependencies:
- dependency-name: send
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-19 06:46:05 +00:00
Kamil Mysliwiec
203395ce73 Merge pull request #14001 from nestjs/dependabot/npm_and_yarn/sample/31-graphql-federation-code-first/posts-application/multi-987c7c1031
chore(deps): bump serve-static, express and @nestjs/platform-express in /sample/31-graphql-federation-code-first/posts-application
2024-09-19 08:44:27 +02:00
Kamil Mysliwiec
093860ad2b Merge pull request #14002 from nestjs/dependabot/npm_and_yarn/sample/30-event-emitter/multi-6828042f11
chore(deps): bump send and @nestjs/platform-express in /sample/30-event-emitter
2024-09-19 08:44:23 +02:00
Kamil Mysliwiec
2b3cfb6d22 Merge pull request #14003 from nestjs/dependabot/npm_and_yarn/sample/17-mvc-fastify/find-my-way-8.2.2
chore(deps): bump find-my-way from 8.1.0 to 8.2.2 in /sample/17-mvc-fastify
2024-09-19 08:44:15 +02:00
dependabot[bot]
3e00cc01e3 chore(deps): bump find-my-way in /sample/17-mvc-fastify
Bumps [find-my-way](https://github.com/delvedor/find-my-way) from 8.1.0 to 8.2.2.
- [Release notes](https://github.com/delvedor/find-my-way/releases)
- [Commits](https://github.com/delvedor/find-my-way/compare/v8.1.0...v8.2.2)

---
updated-dependencies:
- dependency-name: find-my-way
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 16:19:31 +00:00
dependabot[bot]
508619c391 chore(deps): bump send and @nestjs/platform-express
Bumps [send](https://github.com/pillarjs/send) to 0.19.0 and updates ancestor dependency [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `send` from 0.18.0 to 0.19.0
- [Release notes](https://github.com/pillarjs/send/releases)
- [Changelog](https://github.com/pillarjs/send/blob/master/HISTORY.md)
- [Commits](https://github.com/pillarjs/send/compare/0.18.0...0.19.0)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.3
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.3/packages/platform-express)

---
updated-dependencies:
- dependency-name: send
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 12:27:55 +00:00
dependabot[bot]
fefb01ec8e chore(deps): bump serve-static, express and @nestjs/platform-express
Bumps [serve-static](https://github.com/expressjs/serve-static) to 1.16.2 and updates ancestor dependencies [serve-static](https://github.com/expressjs/serve-static), [express](https://github.com/expressjs/express) and [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `serve-static` from 1.15.0 to 1.16.2
- [Release notes](https://github.com/expressjs/serve-static/releases)
- [Changelog](https://github.com/expressjs/serve-static/blob/v1.16.2/HISTORY.md)
- [Commits](https://github.com/expressjs/serve-static/compare/v1.15.0...v1.16.2)

Updates `express` from 4.19.2 to 4.21.0
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.3
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.3/packages/platform-express)

---
updated-dependencies:
- dependency-name: serve-static
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 12:27:27 +00:00
Kamil Mysliwiec
325be0a257 Merge pull request #13999 from nestjs/dependabot/npm_and_yarn/sample/32-graphql-federation-schema-first/users-application/multi-7bd2632303
chore(deps): bump body-parser, express and @nestjs/platform-express in /sample/32-graphql-federation-schema-first/users-application
2024-09-18 14:26:40 +02:00
Kamil Mysliwiec
74e81c0b3b Merge pull request #14000 from nestjs/dependabot/npm_and_yarn/sample/31-graphql-federation-code-first/users-application/multi-1f3c83078e
chore(deps): bump send, express and @nestjs/platform-express in /sample/31-graphql-federation-code-first/users-application
2024-09-18 14:26:33 +02:00
Kamil Mysliwiec
6d0ff386e3 Merge pull request #13998 from nestjs/dependabot/npm_and_yarn/sample/31-graphql-federation-code-first/users-application/multi-987c7c1031
chore(deps): bump serve-static, express and @nestjs/platform-express in /sample/31-graphql-federation-code-first/users-application
2024-09-18 14:26:17 +02:00
dependabot[bot]
1b40f2c90e chore(deps): bump send, express and @nestjs/platform-express
Bumps [send](https://github.com/pillarjs/send) to 0.19.0 and updates ancestor dependencies [send](https://github.com/pillarjs/send), [express](https://github.com/expressjs/express) and [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `send` from 0.18.0 to 0.19.0
- [Release notes](https://github.com/pillarjs/send/releases)
- [Changelog](https://github.com/pillarjs/send/blob/master/HISTORY.md)
- [Commits](https://github.com/pillarjs/send/compare/0.18.0...0.19.0)

Updates `express` from 4.19.2 to 4.21.0
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.3
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.3/packages/platform-express)

---
updated-dependencies:
- dependency-name: send
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 09:18:51 +00:00
dependabot[bot]
c27b43a992 chore(deps): bump body-parser, express and @nestjs/platform-express
Bumps [body-parser](https://github.com/expressjs/body-parser) to 1.20.3 and updates ancestor dependencies [body-parser](https://github.com/expressjs/body-parser), [express](https://github.com/expressjs/express) and [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `body-parser` from 1.20.2 to 1.20.3
- [Release notes](https://github.com/expressjs/body-parser/releases)
- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/body-parser/compare/1.20.2...1.20.3)

Updates `express` from 4.19.2 to 4.21.0
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.3
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.3/packages/platform-express)

---
updated-dependencies:
- dependency-name: body-parser
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 09:17:56 +00:00
dependabot[bot]
9690825f97 chore(deps): bump serve-static, express and @nestjs/platform-express
Bumps [serve-static](https://github.com/expressjs/serve-static) to 1.16.2 and updates ancestor dependencies [serve-static](https://github.com/expressjs/serve-static), [express](https://github.com/expressjs/express) and [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `serve-static` from 1.15.0 to 1.16.2
- [Release notes](https://github.com/expressjs/serve-static/releases)
- [Changelog](https://github.com/expressjs/serve-static/blob/v1.16.2/HISTORY.md)
- [Commits](https://github.com/expressjs/serve-static/compare/v1.15.0...v1.16.2)

Updates `express` from 4.19.2 to 4.21.0
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.3
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.3/packages/platform-express)

---
updated-dependencies:
- dependency-name: serve-static
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 09:17:27 +00:00
Kamil Mysliwiec
e7282af96d Merge pull request #13986 from nestjs/dependabot/npm_and_yarn/sample/32-graphql-federation-schema-first/posts-application/multi-b2795b2894
chore(deps): bump send, express and @nestjs/platform-express in /sample/32-graphql-federation-schema-first/posts-application
2024-09-18 11:16:43 +02:00
Kamil Mysliwiec
f23184d0cd Merge pull request #13987 from nestjs/dependabot/npm_and_yarn/sample/32-graphql-federation-schema-first/posts-application/multi-243e45365f
chore(deps): bump express and @nestjs/platform-express in /sample/32-graphql-federation-schema-first/posts-application
2024-09-18 11:16:22 +02:00
Kamil Mysliwiec
f9c2a11a39 Merge pull request #13988 from nestjs/dependabot/npm_and_yarn/sample/32-graphql-federation-schema-first/gateway/multi-e959e9dd69
chore(deps): bump serve-static, express and @nestjs/platform-express in /sample/32-graphql-federation-schema-first/gateway
2024-09-18 11:16:14 +02:00
Kamil Mysliwiec
9d9b03366f Merge pull request #13992 from nestjs/dependabot/npm_and_yarn/concurrently-9.0.1
chore(deps-dev): bump concurrently from 8.2.2 to 9.0.1
2024-09-18 09:44:53 +02:00
Kamil Mysliwiec
51ba90249d Merge pull request #13995 from nestjs/dependabot/npm_and_yarn/nodemon-3.1.5
chore(deps-dev): bump nodemon from 3.1.4 to 3.1.5
2024-09-18 09:43:29 +02:00
Kamil Mysliwiec
545061c0b2 Merge pull request #13996 from nestjs/dependabot/npm_and_yarn/sinon-19.0.2
chore(deps-dev): bump sinon from 18.0.0 to 19.0.2
2024-09-18 09:43:13 +02:00
Kamil Mysliwiec
336815dfea Merge pull request #13997 from nestjs/dependabot/npm_and_yarn/types/mocha-10.0.8
chore(deps-dev): bump @types/mocha from 10.0.7 to 10.0.8
2024-09-18 09:43:09 +02:00
Kamil Mysliwiec
6581bcf6c2 Merge pull request #13989 from TaxBusby/fix-circleci
chore: Fix CircleCI Badge URLs in README
2024-09-18 09:42:54 +02:00
dependabot[bot]
3149bbca59 chore(deps-dev): bump @types/mocha from 10.0.7 to 10.0.8
Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) from 10.0.7 to 10.0.8.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

---
updated-dependencies:
- dependency-name: "@types/mocha"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 01:00:54 +00:00
dependabot[bot]
a77a55291d chore(deps-dev): bump sinon from 18.0.0 to 19.0.2
Bumps [sinon](https://github.com/sinonjs/sinon) from 18.0.0 to 19.0.2.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/main/docs/changelog.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v18.0.0...v19.0.2)

---
updated-dependencies:
- dependency-name: sinon
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 01:00:04 +00:00
dependabot[bot]
d68a7c1e55 chore(deps-dev): bump nodemon from 3.1.4 to 3.1.5
Bumps [nodemon](https://github.com/remy/nodemon) from 3.1.4 to 3.1.5.
- [Release notes](https://github.com/remy/nodemon/releases)
- [Commits](https://github.com/remy/nodemon/compare/v3.1.4...v3.1.5)

---
updated-dependencies:
- dependency-name: nodemon
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 00:59:33 +00:00
dependabot[bot]
b5e34f4cfc chore(deps-dev): bump concurrently from 8.2.2 to 9.0.1
Bumps [concurrently](https://github.com/open-cli-tools/concurrently) from 8.2.2 to 9.0.1.
- [Release notes](https://github.com/open-cli-tools/concurrently/releases)
- [Commits](https://github.com/open-cli-tools/concurrently/compare/v8.2.2...v9.0.1)

---
updated-dependencies:
- dependency-name: concurrently
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-18 00:57:49 +00:00
Michael Busby
3c162055e0 chore: Fix CircleCI Badge URLS in README 2024-09-17 06:12:24 -07:00
Kamil Myśliwiec
2fb629ec33 chore(@nestjs) publish v10.4.3 release 2024-09-17 12:07:19 +02:00
Kamil Myśliwiec
3014240ff5 Merge branch 'master' of https://github.com/nestjs/nest 2024-09-17 12:06:20 +02:00
Kamil Myśliwiec
d3dd896181 chore: update readme 2024-09-17 12:06:08 +02:00
dependabot[bot]
53c15f8ecd chore(deps): bump serve-static, express and @nestjs/platform-express
Bumps [serve-static](https://github.com/expressjs/serve-static) to 1.16.2 and updates ancestor dependencies [serve-static](https://github.com/expressjs/serve-static), [express](https://github.com/expressjs/express) and [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `serve-static` from 1.15.0 to 1.16.2
- [Release notes](https://github.com/expressjs/serve-static/releases)
- [Changelog](https://github.com/expressjs/serve-static/blob/v1.16.2/HISTORY.md)
- [Commits](https://github.com/expressjs/serve-static/compare/v1.15.0...v1.16.2)

Updates `express` from 4.19.2 to 4.21.0
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.2
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.2/packages/platform-express)

---
updated-dependencies:
- dependency-name: serve-static
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-17 10:04:15 +00:00
dependabot[bot]
8a55668746 chore(deps): bump express and @nestjs/platform-express
Bumps [express](https://github.com/expressjs/express) to 4.21.0 and updates ancestor dependency [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `express` from 4.19.2 to 4.21.0
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.2
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.2/packages/platform-express)

---
updated-dependencies:
- dependency-name: express
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-17 10:04:09 +00:00
dependabot[bot]
02a6e98108 chore(deps): bump send, express and @nestjs/platform-express
Bumps [send](https://github.com/pillarjs/send) to 0.19.0 and updates ancestor dependencies [send](https://github.com/pillarjs/send), [express](https://github.com/expressjs/express) and [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `send` from 0.18.0 to 0.19.0
- [Release notes](https://github.com/pillarjs/send/releases)
- [Changelog](https://github.com/pillarjs/send/blob/master/HISTORY.md)
- [Commits](https://github.com/pillarjs/send/compare/0.18.0...0.19.0)

Updates `express` from 4.19.2 to 4.21.0
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0)

Updates `@nestjs/platform-express` from 10.3.8 to 10.4.2
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.4.2/packages/platform-express)

---
updated-dependencies:
- dependency-name: send
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-17 10:04:08 +00:00
Kamil Mysliwiec
f0f156821b Merge pull request #13974 from micalevisk/patch-1
chore(fastify): upgrade `@fastify/middie` to address security vulnerability
2024-09-17 12:02:24 +02:00
Kamil Mysliwiec
1c8e510335 Merge pull request #13952 from micalevisk/style/fix-formatting
style(core): fix formatting
2024-09-17 12:02:16 +02:00
dependabot[bot]
834a49ddf1 chore(deps): bump micromatch
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.4 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.4...4.0.8)

---
updated-dependencies:
- dependency-name: micromatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-17 08:34:36 +00:00
Kamil Mysliwiec
bf629e60cd Merge pull request #13984 from nestjs/revert-13982-dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-8.6.0
Revert "chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.18.0 to 8.6.0"
2024-09-17 09:35:21 +02:00
Kamil Mysliwiec
2009e9b6af Revert "chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.18.0 to 8.6.0" 2024-09-17 09:35:13 +02:00
Kamil Mysliwiec
00ae6c523a Merge pull request #13976 from nestjs/dependabot/npm_and_yarn/typescript-5.6.2
chore(deps-dev): bump typescript from 5.5.4 to 5.6.2
2024-09-17 09:19:55 +02:00
Kamil Mysliwiec
b287aff5ba Merge pull request #13977 from nestjs/dependabot/npm_and_yarn/express-4.21.0
chore(deps): bump express from 4.19.2 to 4.21.0
2024-09-17 09:19:49 +02:00
Kamil Mysliwiec
ac99d20955 Merge pull request #13978 from nestjs/dependabot/npm_and_yarn/eslint-8.57.1
chore(deps-dev): bump eslint from 8.57.0 to 8.57.1
2024-09-17 09:19:42 +02:00
dependabot[bot]
508da6ee29 chore(deps-dev): bump eslint from 8.57.0 to 8.57.1
Bumps [eslint](https://github.com/eslint/eslint) from 8.57.0 to 8.57.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.57.0...v8.57.1)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-17 07:16:31 +00:00
dependabot[bot]
91c6f3dc03 chore(deps-dev): bump typescript from 5.5.4 to 5.6.2
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.5.4 to 5.6.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.5.4...v5.6.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-17 07:16:15 +00:00
dependabot[bot]
fa9c0178cd chore(deps): bump express from 4.19.2 to 4.21.0
Bumps [express](https://github.com/expressjs/express) from 4.19.2 to 4.21.0.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-17 07:15:35 +00:00
Kamil Mysliwiec
e9235c02f9 Merge pull request #13979 from nestjs/dependabot/npm_and_yarn/mysql2-3.11.3
chore(deps-dev): bump mysql2 from 3.11.0 to 3.11.3
2024-09-17 09:14:34 +02:00
Kamil Mysliwiec
8aecc3705e Merge pull request #13980 from nestjs/dependabot/npm_and_yarn/body-parser-1.20.3
chore(deps): bump body-parser from 1.20.2 to 1.20.3
2024-09-17 09:14:27 +02:00
Kamil Mysliwiec
5ec4606bf8 Merge pull request #13981 from nestjs/dependabot/npm_and_yarn/commitlint/config-angular-19.5.0
chore(deps-dev): bump @commitlint/config-angular from 19.4.1 to 19.5.0
2024-09-17 09:14:15 +02:00
Kamil Mysliwiec
3aa2b18f44 Merge pull request #13982 from nestjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-8.6.0
chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.18.0 to 8.6.0
2024-09-17 09:14:07 +02:00
dependabot[bot]
1010513535 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 7.18.0 to 8.6.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.6.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-17 00:33:02 +00:00
dependabot[bot]
923246a362 chore(deps-dev): bump @commitlint/config-angular from 19.4.1 to 19.5.0
Bumps [@commitlint/config-angular](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-angular) from 19.4.1 to 19.5.0.
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-angular/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v19.5.0/@commitlint/config-angular)

---
updated-dependencies:
- dependency-name: "@commitlint/config-angular"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-17 00:29:24 +00:00
dependabot[bot]
94069796f7 chore(deps): bump body-parser from 1.20.2 to 1.20.3
Bumps [body-parser](https://github.com/expressjs/body-parser) from 1.20.2 to 1.20.3.
- [Release notes](https://github.com/expressjs/body-parser/releases)
- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/body-parser/compare/1.20.2...1.20.3)

---
updated-dependencies:
- dependency-name: body-parser
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-17 00:28:57 +00:00
dependabot[bot]
82c262e938 chore(deps-dev): bump mysql2 from 3.11.0 to 3.11.3
Bumps [mysql2](https://github.com/sidorares/node-mysql2) from 3.11.0 to 3.11.3.
- [Release notes](https://github.com/sidorares/node-mysql2/releases)
- [Changelog](https://github.com/sidorares/node-mysql2/blob/master/Changelog.md)
- [Commits](https://github.com/sidorares/node-mysql2/compare/v3.11.0...v3.11.3)

---
updated-dependencies:
- dependency-name: mysql2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-17 00:28:17 +00:00
Micael Levi L. Cavalcante
05b77911cd chore(fastify): upgrade @fastify/middie to address security vulnerability
See https://github.com/fastify/middie/pull/215/
2024-09-16 08:42:55 -04:00
Kamil Mysliwiec
93caaacc7d Merge pull request #13958 from k725/chore/fix-readme-typo
docs(): fix CircleCI badge url typo
2024-09-16 12:19:19 +02:00
Kamil Myśliwiec
696b4410a3 chore(@nestjs) publish v10.4.2 release 2024-09-16 12:15:52 +02:00
Kamil Mysliwiec
cfc2217a48 Merge pull request #13911 from nestjs/dependabot/npm_and_yarn/tslib-2.7.0
chore(deps): bump tslib from 2.6.3 to 2.7.0
2024-09-16 11:48:26 +02:00
Kamil Mysliwiec
102577adb3 Merge pull request #13938 from nestjs/dependabot/npm_and_yarn/light-my-request-6.0.0
chore(deps): bump light-my-request from 5.13.0 to 6.0.0
2024-09-16 11:48:15 +02:00
dependabot[bot]
fff4b96de8 chore(deps): bump tslib from 2.6.3 to 2.7.0
Bumps [tslib](https://github.com/Microsoft/tslib) from 2.6.3 to 2.7.0.
- [Release notes](https://github.com/Microsoft/tslib/releases)
- [Commits](https://github.com/Microsoft/tslib/compare/v2.6.3...v2.7.0)

---
updated-dependencies:
- dependency-name: tslib
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 08:19:08 +00:00
dependabot[bot]
f593343a45 chore(deps): bump light-my-request from 5.13.0 to 6.0.0
Bumps [light-my-request](https://github.com/fastify/light-my-request) from 5.13.0 to 6.0.0.
- [Release notes](https://github.com/fastify/light-my-request/releases)
- [Commits](https://github.com/fastify/light-my-request/compare/v5.13.0...v6.0.0)

---
updated-dependencies:
- dependency-name: light-my-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 08:17:56 +00:00
Kamil Mysliwiec
71c1a73120 Merge pull request #13936 from nestjs/dependabot/npm_and_yarn/lint-staged-15.2.10
chore(deps-dev): bump lint-staged from 15.2.9 to 15.2.10
2024-09-16 10:17:08 +02:00
Kamil Mysliwiec
6aa0f7d041 Merge pull request #13946 from nestjs/dependabot/npm_and_yarn/sample/02-gateways/multi-24bbd5359e
chore(deps): bump webpack and @nestjs/cli in /sample/02-gateways
2024-09-16 10:16:58 +02:00
dependabot[bot]
291cf96d41 chore(deps-dev): bump lint-staged from 15.2.9 to 15.2.10
Bumps [lint-staged](https://github.com/lint-staged/lint-staged) from 15.2.9 to 15.2.10.
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/master/CHANGELOG.md)
- [Commits](https://github.com/lint-staged/lint-staged/compare/v15.2.9...v15.2.10)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 08:16:45 +00:00
Kamil Mysliwiec
484a956e89 Merge pull request #13947 from nestjs/dependabot/npm_and_yarn/webpack-5.94.0
chore(deps-dev): bump webpack from 5.91.0 to 5.94.0
2024-09-16 10:16:43 +02:00
Kamil Mysliwiec
54f0126440 Merge pull request #13971 from micalevisk/chore/upgrade-deps-security-issues
chore(core,express,fastify): fix hard dependencies with security issues
2024-09-16 10:16:31 +02:00
Kamil Mysliwiec
fad1b1f57b Merge pull request #13966 from nestjs/dependabot/npm_and_yarn/sample/32-graphql-federation-schema-first/gateway/dset-3.1.4
chore(deps): bump dset from 3.1.2 to 3.1.4 in /sample/32-graphql-federation-schema-first/gateway
2024-09-16 10:15:58 +02:00
Kamil Mysliwiec
b0d0ab8ac3 Merge pull request #13967 from nestjs/dependabot/npm_and_yarn/dset-3.1.4
chore(deps): bump dset from 3.1.3 to 3.1.4
2024-09-16 10:15:51 +02:00
Kamil Mysliwiec
daaba39520 Merge pull request #13968 from nestjs/dependabot/npm_and_yarn/commitlint/cli-19.5.0
chore(deps-dev): bump @commitlint/cli from 19.4.0 to 19.5.0
2024-09-16 10:15:43 +02:00
Kamil Mysliwiec
679812a1c7 Merge pull request #13969 from nestjs/dependabot/npm_and_yarn/mongoose-8.6.2
chore(deps-dev): bump mongoose from 8.6.0 to 8.6.2
2024-09-16 10:15:39 +02:00
Kamil Mysliwiec
918c0c1a43 Merge pull request #13973 from nestjs/dependabot/npm_and_yarn/types/node-22.5.5
chore(deps-dev): bump @types/node from 22.5.1 to 22.5.5
2024-09-16 10:15:32 +02:00
dependabot[bot]
1b3af389ea chore(deps-dev): bump @types/node from 22.5.1 to 22.5.5
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.5.1 to 22.5.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 00:41:33 +00:00
Micael Levi L. Cavalcante
b8d9a7b573 chore: ignore package lock file from packages/* dir 2024-09-13 11:20:51 -04:00
Micael Levi L. Cavalcante
e0d2ba6c98 chore(core,express,fastify): fix deps with security issues
- `path-to-regexp`
- `body-parser`
- `express` v4
2024-09-13 11:15:35 -04:00
dependabot[bot]
874e33d2d1 chore(deps-dev): bump mongoose from 8.6.0 to 8.6.2
Bumps [mongoose](https://github.com/Automattic/mongoose) from 8.6.0 to 8.6.2.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Automattic/mongoose/compare/8.6.0...8.6.2)

---
updated-dependencies:
- dependency-name: mongoose
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-12 00:58:17 +00:00
dependabot[bot]
4746fd053d chore(deps-dev): bump @commitlint/cli from 19.4.0 to 19.5.0
Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 19.4.0 to 19.5.0.
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v19.5.0/@commitlint/cli)

---
updated-dependencies:
- dependency-name: "@commitlint/cli"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-12 00:53:38 +00:00
dependabot[bot]
a80f8a4ee7 chore(deps): bump dset from 3.1.3 to 3.1.4
Bumps [dset](https://github.com/lukeed/dset) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/lukeed/dset/releases)
- [Commits](https://github.com/lukeed/dset/compare/v3.1.3...v3.1.4)

---
updated-dependencies:
- dependency-name: dset
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-11 23:48:53 +00:00
dependabot[bot]
de966024dc chore(deps): bump dset
Bumps [dset](https://github.com/lukeed/dset) from 3.1.2 to 3.1.4.
- [Release notes](https://github.com/lukeed/dset/releases)
- [Commits](https://github.com/lukeed/dset/compare/v3.1.2...v3.1.4)

---
updated-dependencies:
- dependency-name: dset
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-11 23:18:55 +00:00
k725
a1231aac6b docs(): fix CircleCI badge url typo 2024-09-11 09:41:33 +09:00
Micael Levi L. Cavalcante
409e71898d style(core): fix formatting 2024-09-07 18:36:12 -04:00
dependabot[bot]
6864375fd5 chore(deps-dev): bump webpack from 5.91.0 to 5.94.0
Bumps [webpack](https://github.com/webpack/webpack) from 5.91.0 to 5.94.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.91.0...v5.94.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-05 11:19:00 +00:00
dependabot[bot]
6bc77cdd31 chore(deps): bump webpack and @nestjs/cli in /sample/02-gateways
Bumps [webpack](https://github.com/webpack/webpack) to 5.94.0 and updates ancestor dependency [@nestjs/cli](https://github.com/nestjs/nest-cli). These dependencies need to be updated together.


Updates `webpack` from 5.90.1 to 5.94.0
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.90.1...v5.94.0)

Updates `@nestjs/cli` from 10.3.2 to 10.4.5
- [Release notes](https://github.com/nestjs/nest-cli/releases)
- [Changelog](https://github.com/nestjs/nest-cli/blob/master/.release-it.json)
- [Commits](https://github.com/nestjs/nest-cli/compare/10.3.2...10.4.5)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: indirect
- dependency-name: "@nestjs/cli"
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-05 08:36:23 +00:00
Kamil Mysliwiec
78408352d5 Merge pull request #13922 from nestjs/dependabot/npm_and_yarn/sample/31-graphql-federation-code-first/users-application/apollo/gateway-2.9.0
chore(deps): bump @apollo/gateway from 2.2.3 to 2.9.0 in /sample/31-graphql-federation-code-first/users-application
2024-08-30 09:03:38 +02:00
Kamil Mysliwiec
5fd8e42083 Merge pull request #13921 from nestjs/dependabot/npm_and_yarn/sample/31-graphql-federation-code-first/posts-application/apollo/query-planner-2.9.0
chore(deps): bump @apollo/query-planner from 2.4.8 to 2.9.0 in /sample/31-graphql-federation-code-first/posts-application
2024-08-30 09:03:32 +02:00
Kamil Mysliwiec
742536834b Merge pull request #13926 from nestjs/dependabot/npm_and_yarn/mongoose-8.6.0
chore(deps-dev): bump mongoose from 8.5.3 to 8.6.0
2024-08-30 09:02:44 +02:00
Kamil Mysliwiec
656f7ee23c Merge pull request #13928 from nestjs/dependabot/npm_and_yarn/types/node-22.5.1
chore(deps-dev): bump @types/node from 22.5.0 to 22.5.1
2024-08-30 09:02:29 +02:00
Kamil Mysliwiec
412c180259 Merge pull request #13929 from nestjs/dependabot/npm_and_yarn/commitlint/config-angular-19.4.1
chore(deps-dev): bump @commitlint/config-angular from 19.3.0 to 19.4.1
2024-08-30 09:02:23 +02:00
dependabot[bot]
80baf9d16a chore(deps-dev): bump @commitlint/config-angular from 19.3.0 to 19.4.1
Bumps [@commitlint/config-angular](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-angular) from 19.3.0 to 19.4.1.
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-angular/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v19.4.1/@commitlint/config-angular)

---
updated-dependencies:
- dependency-name: "@commitlint/config-angular"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-29 00:50:37 +00:00
dependabot[bot]
a8ff9a820b chore(deps-dev): bump @types/node from 22.5.0 to 22.5.1
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.5.0 to 22.5.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-29 00:48:44 +00:00
dependabot[bot]
e4b2624c55 chore(deps-dev): bump mongoose from 8.5.3 to 8.6.0
Bumps [mongoose](https://github.com/Automattic/mongoose) from 8.5.3 to 8.6.0.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Automattic/mongoose/compare/8.5.3...8.6.0)

---
updated-dependencies:
- dependency-name: mongoose
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-29 00:47:19 +00:00
Kamil Mysliwiec
731e8069a4 Merge pull request #13919 from haouvw/master
chore: fix some comments
2024-08-28 12:30:07 +02:00
dependabot[bot]
f02791a672 chore(deps): bump @apollo/gateway
Bumps [@apollo/gateway](https://github.com/apollographql/federation/tree/HEAD/gateway-js) from 2.2.3 to 2.9.0.
- [Release notes](https://github.com/apollographql/federation/releases)
- [Changelog](https://github.com/apollographql/federation/blob/main/gateway-js/CHANGELOG.md)
- [Commits](https://github.com/apollographql/federation/commits/@apollo/gateway@2.9.0/gateway-js)

---
updated-dependencies:
- dependency-name: "@apollo/gateway"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-27 18:15:57 +00:00
dependabot[bot]
bc55d1442e chore(deps): bump @apollo/query-planner
Bumps [@apollo/query-planner](https://github.com/apollographql/federation/tree/HEAD/query-planner-js) from 2.4.8 to 2.9.0.
- [Release notes](https://github.com/apollographql/federation/releases)
- [Changelog](https://github.com/apollographql/federation/blob/main/query-planner-js/CHANGELOG.md)
- [Commits](https://github.com/apollographql/federation/commits/@apollo/query-planner@2.9.0/query-planner-js)

---
updated-dependencies:
- dependency-name: "@apollo/query-planner"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-27 18:15:45 +00:00
haouvw
8b4af57604 chore: fix some comments
Signed-off-by: haouvw <jchaodaohang@foxmail.com>
2024-08-27 19:08:27 +08:00
Kamil Mysliwiec
6e48bfdb9b Merge pull request #13916 from nestjs/revert-13893-dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-8.2.0
Revert "chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.18.0 to 8.2.0"
2024-08-27 09:00:57 +02:00
Kamil Mysliwiec
dda5940654 Revert "chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.18.0 to 8.2.0" 2024-08-27 09:00:49 +02:00
Kamil Mysliwiec
3d1d18ad79 Update Readme.md 2024-08-27 08:55:47 +02:00
Kamil Mysliwiec
e4b07eb06b Merge pull request #13893 from nestjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-8.2.0
chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.18.0 to 8.2.0
2024-08-22 08:43:41 +02:00
dependabot[bot]
a822e1567a 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 7.18.0 to 8.2.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.2.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-22 06:42:50 +00:00
Kamil Mysliwiec
d51d2c26a6 Merge pull request #13896 from nestjs/dependabot/npm_and_yarn/husky-9.1.5
chore(deps-dev): bump husky from 9.1.4 to 9.1.5
2024-08-22 08:41:51 +02:00
Kamil Mysliwiec
250b3209d6 Merge pull request #13897 from nestjs/dependabot/npm_and_yarn/core-js-3.38.1
chore(deps-dev): bump core-js from 3.38.0 to 3.38.1
2024-08-22 08:41:00 +02:00
Kamil Mysliwiec
1e729166f4 Merge pull request #13901 from nestjs/dependabot/npm_and_yarn/types/node-22.5.0
chore(deps-dev): bump @types/node from 22.3.0 to 22.5.0
2024-08-22 08:40:53 +02:00
Kamil Mysliwiec
6a85b75ea8 Merge pull request #13902 from nestjs/dependabot/npm_and_yarn/artillery-2.0.20
chore(deps-dev): bump artillery from 2.0.19 to 2.0.20
2024-08-22 08:40:46 +02:00
dependabot[bot]
13151085f0 chore(deps-dev): bump artillery from 2.0.19 to 2.0.20
Bumps [artillery](https://github.com/artilleryio/artillery) from 2.0.19 to 2.0.20.
- [Release notes](https://github.com/artilleryio/artillery/releases)
- [Commits](https://github.com/artilleryio/artillery/commits)

---
updated-dependencies:
- dependency-name: artillery
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-22 00:10:44 +00:00
dependabot[bot]
488792847a chore(deps-dev): bump @types/node from 22.3.0 to 22.5.0
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.3.0 to 22.5.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-22 00:08:22 +00:00
dependabot[bot]
eee1fcd042 chore(deps-dev): bump core-js from 3.38.0 to 3.38.1
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.38.0 to 3.38.1.
- [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/commits/v3.38.1/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-21 00:14:41 +00:00
dependabot[bot]
8bf32bb45d chore(deps-dev): bump husky from 9.1.4 to 9.1.5
Bumps [husky](https://github.com/typicode/husky) from 9.1.4 to 9.1.5.
- [Release notes](https://github.com/typicode/husky/releases)
- [Commits](https://github.com/typicode/husky/compare/v9.1.4...v9.1.5)

---
updated-dependencies:
- dependency-name: husky
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-21 00:14:08 +00:00
Kamil Mysliwiec
e1fe32c0e9 Merge pull request #13884 from nestjs/dependabot/npm_and_yarn/mongoose-8.5.3
chore(deps-dev): bump mongoose from 8.5.2 to 8.5.3
2024-08-15 11:07:19 +02:00
Kamil Mysliwiec
e8152d1bbf Merge pull request #13885 from nestjs/dependabot/npm_and_yarn/lint-staged-15.2.9
chore(deps-dev): bump lint-staged from 15.2.8 to 15.2.9
2024-08-15 11:07:14 +02:00
Kamil Mysliwiec
296db1249b Merge pull request #13890 from nestjs/dependabot/npm_and_yarn/types/node-22.3.0
chore(deps-dev): bump @types/node from 22.2.0 to 22.3.0
2024-08-15 11:07:09 +02:00
dependabot[bot]
5fa9148c54 chore(deps-dev): bump @types/node from 22.2.0 to 22.3.0
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.2.0 to 22.3.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-15 00:44:30 +00:00
Martin Vyšňovský
3e061e9b14 feat(06-mongoose): add update method 2024-08-14 13:07:18 +02:00
Martin Vyšňovský
d0b2835293 test(06-mongoose): add missing tests for service 2024-08-14 13:03:15 +02:00
Martin Vyšňovský
2da82286d2 test(06-mongoose): refactor tests for service 2024-08-14 13:01:09 +02:00
Martin Vyšňovský
3c6a295037 test(06-mongoose): add missing tests for controller 2024-08-14 12:51:28 +02:00
Martin Vyšňovský
3117b241c1 test(06-mongoose): refactor tests for controller 2024-08-14 12:51:28 +02:00
Martin Vyšňovský
f0527d08fc chore(deps): update @nestjs/mongoose in 06-mongoose sample 2024-08-14 12:24:23 +02:00
dependabot[bot]
b9562a8dc5 chore(deps-dev): bump lint-staged from 15.2.8 to 15.2.9
Bumps [lint-staged](https://github.com/lint-staged/lint-staged) from 15.2.8 to 15.2.9.
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/master/CHANGELOG.md)
- [Commits](https://github.com/lint-staged/lint-staged/compare/v15.2.8...v15.2.9)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-14 00:35:10 +00:00
dependabot[bot]
2d8e721791 chore(deps-dev): bump mongoose from 8.5.2 to 8.5.3
Bumps [mongoose](https://github.com/Automattic/mongoose) from 8.5.2 to 8.5.3.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Automattic/mongoose/compare/8.5.2...8.5.3)

---
updated-dependencies:
- dependency-name: mongoose
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-14 00:33:28 +00:00
Kamil Myśliwiec
67f32e8d5f chore(@nestjs) publish v10.4.1 release 2024-08-13 10:46:16 +02:00
Kamil Myśliwiec
6f624d12d5 chore: update readme 2024-08-13 10:42:32 +02:00
Kamil Mysliwiec
7468810734 Merge pull request #13883 from nestjs/fix/nats-client-promise-13880
fix(microservices): hold nats client connection promise ref
2024-08-13 10:42:21 +02:00
Kamil Myśliwiec
0c84c7e1cc test: update client unit tests, add cleanup 2024-08-13 10:23:27 +02:00
Kamil Mysliwiec
e1f1aa901e Merge pull request #13878 from nestjs/dependabot/npm_and_yarn/sample/12-graphql-schema-first/multi-dabac980bd
chore(deps): bump ws and @nestjs/graphql in /sample/12-graphql-schema-first
2024-08-13 10:07:28 +02:00
Kamil Myśliwiec
1b8e3287d0 fix(microservices): hold nats client connection promise ref #13880 2024-08-13 10:07:03 +02:00
Fernando Vargas
aaebb6f278 feat(fastify): setting opts object optional variation 2024-08-12 08:43:07 -03:00
Fernando Vargas
fec6e82d52 feat(fastify): updates interface adding opts to the listen method 2024-08-12 08:12:24 -03:00
Kamil Myśliwiec
5bcd024798 chore(@nestjs) publish v10.4.0 release 2024-08-12 10:55:09 +02:00
dependabot[bot]
2e7c493a4f chore(deps): bump ws and @nestjs/graphql
Bumps [ws](https://github.com/websockets/ws) to 8.17.1 and updates ancestor dependency [@nestjs/graphql](https://github.com/nestjs/graphql). These dependencies need to be updated together.


Updates `ws` from 7.5.7 to 8.17.1
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.7...8.17.1)

Updates `@nestjs/graphql` from 12.0.11 to 12.2.0
- [Release notes](https://github.com/nestjs/graphql/releases)
- [Commits](https://github.com/nestjs/graphql/compare/v12.0.11...v12.2.0)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
- dependency-name: "@nestjs/graphql"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 08:41:31 +00:00
Kamil Mysliwiec
7041fd03e4 Merge pull request #13877 from nestjs/dependabot/npm_and_yarn/sample/22-graphql-prisma/ws-8.17.1
chore(deps): bump ws from 7.5.8 to 8.17.1 in /sample/22-graphql-prisma
2024-08-12 10:40:27 +02:00
Kamil Mysliwiec
952bd3bf4e Merge pull request #13639 from Imran-Sarkar-Sabbir/master
feat(common): Added uuid v7 validation regex to ParseUUIDPipe
2024-08-12 10:39:01 +02:00
Kamil Mysliwiec
e5e65c26f9 Merge pull request #13762 from sheepster1/fix-promise-conversion-in-interceptor-consumer
fix(core): unhandled promise rejection in interceptors consumer
2024-08-12 10:38:37 +02:00
Kamil Mysliwiec
e5c439dd94 Merge pull request #13378 from CodyTseng/optimize-ws-adapter-handler-find
perf(ws): optimize message handler lookup
2024-08-12 10:38:20 +02:00
Kamil Mysliwiec
ccfa23ee69 Merge pull request #13731 from JadenKim-dev/grpc-package-name
feat(microservices): grpc package name can be specified with service name
2024-08-12 10:38:10 +02:00
dependabot[bot]
b18fd39013 chore(deps): bump ws from 7.5.8 to 8.17.1 in /sample/22-graphql-prisma
Bumps [ws](https://github.com/websockets/ws) from 7.5.8 to 8.17.1.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.8...8.17.1)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 08:35:38 +00:00
Kamil Mysliwiec
6e7216a7bc Merge pull request #13876 from nestjs/dependabot/npm_and_yarn/sample/22-graphql-prisma/multi-dabac980bd
chore(deps): bump ws and @nestjs/graphql in /sample/22-graphql-prisma
2024-08-12 10:34:52 +02:00
Kamil Mysliwiec
9ce4f892b8 Merge pull request #13867 from nestjs/dependabot/npm_and_yarn/commitlint/cli-19.4.0
chore(deps-dev): bump @commitlint/cli from 19.3.0 to 19.4.0
2024-08-12 10:34:14 +02:00
Kamil Mysliwiec
00483139cc Merge pull request #13807 from johaven/fix-search-method
fix(platform-fastify): search method not declared
2024-08-12 10:15:44 +02:00
Kamil Mysliwiec
dc9df54d29 Merge pull request #13869 from stefanvanderwolf/feature/add-http-type-support-fastify
feat(fastify): add type for http options
2024-08-12 10:15:17 +02:00
dependabot[bot]
9b077ad99f chore(deps): bump ws and @nestjs/graphql in /sample/22-graphql-prisma
Bumps [ws](https://github.com/websockets/ws) to 8.17.1 and updates ancestor dependency [@nestjs/graphql](https://github.com/nestjs/graphql). These dependencies need to be updated together.


Updates `ws` from 7.5.8 to 8.17.1
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.8...8.17.1)

Updates `@nestjs/graphql` from 12.0.11 to 12.2.0
- [Release notes](https://github.com/nestjs/graphql/releases)
- [Commits](https://github.com/nestjs/graphql/compare/v12.0.11...v12.2.0)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
- dependency-name: "@nestjs/graphql"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 07:15:44 +00:00
dependabot[bot]
7fcf35b00d chore(deps-dev): bump @commitlint/cli from 19.3.0 to 19.4.0
Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 19.3.0 to 19.4.0.
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v19.4.0/@commitlint/cli)

---
updated-dependencies:
- dependency-name: "@commitlint/cli"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 07:15:44 +00:00
Kamil Mysliwiec
f5f390ae52 Merge pull request #13862 from nestjs/dependabot/npm_and_yarn/sample/23-graphql-code-first/multi-dabac980bd
chore(deps): bump ws and @nestjs/graphql in /sample/23-graphql-code-first
2024-08-12 09:14:41 +02:00
Kamil Mysliwiec
7b360d9c66 Merge pull request #13864 from nestjs/dependabot/npm_and_yarn/cache-manager-5.7.6
chore(deps-dev): bump cache-manager from 5.7.5 to 5.7.6
2024-08-12 09:14:37 +02:00
Kamil Mysliwiec
9f77a75bb4 Merge pull request #13865 from nestjs/dependabot/npm_and_yarn/artillery-2.0.19
chore(deps-dev): bump artillery from 2.0.18 to 2.0.19
2024-08-12 09:14:31 +02:00
Kamil Mysliwiec
7ec89365a8 Merge pull request #13871 from nestjs/dependabot/npm_and_yarn/apollo/server-4.11.0
chore(deps-dev): bump @apollo/server from 4.10.5 to 4.11.0
2024-08-12 09:14:27 +02:00
Kamil Mysliwiec
cf42f23f10 Merge pull request #13873 from nestjs/dependabot/npm_and_yarn/mocha-10.7.3
chore(deps-dev): bump mocha from 10.7.0 to 10.7.3
2024-08-12 09:14:21 +02:00
Kamil Mysliwiec
e43b903b73 Merge pull request #13874 from nestjs/dependabot/npm_and_yarn/types/node-22.2.0
chore(deps-dev): bump @types/node from 22.1.0 to 22.2.0
2024-08-12 09:14:14 +02:00
dependabot[bot]
a602ab5ec5 chore(deps-dev): bump @types/node from 22.1.0 to 22.2.0
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.1.0 to 22.2.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 00:15:08 +00:00
dependabot[bot]
ae88fbd37b chore(deps-dev): bump mocha from 10.7.0 to 10.7.3
Bumps [mocha](https://github.com/mochajs/mocha) from 10.7.0 to 10.7.3.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v10.7.0...v10.7.3)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 00:14:08 +00:00
dependabot[bot]
7dbee9d0ac chore(deps-dev): bump @apollo/server from 4.10.5 to 4.11.0
Bumps [@apollo/server](https://github.com/apollographql/apollo-server/tree/HEAD/packages/server) from 4.10.5 to 4.11.0.
- [Release notes](https://github.com/apollographql/apollo-server/releases)
- [Changelog](https://github.com/apollographql/apollo-server/blob/main/packages/server/CHANGELOG.md)
- [Commits](https://github.com/apollographql/apollo-server/commits/@apollo/server@4.11.0/packages/server)

---
updated-dependencies:
- dependency-name: "@apollo/server"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-09 00:19:56 +00:00
Kamil Mysliwiec
38c05481e4 Update Readme.md 2024-08-08 11:12:30 +02:00
Kamil Mysliwiec
9e9095cfe9 Update Readme.md 2024-08-08 09:57:00 +02:00
Stefan van der Wolf
d0115e6cea feat(fastify): add type for http options
Fastify has support for http options through the fastify function call
which was not officially included in the nest adapter. Currently passing
an object with a http field works, but gives the developer no type
hinting about the `http` field.
2024-08-08 09:14:49 +02:00
dependabot[bot]
1e2343afed chore(deps-dev): bump artillery from 2.0.18 to 2.0.19
Bumps [artillery](https://github.com/artilleryio/artillery) from 2.0.18 to 2.0.19.
- [Release notes](https://github.com/artilleryio/artillery/releases)
- [Commits](https://github.com/artilleryio/artillery/compare/artillery-2.0.18...artillery-2.0.19)

---
updated-dependencies:
- dependency-name: artillery
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-07 00:35:05 +00:00
dependabot[bot]
07a6a3f105 chore(deps-dev): bump cache-manager from 5.7.5 to 5.7.6
Bumps [cache-manager](https://github.com/jaredwray/cacheable) from 5.7.5 to 5.7.6.
- [Release notes](https://github.com/jaredwray/cacheable/releases)
- [Commits](https://github.com/jaredwray/cacheable/commits)

---
updated-dependencies:
- dependency-name: cache-manager
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-07 00:33:18 +00:00
dependabot[bot]
a95ae2edb8 chore(deps): bump ws and @nestjs/graphql
Bumps [ws](https://github.com/websockets/ws) to 8.17.1 and updates ancestor dependency [@nestjs/graphql](https://github.com/nestjs/graphql). These dependencies need to be updated together.


Updates `ws` from 7.5.7 to 8.17.1
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.7...8.17.1)

Updates `@nestjs/graphql` from 12.0.11 to 12.2.0
- [Release notes](https://github.com/nestjs/graphql/releases)
- [Commits](https://github.com/nestjs/graphql/compare/v12.0.11...v12.2.0)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
- dependency-name: "@nestjs/graphql"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-06 18:47:38 +00:00
Kamil Mysliwiec
af16406ed2 Merge pull request #13860 from nestjs/dependabot/npm_and_yarn/sample/31-graphql-federation-code-first/gateway/multi-dabac980bd
chore(deps): bump ws and @nestjs/graphql in /sample/31-graphql-federation-code-first/gateway
2024-08-06 20:46:27 +02:00
dependabot[bot]
39ec0e8835 chore(deps): bump ws and @nestjs/graphql
Bumps [ws](https://github.com/websockets/ws) to 8.17.1 and updates ancestor dependency [@nestjs/graphql](https://github.com/nestjs/graphql). These dependencies need to be updated together.


Updates `ws` from 7.5.9 to 8.17.1
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.9...8.17.1)

Updates `@nestjs/graphql` from 12.0.11 to 12.2.0
- [Release notes](https://github.com/nestjs/graphql/releases)
- [Commits](https://github.com/nestjs/graphql/compare/v12.0.11...v12.2.0)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
- dependency-name: "@nestjs/graphql"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-06 06:53:12 +00:00
Kamil Mysliwiec
62cd4e1d9c Merge pull request #13846 from nestjs/dependabot/npm_and_yarn/sample/32-graphql-federation-schema-first/users-application/ws-7.5.10
chore(deps): bump ws from 7.5.8 to 7.5.10 in /sample/32-graphql-federation-schema-first/users-application
2024-08-06 08:52:17 +02:00
Kamil Mysliwiec
418ffd92b8 Merge pull request #13853 from nestjs/dependabot/npm_and_yarn/lint-staged-15.2.8
chore(deps-dev): bump lint-staged from 15.2.7 to 15.2.8
2024-08-06 08:52:05 +02:00
Kamil Mysliwiec
c39d9032cd Merge pull request #13854 from nestjs/dependabot/npm_and_yarn/types/node-22.1.0
chore(deps-dev): bump @types/node from 22.0.2 to 22.1.0
2024-08-06 08:52:00 +02:00
Kamil Mysliwiec
859067d1fc Merge pull request #13855 from nestjs/dependabot/npm_and_yarn/core-js-3.38.0
chore(deps-dev): bump core-js from 3.37.1 to 3.38.0
2024-08-06 08:51:54 +02:00
Kamil Mysliwiec
6c369c6bff Merge pull request #13859 from nestjs/dependabot/npm_and_yarn/cache-manager-5.7.5
chore(deps-dev): bump cache-manager from 5.7.4 to 5.7.5
2024-08-06 08:51:48 +02:00
dependabot[bot]
b7065bc081 chore(deps-dev): bump cache-manager from 5.7.4 to 5.7.5
Bumps [cache-manager](https://github.com/jaredwray/cacheable) from 5.7.4 to 5.7.5.
- [Release notes](https://github.com/jaredwray/cacheable/releases)
- [Commits](https://github.com/jaredwray/cacheable/commits)

---
updated-dependencies:
- dependency-name: cache-manager
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-06 00:40:28 +00:00
dependabot[bot]
b2da62ad23 chore(deps-dev): bump core-js from 3.37.1 to 3.38.0
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.37.1 to 3.38.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/commits/v3.38.0/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 00:34:21 +00:00
dependabot[bot]
42e20bffa5 chore(deps-dev): bump @types/node from 22.0.2 to 22.1.0
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.0.2 to 22.1.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 00:33:53 +00:00
dependabot[bot]
ce8eee1a60 chore(deps-dev): bump lint-staged from 15.2.7 to 15.2.8
Bumps [lint-staged](https://github.com/lint-staged/lint-staged) from 15.2.7 to 15.2.8.
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/master/CHANGELOG.md)
- [Commits](https://github.com/lint-staged/lint-staged/compare/v15.2.7...v15.2.8)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 00:33:08 +00:00
Kamil Mysliwiec
233a89ab3d Merge pull request #13848 from nestjs/dependabot/npm_and_yarn/types/node-22.0.2
chore(deps-dev): bump @types/node from 22.0.0 to 22.0.2
2024-08-01 08:59:21 +02:00
dependabot[bot]
110c186a51 chore(deps-dev): bump @types/node from 22.0.0 to 22.0.2
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.0.0 to 22.0.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-01 00:12:38 +00:00
dependabot[bot]
6737a0268f chore(deps): bump ws
Bumps [ws](https://github.com/websockets/ws) from 7.5.8 to 7.5.10.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.8...7.5.10)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-31 13:06:20 +00:00
Kamil Mysliwiec
cb11e2e2d9 Merge pull request #13837 from nestjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-7.18.0
chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.17.0 to 7.18.0
2024-07-31 15:05:31 +02:00
dependabot[bot]
552e3a4583 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 7.17.0 to 7.18.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.18.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-31 06:29:21 +00:00
Kamil Mysliwiec
0e5efa575b Merge pull request #13836 from nestjs/dependabot/npm_and_yarn/types/ws-8.5.12
chore(deps-dev): bump @types/ws from 8.5.11 to 8.5.12
2024-07-31 08:28:33 +02:00
Kamil Mysliwiec
88edd7cc30 Merge pull request #13838 from nestjs/dependabot/npm_and_yarn/typescript-eslint/parser-7.18.0
chore(deps-dev): bump @typescript-eslint/parser from 7.17.0 to 7.18.0
2024-07-31 08:28:27 +02:00
Kamil Mysliwiec
d463920b34 Merge pull request #13839 from nestjs/dependabot/npm_and_yarn/redis-4.7.0
chore(deps-dev): bump redis from 4.6.15 to 4.7.0
2024-07-31 08:28:23 +02:00
Kamil Mysliwiec
ca47f1848a Merge pull request #13840 from nestjs/dependabot/npm_and_yarn/husky-9.1.4
chore(deps-dev): bump husky from 9.1.3 to 9.1.4
2024-07-31 08:28:17 +02:00
Kamil Mysliwiec
3d26f3d74b Merge pull request #13843 from nestjs/dependabot/npm_and_yarn/mongoose-8.5.2
chore(deps-dev): bump mongoose from 8.5.1 to 8.5.2
2024-07-31 08:28:09 +02:00
Kamil Mysliwiec
4633476252 Merge pull request #13844 from nestjs/dependabot/npm_and_yarn/nats-2.28.2
chore(deps-dev): bump nats from 2.28.1 to 2.28.2
2024-07-31 08:28:02 +02:00
dependabot[bot]
e1023600e4 chore(deps-dev): bump nats from 2.28.1 to 2.28.2
Bumps [nats](https://github.com/nats-io/nats.js) from 2.28.1 to 2.28.2.
- [Release notes](https://github.com/nats-io/nats.js/releases)
- [Commits](https://github.com/nats-io/nats.js/compare/v2.28.1...v2.28.2)

---
updated-dependencies:
- dependency-name: nats
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-31 00:55:29 +00:00
dependabot[bot]
2195dcec38 chore(deps-dev): bump mongoose from 8.5.1 to 8.5.2
Bumps [mongoose](https://github.com/Automattic/mongoose) from 8.5.1 to 8.5.2.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Automattic/mongoose/compare/8.5.1...8.5.2)

---
updated-dependencies:
- dependency-name: mongoose
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-31 00:54:20 +00:00
dependabot[bot]
8234c7d034 chore(deps-dev): bump husky from 9.1.3 to 9.1.4
Bumps [husky](https://github.com/typicode/husky) from 9.1.3 to 9.1.4.
- [Release notes](https://github.com/typicode/husky/releases)
- [Commits](https://github.com/typicode/husky/compare/v9.1.3...v9.1.4)

---
updated-dependencies:
- dependency-name: husky
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-30 00:07:49 +00:00
dependabot[bot]
7c65ba96a9 chore(deps-dev): bump redis from 4.6.15 to 4.7.0
Bumps [redis](https://github.com/redis/node-redis) from 4.6.15 to 4.7.0.
- [Release notes](https://github.com/redis/node-redis/releases)
- [Changelog](https://github.com/redis/node-redis/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redis/node-redis/compare/redis@4.6.15...redis@4.7.0)

---
updated-dependencies:
- dependency-name: redis
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-30 00:06:44 +00:00
dependabot[bot]
74db21cd76 chore(deps-dev): bump @typescript-eslint/parser from 7.17.0 to 7.18.0
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 7.17.0 to 7.18.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.18.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-30 00:06:19 +00:00
dependabot[bot]
22d7a7b6af chore(deps-dev): bump @types/ws from 8.5.11 to 8.5.12
Bumps [@types/ws](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/ws) from 8.5.11 to 8.5.12.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/ws)

---
updated-dependencies:
- dependency-name: "@types/ws"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-30 00:05:02 +00:00
Kamil Mysliwiec
705d2e00c4 Merge pull request #13831 from nestjs/dependabot/npm_and_yarn/types/node-22.0.0
chore(deps-dev): bump @types/node from 20.14.12 to 22.0.0
2024-07-29 13:28:37 +02:00
Kamil Mysliwiec
0eb51c9d7a Merge pull request #13833 from nestjs/dependabot/npm_and_yarn/mysql2-3.11.0
chore(deps-dev): bump mysql2 from 3.10.3 to 3.11.0
2024-07-29 13:28:30 +02:00
Kamil Mysliwiec
39ca180c0e Merge pull request #13834 from nestjs/dependabot/npm_and_yarn/cache-manager-5.7.4
chore(deps-dev): bump cache-manager from 5.7.3 to 5.7.4
2024-07-29 13:28:26 +02:00
Kamil Mysliwiec
424532e50f Merge pull request #13835 from nestjs/dependabot/npm_and_yarn/husky-9.1.3
chore(deps-dev): bump husky from 9.1.2 to 9.1.3
2024-07-29 13:28:20 +02:00
dependabot[bot]
4d45a41086 chore(deps-dev): bump husky from 9.1.2 to 9.1.3
Bumps [husky](https://github.com/typicode/husky) from 9.1.2 to 9.1.3.
- [Release notes](https://github.com/typicode/husky/releases)
- [Commits](https://github.com/typicode/husky/compare/v9.1.2...v9.1.3)

---
updated-dependencies:
- dependency-name: husky
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 00:28:19 +00:00
dependabot[bot]
ee89c849a6 chore(deps-dev): bump cache-manager from 5.7.3 to 5.7.4
Bumps [cache-manager](https://github.com/jaredwray/cache-manager) from 5.7.3 to 5.7.4.
- [Release notes](https://github.com/jaredwray/cache-manager/releases)
- [Commits](https://github.com/jaredwray/cache-manager/commits)

---
updated-dependencies:
- dependency-name: cache-manager
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 00:27:51 +00:00
dependabot[bot]
eb1e89e6c3 chore(deps-dev): bump mysql2 from 3.10.3 to 3.11.0
Bumps [mysql2](https://github.com/sidorares/node-mysql2) from 3.10.3 to 3.11.0.
- [Release notes](https://github.com/sidorares/node-mysql2/releases)
- [Changelog](https://github.com/sidorares/node-mysql2/blob/master/Changelog.md)
- [Commits](https://github.com/sidorares/node-mysql2/compare/v3.10.3...v3.11.0)

---
updated-dependencies:
- dependency-name: mysql2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 00:27:25 +00:00
dependabot[bot]
4988e587af chore(deps-dev): bump @types/node from 20.14.12 to 22.0.0
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.14.12 to 22.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 00:25:17 +00:00
Kamil Mysliwiec
706af4cefb Merge pull request #13829 from nestjs/dependabot/npm_and_yarn/requirejs-2.3.7
chore(deps-dev): bump requirejs from 2.3.6 to 2.3.7
2024-07-26 09:11:33 +02:00
dependabot[bot]
f442d43636 chore(deps-dev): bump requirejs from 2.3.6 to 2.3.7
Bumps [requirejs](https://github.com/jrburke/r.js) from 2.3.6 to 2.3.7.
- [Commits](https://github.com/jrburke/r.js/compare/2.3.6...2.3.7)

---
updated-dependencies:
- dependency-name: requirejs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-26 06:57:23 +00:00
Kamil Mysliwiec
6147a8215a Merge pull request #13827 from nestjs/dependabot/npm_and_yarn/multi-e86d5cf068
chore(deps-dev): bump chai and @types/chai
2024-07-26 08:56:15 +02:00
Kamil Mysliwiec
f765e5a05b Merge pull request #13828 from nestjs/dependabot/npm_and_yarn/husky-9.1.2
chore(deps-dev): bump husky from 9.1.1 to 9.1.2
2024-07-26 08:55:40 +02:00
dependabot[bot]
a9b2655b25 chore(deps-dev): bump husky from 9.1.1 to 9.1.2
Bumps [husky](https://github.com/typicode/husky) from 9.1.1 to 9.1.2.
- [Release notes](https://github.com/typicode/husky/releases)
- [Commits](https://github.com/typicode/husky/compare/v9.1.1...v9.1.2)

---
updated-dependencies:
- dependency-name: husky
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-26 01:00:06 +00:00
dependabot[bot]
01cd73e66f chore(deps-dev): bump chai and @types/chai
Bumps [chai](https://github.com/chaijs/chai) and [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai). These dependencies needed to be updated together.

Updates `chai` from 4.4.1 to 4.5.0
- [Release notes](https://github.com/chaijs/chai/releases)
- [Changelog](https://github.com/chaijs/chai/blob/main/History.md)
- [Commits](https://github.com/chaijs/chai/compare/v4.4.1...v4.5.0)

Updates `@types/chai` from 4.3.11 to 4.3.16
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chai)

---
updated-dependencies:
- dependency-name: chai
  dependency-type: direct:development
  update-type: version-update:semver-minor
- dependency-name: "@types/chai"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-26 00:58:20 +00:00
Kamil Mysliwiec
7f7237004a Update Readme.md 2024-07-25 12:41:37 +02:00
Kamil Mysliwiec
1d095afca1 Merge pull request #13825 from nestjs/dependabot/npm_and_yarn/sample/33-graphql-mercurius/ws-7.5.10
chore(deps): bump ws from 7.5.7 to 7.5.10 in /sample/33-graphql-mercurius
2024-07-25 11:14:01 +02:00
Kamil Mysliwiec
aa4b4de2cf Merge pull request #13821 from nestjs/dependabot/npm_and_yarn/types/node-20.14.12
chore(deps-dev): bump @types/node from 20.14.11 to 20.14.12
2024-07-25 09:49:40 +02:00
dependabot[bot]
ad546f5509 chore(deps): bump ws in /sample/33-graphql-mercurius
Bumps [ws](https://github.com/websockets/ws) from 7.5.7 to 7.5.10.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.7...7.5.10)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-25 07:49:24 +00:00
Kamil Mysliwiec
094db3711e Merge pull request #13824 from nestjs/dependabot/npm_and_yarn/nats-2.28.1
chore(deps-dev): bump nats from 2.28.0 to 2.28.1
2024-07-25 09:48:17 +02:00
Kamil Myśliwiec
d8035d9ab6 chore: update sponsors 2024-07-25 09:36:59 +02:00
dependabot[bot]
10b8fd969a chore(deps-dev): bump nats from 2.28.0 to 2.28.1
Bumps [nats](https://github.com/nats-io/nats.js) from 2.28.0 to 2.28.1.
- [Release notes](https://github.com/nats-io/nats.js/releases)
- [Commits](https://github.com/nats-io/nats.js/compare/v2.28.0...v2.28.1)

---
updated-dependencies:
- dependency-name: nats
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-25 00:22:55 +00:00
dependabot[bot]
5c01248e87 chore(deps-dev): bump @types/node from 20.14.11 to 20.14.12
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.14.11 to 20.14.12.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-24 00:19:18 +00:00
Kamil Mysliwiec
b97eae547b Merge pull request #13811 from nestjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-7.17.0
chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.16.1 to 7.17.0
2024-07-23 09:27:04 +02:00
dependabot[bot]
b0d93433b8 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 7.16.1 to 7.17.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.17.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-23 07:25:13 +00:00
Kamil Mysliwiec
895e51453f Merge pull request #13801 from nestjs/dependabot/npm_and_yarn/husky-9.1.1
chore(deps-dev): bump husky from 9.1.0 to 9.1.1
2024-07-23 09:23:28 +02:00
Kamil Mysliwiec
e8f4015580 Merge pull request #13810 from nestjs/dependabot/npm_and_yarn/sample/32-graphql-federation-schema-first/posts-application/ws-7.5.10
chore(deps): bump ws from 7.5.9 to 7.5.10 in /sample/32-graphql-federation-schema-first/posts-application
2024-07-23 09:23:24 +02:00
Kamil Mysliwiec
1bf28048d7 Merge pull request #13812 from nestjs/dependabot/npm_and_yarn/apollo/server-4.10.5
chore(deps-dev): bump @apollo/server from 4.10.4 to 4.10.5
2024-07-23 09:23:03 +02:00
Kamil Mysliwiec
be55c55db1 Merge pull request #13813 from nestjs/dependabot/npm_and_yarn/typescript-eslint/parser-7.17.0
chore(deps-dev): bump @typescript-eslint/parser from 7.16.0 to 7.17.0
2024-07-23 09:22:55 +02:00
Kamil Mysliwiec
85e9a731da Merge pull request #13814 from nestjs/dependabot/npm_and_yarn/typescript-5.5.4
chore(deps-dev): bump typescript from 5.5.3 to 5.5.4
2024-07-23 09:22:46 +02:00
Kamil Mysliwiec
099025fa53 Merge pull request #13815 from nestjs/dependabot/npm_and_yarn/artillery-2.0.18
chore(deps-dev): bump artillery from 2.0.17 to 2.0.18
2024-07-23 09:22:29 +02:00
dependabot[bot]
cf89ecb78e chore(deps-dev): bump artillery from 2.0.17 to 2.0.18
Bumps [artillery](https://github.com/artilleryio/artillery) from 2.0.17 to 2.0.18.
- [Release notes](https://github.com/artilleryio/artillery/releases)
- [Commits](https://github.com/artilleryio/artillery/compare/artillery-2.0.17...artillery-2.0.18)

---
updated-dependencies:
- dependency-name: artillery
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-23 00:53:18 +00:00
dependabot[bot]
1c5db3e2fd chore(deps-dev): bump typescript from 5.5.3 to 5.5.4
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.5.3 to 5.5.4.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.5.3...v5.5.4)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-23 00:52:37 +00:00
dependabot[bot]
46d1e95b93 chore(deps-dev): bump @typescript-eslint/parser from 7.16.0 to 7.17.0
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 7.16.0 to 7.17.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.17.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-23 00:51:51 +00:00
dependabot[bot]
351173f152 chore(deps-dev): bump @apollo/server from 4.10.4 to 4.10.5
Bumps [@apollo/server](https://github.com/apollographql/apollo-server/tree/HEAD/packages/server) from 4.10.4 to 4.10.5.
- [Release notes](https://github.com/apollographql/apollo-server/releases)
- [Changelog](https://github.com/apollographql/apollo-server/blob/main/packages/server/CHANGELOG.md)
- [Commits](https://github.com/apollographql/apollo-server/commits/@apollo/server@4.10.5/packages/server)

---
updated-dependencies:
- dependency-name: "@apollo/server"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-23 00:51:00 +00:00
Kamil Mysliwiec
3f5f65450c Update Readme.md 2024-07-22 12:47:25 +02:00
dependabot[bot]
2be3d779d2 chore(deps): bump ws
Bumps [ws](https://github.com/websockets/ws) from 7.5.9 to 7.5.10.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.9...7.5.10)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 08:07:42 +00:00
Kamil Mysliwiec
5fea278f98 Merge pull request #13809 from nestjs/dependabot/npm_and_yarn/mocha-10.7.0
chore(deps-dev): bump mocha from 10.6.0 to 10.7.0
2024-07-22 10:06:35 +02:00
dependabot[bot]
7ea09b0516 chore(deps-dev): bump mocha from 10.6.0 to 10.7.0
Bumps [mocha](https://github.com/mochajs/mocha) from 10.6.0 to 10.7.0.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v10.6.0...v10.7.0)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 00:31:08 +00:00
Johaven
365fd1e5d8 fix: typing 2024-07-22 01:18:59 +02:00
Johaven
9f7c42744f fix(platform-fastify): search method not declared 2024-07-22 01:03:19 +02:00
dependabot[bot]
185bc5e17b chore(deps-dev): bump husky from 9.1.0 to 9.1.1
Bumps [husky](https://github.com/typicode/husky) from 9.1.0 to 9.1.1.
- [Release notes](https://github.com/typicode/husky/releases)
- [Commits](https://github.com/typicode/husky/compare/v9.1.0...v9.1.1)

---
updated-dependencies:
- dependency-name: husky
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-19 00:02:43 +00:00
Kamil Mysliwiec
aa10c8b8b6 Update Readme.md 2024-07-18 09:09:10 +02:00
Kamil Mysliwiec
6a60f3c785 Merge pull request #13791 from nestjs/dependabot/npm_and_yarn/types/node-20.14.11
chore(deps-dev): bump @types/node from 20.14.10 to 20.14.11
2024-07-18 09:08:00 +02:00
Kamil Mysliwiec
32e63b6d11 Merge pull request #13796 from nestjs/dependabot/npm_and_yarn/husky-9.1.0
chore(deps-dev): bump husky from 9.0.11 to 9.1.0
2024-07-18 08:54:32 +02:00
Kamil Mysliwiec
75b9f07a1a Merge pull request #13792 from nestjs/dependabot/npm_and_yarn/grpc/grpc-js-1.11.1
chore(deps-dev): bump @grpc/grpc-js from 1.10.11 to 1.11.1
2024-07-18 08:54:28 +02:00
Kamil Mysliwiec
a7f8dcd3e0 Merge pull request #13789 from nestjs/dependabot/npm_and_yarn/cache-manager-5.7.3
chore(deps-dev): bump cache-manager from 5.7.2 to 5.7.3
2024-07-18 08:54:25 +02:00
Kamil Mysliwiec
ccdb46b665 Merge pull request #13787 from nestjs/dependabot/npm_and_yarn/mysql2-3.10.3
chore(deps-dev): bump mysql2 from 3.10.2 to 3.10.3
2024-07-18 08:54:21 +02:00
Kamil Mysliwiec
51198a4850 Merge pull request #13786 from nestjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-7.16.1
chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.16.0 to 7.16.1
2024-07-18 08:54:10 +02:00
dependabot[bot]
8cf92c0946 chore(deps-dev): bump husky from 9.0.11 to 9.1.0
Bumps [husky](https://github.com/typicode/husky) from 9.0.11 to 9.1.0.
- [Release notes](https://github.com/typicode/husky/releases)
- [Commits](https://github.com/typicode/husky/compare/v9.0.11...v9.1.0)

---
updated-dependencies:
- dependency-name: husky
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-18 00:05:09 +00:00
dependabot[bot]
9972ac6f27 chore(deps-dev): bump @grpc/grpc-js from 1.10.11 to 1.11.1
Bumps [@grpc/grpc-js](https://github.com/grpc/grpc-node) from 1.10.11 to 1.11.1.
- [Release notes](https://github.com/grpc/grpc-node/releases)
- [Commits](https://github.com/grpc/grpc-node/compare/@grpc/grpc-js@1.10.11...@grpc/grpc-js@1.11.1)

---
updated-dependencies:
- dependency-name: "@grpc/grpc-js"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-17 00:07:15 +00:00
dependabot[bot]
8a9e3bf9f7 chore(deps-dev): bump @types/node from 20.14.10 to 20.14.11
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.14.10 to 20.14.11.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-17 00:05:50 +00:00
dependabot[bot]
2884c10451 chore(deps-dev): bump cache-manager from 5.7.2 to 5.7.3
Bumps [cache-manager](https://github.com/jaredwray/cache-manager) from 5.7.2 to 5.7.3.
- [Release notes](https://github.com/jaredwray/cache-manager/releases)
- [Commits](https://github.com/jaredwray/cache-manager/commits)

---
updated-dependencies:
- dependency-name: cache-manager
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-16 00:43:26 +00:00
dependabot[bot]
c7b9573244 chore(deps-dev): bump mysql2 from 3.10.2 to 3.10.3
Bumps [mysql2](https://github.com/sidorares/node-mysql2) from 3.10.2 to 3.10.3.
- [Release notes](https://github.com/sidorares/node-mysql2/releases)
- [Changelog](https://github.com/sidorares/node-mysql2/blob/master/Changelog.md)
- [Commits](https://github.com/sidorares/node-mysql2/compare/v3.10.2...v3.10.3)

---
updated-dependencies:
- dependency-name: mysql2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-16 00:42:30 +00:00
dependabot[bot]
5c5558b3c0 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 7.16.0 to 7.16.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.16.1/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-16 00:42:06 +00:00
Kamil Mysliwiec
73ad7f2652 Merge pull request #13783 from nestjs/dependabot/npm_and_yarn/types/ws-8.5.11
chore(deps-dev): bump @types/ws from 8.5.10 to 8.5.11
2024-07-15 10:13:46 +02:00
Kamil Mysliwiec
3ab0da8c04 Merge pull request #13782 from nestjs/dependabot/npm_and_yarn/prettier-3.3.3
chore(deps-dev): bump prettier from 3.3.2 to 3.3.3
2024-07-15 10:10:34 +02:00
Kamil Mysliwiec
6732d9d731 Merge pull request #13784 from nestjs/dependabot/npm_and_yarn/mongoose-8.5.1
chore(deps-dev): bump mongoose from 8.5.0 to 8.5.1
2024-07-15 10:10:25 +02:00
dependabot[bot]
c9343596fc chore(deps-dev): bump mongoose from 8.5.0 to 8.5.1
Bumps [mongoose](https://github.com/Automattic/mongoose) from 8.5.0 to 8.5.1.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Automattic/mongoose/compare/8.5.0...8.5.1)

---
updated-dependencies:
- dependency-name: mongoose
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-15 01:01:43 +00:00
dependabot[bot]
ddb44b992d chore(deps-dev): bump @types/ws from 8.5.10 to 8.5.11
Bumps [@types/ws](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/ws) from 8.5.10 to 8.5.11.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/ws)

---
updated-dependencies:
- dependency-name: "@types/ws"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-15 00:59:58 +00:00
dependabot[bot]
27a8a417a5 chore(deps-dev): bump prettier from 3.3.2 to 3.3.3
Bumps [prettier](https://github.com/prettier/prettier) from 3.3.2 to 3.3.3.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.3.2...3.3.3)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-15 00:58:30 +00:00
Kamil Mysliwiec
15f2f1ce70 Merge pull request #13780 from nestjs/dependabot/npm_and_yarn/cache-manager-5.7.2
chore(deps-dev): bump cache-manager from 5.7.1 to 5.7.2
2024-07-12 08:49:33 +02:00
dependabot[bot]
b6996baec0 chore(deps-dev): bump cache-manager from 5.7.1 to 5.7.2
Bumps [cache-manager](https://github.com/jaredwray/cache-manager) from 5.7.1 to 5.7.2.
- [Release notes](https://github.com/jaredwray/cache-manager/releases)
- [Commits](https://github.com/jaredwray/cache-manager/commits)

---
updated-dependencies:
- dependency-name: cache-manager
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-12 00:51:36 +00:00
Kamil Mysliwiec
72eedeb756 Merge pull request #13776 from nestjs/dependabot/npm_and_yarn/grpc/grpc-js-1.10.11
chore(deps-dev): bump @grpc/grpc-js from 1.10.10 to 1.10.11
2024-07-11 12:04:54 +02:00
dependabot[bot]
d49a8634f6 chore(deps-dev): bump @grpc/grpc-js from 1.10.10 to 1.10.11
Bumps [@grpc/grpc-js](https://github.com/grpc/grpc-node) from 1.10.10 to 1.10.11.
- [Release notes](https://github.com/grpc/grpc-node/releases)
- [Commits](https://github.com/grpc/grpc-node/compare/@grpc/grpc-js@1.10.10...@grpc/grpc-js@1.10.11)

---
updated-dependencies:
- dependency-name: "@grpc/grpc-js"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-11 00:36:50 +00:00
Kamil Mysliwiec
4b8b971d58 Merge pull request #13774 from nestjs/dependabot/npm_and_yarn/artillery-2.0.17
chore(deps-dev): bump artillery from 2.0.16 to 2.0.17
2024-07-10 09:00:29 +02:00
dependabot[bot]
40f3975bc8 chore(deps-dev): bump artillery from 2.0.16 to 2.0.17
Bumps [artillery](https://github.com/artilleryio/artillery) from 2.0.16 to 2.0.17.
- [Release notes](https://github.com/artilleryio/artillery/releases)
- [Commits](https://github.com/artilleryio/artillery/compare/artillery-2.0.16...artillery-2.0.17)

---
updated-dependencies:
- dependency-name: artillery
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-10 00:58:10 +00:00
Kamil Mysliwiec
05966661fb Merge pull request #13771 from nestjs/dependabot/npm_and_yarn/typescript-eslint/parser-7.16.0
chore(deps-dev): bump @typescript-eslint/parser from 7.13.1 to 7.16.0
2024-07-09 13:57:21 +02:00
dependabot[bot]
206128b805 chore(deps-dev): bump @typescript-eslint/parser from 7.13.1 to 7.16.0
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 7.13.1 to 7.16.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.16.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-09 06:49:49 +00:00
Kamil Mysliwiec
03d53a5995 Merge pull request #13765 from nestjs/dependabot/npm_and_yarn/types/node-20.14.10
chore(deps-dev): bump @types/node from 20.14.9 to 20.14.10
2024-07-09 08:48:25 +02:00
Kamil Mysliwiec
228d8c3c19 Merge pull request #13767 from nestjs/dependabot/npm_and_yarn/nestjs/mongoose-10.0.10
chore(deps-dev): bump @nestjs/mongoose from 10.0.6 to 10.0.10
2024-07-09 08:48:18 +02:00
Kamil Mysliwiec
b5376e45fc Merge pull request #13770 from nestjs/dependabot/npm_and_yarn/mongoose-8.5.0
chore(deps-dev): bump mongoose from 8.4.4 to 8.5.0
2024-07-09 08:48:12 +02:00
Kamil Mysliwiec
102e24a6c0 Merge pull request #13772 from nestjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-7.16.0
chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.15.0 to 7.16.0
2024-07-09 08:48:01 +02:00
dependabot[bot]
5f01d8fcc0 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 7.15.0 to 7.16.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.16.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-09 01:00:03 +00:00
dependabot[bot]
05d0513a13 chore(deps-dev): bump mongoose from 8.4.4 to 8.5.0
Bumps [mongoose](https://github.com/Automattic/mongoose) from 8.4.4 to 8.5.0.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Automattic/mongoose/compare/8.4.4...8.5.0)

---
updated-dependencies:
- dependency-name: mongoose
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-09 00:58:28 +00:00
dependabot[bot]
1a0ad0a3b7 chore(deps-dev): bump @nestjs/mongoose from 10.0.6 to 10.0.10
Bumps [@nestjs/mongoose](https://github.com/nestjs/mongoose) from 10.0.6 to 10.0.10.
- [Release notes](https://github.com/nestjs/mongoose/releases)
- [Changelog](https://github.com/nestjs/mongoose/blob/master/.release-it.json)
- [Commits](https://github.com/nestjs/mongoose/compare/10.0.6...10.0.10)

---
updated-dependencies:
- dependency-name: "@nestjs/mongoose"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-08 00:48:40 +00:00
dependabot[bot]
5047d8f210 chore(deps-dev): bump @types/node from 20.14.9 to 20.14.10
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.14.9 to 20.14.10.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-08 00:47:21 +00:00
sheepster1
821b080963 fix(core): unhandled promise rejection in interceptors consumer 2024-07-06 18:27:56 +03:00
Kamil Mysliwiec
6a791dcff4 Merge pull request #13747 from nestjs/dependabot/npm_and_yarn/nestjs/apollo-12.2.0
chore(deps-dev): bump @nestjs/apollo from 12.1.0 to 12.2.0
2024-07-04 12:23:20 +02:00
Kamil Mysliwiec
0e0f433f77 Merge pull request #13754 from nestjs/dependabot/npm_and_yarn/cache-manager-5.7.1
chore(deps-dev): bump cache-manager from 5.6.1 to 5.7.1
2024-07-04 12:23:07 +02:00
Kamil Mysliwiec
4b09876611 Merge pull request #13755 from nestjs/dependabot/npm_and_yarn/mocha-10.6.0
chore(deps-dev): bump mocha from 10.5.2 to 10.6.0
2024-07-04 12:22:57 +02:00
Kamil Mysliwiec
9ae655f695 Merge pull request #13756 from nestjs/dependabot/npm_and_yarn/ws-8.18.0
chore(deps): bump ws from 8.17.1 to 8.18.0
2024-07-04 12:22:49 +02:00
Kamil Mysliwiec
1860d58642 Merge pull request #13757 from nestjs/dependabot/npm_and_yarn/typescript-5.5.3
chore(deps-dev): bump typescript from 5.5.2 to 5.5.3
2024-07-04 12:22:32 +02:00
Kamil Mysliwiec
b384aad9dc Merge pull request #13753 from micalevisk/patch-1
feat(common): less verbose 'missing package' error message
2024-07-04 10:11:42 +02:00
dependabot[bot]
12d0e1ae33 chore(deps-dev): bump typescript from 5.5.2 to 5.5.3
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.5.2 to 5.5.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.5.2...v5.5.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-04 00:34:16 +00:00
dependabot[bot]
37a2360bc8 chore(deps): bump ws from 8.17.1 to 8.18.0
Bumps [ws](https://github.com/websockets/ws) from 8.17.1 to 8.18.0.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/8.17.1...8.18.0)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-04 00:33:34 +00:00
dependabot[bot]
324c6dba17 chore(deps-dev): bump mocha from 10.5.2 to 10.6.0
Bumps [mocha](https://github.com/mochajs/mocha) from 10.5.2 to 10.6.0.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v10.5.2...v10.6.0)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-04 00:32:52 +00:00
dependabot[bot]
c2593b15f2 chore(deps-dev): bump cache-manager from 5.6.1 to 5.7.1
Bumps [cache-manager](https://github.com/jaredwray/cache-manager) from 5.6.1 to 5.7.1.
- [Release notes](https://github.com/jaredwray/cache-manager/releases)
- [Commits](https://github.com/jaredwray/cache-manager/commits)

---
updated-dependencies:
- dependency-name: cache-manager
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-04 00:31:00 +00:00
Micael Levi L. Cavalcante
c5d08c81ef docs(common): add docs to StreamableFile options 2024-07-03 14:18:02 -04:00
dependabot[bot]
4df251b385 chore(deps-dev): bump @nestjs/apollo from 12.1.0 to 12.2.0
Bumps [@nestjs/apollo](https://github.com/nestjs/graphql) from 12.1.0 to 12.2.0.
- [Release notes](https://github.com/nestjs/graphql/releases)
- [Commits](https://github.com/nestjs/graphql/compare/v12.1.0...v12.2.0)

---
updated-dependencies:
- dependency-name: "@nestjs/apollo"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-03 07:22:47 +00:00
Kamil Mysliwiec
6afb66e539 Merge pull request #13748 from nestjs/dependabot/npm_and_yarn/fast-json-stringify-6.0.0
chore(deps): bump fast-json-stringify from 5.16.1 to 6.0.0
2024-07-03 09:21:51 +02:00
Kamil Mysliwiec
184cbe3640 Merge pull request #13749 from nestjs/dependabot/npm_and_yarn/mysql2-3.10.2
chore(deps-dev): bump mysql2 from 3.10.1 to 3.10.2
2024-07-03 09:21:48 +02:00
Kamil Mysliwiec
99da89ba20 Merge pull request #13750 from nestjs/dependabot/npm_and_yarn/grpc/grpc-js-1.10.10
chore(deps-dev): bump @grpc/grpc-js from 1.10.9 to 1.10.10
2024-07-03 09:21:41 +02:00
Kamil Mysliwiec
96237c9192 Merge pull request #13751 from nestjs/dependabot/npm_and_yarn/nestjs/graphql-12.2.0
chore(deps-dev): bump @nestjs/graphql from 12.1.1 to 12.2.0
2024-07-03 09:21:30 +02:00
Kamil Mysliwiec
5b454cf853 Merge pull request #13752 from nestjs/dependabot/npm_and_yarn/redis-4.6.15
chore(deps-dev): bump redis from 4.6.14 to 4.6.15
2024-07-03 09:20:13 +02:00
dependabot[bot]
4995cedc28 chore(deps-dev): bump redis from 4.6.14 to 4.6.15
Bumps [redis](https://github.com/redis/node-redis) from 4.6.14 to 4.6.15.
- [Release notes](https://github.com/redis/node-redis/releases)
- [Changelog](https://github.com/redis/node-redis/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redis/node-redis/compare/redis@4.6.14...redis@4.6.15)

---
updated-dependencies:
- dependency-name: redis
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-03 00:51:58 +00:00
dependabot[bot]
22af4c889e chore(deps-dev): bump @nestjs/graphql from 12.1.1 to 12.2.0
Bumps [@nestjs/graphql](https://github.com/nestjs/graphql) from 12.1.1 to 12.2.0.
- [Release notes](https://github.com/nestjs/graphql/releases)
- [Commits](https://github.com/nestjs/graphql/compare/v12.1.1...v12.2.0)

---
updated-dependencies:
- dependency-name: "@nestjs/graphql"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-03 00:51:14 +00:00
dependabot[bot]
e8a2ff0cc0 chore(deps-dev): bump @grpc/grpc-js from 1.10.9 to 1.10.10
Bumps [@grpc/grpc-js](https://github.com/grpc/grpc-node) from 1.10.9 to 1.10.10.
- [Release notes](https://github.com/grpc/grpc-node/releases)
- [Commits](https://github.com/grpc/grpc-node/compare/@grpc/grpc-js@1.10.9...@grpc/grpc-js@1.10.10)

---
updated-dependencies:
- dependency-name: "@grpc/grpc-js"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-03 00:50:24 +00:00
dependabot[bot]
40e38322d2 chore(deps-dev): bump mysql2 from 3.10.1 to 3.10.2
Bumps [mysql2](https://github.com/sidorares/node-mysql2) from 3.10.1 to 3.10.2.
- [Release notes](https://github.com/sidorares/node-mysql2/releases)
- [Changelog](https://github.com/sidorares/node-mysql2/blob/master/Changelog.md)
- [Commits](https://github.com/sidorares/node-mysql2/compare/v3.10.1...v3.10.2)

---
updated-dependencies:
- dependency-name: mysql2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-03 00:49:57 +00:00
dependabot[bot]
7b994bda72 chore(deps): bump fast-json-stringify from 5.16.1 to 6.0.0
Bumps [fast-json-stringify](https://github.com/fastify/fast-json-stringify) from 5.16.1 to 6.0.0.
- [Release notes](https://github.com/fastify/fast-json-stringify/releases)
- [Commits](https://github.com/fastify/fast-json-stringify/compare/v5.16.1...v6.0.0)

---
updated-dependencies:
- dependency-name: fast-json-stringify
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-03 00:49:16 +00:00
Kamil Mysliwiec
f7201d9321 Merge pull request #13745 from nestjs/dependabot/npm_and_yarn/sample/23-graphql-code-first/multi-d6511ecd60
chore(deps): bump express and @nestjs/platform-express in /sample/23-graphql-code-first
2024-07-02 13:19:30 +02:00
dependabot[bot]
d0b9474319 chore(deps): bump express and @nestjs/platform-express
Bumps [express](https://github.com/expressjs/express) to 4.19.2 and updates ancestor dependency [@nestjs/platform-express](https://github.com/nestjs/nest/tree/HEAD/packages/platform-express). These dependencies need to be updated together.


Updates `express` from 4.18.2 to 4.19.2
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.2...4.19.2)

Updates `@nestjs/platform-express` from 10.3.2 to 10.3.10
- [Release notes](https://github.com/nestjs/nest/releases)
- [Commits](https://github.com/nestjs/nest/commits/v10.3.10/packages/platform-express)

---
updated-dependencies:
- dependency-name: express
  dependency-type: indirect
- dependency-name: "@nestjs/platform-express"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-02 07:36:53 +00:00
Kamil Mysliwiec
2434299a33 Merge pull request #13740 from nestjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-7.15.0
chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.13.1 to 7.15.0
2024-07-02 09:17:11 +02:00
Kamil Mysliwiec
4467c5dc6d Merge pull request #13742 from nestjs/dependabot/npm_and_yarn/multi-351a35f700
chore(deps-dev): bump mocha and @types/mocha
2024-07-02 09:17:02 +02:00
dependabot[bot]
f7f32fc1b8 chore(deps-dev): bump mocha and @types/mocha
Bumps [mocha](https://github.com/mochajs/mocha) and [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha). These dependencies needed to be updated together.

Updates `mocha` from 10.4.0 to 10.5.2
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v10.4.0...v10.5.2)

Updates `@types/mocha` from 10.0.6 to 10.0.7
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-minor
- dependency-name: "@types/mocha"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-02 07:04:37 +00:00
Kamil Mysliwiec
f78380db06 Merge pull request #13738 from nestjs/dependabot/npm_and_yarn/artillery-2.0.16
chore(deps-dev): bump artillery from 2.0.15 to 2.0.16
2024-07-02 09:03:02 +02:00
Kamil Mysliwiec
d3ba05df84 Merge pull request #13739 from nestjs/dependabot/npm_and_yarn/fastify-4.28.1
chore(deps): bump fastify from 4.28.0 to 4.28.1
2024-07-02 09:02:55 +02:00
Kamil Mysliwiec
71996b63ac Merge pull request #13743 from nestjs/dependabot/npm_and_yarn/nats-2.28.0
chore(deps-dev): bump nats from 2.27.0 to 2.28.0
2024-07-02 09:02:48 +02:00
Kamil Mysliwiec
e6856af754 Merge pull request #13744 from nestjs/dependabot/npm_and_yarn/mongoose-8.4.4
chore(deps-dev): bump mongoose from 8.4.3 to 8.4.4
2024-07-02 09:02:42 +02:00
dependabot[bot]
55e98472fc chore(deps-dev): bump mongoose from 8.4.3 to 8.4.4
Bumps [mongoose](https://github.com/Automattic/mongoose) from 8.4.3 to 8.4.4.
- [Release notes](https://github.com/Automattic/mongoose/releases)
- [Changelog](https://github.com/Automattic/mongoose/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Automattic/mongoose/compare/8.4.3...8.4.4)

---
updated-dependencies:
- dependency-name: mongoose
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-02 00:46:17 +00:00
dependabot[bot]
671d979cf6 chore(deps-dev): bump nats from 2.27.0 to 2.28.0
Bumps [nats](https://github.com/nats-io/nats.js) from 2.27.0 to 2.28.0.
- [Release notes](https://github.com/nats-io/nats.js/releases)
- [Commits](https://github.com/nats-io/nats.js/compare/v2.27.0...v2.28.0)

---
updated-dependencies:
- dependency-name: nats
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-02 00:45:31 +00:00
dependabot[bot]
d6b9a9f56f 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 7.13.1 to 7.15.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.15.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-02 00:44:00 +00:00
dependabot[bot]
b1b66d2d6c chore(deps): bump fastify from 4.28.0 to 4.28.1
Bumps [fastify](https://github.com/fastify/fastify) from 4.28.0 to 4.28.1.
- [Release notes](https://github.com/fastify/fastify/releases)
- [Commits](https://github.com/fastify/fastify/compare/v4.28.0...v4.28.1)

---
updated-dependencies:
- dependency-name: fastify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-02 00:43:24 +00:00
dependabot[bot]
f850786af4 chore(deps-dev): bump artillery from 2.0.15 to 2.0.16
Bumps [artillery](https://github.com/artilleryio/artillery) from 2.0.15 to 2.0.16.
- [Release notes](https://github.com/artilleryio/artillery/releases)
- [Commits](https://github.com/artilleryio/artillery/compare/artillery-2.0.15...artillery-2.0.16)

---
updated-dependencies:
- dependency-name: artillery
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-02 00:43:16 +00:00
Kamil Myśliwiec
d22ffc1d0b chore: update package.json 2024-07-01 11:28:14 +02:00
JadenKim-dev
27d01d6ed2 feat: added optional chaining 2024-06-30 22:49:37 +09:00
JadenKim-dev
ce0b4fbd88 feat: grpc package name can be specified with service name 2024-06-30 22:31:11 +09:00
Micael Levi L. Cavalcante
9b4aa27ba6 feat(common): less verbose 'missing package' error message
The tip "npm install ..." is not that useful when one is using another package manager instead of NPM. And also can lead to confusion.
2024-06-28 13:28:06 -04:00
Imran Sarkar
333c8353f1 feat(common): Added uuid v7 validation to ParseUUIDPipe 2024-06-04 00:26:47 +06:00
codytseng
8c7718e383 perf(ws): optimize message handler lookup 2024-03-31 17:17:06 +08:00
cain
0f00a347a6 test: test for emit-batch 2024-03-12 14:58:19 +09:00
cain
14cffb328a fix: modify access modifier 2023-12-21 15:57:49 +09:00
cain
cb8e04dd62 feat: add block wrapping return 2023-12-21 10:26:48 +09:00
cain
069676fd84 feat: emit batch 2023-12-20 16:59:46 +09:00
pacyL2K19
86826a651a test(sample-12): add e2e tests 2023-11-25 19:10:02 +02:00
pacyL2K19
bb520c073e test(sample-12): add unit tests to increase test coverage 2023-11-25 19:10:02 +02:00
pacyL2K19
992b18e12a test(sample-12): add unit test to the cat-owner resolver field 2023-11-25 19:10:02 +02:00
pacyL2K19
d073083757 test(sample-12): add unit tests to the cats.resolver 2023-11-25 19:10:02 +02:00
pacyL2K19
1a80a9c6cd test(sample-12): setup testing environment - write unit tests for cats.service.ts file 2023-11-25 19:09:59 +02:00
yansb
c032e83e4d test(sample-01): improved tests 2022-12-01 08:23:18 -03:00
yansb
5c9bcc85ef test(sample-01): added controller create cat unit test 2022-11-30 21:50:16 -03:00
yansb
7ec3eb235d test(sample-01): added service unit tests 2022-11-30 21:14:15 -03:00
185 changed files with 33848 additions and 13558 deletions

View File

@@ -121,7 +121,7 @@ jobs:
lint:
working_directory: ~/nest
docker:
- image: cimg/node:<< pipeline.parameters.maintenance-node-version >>
- image: cimg/node:<< pipeline.parameters.current-node-version >>
steps:
- checkout
- *restore-cache

View File

@@ -6,8 +6,8 @@ cd "$(dirname "$0")"
cd /tmp/
sudo apt-get install build-essential libssl-dev git -y
git clone https://github.com/wg/wrk.git wrk
git clone --depth=1 https://github.com/wg/wrk.git wrk
cd wrk
sudo make
# move the executable to somewhere in your PATH, ex:
sudo cp wrk /usr/local/bin
sudo cp wrk /usr/local/bin

View File

@@ -17,13 +17,13 @@ module.exports = {
sourceType: 'module',
},
rules: {
'@typescript-eslint/interface-name-prefix': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/ban-types': 'off',
'@typescript-eslint/no-array-constructor': 'off',
'@typescript-eslint/no-unsafe-function-type': 'off',
'@typescript-eslint/no-unused-expressions': 'off',
'@typescript-eslint/no-require-imports': 'off',
'@typescript-eslint/no-empty-object-type': 'off',
'@typescript-eslint/no-wrapper-object-types': 'off',
},
},
{
@@ -34,13 +34,13 @@ module.exports = {
sourceType: 'module',
},
rules: {
'@typescript-eslint/interface-name-prefix': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/ban-types': 'off',
'@typescript-eslint/no-empty-function': 'off',
'@typescript-eslint/no-unsafe-function-type': 'off',
'@typescript-eslint/no-unused-expressions': 'off',
'@typescript-eslint/no-require-imports': 'off',
'@typescript-eslint/no-empty-object-type': 'off',
'@typescript-eslint/no-wrapper-object-types': 'off',
},
}
]

5
.gitignore vendored
View File

@@ -1,3 +1,5 @@
packages/*/package-lock.json
# dependencies
node_modules/
@@ -47,4 +49,5 @@ yarn-error.log
build/config\.gypi
.npmrc
pnpm-lock.yaml
pnpm-lock.yaml
/.history

View File

@@ -91,10 +91,12 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<table style="text-align:center;">
<tr>
<td><a href="https://n.inc" target="_blank"><img src="https://nestjs.com/img/logos/n-inc-logo.svg" width="90" valign="middle" /></a></td>
<td><a href="https://twistag.com/" target="_blank"><img src="https://nestjs.com/img/logos/twistag-logo.png" width="120" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="75" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="110" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="100" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://bloodycase.com/?promocode=NEST" target="_blank"><img src="https://nestjs.com/img/logos/bloodycase-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://handsontable.com/docs/react-data-grid/?utm_source=NestJS_GH&utm_medium=sponsorship&utm_campaign=library_sponsorship_2024" target="_blank"><img src="https://nestjs.com/img/logos/handsontable-dark-logo.svg#2" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="170" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://arcjet.com/?ref=nestjs" target="_blank"><img src="https://nestjs.com/img/logos/arcjet-logo.svg" width="170" valign="middle" /></a></td>
</tr>
</table>
@@ -126,10 +128,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle"><a href="https://www.hingehealth.com/" target="_blank"><img src="https://nestjs.com/img/logos/hinge-health-logo.svg" width="100" valign="middle" /></a></td>
</tr>
<tr>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="65" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="55" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.tripoffice.com/" target="_blank"><img src="https://nestjs.com/img/logos/tripoffice-logo.png" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://solcellsforetag.se/" target="_blank"><img src="https://nestjs.com/img/logos/solcellsforetag-logo.svg" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.route4me.com/" target="_blank"><img src="https://nestjs.com/img/logos/route4me-logo.svg" width="100" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.slotsup.com/" target="_blank"><img src="https://nestjs.com/img/logos/slotsup-logo.png" width="60" valign="middle" /></a></td>
</tr>
</table>

View File

@@ -45,6 +45,10 @@ describe('Hello world (express instance)', () => {
});
});
it('/HEAD should respond to with a 200', () => {
return request(server).head('/hello').expect(200);
});
afterEach(async () => {
await app.close();
});

View File

@@ -87,6 +87,15 @@ describe('Hello world (fastify adapter)', () => {
.then(({ payload }) => expect(payload).to.be.eql('Hello world!'));
});
it('/HEAD should respond to with a 200', () => {
return app
.inject({
method: 'HEAD',
url: '/hello',
})
.then(({ statusCode }) => expect(statusCode).to.be.eq(200));
});
afterEach(async () => {
await app.close();
});

View File

@@ -24,8 +24,9 @@ export class DisconnectedClientController {
return throwError(() =>
code === 'ECONNREFUSED' ||
code === 'CONN_ERR' ||
code === 'ENOTFOUND' ||
code === 'CONNECTION_REFUSED' ||
error.message === 'Connection is closed.'
error.message.includes('Connection is closed.')
? new RequestTimeoutException('ECONNREFUSED')
: new InternalServerErrorException(),
);

View File

@@ -27,10 +27,14 @@ describe('Durable providers', () => {
tenantId: number,
end: (err?: any) => void,
endpoint = '/durable',
opts: {
forceError: boolean;
} = { forceError: false },
) =>
request(server)
.get(endpoint)
.set({ ['x-tenant-id']: tenantId })
.set({ ['x-tenant-id']: String(tenantId) })
.set({ ['x-force-error']: opts.forceError ? 'true' : 'false' })
.end((err, res) => {
if (err) return end(err);
end(res);
@@ -84,6 +88,23 @@ describe('Durable providers', () => {
);
expect(result.body).deep.equal({ tenantId: '3' });
});
it(`should not cache durable providers that throw errors`, async () => {
let result: request.Response;
result = await new Promise<request.Response>(resolve =>
performHttpCall(10, resolve, '/durable/echo', { forceError: true }),
);
expect(result.statusCode).equal(412);
// The second request should be successful
result = await new Promise<request.Response>(resolve =>
performHttpCall(10, resolve, '/durable/echo'),
);
expect(result.body).deep.equal({ tenantId: '10' });
});
});
after(async () => {

View File

@@ -6,6 +6,8 @@ const tenants = new Map<string, ContextId>();
export class DurableContextIdStrategy implements ContextIdStrategy {
attach(contextId: ContextId, request: Request) {
const tenantId = request.headers['x-tenant-id'] as string;
const forceError = request.headers['x-force-error'] === 'true';
let tenantSubTreeId: ContextId;
if (tenants.has(tenantId)) {
@@ -14,10 +16,18 @@ export class DurableContextIdStrategy implements ContextIdStrategy {
tenantSubTreeId = { id: +tenantId } as ContextId;
tenants.set(tenantId, tenantSubTreeId);
}
const payload: {
tenantId: string;
forceError?: boolean;
} = { tenantId };
if (forceError) {
payload.forceError = true;
}
return {
resolve: (info: HostComponentInfo) =>
info.isTreeDurable ? tenantSubTreeId : contextId,
payload: { tenantId },
payload,
};
}
}

View File

@@ -1,11 +1,23 @@
import { Inject, Injectable, Scope } from '@nestjs/common';
import {
Inject,
Injectable,
PreconditionFailedException,
Scope,
} from '@nestjs/common';
import { REQUEST } from '@nestjs/core';
@Injectable({ scope: Scope.REQUEST, durable: true })
export class DurableService {
public instanceCounter = 0;
constructor(@Inject(REQUEST) public readonly requestPayload: unknown) {}
constructor(
@Inject(REQUEST)
public readonly requestPayload: { tenantId: string; forceError: boolean },
) {
if (requestPayload.forceError) {
throw new PreconditionFailedException('Forced error');
}
}
greeting() {
++this.instanceCounter;

View File

@@ -3,5 +3,5 @@
"packages": [
"packages/*"
],
"version": "10.3.10"
"version": "10.4.8"
}

16434
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/core",
"version": "10.3.4",
"version": "10.4.5",
"description": "Modern, fast, powerful node.js web framework",
"homepage": "https://nestjs.com",
"repository": {
@@ -59,119 +59,119 @@
},
"dependencies": {
"@nuxtjs/opencollective": "0.3.2",
"ansis": "3.3.2",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
"cli-color": "2.0.4",
"cors": "2.8.5",
"express": "4.19.2",
"fast-json-stringify": "5.16.1",
"express": "4.21.1",
"fast-json-stringify": "6.0.0",
"fast-safe-stringify": "2.1.1",
"graphql-subscriptions": "2.0.0",
"iterare": "1.2.1",
"object-hash": "3.0.0",
"path-to-regexp": "3.2.0",
"reflect-metadata": "0.2.2",
"rxjs": "7.8.1",
"socket.io": "4.7.5",
"tslib": "2.6.3",
"socket.io": "4.8.1",
"tslib": "2.8.1",
"uid": "2.0.2",
"uuid": "10.0.0"
"uuid": "11.0.3"
},
"devDependencies": {
"@apollo/server": "4.10.4",
"@apollo/server": "4.11.2",
"@codechecks/client": "0.1.12",
"@commitlint/cli": "19.3.0",
"@commitlint/config-angular": "19.3.0",
"@commitlint/cli": "19.5.0",
"@commitlint/config-angular": "19.5.0",
"@fastify/cors": "9.0.1",
"@fastify/formbody": "7.4.0",
"@fastify/middie": "8.3.1",
"@fastify/multipart": "8.3.0",
"@fastify/static": "7.0.4",
"@fastify/view": "9.1.0",
"@grpc/grpc-js": "1.10.9",
"@grpc/grpc-js": "1.12.2",
"@grpc/proto-loader": "0.7.13",
"@nestjs/apollo": "12.1.0",
"@nestjs/graphql": "12.1.1",
"@nestjs/mongoose": "10.0.6",
"@nestjs/apollo": "12.2.1",
"@nestjs/graphql": "12.2.1",
"@nestjs/mongoose": "10.1.0",
"@nestjs/typeorm": "10.0.2",
"@types/amqplib": "0.10.5",
"@types/bytes": "3.1.4",
"@types/chai": "4.3.11",
"@types/chai": "4.3.16",
"@types/chai-as-promised": "7.1.8",
"@types/cors": "2.8.17",
"@types/express": "4.17.21",
"@types/gulp": "4.0.17",
"@types/http-errors": "2.0.4",
"@types/mocha": "10.0.6",
"@types/node": "20.14.9",
"@types/mocha": "10.0.9",
"@types/node": "22.9.0",
"@types/sinon": "17.0.3",
"@types/supertest": "2.0.16",
"@types/ws": "8.5.10",
"@typescript-eslint/eslint-plugin": "7.13.1",
"@typescript-eslint/parser": "7.13.1",
"@types/supertest": "6.0.2",
"@types/ws": "8.5.13",
"@typescript-eslint/eslint-plugin": "8.15.0",
"@typescript-eslint/parser": "8.15.0",
"amqp-connection-manager": "4.1.14",
"amqplib": "0.10.4",
"artillery": "2.0.15",
"body-parser": "1.20.2",
"artillery": "2.0.21",
"body-parser": "1.20.3",
"bytes": "3.1.2",
"cache-manager": "5.6.1",
"cache-manager": "5.7.6",
"cache-manager-redis-store": "3.0.1",
"chai": "4.4.1",
"chai": "4.5.0",
"chai-as-promised": "7.1.2",
"clang-format": "1.8.0",
"concurrently": "8.2.2",
"concurrently": "9.1.0",
"conventional-changelog": "6.0.0",
"core-js": "3.37.1",
"core-js": "3.39.0",
"coveralls": "3.1.1",
"delete-empty": "3.0.0",
"engine.io-client": "6.6.0",
"eslint": "8.57.0",
"engine.io-client": "6.6.2",
"eslint": "8.57.1",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-import": "2.29.1",
"eslint-plugin-import": "2.31.0",
"eventsource": "2.0.2",
"fancy-log": "2.0.0",
"fastify": "4.28.0",
"fastify": "4.28.1",
"graphql": "16.9.0",
"graphql-tools": "9.0.1",
"gulp": "4.0.2",
"graphql-tools": "9.0.3",
"graphql-subscriptions": "2.0.0",
"gulp": "5.0.0",
"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",
"http-errors": "2.0.0",
"husky": "9.0.11",
"husky": "9.1.6",
"imports-loader": "5.0.0",
"ioredis": "5.4.1",
"json-loader": "0.5.7",
"kafkajs": "2.2.4",
"lerna": "2.11.0",
"lerna-changelog": "2.2.0",
"light-my-request": "5.13.0",
"lint-staged": "15.2.7",
"light-my-request": "6.3.0",
"lint-staged": "15.2.10",
"markdown-table": "2.0.0",
"mocha": "10.4.0",
"mongoose": "8.4.3",
"mqtt": "5.6.0",
"mocha": "10.8.2",
"mongoose": "8.8.1",
"mqtt": "5.10.2",
"multer": "1.4.4",
"mysql2": "3.10.1",
"nats": "2.27.0",
"nodemon": "3.1.4",
"nyc": "14.1.1",
"prettier": "3.3.2",
"redis": "4.6.14",
"mysql2": "3.11.4",
"nats": "2.28.2",
"nodemon": "3.1.7",
"nyc": "17.1.0",
"prettier": "3.3.3",
"redis": "4.7.0",
"rxjs-compat": "6.6.7",
"sinon": "18.0.0",
"sinon-chai": "3.7.0",
"socket.io-client": "4.7.5",
"sinon": "19.0.2",
"sinon-chai": "4.0.0",
"socket.io-client": "4.8.1",
"subscriptions-transport-ws": "0.11.0",
"supertest": "7.0.0",
"ts-morph": "23.0.0",
"ts-morph": "24.0.0",
"ts-node": "10.9.2",
"typeorm": "0.3.20",
"typescript": "5.5.2",
"typescript": "5.6.3",
"wrk": "1.2.1",
"ws": "8.17.1"
"ws": "8.18.0"
},
"engines": {
"node": ">= 16"

View File

@@ -91,10 +91,12 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<table style="text-align:center;">
<tr>
<td><a href="https://n.inc" target="_blank"><img src="https://nestjs.com/img/logos/n-inc-logo.svg" width="90" valign="middle" /></a></td>
<td><a href="https://twistag.com/" target="_blank"><img src="https://nestjs.com/img/logos/twistag-logo.png" width="120" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="75" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="110" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="100" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://bloodycase.com/?promocode=NEST" target="_blank"><img src="https://nestjs.com/img/logos/bloodycase-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://handsontable.com/docs/react-data-grid/?utm_source=NestJS_GH&utm_medium=sponsorship&utm_campaign=library_sponsorship_2024" target="_blank"><img src="https://nestjs.com/img/logos/handsontable-dark-logo.svg#2" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="170" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://arcjet.com/?ref=nestjs" target="_blank"><img src="https://nestjs.com/img/logos/arcjet-logo.svg" width="170" valign="middle" /></a></td>
</tr>
</table>
@@ -126,10 +128,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle"><a href="https://www.hingehealth.com/" target="_blank"><img src="https://nestjs.com/img/logos/hinge-health-logo.svg" width="100" valign="middle" /></a></td>
</tr>
<tr>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="65" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="55" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.tripoffice.com/" target="_blank"><img src="https://nestjs.com/img/logos/tripoffice-logo.png" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://solcellsforetag.se/" target="_blank"><img src="https://nestjs.com/img/logos/solcellsforetag-logo.svg" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.route4me.com/" target="_blank"><img src="https://nestjs.com/img/logos/route4me-logo.svg" width="100" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.slotsup.com/" target="_blank"><img src="https://nestjs.com/img/logos/slotsup-logo.png" width="60" valign="middle" /></a></td>
</tr>
</table>

View File

@@ -1,10 +1,22 @@
/**
* Options for `StreamableFile`
*
* @see [Streaming files](https://docs.nestjs.com/techniques/streaming-files)
*
* @publicApi
*/
export interface StreamableFileOptions {
/**
* The value that will be used for the `Content-Type` response header.
* @default `"application/octet-stream"`
*/
type?: string;
/**
* The value that will be used for the `Content-Disposition` response header.
*/
disposition?: string;
/**
* The value that will be used for the `Content-Length` response header.
*/
length?: number;
}

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/common",
"version": "10.3.10",
"version": "10.4.8",
"description": "Nest - modern, fast, powerful node.js web framework (@common)",
"author": "Kamil Mysliwiec",
"homepage": "https://nestjs.com",
@@ -19,7 +19,7 @@
"license": "MIT",
"dependencies": {
"iterare": "1.2.1",
"tslib": "2.6.3",
"tslib": "2.7.0",
"uid": "2.0.2"
},
"peerDependencies": {

View File

@@ -15,7 +15,7 @@ import { isNil, isString } from '../utils/shared.utils';
* @publicApi
*/
export interface ParseUUIDPipeOptions {
version?: '3' | '4' | '5';
version?: '3' | '4' | '5' | '7';
errorHttpStatusCode?: ErrorHttpStatusCode;
exceptionFactory?: (errors: string) => any;
optional?: boolean;
@@ -34,9 +34,10 @@ export class ParseUUIDPipe implements PipeTransform<string> {
3: /^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,
4: /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
5: /^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
7: /^[0-9A-F]{8}-[0-9A-F]{4}-7[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,
all: /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i,
};
private readonly version: '3' | '4' | '5';
private readonly version: '3' | '4' | '5' | '7';
protected exceptionFactory: (errors: string) => any;
constructor(@Optional() protected readonly options?: ParseUUIDPipeOptions) {

View File

@@ -116,11 +116,12 @@ export class ValidationPipe implements PipeTransform<any> {
: value;
}
const originalValue = value;
value = this.toEmptyIfNil(value);
value = this.toEmptyIfNil(value, metatype);
const isNil = value !== originalValue;
const isPrimitive = this.isPrimitive(value);
this.stripProtoKeys(value);
let entity = classTransformer.plainToClass(
metatype,
value,
@@ -208,8 +209,24 @@ export class ValidationPipe implements PipeTransform<any> {
return value;
}
protected toEmptyIfNil<T = any, R = any>(value: T): R | {} {
return isNil(value) ? {} : value;
protected toEmptyIfNil<T = any, R = any>(
value: T,
metatype: Type<unknown> | object,
): R | {} {
if (!isNil(value)) {
return value;
}
if (
typeof metatype === 'function' ||
(metatype && 'prototype' in metatype && metatype.prototype?.constructor)
) {
return {};
}
// Builder like SWC require empty string to be returned instead of an empty object
// when the value is nil and the metatype is not a class instance, but a plain object (enum, for example).
// Otherwise, the error will be thrown.
// @see https://github.com/nestjs/nest/issues/12680
return '';
}
protected stripProtoKeys(value: any) {

View File

@@ -478,6 +478,56 @@ describe('ValidationPipe', () => {
});
});
describe('option: "validateCustomDecorators" when metadata.type is not `body`', () => {
describe('when is set to `true`', () => {
it('should transform and validate', async () => {
const target = new ValidationPipe({
validateCustomDecorators: true,
});
const metadata: ArgumentMetadata = {
type: 'custom',
metatype: TestModel,
data: '',
};
const testObj = { prop1: 'value1', prop2: 'value2' };
expect(await target.transform(testObj, metadata)).to.not.be.undefined;
});
});
describe('when is set to `false`', () => {
it('should throw an error', async () => {
const target = new ValidationPipe({
validateCustomDecorators: false,
});
const metadata: ArgumentMetadata = {
type: 'custom',
metatype: TestModel,
data: '',
};
const objNotFollowingTestModel = { prop1: undefined, prop2: 'value2' };
expect(await target.transform(objNotFollowingTestModel, metadata)).to
.not.be.undefined;
});
});
describe('when is not supplied', () => {
it('should transform and validate', async () => {
const target = new ValidationPipe({});
const metadata: ArgumentMetadata = {
type: 'custom',
metatype: TestModel,
data: '',
};
const testObj = { prop1: 'value1', prop2: 'value2' };
expect(await target.transform(testObj, metadata)).to.not.be.undefined;
});
});
});
describe('option: "errorHttpStatusCode"', () => {
describe('when validation fails', () => {
beforeEach(() => {

View File

@@ -1,7 +1,7 @@
import { Logger } from '../services/logger.service';
const MISSING_REQUIRED_DEPENDENCY = (name: string, reason: string) =>
`The "${name}" package is missing. Please, make sure to install this library ($ npm install ${name}) to take advantage of ${reason}.`;
`The "${name}" package is missing. Please, make sure to install it to take advantage of ${reason}.`;
const logger = new Logger('PackageLoader');

View File

@@ -91,10 +91,12 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<table style="text-align:center;">
<tr>
<td><a href="https://n.inc" target="_blank"><img src="https://nestjs.com/img/logos/n-inc-logo.svg" width="90" valign="middle" /></a></td>
<td><a href="https://twistag.com/" target="_blank"><img src="https://nestjs.com/img/logos/twistag-logo.png" width="120" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="75" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="110" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="100" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://bloodycase.com/?promocode=NEST" target="_blank"><img src="https://nestjs.com/img/logos/bloodycase-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://handsontable.com/docs/react-data-grid/?utm_source=NestJS_GH&utm_medium=sponsorship&utm_campaign=library_sponsorship_2024" target="_blank"><img src="https://nestjs.com/img/logos/handsontable-dark-logo.svg#2" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="170" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://arcjet.com/?ref=nestjs" target="_blank"><img src="https://nestjs.com/img/logos/arcjet-logo.svg" width="170" valign="middle" /></a></td>
</tr>
</table>
@@ -126,10 +128,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle"><a href="https://www.hingehealth.com/" target="_blank"><img src="https://nestjs.com/img/logos/hinge-health-logo.svg" width="100" valign="middle" /></a></td>
</tr>
<tr>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="65" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="55" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.tripoffice.com/" target="_blank"><img src="https://nestjs.com/img/logos/tripoffice-logo.png" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://solcellsforetag.se/" target="_blank"><img src="https://nestjs.com/img/logos/solcellsforetag-logo.svg" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.route4me.com/" target="_blank"><img src="https://nestjs.com/img/logos/route4me-logo.svg" width="100" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.slotsup.com/" target="_blank"><img src="https://nestjs.com/img/logos/slotsup-logo.png" width="60" valign="middle" /></a></td>
</tr>
</table>

View File

@@ -146,7 +146,7 @@ export class DiscoverableMetaHostCollection {
// But since calling `wrapper.instance` could degrade overall performance
// we must defer it as much we can.
instanceWrapper.metatype || instanceWrapper.inject
? instanceWrapper.instance?.constructor ?? instanceWrapper.metatype
? (instanceWrapper.instance?.constructor ?? instanceWrapper.metatype)
: instanceWrapper.metatype,
);
}

View File

@@ -1,3 +1,4 @@
import { Observable, Subject } from 'rxjs';
import { AbstractHttpAdapter } from '../adapters/http-adapter';
/**
@@ -16,6 +17,8 @@ export class HttpAdapterHost<
T extends AbstractHttpAdapter = AbstractHttpAdapter,
> {
private _httpAdapter?: T;
private _listen$ = new Subject<void>();
private isListening = false;
/**
* Accessor for the underlying `HttpAdapter`
@@ -35,4 +38,31 @@ export class HttpAdapterHost<
get httpAdapter(): T {
return this._httpAdapter;
}
/**
* Observable that allows to subscribe to the `listen` event.
* This event is emitted when the HTTP application is listening for incoming requests.
*/
get listen$(): Observable<void> {
return this._listen$.asObservable();
}
/**
* Sets the listening state of the application.
*/
set listening(listening: boolean) {
this.isListening = listening;
if (listening) {
this._listen$.next();
this._listen$.complete();
}
}
/**
* Returns a boolean indicating whether the application is listening for incoming requests.
*/
get listening(): boolean {
return this.isListening;
}
}

View File

@@ -313,7 +313,7 @@ export class NestContainer {
metadataKey?: Exclude<keyof DynamicModule, 'global' | 'module'>,
) {
const metadata = this.dynamicModulesMetadata.get(token);
return metadataKey ? metadata?.[metadataKey] ?? [] : metadata;
return metadataKey ? (metadata?.[metadataKey] ?? []) : metadata;
}
public registerCoreModuleRef(moduleRef: Module) {

View File

@@ -170,6 +170,11 @@ export class Injector {
inquirer,
);
} catch (err) {
wrapper.removeInstanceByContextId(
this.getContextId(contextId, wrapper),
inquirerId,
);
settlementSignal.error(err);
throw err;
}

View File

@@ -168,6 +168,21 @@ export class InstanceWrapper<T = any> {
collection.set(contextId, value);
}
public removeInstanceByContextId(contextId: ContextId, inquirerId?: string) {
if (this.scope === Scope.TRANSIENT && inquirerId) {
return this.removeInstanceByInquirerId(contextId, inquirerId);
}
this.values.delete(contextId);
}
public removeInstanceByInquirerId(contextId: ContextId, inquirerId: string) {
const collection = this.transientMap.get(inquirerId);
if (!collection) {
return;
}
collection.delete(contextId);
}
public addCtorMetadata(index: number, wrapper: InstanceWrapper) {
if (!this[INSTANCE_METADATA_SYMBOL].dependencies) {
this[INSTANCE_METADATA_SYMBOL].dependencies = [];

View File

@@ -2,6 +2,7 @@ import { Logger } from '@nestjs/common';
import { ExternalContextCreator } from '../../helpers/external-context-creator';
import { HttpAdapterHost } from '../../helpers/http-adapter-host';
import { GraphInspector } from '../../inspector/graph-inspector';
import { InitializeOnPreviewAllowlist } from '../../inspector/initialize-on-preview.allowlist';
import { SerializedGraph } from '../../inspector/serialized-graph';
import { ModuleOverride } from '../../interfaces/module-override.interface';
import { DependenciesScanner } from '../../scanner';
@@ -42,6 +43,8 @@ export class InternalCoreModuleFactory {
);
};
InitializeOnPreviewAllowlist.add(InternalCoreModule);
return InternalCoreModule.register([
{
provide: ExternalContextCreator,

View File

@@ -144,7 +144,7 @@ export class SerializedGraph {
if (typeof value === 'symbol') {
return value.toString();
}
return typeof value === 'function' ? value.name ?? 'Function' : value;
return typeof value === 'function' ? (value.name ?? 'Function') : value;
};
return JSON.stringify(this.toJSON(), replacer, 2);
}

View File

@@ -30,7 +30,8 @@ export class InterceptorsConsumer {
return defer(AsyncResource.bind(() => this.transformDeferred(next)));
}
const handler: CallHandler = {
handle: () => fromPromise(nextFn(i + 1)).pipe(mergeAll()),
handle: () =>
defer(AsyncResource.bind(() => nextFn(i + 1))).pipe(mergeAll()),
};
return interceptors[i].intercept(context, handler);
};

View File

@@ -54,6 +54,7 @@ export class NestApplicationContext<
private shutdownCleanupRef?: (...args: unknown[]) => unknown;
private _instanceLinksHost: InstanceLinksHost;
private _moduleRefsForHooksByDistance?: Array<Module>;
private initializationPromise?: Promise<void>;
protected get instanceLinksHost() {
if (!this._instanceLinksHost) {
@@ -234,8 +235,16 @@ export class NestApplicationContext<
if (this.isInitialized) {
return this;
}
await this.callInitHook();
await this.callBootstrapHook();
this.initializationPromise = new Promise(async (resolve, reject) => {
try {
await this.callInitHook();
await this.callBootstrapHook();
resolve();
} catch (err) {
reject(err);
}
});
await this.initializationPromise;
this.isInitialized = true;
return this;
@@ -246,6 +255,7 @@ export class NestApplicationContext<
* @returns {Promise<void>}
*/
public async close(signal?: string): Promise<void> {
await this.initializationPromise;
await this.callDestroyHook();
await this.callBeforeShutdownHook(signal);
await this.dispose();
@@ -333,6 +343,7 @@ export class NestApplicationContext<
return;
}
receivedSignal = true;
await this.initializationPromise;
await this.callDestroyHook();
await this.callBeforeShutdownHook(signal);
await this.dispose();

View File

@@ -294,8 +294,12 @@ export class NestApplication
public async listen(port: number | string, hostname: string): Promise<any>;
public async listen(port: number | string, ...args: any[]): Promise<any> {
this.assertNotInPreviewMode('listen');
!this.isInitialized && (await this.init());
if (!this.isInitialized) {
await this.init();
}
const httpAdapterHost = this.container.getHttpAdapterHostRef();
return new Promise((resolve, reject) => {
const errorHandler = (e: any) => {
this.logger.error(e?.toString?.());
@@ -323,6 +327,8 @@ export class NestApplication
if (address) {
this.httpServer.removeListener('error', errorHandler);
this.isListening = true;
httpAdapterHost.listening = true;
resolve(this.httpServer);
}
if (isCallbackInOriginalArgs) {

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/core",
"version": "10.3.10",
"version": "10.4.8",
"description": "Nest - modern, fast, powerful node.js web framework (@core)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -31,12 +31,12 @@
"@nuxtjs/opencollective": "0.3.2",
"fast-safe-stringify": "2.1.1",
"iterare": "1.2.1",
"path-to-regexp": "3.2.0",
"tslib": "2.6.3",
"path-to-regexp": "3.3.0",
"tslib": "2.7.0",
"uid": "2.0.2"
},
"devDependencies": {
"@nestjs/common": "10.3.10"
"@nestjs/common": "10.4.8"
},
"peerDependencies": {
"@nestjs/common": "^10.0.0",

View File

@@ -522,7 +522,7 @@ export class DependenciesScanner {
}
public insertExportedProvider(
// TODO: improve the type definition bellow because it doesn't reflects the real usage of this method
// TODO: improve the type definition below because it doesn't reflects the real usage of this method
exportedProvider: Type<Injectable> | ForwardReference,
token: string,
) {

View File

@@ -2,11 +2,27 @@ import { expect } from 'chai';
import { HttpAdapterHost } from '../../helpers/http-adapter-host';
describe('HttpAdapterHost', () => {
const applicationRefHost = new HttpAdapterHost();
let applicationRefHost: HttpAdapterHost;
beforeEach(() => {
applicationRefHost = new HttpAdapterHost();
});
it('should wrap application reference', () => {
const ref = {};
applicationRefHost.httpAdapter = ref as any;
expect(applicationRefHost.httpAdapter).to.be.eql(ref);
});
it('should emit listen event when listening is set to true', done => {
applicationRefHost.listen$.subscribe(() => {
expect(applicationRefHost.listening).to.be.true;
done();
});
applicationRefHost.listening = true;
});
it('listening should return false if the application isnt listening yet', () => {
expect(applicationRefHost.listening).to.be.false;
});
});

View File

@@ -1,6 +1,7 @@
import { Scope } from '@nestjs/common';
import { expect } from 'chai';
import * as sinon from 'sinon';
import { createContextId } from '../../helpers';
import { STATIC_CONTEXT } from '../../injector/constants';
import { InstanceWrapper } from '../../injector/instance-wrapper';
@@ -737,6 +738,53 @@ describe('InstanceWrapper', () => {
});
});
describe('removeInstanceByContextId', () => {
describe('without inquirer', () => {
it('should remove instance for given context', () => {
const wrapper = new InstanceWrapper({
scope: Scope.TRANSIENT,
});
const contextId = createContextId();
wrapper.setInstanceByContextId(contextId, { instance: {} });
const existingContext = wrapper.getInstanceByContextId(contextId);
expect(existingContext.instance).to.be.not.undefined;
wrapper.removeInstanceByContextId(contextId);
const removedContext = wrapper.getInstanceByContextId(contextId);
expect(removedContext.instance).to.be.undefined;
});
});
describe('when transient and inquirer has been passed', () => {
it('should remove instance for given context', () => {
const wrapper = new InstanceWrapper({
scope: Scope.TRANSIENT,
});
wrapper.setInstanceByContextId(
STATIC_CONTEXT,
{ instance: {} },
'inquirerId',
);
const existingContext = wrapper.getInstanceByContextId(
STATIC_CONTEXT,
'inquirerId',
);
expect(existingContext.instance).to.be.not.undefined;
wrapper.removeInstanceByContextId(STATIC_CONTEXT, 'inquirerId');
const removedContext = wrapper.getInstanceByContextId(
STATIC_CONTEXT,
'inquirerId',
);
expect(removedContext.instance).to.be.undefined;
});
});
});
describe('isInRequestScope', () => {
describe('when tree and context are not static and is not transient', () => {
it('should return true', () => {

View File

@@ -1,7 +1,7 @@
import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
import { AsyncLocalStorage } from 'async_hooks';
import { expect } from 'chai';
import { Observable, lastValueFrom, of, retry } from 'rxjs';
import { Observable, defer, lastValueFrom, merge, of, retry } from 'rxjs';
import * as sinon from 'sinon';
import { InterceptorsConsumer } from '../../interceptors/interceptors-consumer';
@@ -179,6 +179,51 @@ describe('InterceptorsConsumer', () => {
});
});
});
describe('deferred promise conversion', () => {
it('should convert promise to observable deferred', async () => {
class TestError extends Error {}
const testInterceptors = [
{
intercept: sinon.stub().callsFake(async (ctx, handler) => {
return merge(
handler.handle(),
defer(() => {
throw new TestError();
}),
);
}),
},
{
intercept: sinon
.stub()
.callsFake(async (ctx, handler) => handler.handle()),
},
{
intercept: sinon
.stub()
.callsFake(async (ctx, handler) => handler.handle()),
},
,
];
const observable = await consumer.intercept(
testInterceptors,
null,
{ constructor: null },
null,
async () => 1,
);
try {
await transformToResult(observable);
} catch (error) {
if (!(error instanceof TestError)) {
throw error;
}
}
expect(testInterceptors[2].intercept.called).to.be.false;
});
});
});
async function transformToResult(resultOrDeferred: any) {

View File

@@ -1,4 +1,4 @@
import { InjectionToken, Scope } from '@nestjs/common';
import { InjectionToken, Provider, Scope } from '@nestjs/common';
import { expect } from 'chai';
import * as sinon from 'sinon';
import { ContextIdFactory } from '../helpers/context-id-factory';
@@ -7,6 +7,7 @@ import { Injector } from '../injector/injector';
import { InstanceLoader } from '../injector/instance-loader';
import { GraphInspector } from '../inspector/graph-inspector';
import { NestApplicationContext } from '../nest-application-context';
import { setTimeout } from 'timers/promises';
describe('NestApplicationContext', () => {
class A {}
@@ -14,6 +15,7 @@ describe('NestApplicationContext', () => {
async function testHelper(
injectionKey: InjectionToken,
scope: Scope,
additionalProviders: Array<Provider> = [],
): Promise<NestApplicationContext> {
const nestContainer = new NestContainer();
const injector = new Injector();
@@ -33,6 +35,10 @@ describe('NestApplicationContext', () => {
moduleRef.token,
);
for (const provider of additionalProviders) {
nestContainer.addProvider(provider, moduleRef.token);
}
nestContainer.addInjectable(
{
provide: injectionKey,
@@ -96,6 +102,58 @@ describe('NestApplicationContext', () => {
expect(processUp).to.be.false;
expect(promisesResolved).to.be.true;
});
it('should defer shutdown until all init hooks are resolved', async () => {
const clock = sinon.useFakeTimers({
toFake: ['setTimeout'],
});
const signal = 'SIGTERM';
const onModuleInitStub = sinon.stub();
const onApplicationShutdownStub = sinon.stub();
class B {
async onModuleInit() {
await setTimeout(5000);
onModuleInitStub();
}
async onApplicationShutdown() {
await setTimeout(1000);
onApplicationShutdownStub();
}
}
const applicationContext = await testHelper(A, Scope.DEFAULT, [
{ provide: B, useClass: B, scope: Scope.DEFAULT },
]);
applicationContext.enableShutdownHooks([signal]);
const ignoreProcessSignal = () => {
// noop to prevent process from exiting
};
process.on(signal, ignoreProcessSignal);
const deferredShutdown = async () => {
setTimeout(1);
process.kill(process.pid, signal);
};
Promise.all([applicationContext.init(), deferredShutdown()]);
await clock.nextAsync();
expect(onModuleInitStub.called).to.be.false;
expect(onApplicationShutdownStub.called).to.be.false;
await clock.nextAsync();
expect(onModuleInitStub.called).to.be.true;
expect(onApplicationShutdownStub.called).to.be.false;
await clock.nextAsync();
expect(onModuleInitStub.called).to.be.true;
expect(onApplicationShutdownStub.called).to.be.true;
clock.restore();
});
});
describe('get', () => {

View File

@@ -382,7 +382,7 @@ data: test
beforeEach(() => {
// Can't access to the internal sseStream,
// as a workround, set `defaultMaxListeners` of `SseStream` and reset the max listeners of `process`
// as a workaround, set `defaultMaxListeners` of `SseStream` and reset the max listeners of `process`
const PROCESS_MAX_LISTENERS = process.getMaxListeners();
SseStream.defaultMaxListeners = MAX_LISTENERS;
process.setMaxListeners(PROCESS_MAX_LISTENERS);

View File

@@ -91,10 +91,12 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<table style="text-align:center;">
<tr>
<td><a href="https://n.inc" target="_blank"><img src="https://nestjs.com/img/logos/n-inc-logo.svg" width="90" valign="middle" /></a></td>
<td><a href="https://twistag.com/" target="_blank"><img src="https://nestjs.com/img/logos/twistag-logo.png" width="120" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="75" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="110" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="100" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://bloodycase.com/?promocode=NEST" target="_blank"><img src="https://nestjs.com/img/logos/bloodycase-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://handsontable.com/docs/react-data-grid/?utm_source=NestJS_GH&utm_medium=sponsorship&utm_campaign=library_sponsorship_2024" target="_blank"><img src="https://nestjs.com/img/logos/handsontable-dark-logo.svg#2" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="170" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://arcjet.com/?ref=nestjs" target="_blank"><img src="https://nestjs.com/img/logos/arcjet-logo.svg" width="170" valign="middle" /></a></td>
</tr>
</table>
@@ -126,10 +128,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle"><a href="https://www.hingehealth.com/" target="_blank"><img src="https://nestjs.com/img/logos/hinge-health-logo.svg" width="100" valign="middle" /></a></td>
</tr>
<tr>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="65" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="55" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.tripoffice.com/" target="_blank"><img src="https://nestjs.com/img/logos/tripoffice-logo.png" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://solcellsforetag.se/" target="_blank"><img src="https://nestjs.com/img/logos/solcellsforetag-logo.svg" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.route4me.com/" target="_blank"><img src="https://nestjs.com/img/logos/route4me-logo.svg" width="100" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.slotsup.com/" target="_blank"><img src="https://nestjs.com/img/logos/slotsup-logo.png" width="60" valign="middle" /></a></td>
</tr>
</table>

View File

@@ -1,6 +1,6 @@
import { Logger } from '@nestjs/common/services/logger.service';
import { loadPackage } from '@nestjs/common/utils/load-package.util';
import { isUndefined } from '@nestjs/common/utils/shared.utils';
import { isNil, isUndefined } from '@nestjs/common/utils/shared.utils';
import {
KAFKA_DEFAULT_BROKER,
KAFKA_DEFAULT_CLIENT,
@@ -37,6 +37,15 @@ import {
KafkaRequestSerializer,
} from '../serializers/kafka-request.serializer';
import { ClientProxy } from './client-proxy';
import {
connectable,
defer,
Observable,
Subject,
throwError as _throw,
} from 'rxjs';
import { mergeMap } from 'rxjs/operators';
import { InvalidMessageException } from '../errors/invalid-message.exception';
let kafkaPackage: any = {};
@@ -223,6 +232,58 @@ export class ClientKafka extends ClientProxy {
return this.consumerAssignments;
}
public emitBatch<TResult = any, TInput = any>(
pattern: any,
data: { messages: TInput[] },
): Observable<TResult> {
if (isNil(pattern) || isNil(data)) {
return _throw(() => new InvalidMessageException());
}
const source = defer(async () => this.connect()).pipe(
mergeMap(() => this.dispatchBatchEvent({ pattern, data })),
);
const connectableSource = connectable(source, {
connector: () => new Subject(),
resetOnDisconnect: false,
});
connectableSource.connect();
return connectableSource;
}
public commitOffsets(
topicPartitions: TopicPartitionOffsetAndMetadata[],
): Promise<void> {
if (this.consumer) {
return this.consumer.commitOffsets(topicPartitions);
} else {
throw new Error('No consumer initialized');
}
}
protected async dispatchBatchEvent<TInput = any>(
packets: ReadPacket<{ messages: TInput[] }>,
): Promise<any> {
if (packets.data.messages.length === 0) {
return;
}
const pattern = this.normalizePattern(packets.pattern);
const outgoingEvents = await Promise.all(
packets.data.messages.map(message => {
return this.serializer.serialize(message as any, { pattern });
}),
);
const message = Object.assign(
{
topic: pattern,
messages: outgoingEvents,
},
this.options.send || {},
);
return this.producer.send(message);
}
protected async dispatchEvent(packet: OutgoingEvent): Promise<any> {
const pattern = this.normalizePattern(packet.pattern);
const outgoingEvent = await this.serializer.serialize(packet.data, {
@@ -320,14 +381,4 @@ export class ClientKafka extends ClientProxy {
this.deserializer =
(options && options.deserializer) || new KafkaResponseDeserializer();
}
public commitOffsets(
topicPartitions: TopicPartitionOffsetAndMetadata[],
): Promise<void> {
if (this.consumer) {
return this.consumer.commitOffsets(topicPartitions);
} else {
throw new Error('No consumer initialized');
}
}
}

View File

@@ -210,15 +210,22 @@ export class ClientMqtt extends ClientProxy {
return undefined;
}
return {
...requestOptions,
properties: {
...requestOptions?.properties,
// Cant just spread objects as MQTT won't deliver
// any message with empty object as "userProperties" field
// @url https://github.com/nestjs/nest/issues/14079
let options: MqttRecordOptions = {};
if (requestOptions) {
options = { ...requestOptions };
}
if (this.options?.userProperties) {
options.properties = {
...options.properties,
userProperties: {
...this.options?.userProperties,
...requestOptions?.properties?.userProperties,
...options.properties?.userProperties,
},
},
};
};
}
return options;
}
}

View File

@@ -18,6 +18,7 @@ let natsPackage = {} as any;
export class ClientNats extends ClientProxy {
protected readonly logger = new Logger(ClientNats.name);
protected natsClient: Client;
protected clientConnectionPromise: Promise<Client>;
constructor(protected readonly options: NatsOptions['options']) {
super();
@@ -30,13 +31,15 @@ export class ClientNats extends ClientProxy {
public async close() {
await this.natsClient?.close();
this.natsClient = null;
this.clientConnectionPromise = null;
}
public async connect(): Promise<any> {
if (this.natsClient) {
return this.natsClient;
if (this.clientConnectionPromise) {
return this.clientConnectionPromise;
}
this.natsClient = await this.createClient();
this.clientConnectionPromise = this.createClient();
this.natsClient = await this.clientConnectionPromise;
this.handleStatusUpdates(this.natsClient);
return this.natsClient;
}

View File

@@ -135,9 +135,7 @@ export class ClientRMQ extends ClientProxy {
public createClient(): AmqpConnectionManager {
const socketOptions = this.getOptionsProp(this.options, 'socketOptions');
return rmqPackage.connect(this.urls, {
connectionOptions: socketOptions?.connectionOptions,
});
return rmqPackage.connect(this.urls, socketOptions);
}
public mergeDisconnectEvent<T = any>(

View File

@@ -1,23 +1,23 @@
import {
isObject,
isNumber,
isNil,
isNumber,
isObject,
isSymbol,
} from '@nestjs/common/utils/shared.utils';
/* eslint-disable @typescript-eslint/no-use-before-define */
import {
PATTERN_EXTRAS_METADATA,
PATTERN_HANDLER_METADATA,
PATTERN_METADATA,
TRANSPORT_METADATA,
PATTERN_EXTRAS_METADATA,
} from '../constants';
import { PatternHandler } from '../enums/pattern-handler.enum';
import { PatternMetadata } from '../interfaces/pattern-metadata.interface';
import { Transport } from '../enums';
import { PatternHandler } from '../enums/pattern-handler.enum';
import {
InvalidGrpcDecoratorException,
RpcDecoratorMetadata,
} from '../errors/invalid-grpc-message-decorator.exception';
import { PatternMetadata } from '../interfaces/pattern-metadata.interface';
export enum GrpcMethodStreamingType {
NO_STREAMING = 'no_stream',
@@ -141,7 +141,37 @@ export function GrpcStreamMethod(
method,
GrpcMethodStreamingType.RX_STREAMING,
);
return MessagePattern(metadata, Transport.GRPC)(target, key, descriptor);
MessagePattern(metadata, Transport.GRPC)(target, key, descriptor);
const originalMethod = descriptor.value;
// Override original method to call the "drainBuffer" method on the first parameter
// This is required to avoid premature message emission
descriptor.value = async function (
this: any,
observable: any,
...args: any[]
) {
const result = await Promise.resolve(
originalMethod.apply(this, [observable, ...args]),
);
// Drain buffer if "drainBuffer" method is available
if (observable && observable.drainBuffer) {
process.nextTick(() => {
observable.drainBuffer();
});
}
return result;
};
// Copy all metadata from the original method to the new one
const metadataKeys = Reflect.getMetadataKeys(originalMethod);
metadataKeys.forEach(metadataKey => {
const metadataValue = Reflect.getMetadata(metadataKey, originalMethod);
Reflect.defineMetadata(metadataKey, metadataValue, descriptor.value);
});
};
}

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/microservices",
"version": "10.3.10",
"version": "10.4.8",
"description": "Nest - modern, fast, powerful node.js web framework (@microservices)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -19,11 +19,11 @@
},
"dependencies": {
"iterare": "1.2.1",
"tslib": "2.6.3"
"tslib": "2.7.0"
},
"devDependencies": {
"@nestjs/common": "10.3.10",
"@nestjs/core": "10.3.10"
"@nestjs/common": "10.4.8",
"@nestjs/core": "10.4.8"
},
"peerDependencies": {
"@grpc/grpc-js": "*",

View File

@@ -6,6 +6,7 @@ import {
import {
EMPTY,
Observable,
ReplaySubject,
Subject,
Subscription,
defaultIfEmpty,
@@ -125,7 +126,6 @@ export class ServerGrpc extends Server implements CustomTransportStrategy {
const service = {};
for (const methodName in grpcService.prototype) {
let pattern = '';
let methodHandler = null;
let streamingType = GrpcMethodStreamingType.NO_STREAMING;
@@ -135,38 +135,38 @@ export class ServerGrpc extends Server implements CustomTransportStrategy {
if (!isUndefined(methodReqStreaming) && methodReqStreaming) {
// Try first pattern to be presented, RX streaming pattern would be
// a preferable pattern to select among a few defined
pattern = this.createPattern(
methodHandler = this.getMessageHandler(
name,
methodName,
GrpcMethodStreamingType.RX_STREAMING,
methodFunction,
);
methodHandler = this.messageHandlers.get(pattern);
streamingType = GrpcMethodStreamingType.RX_STREAMING;
// If first pattern didn't match to any of handlers then try
// pass-through handler to be presented
if (!methodHandler) {
pattern = this.createPattern(
methodHandler = this.getMessageHandler(
name,
methodName,
GrpcMethodStreamingType.PT_STREAMING,
methodFunction,
);
methodHandler = this.messageHandlers.get(pattern);
streamingType = GrpcMethodStreamingType.PT_STREAMING;
}
} else {
pattern = this.createPattern(
// Select handler if any presented for No-Streaming pattern
methodHandler = this.getMessageHandler(
name,
methodName,
GrpcMethodStreamingType.NO_STREAMING,
methodFunction,
);
// Select handler if any presented for No-Streaming pattern
methodHandler = this.messageHandlers.get(pattern);
streamingType = GrpcMethodStreamingType.NO_STREAMING;
}
if (!methodHandler) {
continue;
}
service[methodName] = await this.createServiceMethod(
service[methodName] = this.createServiceMethod(
methodHandler,
grpcService.prototype[methodName],
streamingType,
@@ -175,6 +175,22 @@ export class ServerGrpc extends Server implements CustomTransportStrategy {
return service;
}
public getMessageHandler(
serviceName: string,
methodName: string,
streaming: GrpcMethodStreamingType,
grpcMethod: { path?: string },
) {
let pattern = this.createPattern(serviceName, methodName, streaming);
let methodHandler = this.messageHandlers.get(pattern);
if (!methodHandler) {
const packageServiceName = grpcMethod.path?.split?.('/')[1];
pattern = this.createPattern(packageServiceName, methodName, streaming);
methodHandler = this.messageHandlers.get(pattern);
}
return methodHandler;
}
/**
* Will create a string of a JSON serialized format
*
@@ -263,7 +279,7 @@ export class ServerGrpc extends Server implements CustomTransportStrategy {
source: Observable<T>,
call: GrpcCall<T>,
): Promise<void> {
// this promise should **not** reject, as we're handling errors in the observable for the Call
// This promise should **not** reject, as we're handling errors in the observable for the Call
// the promise is only needed to signal when writing/draining has been completed
return new Promise((resolve, _doNotUse) => {
const valuesWaitingToBeDrained: T[] = [];
@@ -365,8 +381,11 @@ export class ServerGrpc extends Server implements CustomTransportStrategy {
call: GrpcCall,
callback: (err: unknown, value: unknown) => void,
) => {
const req = new Subject<any>();
call.on('data', (m: any) => req.next(m));
// Needs to be a Proxy in order to buffer messages that come before handler is executed
// This could happen if handler has any async guards or interceptors registered that would delay
// the execution.
const { subject, next, error, complete } = this.bufferUntilDrained();
call.on('data', (m: any) => next(m));
call.on('error', (e: any) => {
// Check if error means that stream ended on other end
const isCancelledError = String(e).toLowerCase().indexOf('cancelled');
@@ -376,11 +395,15 @@ export class ServerGrpc extends Server implements CustomTransportStrategy {
return;
}
// If another error then just pass it along
req.error(e);
error(e);
});
call.on('end', () => req.complete());
call.on('end', () => complete());
const handler = methodHandler(req.asObservable(), call.metadata, call);
const handler = methodHandler(
subject.asObservable(),
call.metadata,
call,
);
const res = this.transformToObservable(await handler);
if (isResponseStream) {
await this.writeObservableToGrpc(res, call);
@@ -411,11 +434,15 @@ export class ServerGrpc extends Server implements CustomTransportStrategy {
call: GrpcCall,
callback: (err: unknown, value: unknown) => void,
) => {
let handlerStream: Observable<any>;
if (isResponseStream) {
methodHandler(call);
handlerStream = this.transformToObservable(await methodHandler(call));
} else {
methodHandler(call, callback);
handlerStream = this.transformToObservable(
await methodHandler(call, callback),
);
}
await lastValueFrom(handlerStream);
};
}
@@ -454,7 +481,7 @@ export class ServerGrpc extends Server implements CustomTransportStrategy {
this.messageHandlers.set(route, callback);
}
public async createClient(): Promise<any> {
public async createClient() {
const channelOptions: ChannelOptions =
this.options && this.options.channelOptions
? this.options.channelOptions
@@ -597,4 +624,70 @@ export class ServerGrpc extends Server implements CustomTransportStrategy {
);
}
}
private bufferUntilDrained<T>() {
type DrainableSubject<T> = Subject<T> & { drainBuffer: () => void };
const subject = new Subject<T>();
const replayBuffer = new ReplaySubject<T>();
let hasDrained = false;
function drainBuffer(this: DrainableSubject<T>) {
if (hasDrained) {
return;
}
hasDrained = true;
// Replay buffered values to the new subscriber
replayBuffer.subscribe({
next: val => console.log('emitted', val),
});
replayBuffer.complete();
}
return {
subject: new Proxy<DrainableSubject<T>>(subject as DrainableSubject<T>, {
get(target, prop, receiver) {
if (prop === 'asObservable') {
return () => {
const stream = subject.asObservable();
// "drainBuffer" will be called before the evaluation of the handler
// but after any enhancers have been applied (e.g., `interceptors`)
Object.defineProperty(stream, drainBuffer.name, {
value: drainBuffer,
});
return stream;
};
}
if (hasDrained) {
return Reflect.get(target, prop, receiver);
}
return Reflect.get(replayBuffer, prop, receiver);
},
}),
next: (value: T) => {
if (!hasDrained) {
replayBuffer.next(value);
}
subject.next(value);
},
error: (err: any) => {
if (!hasDrained) {
replayBuffer.error(err);
}
subject.error(err);
},
complete: () => {
if (!hasDrained) {
replayBuffer.complete();
// Replay buffer is no longer needed
// Return early to allow subject to complete later, after the replay buffer
// has been drained
return;
}
subject.complete();
},
};
}
}

View File

@@ -9,6 +9,8 @@ import {
EachMessagePayload,
KafkaMessage,
} from '../../external/kafka.interface';
import { Observable } from 'rxjs';
import { Producer } from 'kafkajs';
describe('ClientKafka', () => {
const topic = 'test.topic';
@@ -549,6 +551,77 @@ describe('ClientKafka', () => {
});
});
describe('emitBatch', () => {
it(`should return an observable stream`, () => {
const stream$ = client.emitBatch(
{},
{
messages: [],
},
);
expect(stream$ instanceof Observable).to.be.true;
});
it(`should call "connect" immediately`, () => {
const connectSpy = sinon.spy(client, 'connect');
client.emitBatch(
{},
{
messages: [],
},
);
expect(connectSpy.calledOnce).to.be.true;
});
describe('when "connect" throws', () => {
it('should return Observable with error', () => {
sinon.stub(client, 'connect').callsFake(() => {
throw new Error();
});
const stream$ = client.emitBatch(
{},
{
messages: [],
},
);
stream$.subscribe({
next: () => {},
error: err => {
expect(err).to.be.instanceof(Error);
},
});
});
});
describe('when is connected', () => {
beforeEach(() => {
sinon
.stub(client, 'connect')
.callsFake(() => Promise.resolve({} as Producer));
});
it(`should call dispatchBatchEvent`, () => {
const pattern = { test: 3 };
const data = { messages: [] };
const dispatchBatchEventSpy = sinon
.stub()
.callsFake(() => Promise.resolve(true));
const stream$ = client.emitBatch(pattern, data);
client['dispatchBatchEvent'] = dispatchBatchEventSpy;
stream$.subscribe(() => {
expect(dispatchBatchEventSpy.calledOnce).to.be.true;
});
});
});
it('should return Observable with error', () => {
const err$ = client.emitBatch(null, null);
expect(err$).to.be.instanceOf(Observable);
});
});
describe('dispatchEvent', () => {
const eventMessage = {
id: undefined,

View File

@@ -253,6 +253,7 @@ describe('ClientNats', () => {
describe('when is not connected', () => {
beforeEach(async () => {
client['natsClient'] = null;
client['clientConnectionPromise'] = null;
await client.connect();
});
it('should call "handleStatusUpdatesSpy" once', async () => {

View File

@@ -281,6 +281,8 @@ describe('ServerGrpc', () => {
.onFirstCall()
.returns('_invalid')
.onSecondCall()
.returns('_invalid')
.onThirdCall()
.returns('test2');
sinon.stub(server, 'createServiceMethod').callsFake(() => ({}) as any);
@@ -306,6 +308,69 @@ describe('ServerGrpc', () => {
});
});
describe('getMessageHandler', () => {
it('should return handler when service name specified', () => {
const testPattern = server.createPattern(
'test',
'TestMethod',
GrpcMethodStreamingType.NO_STREAMING,
);
const handlers = new Map([[testPattern, () => ({})]]);
console.log(handlers.entries());
(server as any).messageHandlers = handlers;
expect(
server.getMessageHandler(
'test',
'TestMethod',
GrpcMethodStreamingType.NO_STREAMING,
{},
),
).not.to.be.undefined;
});
it('should return handler when package name specified with service name', () => {
const testPattern = server.createPattern(
'package.example.test',
'TestMethod',
GrpcMethodStreamingType.NO_STREAMING,
);
const handlers = new Map([[testPattern, () => ({})]]);
(server as any).messageHandlers = handlers;
expect(
server.getMessageHandler(
'test',
'TestMethod',
GrpcMethodStreamingType.NO_STREAMING,
{
path: '/package.example.test/TestMethod',
},
),
).not.to.be.undefined;
});
it('should return undefined when method name is unknown', () => {
const testPattern = server.createPattern(
'package.example.test',
'unknown',
GrpcMethodStreamingType.NO_STREAMING,
);
const handlers = new Map([[testPattern, () => ({})]]);
(server as any).messageHandlers = handlers;
expect(
server.getMessageHandler(
'test',
'TestMethod',
GrpcMethodStreamingType.NO_STREAMING,
{
path: '/package.example.test/TestMethod',
},
),
).to.be.undefined;
});
});
describe('createPattern', () => {
it('should return pattern', () => {
const service = 'test';

View File

@@ -91,10 +91,12 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<table style="text-align:center;">
<tr>
<td><a href="https://n.inc" target="_blank"><img src="https://nestjs.com/img/logos/n-inc-logo.svg" width="90" valign="middle" /></a></td>
<td><a href="https://twistag.com/" target="_blank"><img src="https://nestjs.com/img/logos/twistag-logo.png" width="120" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="75" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="110" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="100" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://bloodycase.com/?promocode=NEST" target="_blank"><img src="https://nestjs.com/img/logos/bloodycase-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://handsontable.com/docs/react-data-grid/?utm_source=NestJS_GH&utm_medium=sponsorship&utm_campaign=library_sponsorship_2024" target="_blank"><img src="https://nestjs.com/img/logos/handsontable-dark-logo.svg#2" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="170" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://arcjet.com/?ref=nestjs" target="_blank"><img src="https://nestjs.com/img/logos/arcjet-logo.svg" width="170" valign="middle" /></a></td>
</tr>
</table>
@@ -126,10 +128,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle"><a href="https://www.hingehealth.com/" target="_blank"><img src="https://nestjs.com/img/logos/hinge-health-logo.svg" width="100" valign="middle" /></a></td>
</tr>
<tr>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="65" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="55" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.tripoffice.com/" target="_blank"><img src="https://nestjs.com/img/logos/tripoffice-logo.png" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://solcellsforetag.se/" target="_blank"><img src="https://nestjs.com/img/logos/solcellsforetag-logo.svg" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.route4me.com/" target="_blank"><img src="https://nestjs.com/img/logos/route4me-logo.svg" width="100" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.slotsup.com/" target="_blank"><img src="https://nestjs.com/img/logos/slotsup-logo.png" width="60" valign="middle" /></a></td>
</tr>
</table>

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/platform-express",
"version": "10.3.10",
"version": "10.4.8",
"description": "Nest - modern, fast, powerful node.js web framework (@platform-express)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -18,15 +18,15 @@
"access": "public"
},
"dependencies": {
"body-parser": "1.20.2",
"body-parser": "1.20.3",
"cors": "2.8.5",
"express": "4.19.2",
"express": "4.21.1",
"multer": "1.4.4-lts.1",
"tslib": "2.6.3"
"tslib": "2.7.0"
},
"devDependencies": {
"@nestjs/common": "10.3.10",
"@nestjs/core": "10.3.10"
"@nestjs/common": "10.4.8",
"@nestjs/core": "10.4.8"
},
"peerDependencies": {
"@nestjs/common": "^10.0.0",

View File

@@ -91,10 +91,12 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<table style="text-align:center;">
<tr>
<td><a href="https://n.inc" target="_blank"><img src="https://nestjs.com/img/logos/n-inc-logo.svg" width="90" valign="middle" /></a></td>
<td><a href="https://twistag.com/" target="_blank"><img src="https://nestjs.com/img/logos/twistag-logo.png" width="120" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="75" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="110" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="100" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://bloodycase.com/?promocode=NEST" target="_blank"><img src="https://nestjs.com/img/logos/bloodycase-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://handsontable.com/docs/react-data-grid/?utm_source=NestJS_GH&utm_medium=sponsorship&utm_campaign=library_sponsorship_2024" target="_blank"><img src="https://nestjs.com/img/logos/handsontable-dark-logo.svg#2" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="170" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://arcjet.com/?ref=nestjs" target="_blank"><img src="https://nestjs.com/img/logos/arcjet-logo.svg" width="170" valign="middle" /></a></td>
</tr>
</table>
@@ -126,10 +128,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle"><a href="https://www.hingehealth.com/" target="_blank"><img src="https://nestjs.com/img/logos/hinge-health-logo.svg" width="100" valign="middle" /></a></td>
</tr>
<tr>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="65" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="55" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.tripoffice.com/" target="_blank"><img src="https://nestjs.com/img/logos/tripoffice-logo.png" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://solcellsforetag.se/" target="_blank"><img src="https://nestjs.com/img/logos/solcellsforetag-logo.svg" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.route4me.com/" target="_blank"><img src="https://nestjs.com/img/logos/route4me-logo.svg" width="100" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.slotsup.com/" target="_blank"><img src="https://nestjs.com/img/logos/slotsup-logo.png" width="60" valign="middle" /></a></td>
</tr>
</table>

View File

@@ -34,12 +34,14 @@ import {
RequestGenericInterface,
RouteOptions,
RouteShorthandOptions,
HTTPMethods,
fastify,
} from 'fastify';
import * as Reply from 'fastify/lib/reply';
import { kRouteContext } from 'fastify/lib/symbols';
import * as http2 from 'http2';
import * as https from 'https';
import * as http from 'http';
import {
InjectOptions,
Chain as LightMyRequestChain,
@@ -88,6 +90,13 @@ type FastifyHttpsOptions<
https: https.ServerOptions;
};
type FastifyHttpOptions<
Server extends http.Server,
Logger extends FastifyBaseLogger = FastifyBaseLogger,
> = FastifyAdapterBaseOptions<Server, Logger> & {
http: http.ServerOptions;
};
type VersionedRoute<TRequest, TResponse> = ((
req: TRequest,
res: TResponse,
@@ -217,6 +226,7 @@ export class FastifyAdapter<
| FastifyHttp2Options<any>
| FastifyHttp2SecureOptions<any>
| FastifyHttpsOptions<any>
| FastifyHttpOptions<any>
| FastifyAdapterBaseOptions<TServer>,
) {
super();
@@ -279,31 +289,35 @@ export class FastifyAdapter<
}
public get(...args: any[]) {
return this.injectRouteOptions('get', ...args);
return this.injectRouteOptions('GET', ...args);
}
public post(...args: any[]) {
return this.injectRouteOptions('post', ...args);
return this.injectRouteOptions('POST', ...args);
}
public head(...args: any[]) {
return this.injectRouteOptions('head', ...args);
return this.injectRouteOptions('HEAD', ...args);
}
public delete(...args: any[]) {
return this.injectRouteOptions('delete', ...args);
return this.injectRouteOptions('DELETE', ...args);
}
public put(...args: any[]) {
return this.injectRouteOptions('put', ...args);
return this.injectRouteOptions('PUT', ...args);
}
public patch(...args: any[]) {
return this.injectRouteOptions('patch', ...args);
return this.injectRouteOptions('PATCH', ...args);
}
public options(...args: any[]) {
return this.injectRouteOptions('options', ...args);
return this.injectRouteOptions('OPTIONS', ...args);
}
public search(...args: any[]) {
return this.injectRouteOptions('SEARCH', ...args);
}
public applyVersionFilter(
@@ -669,14 +683,7 @@ export class FastifyAdapter<
}
private injectRouteOptions(
routerMethodKey:
| 'get'
| 'post'
| 'put'
| 'delete'
| 'options'
| 'patch'
| 'head',
routerMethodKey: Uppercase<HTTPMethods>,
...args: any[]
) {
const handlerRef = args[args.length - 1];

View File

@@ -1,19 +1,20 @@
import { INestApplication, HttpServer } from '@nestjs/common';
import { HttpServer, INestApplication } from '@nestjs/common';
import {
FastifyBodyParser,
FastifyInstance,
FastifyListenOptions,
FastifyPluginAsync,
FastifyPluginCallback,
FastifyPluginOptions,
FastifyRegisterOptions,
FastifyRequest,
FastifyReply,
FastifyRequest,
RawServerBase,
RawServerDefault,
} from 'fastify';
import {
Chain as LightMyRequestChain,
InjectOptions,
Chain as LightMyRequestChain,
Response as LightMyRequestResponse,
} from 'light-my-request';
import { FastifyStaticOptions, FastifyViewOptions } from './external';
@@ -93,19 +94,27 @@ export interface NestFastifyApplication<
* Starts the application.
* @returns A Promise that, when resolved, is a reference to the underlying HttpServer.
*/
listen(
opts: FastifyListenOptions,
callback?: (err: Error | null, address: string) => void,
): Promise<TServer>;
listen(opts?: FastifyListenOptions): Promise<TServer>;
listen(
callback?: (err: Error | null, address: string) => void,
): Promise<TServer>;
listen(
port: number | string,
callback?: (err: Error, address: string) => void,
callback?: (err: Error | null, address: string) => void,
): Promise<TServer>;
listen(
port: number | string,
address: string,
callback?: (err: Error, address: string) => void,
callback?: (err: Error | null, address: string) => void,
): Promise<TServer>;
listen(
port: number | string,
address: string,
backlog: number,
callback?: (err: Error, address: string) => void,
callback?: (err: Error | null, address: string) => void,
): Promise<TServer>;
}

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/platform-fastify",
"version": "10.3.10",
"version": "10.4.8",
"description": "Nest - modern, fast, powerful node.js web framework (@platform-fastify)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -20,11 +20,11 @@
"dependencies": {
"@fastify/cors": "9.0.1",
"@fastify/formbody": "7.4.0",
"@fastify/middie": "8.3.1",
"fastify": "4.28.0",
"light-my-request": "5.13.0",
"path-to-regexp": "3.2.0",
"tslib": "2.6.3"
"@fastify/middie": "8.3.3",
"fastify": "4.28.1",
"light-my-request": "6.1.0",
"path-to-regexp": "3.3.0",
"tslib": "2.7.0"
},
"peerDependencies": {
"@fastify/static": "^6.0.0 || ^7.0.0",

View File

@@ -91,10 +91,12 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<table style="text-align:center;">
<tr>
<td><a href="https://n.inc" target="_blank"><img src="https://nestjs.com/img/logos/n-inc-logo.svg" width="90" valign="middle" /></a></td>
<td><a href="https://twistag.com/" target="_blank"><img src="https://nestjs.com/img/logos/twistag-logo.png" width="120" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="75" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="110" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="100" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://bloodycase.com/?promocode=NEST" target="_blank"><img src="https://nestjs.com/img/logos/bloodycase-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://handsontable.com/docs/react-data-grid/?utm_source=NestJS_GH&utm_medium=sponsorship&utm_campaign=library_sponsorship_2024" target="_blank"><img src="https://nestjs.com/img/logos/handsontable-dark-logo.svg#2" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="170" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://arcjet.com/?ref=nestjs" target="_blank"><img src="https://nestjs.com/img/logos/arcjet-logo.svg" width="170" valign="middle" /></a></td>
</tr>
</table>
@@ -126,10 +128,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle"><a href="https://www.hingehealth.com/" target="_blank"><img src="https://nestjs.com/img/logos/hinge-health-logo.svg" width="100" valign="middle" /></a></td>
</tr>
<tr>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="65" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="55" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.tripoffice.com/" target="_blank"><img src="https://nestjs.com/img/logos/tripoffice-logo.png" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://solcellsforetag.se/" target="_blank"><img src="https://nestjs.com/img/logos/solcellsforetag-logo.svg" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.route4me.com/" target="_blank"><img src="https://nestjs.com/img/logos/route4me-logo.svg" width="100" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.slotsup.com/" target="_blank"><img src="https://nestjs.com/img/logos/slotsup-logo.png" width="60" valign="middle" /></a></td>
</tr>
</table>

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/platform-socket.io",
"version": "10.3.10",
"version": "10.4.8",
"description": "Nest - modern, fast, powerful node.js web framework (@platform-socket.io)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -18,8 +18,8 @@
"access": "public"
},
"dependencies": {
"socket.io": "4.7.5",
"tslib": "2.6.3"
"socket.io": "4.8.0",
"tslib": "2.7.0"
},
"peerDependencies": {
"@nestjs/common": "^10.0.0",

View File

@@ -91,10 +91,12 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<table style="text-align:center;">
<tr>
<td><a href="https://n.inc" target="_blank"><img src="https://nestjs.com/img/logos/n-inc-logo.svg" width="90" valign="middle" /></a></td>
<td><a href="https://twistag.com/" target="_blank"><img src="https://nestjs.com/img/logos/twistag-logo.png" width="120" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="75" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="110" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="100" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://bloodycase.com/?promocode=NEST" target="_blank"><img src="https://nestjs.com/img/logos/bloodycase-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://handsontable.com/docs/react-data-grid/?utm_source=NestJS_GH&utm_medium=sponsorship&utm_campaign=library_sponsorship_2024" target="_blank"><img src="https://nestjs.com/img/logos/handsontable-dark-logo.svg#2" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="170" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://arcjet.com/?ref=nestjs" target="_blank"><img src="https://nestjs.com/img/logos/arcjet-logo.svg" width="170" valign="middle" /></a></td>
</tr>
</table>
@@ -126,10 +128,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle"><a href="https://www.hingehealth.com/" target="_blank"><img src="https://nestjs.com/img/logos/hinge-health-logo.svg" width="100" valign="middle" /></a></td>
</tr>
<tr>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="65" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="55" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.tripoffice.com/" target="_blank"><img src="https://nestjs.com/img/logos/tripoffice-logo.png" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://solcellsforetag.se/" target="_blank"><img src="https://nestjs.com/img/logos/solcellsforetag-logo.svg" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.route4me.com/" target="_blank"><img src="https://nestjs.com/img/logos/route4me-logo.svg" width="100" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.slotsup.com/" target="_blank"><img src="https://nestjs.com/img/logos/slotsup-logo.png" width="60" valign="middle" /></a></td>
</tr>
</table>

View File

@@ -111,10 +111,13 @@ export class WsAdapter extends AbstractWsAdapter {
handlers: MessageMappingProperties[],
transform: (data: any) => Observable<any>,
) {
const handlersMap = new Map<string, MessageMappingProperties>();
handlers.forEach(handler => handlersMap.set(handler.message, handler));
const close$ = fromEvent(client, CLOSE_EVENT).pipe(share(), first());
const source$ = fromEvent(client, 'message').pipe(
mergeMap(data =>
this.bindMessageHandler(data, handlers, transform).pipe(
this.bindMessageHandler(data, handlersMap, transform).pipe(
filter(result => !isNil(result)),
),
),
@@ -131,14 +134,12 @@ export class WsAdapter extends AbstractWsAdapter {
public bindMessageHandler(
buffer: any,
handlers: MessageMappingProperties[],
handlersMap: Map<string, MessageMappingProperties>,
transform: (data: any) => Observable<any>,
): Observable<any> {
try {
const message = JSON.parse(buffer.data);
const messageHandler = handlers.find(
handler => handler.message === message.event,
);
const messageHandler = handlersMap.get(message.event);
const { callback } = messageHandler;
return transform(callback(message.data, message.event));
} catch {

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/platform-ws",
"version": "10.3.10",
"version": "10.4.8",
"description": "Nest - modern, fast, powerful node.js web framework (@platform-ws)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -18,8 +18,8 @@
"access": "public"
},
"dependencies": {
"tslib": "2.6.3",
"ws": "8.17.1"
"tslib": "2.7.0",
"ws": "8.18.0"
},
"peerDependencies": {
"@nestjs/common": "^10.0.0",

View File

@@ -91,10 +91,12 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<table style="text-align:center;">
<tr>
<td><a href="https://n.inc" target="_blank"><img src="https://nestjs.com/img/logos/n-inc-logo.svg" width="90" valign="middle" /></a></td>
<td><a href="https://twistag.com/" target="_blank"><img src="https://nestjs.com/img/logos/twistag-logo.png" width="120" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="75" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="110" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="100" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://bloodycase.com/?promocode=NEST" target="_blank"><img src="https://nestjs.com/img/logos/bloodycase-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://handsontable.com/docs/react-data-grid/?utm_source=NestJS_GH&utm_medium=sponsorship&utm_campaign=library_sponsorship_2024" target="_blank"><img src="https://nestjs.com/img/logos/handsontable-dark-logo.svg#2" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="170" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://arcjet.com/?ref=nestjs" target="_blank"><img src="https://nestjs.com/img/logos/arcjet-logo.svg" width="170" valign="middle" /></a></td>
</tr>
</table>
@@ -126,10 +128,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle"><a href="https://www.hingehealth.com/" target="_blank"><img src="https://nestjs.com/img/logos/hinge-health-logo.svg" width="100" valign="middle" /></a></td>
</tr>
<tr>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="65" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="55" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.tripoffice.com/" target="_blank"><img src="https://nestjs.com/img/logos/tripoffice-logo.png" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://solcellsforetag.se/" target="_blank"><img src="https://nestjs.com/img/logos/solcellsforetag-logo.svg" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.route4me.com/" target="_blank"><img src="https://nestjs.com/img/logos/route4me-logo.svg" width="100" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.slotsup.com/" target="_blank"><img src="https://nestjs.com/img/logos/slotsup-logo.png" width="60" valign="middle" /></a></td>
</tr>
</table>

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/testing",
"version": "10.3.10",
"version": "10.4.8",
"description": "Nest - modern, fast, powerful node.js web framework (@testing)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -18,7 +18,7 @@
"access": "public"
},
"dependencies": {
"tslib": "2.6.3"
"tslib": "2.7.0"
},
"peerDependencies": {
"@nestjs/common": "^10.0.0",

View File

@@ -91,10 +91,12 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<table style="text-align:center;">
<tr>
<td><a href="https://n.inc" target="_blank"><img src="https://nestjs.com/img/logos/n-inc-logo.svg" width="90" valign="middle" /></a></td>
<td><a href="https://twistag.com/" target="_blank"><img src="https://nestjs.com/img/logos/twistag-logo.png" width="120" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="75" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="110" valign="middle" /></a></td>
<td><a href="https://www.mercedes-benz.com/" target="_blank"><img src="https://nestjs.com/img/logos/mercedes-logo.png" width="100" valign="middle" /></a></td>
<td><a href="https://www.dinii.jp/" target="_blank"><img src="https://nestjs.com/img/logos/dinii-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://bloodycase.com/?promocode=NEST" target="_blank"><img src="https://nestjs.com/img/logos/bloodycase-logo.png" width="65" valign="middle" /></a></td>
<td><a href="https://handsontable.com/docs/react-data-grid/?utm_source=NestJS_GH&utm_medium=sponsorship&utm_campaign=library_sponsorship_2024" target="_blank"><img src="https://nestjs.com/img/logos/handsontable-dark-logo.svg#2" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="170" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://arcjet.com/?ref=nestjs" target="_blank"><img src="https://nestjs.com/img/logos/arcjet-logo.svg" width="170" valign="middle" /></a></td>
</tr>
</table>
@@ -126,10 +128,11 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<td align="center" valign="middle"><a href="https://www.hingehealth.com/" target="_blank"><img src="https://nestjs.com/img/logos/hinge-health-logo.svg" width="100" valign="middle" /></a></td>
</tr>
<tr>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="65" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/logos/julienferand-logo.jpeg" width="55" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.tripoffice.com/" target="_blank"><img src="https://nestjs.com/img/logos/tripoffice-logo.png" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://solcellsforetag.se/" target="_blank"><img src="https://nestjs.com/img/logos/solcellsforetag-logo.svg" width="140" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.itflashcards.com/" target="_blank"><img src="https://nestjs.com/img/logos/it_flashcards-logo.png" width="150" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.route4me.com/" target="_blank"><img src="https://nestjs.com/img/logos/route4me-logo.svg" width="100" valign="middle" /></a></td>
<td align="center" valign="middle"><a href="https://www.slotsup.com/" target="_blank"><img src="https://nestjs.com/img/logos/slotsup-logo.png" width="60" valign="middle" /></a></td>
</tr>
</table>

View File

@@ -1,6 +1,6 @@
{
"name": "@nestjs/websockets",
"version": "10.3.10",
"version": "10.4.8",
"description": "Nest - modern, fast, powerful node.js web framework (@websockets)",
"author": "Kamil Mysliwiec",
"license": "MIT",
@@ -15,11 +15,11 @@
"dependencies": {
"iterare": "1.2.1",
"object-hash": "3.0.0",
"tslib": "2.6.3"
"tslib": "2.7.0"
},
"devDependencies": {
"@nestjs/common": "10.3.10",
"@nestjs/core": "10.3.10"
"@nestjs/common": "10.4.8",
"@nestjs/core": "10.4.8"
},
"peerDependencies": {
"@nestjs/common": "^10.0.0",

View File

@@ -24,8 +24,8 @@
"@nestjs/testing": "10.3.2",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.8.7",
"@types/supertest": "2.0.16",
"@types/node": "20.17.6",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"eslint": "8.42.0",
@@ -33,7 +33,7 @@
"eslint-plugin-import": "2.29.1",
"jest": "29.7.0",
"prettier": "3.2.5",
"supertest": "6.3.3",
"supertest": "6.3.4",
"ts-jest": "29.1.2",
"ts-loader": "9.5.1",
"ts-node": "10.9.2",
@@ -2229,9 +2229,9 @@
}
},
"node_modules/@types/cookiejar": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
"integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz",
"integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==",
"dev": true
},
"node_modules/@types/eslint": {
@@ -2339,6 +2339,12 @@
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
"dev": true
},
"node_modules/@types/methods": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz",
"integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==",
"dev": true
},
"node_modules/@types/mime": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
@@ -2346,12 +2352,12 @@
"dev": true
},
"node_modules/@types/node": {
"version": "20.8.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz",
"integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==",
"version": "20.17.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz",
"integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==",
"dev": true,
"dependencies": {
"undici-types": "~5.25.1"
"undici-types": "~6.19.2"
}
},
"node_modules/@types/qs": {
@@ -2399,22 +2405,25 @@
"dev": true
},
"node_modules/@types/superagent": {
"version": "4.1.10",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.10.tgz",
"integrity": "sha512-xAgkb2CMWUMCyVc/3+7iQfOEBE75NvuZeezvmixbUw3nmENf2tCnQkW5yQLTYqvXUQ+R6EXxdqKKbal2zM5V/g==",
"version": "8.1.9",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.9.tgz",
"integrity": "sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==",
"dev": true,
"dependencies": {
"@types/cookiejar": "*",
"@types/node": "*"
"@types/cookiejar": "^2.1.5",
"@types/methods": "^1.1.4",
"@types/node": "*",
"form-data": "^4.0.0"
}
},
"node_modules/@types/supertest": {
"version": "2.0.16",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz",
"integrity": "sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz",
"integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==",
"dev": true,
"dependencies": {
"@types/superagent": "*"
"@types/methods": "^1.1.4",
"@types/superagent": "^8.1.0"
}
},
"node_modules/@types/validator": {
@@ -3916,9 +3925,9 @@
"dev": true
},
"node_modules/cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -8565,9 +8574,10 @@
}
},
"node_modules/superagent": {
"version": "8.0.9",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
"integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
"integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
"deprecated": "Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net",
"dev": true,
"dependencies": {
"component-emitter": "^1.3.0",
@@ -8621,13 +8631,13 @@
"dev": true
},
"node_modules/supertest": {
"version": "6.3.3",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz",
"integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==",
"version": "6.3.4",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz",
"integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==",
"dev": true,
"dependencies": {
"methods": "^1.1.2",
"superagent": "^8.0.5"
"superagent": "^8.1.2"
},
"engines": {
"node": ">=6.4.0"
@@ -9172,9 +9182,9 @@
}
},
"node_modules/undici-types": {
"version": "5.25.3",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
"integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==",
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
"dev": true
},
"node_modules/universalify": {
@@ -11203,9 +11213,9 @@
}
},
"@types/cookiejar": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
"integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz",
"integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==",
"dev": true
},
"@types/eslint": {
@@ -11313,6 +11323,12 @@
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
"dev": true
},
"@types/methods": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz",
"integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==",
"dev": true
},
"@types/mime": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
@@ -11320,12 +11336,12 @@
"dev": true
},
"@types/node": {
"version": "20.8.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz",
"integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==",
"version": "20.17.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz",
"integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==",
"dev": true,
"requires": {
"undici-types": "~5.25.1"
"undici-types": "~6.19.2"
}
},
"@types/qs": {
@@ -11373,22 +11389,25 @@
"dev": true
},
"@types/superagent": {
"version": "4.1.10",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.10.tgz",
"integrity": "sha512-xAgkb2CMWUMCyVc/3+7iQfOEBE75NvuZeezvmixbUw3nmENf2tCnQkW5yQLTYqvXUQ+R6EXxdqKKbal2zM5V/g==",
"version": "8.1.9",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.9.tgz",
"integrity": "sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==",
"dev": true,
"requires": {
"@types/cookiejar": "*",
"@types/node": "*"
"@types/cookiejar": "^2.1.5",
"@types/methods": "^1.1.4",
"@types/node": "*",
"form-data": "^4.0.0"
}
},
"@types/supertest": {
"version": "2.0.16",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz",
"integrity": "sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz",
"integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==",
"dev": true,
"requires": {
"@types/superagent": "*"
"@types/methods": "^1.1.4",
"@types/superagent": "^8.1.0"
}
},
"@types/validator": {
@@ -12485,9 +12504,9 @@
"dev": true
},
"cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"requires": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -15938,9 +15957,9 @@
"dev": true
},
"superagent": {
"version": "8.0.9",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
"integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
"integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
"dev": true,
"requires": {
"component-emitter": "^1.3.0",
@@ -15979,13 +15998,13 @@
}
},
"supertest": {
"version": "6.3.3",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz",
"integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==",
"version": "6.3.4",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz",
"integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==",
"dev": true,
"requires": {
"methods": "^1.1.2",
"superagent": "^8.0.5"
"superagent": "^8.1.2"
}
},
"supports-color": {
@@ -16345,9 +16364,9 @@
}
},
"undici-types": {
"version": "5.25.3",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
"integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==",
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
"dev": true
},
"universalify": {

View File

@@ -34,11 +34,11 @@
"@nestjs/testing": "10.3.2",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.8.7",
"@types/supertest": "2.0.16",
"@types/node": "20.17.6",
"@types/supertest": "6.0.2",
"jest": "29.7.0",
"prettier": "3.2.5",
"supertest": "6.3.3",
"supertest": "6.3.4",
"ts-jest": "29.1.2",
"ts-loader": "9.5.1",
"ts-node": "10.9.2",

View File

@@ -19,16 +19,36 @@ describe('CatsController', () => {
describe('findAll', () => {
it('should return an array of cats', async () => {
const result: Cat[] = [
const cats: Cat[] = [
{
age: 2,
breed: 'Bombay',
name: 'Pixel',
},
];
jest.spyOn(catsService, 'findAll').mockImplementation(() => result);
// @ts-ignore
catsService.cats = cats;
expect(await catsController.findAll()).toBe(result);
expect(await catsController.findAll()).toBe(cats);
});
});
describe('create', () => {
it('should add a new cat', async () => {
const cat: Cat = {
age: 2,
breed: 'Bombay',
name: 'Pixel',
};
const expectedCatArray = [cat];
// @ts-ignore
expect(catsService.cats).toStrictEqual([]);
await catsController.create(cat);
// @ts-ignore
expect(catsService.cats).toStrictEqual(expectedCatArray);
});
});
});

View File

@@ -0,0 +1,48 @@
import { Test } from '@nestjs/testing';
import { CatsService } from './cats.service';
import { Cat } from './interfaces/cat.interface';
describe('CatsService', () => {
let catsService: CatsService;
beforeEach(async () => {
const moduleRef = await Test.createTestingModule({
providers: [CatsService],
}).compile();
catsService = moduleRef.get<CatsService>(CatsService);
});
describe('findAll', () => {
it('should return an array of cats', async () => {
const result = [
{
name: 'Frajola',
age: 2,
breed: 'Stray',
},
];
//@ts-ignore
catsService.cats = result;
await expect(catsService.findAll()).resolves.toBe(result);
});
});
describe('create', () => {
it('should add a new cat', async () => {
const cat: Cat = {
name: 'Frajola',
age: 2,
breed: 'Stray',
};
const expectedCatArray = [cat];
//@ts-ignore
expect(catsService.cats).toStrictEqual([]);
await catsService.create(cat);
//@ts-ignore
expect(catsService.cats).toStrictEqual(expectedCatArray);
});
});
});

View File

@@ -9,7 +9,7 @@ export class CatsService {
this.cats.push(cat);
}
findAll(): Cat[] {
return this.cats;
findAll(): Promise<Cat[]> {
return Promise.resolve(this.cats);
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -33,13 +33,13 @@
"socket.io": "4.7.4"
},
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/cli": "10.4.5",
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.8.7",
"@types/supertest": "2.0.16",
"@types/node": "20.17.6",
"@types/supertest": "6.0.2",
"@types/ws": "8.5.5",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
@@ -49,7 +49,7 @@
"jest": "29.7.0",
"prettier": "3.2.5",
"redis": "4.6.13",
"supertest": "6.3.3",
"supertest": "6.3.4",
"ts-jest": "29.1.2",
"ts-loader": "9.5.1",
"ts-node": "10.9.2",

View File

@@ -25,8 +25,8 @@
"@nestjs/testing": "10.3.2",
"@types/amqplib": "0.10.4",
"@types/express": "4.17.21",
"@types/node": "20.8.7",
"@types/supertest": "2.0.16",
"@types/node": "20.17.6",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"eslint": "8.42.0",
@@ -34,7 +34,7 @@
"eslint-plugin-import": "2.29.1",
"jest": "29.7.0",
"prettier": "3.2.5",
"supertest": "6.3.3",
"supertest": "6.3.4",
"ts-jest": "29.1.2",
"ts-loader": "9.5.1",
"ts-node": "10.9.2",
@@ -2209,9 +2209,9 @@
}
},
"node_modules/@types/cookiejar": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
"integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz",
"integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==",
"dev": true
},
"node_modules/@types/eslint": {
@@ -2309,6 +2309,12 @@
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
"dev": true
},
"node_modules/@types/methods": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz",
"integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==",
"dev": true
},
"node_modules/@types/mime": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
@@ -2316,12 +2322,12 @@
"dev": true
},
"node_modules/@types/node": {
"version": "20.8.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz",
"integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==",
"version": "20.17.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz",
"integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==",
"dev": true,
"dependencies": {
"undici-types": "~5.25.1"
"undici-types": "~6.19.2"
}
},
"node_modules/@types/qs": {
@@ -2369,22 +2375,25 @@
"dev": true
},
"node_modules/@types/superagent": {
"version": "4.1.10",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.10.tgz",
"integrity": "sha512-xAgkb2CMWUMCyVc/3+7iQfOEBE75NvuZeezvmixbUw3nmENf2tCnQkW5yQLTYqvXUQ+R6EXxdqKKbal2zM5V/g==",
"version": "8.1.9",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.9.tgz",
"integrity": "sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==",
"dev": true,
"dependencies": {
"@types/cookiejar": "*",
"@types/node": "*"
"@types/cookiejar": "^2.1.5",
"@types/methods": "^1.1.4",
"@types/node": "*",
"form-data": "^4.0.0"
}
},
"node_modules/@types/supertest": {
"version": "2.0.16",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz",
"integrity": "sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz",
"integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==",
"dev": true,
"dependencies": {
"@types/superagent": "*"
"@types/methods": "^1.1.4",
"@types/superagent": "^8.1.0"
}
},
"node_modules/@types/validator": {
@@ -8443,9 +8452,10 @@
}
},
"node_modules/superagent": {
"version": "8.0.9",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
"integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
"integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
"deprecated": "Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net",
"dev": true,
"dependencies": {
"component-emitter": "^1.3.0",
@@ -8476,13 +8486,13 @@
}
},
"node_modules/supertest": {
"version": "6.3.3",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz",
"integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==",
"version": "6.3.4",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz",
"integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==",
"dev": true,
"dependencies": {
"methods": "^1.1.2",
"superagent": "^8.0.5"
"superagent": "^8.1.2"
},
"engines": {
"node": ">=6.4.0"
@@ -9027,9 +9037,9 @@
}
},
"node_modules/undici-types": {
"version": "5.25.3",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
"integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==",
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
"dev": true
},
"node_modules/universalify": {
@@ -11021,9 +11031,9 @@
}
},
"@types/cookiejar": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
"integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz",
"integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==",
"dev": true
},
"@types/eslint": {
@@ -11121,6 +11131,12 @@
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
"dev": true
},
"@types/methods": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz",
"integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==",
"dev": true
},
"@types/mime": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
@@ -11128,12 +11144,12 @@
"dev": true
},
"@types/node": {
"version": "20.8.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz",
"integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==",
"version": "20.17.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz",
"integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==",
"dev": true,
"requires": {
"undici-types": "~5.25.1"
"undici-types": "~6.19.2"
}
},
"@types/qs": {
@@ -11181,22 +11197,25 @@
"dev": true
},
"@types/superagent": {
"version": "4.1.10",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.10.tgz",
"integrity": "sha512-xAgkb2CMWUMCyVc/3+7iQfOEBE75NvuZeezvmixbUw3nmENf2tCnQkW5yQLTYqvXUQ+R6EXxdqKKbal2zM5V/g==",
"version": "8.1.9",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.9.tgz",
"integrity": "sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==",
"dev": true,
"requires": {
"@types/cookiejar": "*",
"@types/node": "*"
"@types/cookiejar": "^2.1.5",
"@types/methods": "^1.1.4",
"@types/node": "*",
"form-data": "^4.0.0"
}
},
"@types/supertest": {
"version": "2.0.16",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz",
"integrity": "sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz",
"integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==",
"dev": true,
"requires": {
"@types/superagent": "*"
"@types/methods": "^1.1.4",
"@types/superagent": "^8.1.0"
}
},
"@types/validator": {
@@ -15698,9 +15717,9 @@
"dev": true
},
"superagent": {
"version": "8.0.9",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
"integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
"integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
"dev": true,
"requires": {
"component-emitter": "^1.3.0",
@@ -15724,13 +15743,13 @@
}
},
"supertest": {
"version": "6.3.3",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz",
"integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==",
"version": "6.3.4",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz",
"integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==",
"dev": true,
"requires": {
"methods": "^1.1.2",
"superagent": "^8.0.5"
"superagent": "^8.1.2"
}
},
"supports-color": {
@@ -16090,9 +16109,9 @@
}
},
"undici-types": {
"version": "5.25.3",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
"integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==",
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
"dev": true
},
"universalify": {

View File

@@ -35,11 +35,11 @@
"@nestjs/testing": "10.3.2",
"@types/amqplib": "0.10.4",
"@types/express": "4.17.21",
"@types/node": "20.8.7",
"@types/supertest": "2.0.16",
"@types/node": "20.17.6",
"@types/supertest": "6.0.2",
"jest": "29.7.0",
"prettier": "3.2.5",
"supertest": "6.3.3",
"supertest": "6.3.4",
"ts-jest": "29.1.2",
"ts-loader": "9.5.1",
"ts-node": "10.9.2",

File diff suppressed because it is too large Load Diff

View File

@@ -21,10 +21,10 @@
"dependencies": {
"@grpc/grpc-js": "1.10.9",
"@grpc/reflection": "1.0.3",
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/microservices": "10.3.2",
"@nestjs/platform-express": "10.3.8",
"@nestjs/common": "10.4.8",
"@nestjs/core": "10.4.8",
"@nestjs/microservices": "10.4.8",
"@nestjs/platform-express": "10.4.8",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
"reflect-metadata": "0.2.1",
@@ -36,8 +36,8 @@
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@types/express": "4.17.21",
"@types/node": "20.8.7",
"@types/supertest": "2.0.16",
"@types/node": "20.17.6",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"eslint": "8.42.0",
@@ -45,7 +45,7 @@
"eslint-plugin-import": "2.29.1",
"jest": "29.7.0",
"prettier": "3.2.5",
"supertest": "6.3.3",
"supertest": "6.3.4",
"ts-jest": "29.1.2",
"ts-loader": "9.5.1",
"ts-node": "10.9.2",

View File

@@ -1,8 +1,8 @@
import { ReflectionService } from '@grpc/reflection';
import { ClientOptions, Transport } from '@nestjs/microservices';
import { GrpcOptions, Transport } from '@nestjs/microservices';
import { join } from 'path';
export const grpcClientOptions: ClientOptions = {
export const grpcClientOptions: GrpcOptions = {
transport: Transport.GRPC,
options: {
package: 'hero', // ['hero', 'hero2']

View File

@@ -35,8 +35,8 @@
"@nestjs/testing": "10.3.2",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.8.7",
"@types/supertest": "2.0.16",
"@types/node": "20.17.6",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"eslint": "8.42.0",
@@ -44,7 +44,7 @@
"eslint-plugin-import": "2.29.1",
"jest": "29.7.0",
"prettier": "3.2.5",
"supertest": "6.3.3",
"supertest": "6.3.4",
"ts-jest": "29.1.2",
"ts-loader": "9.5.1",
"ts-node": "10.9.2",

View File

@@ -11,7 +11,7 @@
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/mongoose": "10.0.2",
"@nestjs/mongoose": "10.0.3",
"@nestjs/platform-express": "10.3.8",
"mongoose": "8.0.1",
"reflect-metadata": "0.2.1",
@@ -24,8 +24,8 @@
"@nestjs/testing": "10.3.2",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.8.7",
"@types/supertest": "2.0.16",
"@types/node": "20.17.6",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"eslint": "8.42.0",
@@ -33,7 +33,7 @@
"eslint-plugin-import": "2.29.1",
"jest": "29.7.0",
"prettier": "3.2.5",
"supertest": "6.3.3",
"supertest": "6.3.4",
"ts-jest": "29.1.2",
"ts-loader": "9.5.1",
"ts-node": "10.9.2",
@@ -1915,14 +1915,14 @@
}
},
"node_modules/@nestjs/mongoose": {
"version": "10.0.2",
"resolved": "https://registry.npmjs.org/@nestjs/mongoose/-/mongoose-10.0.2.tgz",
"integrity": "sha512-ITHh075DynjPIaKeJh6WkarS21WXYslu4nrLkNPbWaCP6JfxVAOftaA2X5tPSiiE/gNJWgs+QFWsfCFZUUenow==",
"version": "10.0.3",
"resolved": "https://registry.npmjs.org/@nestjs/mongoose/-/mongoose-10.0.3.tgz",
"integrity": "sha512-EW0qIhERafiUpBGkLgHyEEmteHg7xYkjGwApAzDszZk5+osp14jbwtTDhOOLe81pSs03caVepeS2KAl+68xwew==",
"license": "MIT",
"peerDependencies": {
"@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0",
"@nestjs/core": "^8.0.0 || ^9.0.0 || ^10.0.0",
"mongoose": "^6.0.2 || ^7.0.0 || ^8.0.0",
"reflect-metadata": "^0.1.12",
"rxjs": "^7.0.0"
}
},
@@ -2165,9 +2165,9 @@
}
},
"node_modules/@types/cookiejar": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
"integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz",
"integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==",
"dev": true
},
"node_modules/@types/eslint": {
@@ -2275,6 +2275,12 @@
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
"dev": true
},
"node_modules/@types/methods": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz",
"integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==",
"dev": true
},
"node_modules/@types/mime": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
@@ -2282,11 +2288,11 @@
"dev": true
},
"node_modules/@types/node": {
"version": "20.8.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz",
"integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==",
"version": "20.17.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz",
"integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==",
"dependencies": {
"undici-types": "~5.25.1"
"undici-types": "~6.19.2"
}
},
"node_modules/@types/qs": {
@@ -2334,22 +2340,25 @@
"dev": true
},
"node_modules/@types/superagent": {
"version": "4.1.14",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.14.tgz",
"integrity": "sha512-iiXaOL2wSbnSY4qg0mFPWJHL9iwyEsoNYwaHF2w58/fsVAQJlj+KUfFAFZu+nzbz+b7dUprJEAc+O9vhHHhQTA==",
"version": "8.1.9",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.9.tgz",
"integrity": "sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==",
"dev": true,
"dependencies": {
"@types/cookiejar": "*",
"@types/node": "*"
"@types/cookiejar": "^2.1.5",
"@types/methods": "^1.1.4",
"@types/node": "*",
"form-data": "^4.0.0"
}
},
"node_modules/@types/supertest": {
"version": "2.0.16",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz",
"integrity": "sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz",
"integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==",
"dev": true,
"dependencies": {
"@types/superagent": "*"
"@types/methods": "^1.1.4",
"@types/superagent": "^8.1.0"
}
},
"node_modules/@types/webidl-conversions": {
@@ -3663,10 +3672,13 @@
}
},
"node_modules/component-emitter": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
"dev": true
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz",
"integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/concat-map": {
"version": "0.0.1",
@@ -4934,9 +4946,9 @@
}
},
"node_modules/form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz",
"integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==",
"dev": true,
"dependencies": {
"asynckit": "^0.4.0",
@@ -5531,13 +5543,6 @@
"node": ">= 0.10"
}
},
"node_modules/ip": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz",
"integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==",
"optional": true,
"peer": true
},
"node_modules/ipaddr.js": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
@@ -8352,32 +8357,6 @@
"node": ">=8"
}
},
"node_modules/smart-buffer": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
"integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
"optional": true,
"peer": true,
"engines": {
"node": ">= 6.0.0",
"npm": ">= 3.0.0"
}
},
"node_modules/socks": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
"integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
"optional": true,
"peer": true,
"dependencies": {
"ip": "^2.0.0",
"smart-buffer": "^4.2.0"
},
"engines": {
"node": ">= 10.13.0",
"npm": ">= 3.0.0"
}
},
"node_modules/source-map": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
@@ -8609,9 +8588,10 @@
}
},
"node_modules/superagent": {
"version": "8.0.9",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
"integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
"integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
"deprecated": "Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net",
"dev": true,
"dependencies": {
"component-emitter": "^1.3.0",
@@ -8642,13 +8622,13 @@
}
},
"node_modules/supertest": {
"version": "6.3.3",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz",
"integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==",
"version": "6.3.4",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz",
"integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==",
"dev": true,
"dependencies": {
"methods": "^1.1.2",
"superagent": "^8.0.5"
"superagent": "^8.1.2"
},
"engines": {
"node": ">=6.4.0"
@@ -9170,9 +9150,9 @@
}
},
"node_modules/undici-types": {
"version": "5.25.3",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
"integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA=="
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw=="
},
"node_modules/universalify": {
"version": "2.0.0",
@@ -10952,10 +10932,9 @@
}
},
"@nestjs/mongoose": {
"version": "10.0.2",
"resolved": "https://registry.npmjs.org/@nestjs/mongoose/-/mongoose-10.0.2.tgz",
"integrity": "sha512-ITHh075DynjPIaKeJh6WkarS21WXYslu4nrLkNPbWaCP6JfxVAOftaA2X5tPSiiE/gNJWgs+QFWsfCFZUUenow==",
"requires": {}
"version": "10.0.3",
"resolved": "https://registry.npmjs.org/@nestjs/mongoose/-/mongoose-10.0.3.tgz",
"integrity": "sha512-EW0qIhERafiUpBGkLgHyEEmteHg7xYkjGwApAzDszZk5+osp14jbwtTDhOOLe81pSs03caVepeS2KAl+68xwew=="
},
"@nestjs/platform-express": {
"version": "10.3.8",
@@ -11150,9 +11129,9 @@
}
},
"@types/cookiejar": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
"integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz",
"integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==",
"dev": true
},
"@types/eslint": {
@@ -11260,6 +11239,12 @@
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
"dev": true
},
"@types/methods": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz",
"integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==",
"dev": true
},
"@types/mime": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
@@ -11267,11 +11252,11 @@
"dev": true
},
"@types/node": {
"version": "20.8.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz",
"integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==",
"version": "20.17.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz",
"integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==",
"requires": {
"undici-types": "~5.25.1"
"undici-types": "~6.19.2"
}
},
"@types/qs": {
@@ -11319,22 +11304,25 @@
"dev": true
},
"@types/superagent": {
"version": "4.1.14",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.14.tgz",
"integrity": "sha512-iiXaOL2wSbnSY4qg0mFPWJHL9iwyEsoNYwaHF2w58/fsVAQJlj+KUfFAFZu+nzbz+b7dUprJEAc+O9vhHHhQTA==",
"version": "8.1.9",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.9.tgz",
"integrity": "sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==",
"dev": true,
"requires": {
"@types/cookiejar": "*",
"@types/node": "*"
"@types/cookiejar": "^2.1.5",
"@types/methods": "^1.1.4",
"@types/node": "*",
"form-data": "^4.0.0"
}
},
"@types/supertest": {
"version": "2.0.16",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz",
"integrity": "sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz",
"integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==",
"dev": true,
"requires": {
"@types/superagent": "*"
"@types/methods": "^1.1.4",
"@types/superagent": "^8.1.0"
}
},
"@types/webidl-conversions": {
@@ -11642,15 +11630,13 @@
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
"integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
"dev": true,
"requires": {}
"dev": true
},
"acorn-jsx": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
"dev": true,
"requires": {}
"dev": true
},
"acorn-walk": {
"version": "8.2.0",
@@ -11703,8 +11689,7 @@
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true,
"requires": {}
"dev": true
},
"ansi-colors": {
"version": "4.1.3",
@@ -12291,9 +12276,9 @@
}
},
"component-emitter": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz",
"integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==",
"dev": true
},
"concat-map": {
@@ -12433,8 +12418,7 @@
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz",
"integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==",
"dev": true,
"requires": {}
"dev": true
},
"deep-is": {
"version": "0.1.4",
@@ -12769,8 +12753,7 @@
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz",
"integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==",
"dev": true,
"requires": {}
"dev": true
},
"eslint-import-resolver-node": {
"version": "0.3.9",
@@ -13288,9 +13271,9 @@
}
},
"form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz",
"integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==",
"dev": true,
"requires": {
"asynckit": "^0.4.0",
@@ -13704,13 +13687,6 @@
"integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
"dev": true
},
"ip": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz",
"integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==",
"optional": true,
"peer": true
},
"ipaddr.js": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
@@ -14253,8 +14229,7 @@
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz",
"integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==",
"dev": true,
"requires": {}
"dev": true
},
"jest-regex-util": {
"version": "29.6.3",
@@ -15756,24 +15731,6 @@
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true
},
"smart-buffer": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
"integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
"optional": true,
"peer": true
},
"socks": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
"integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
"optional": true,
"peer": true,
"requires": {
"ip": "^2.0.0",
"smart-buffer": "^4.2.0"
}
},
"source-map": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
@@ -15952,9 +15909,9 @@
"dev": true
},
"superagent": {
"version": "8.0.9",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
"integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
"integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
"dev": true,
"requires": {
"component-emitter": "^1.3.0",
@@ -15978,13 +15935,13 @@
}
},
"supertest": {
"version": "6.3.3",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz",
"integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==",
"version": "6.3.4",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz",
"integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==",
"dev": true,
"requires": {
"methods": "^1.1.2",
"superagent": "^8.0.5"
"superagent": "^8.1.2"
}
},
"supports-color": {
@@ -16329,9 +16286,9 @@
}
},
"undici-types": {
"version": "5.25.3",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
"integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA=="
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw=="
},
"universalify": {
"version": "2.0.0",

View File

@@ -21,7 +21,7 @@
"dependencies": {
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/mongoose": "10.0.2",
"@nestjs/mongoose": "10.0.3",
"@nestjs/platform-express": "10.3.8",
"mongoose": "8.0.1",
"reflect-metadata": "0.2.1",
@@ -34,8 +34,8 @@
"@nestjs/testing": "10.3.2",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.8.7",
"@types/supertest": "2.0.16",
"@types/node": "20.17.6",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"eslint": "8.42.0",
@@ -43,7 +43,7 @@
"eslint-plugin-import": "2.29.1",
"jest": "29.7.0",
"prettier": "3.2.5",
"supertest": "6.3.3",
"supertest": "6.3.4",
"ts-jest": "29.1.2",
"ts-loader": "9.5.1",
"ts-node": "10.9.2",

View File

@@ -1,23 +1,20 @@
import { Test, TestingModule } from '@nestjs/testing';
import { Types } from 'mongoose';
import { CatsController } from './cats.controller';
import { CreateCatDto } from './dto/create-cat.dto';
import { CatsService } from './cats.service';
import { CreateCatDto } from './dto/create-cat.dto';
describe('Cats Controller', () => {
const catsServiceMock = {
create: jest.fn(),
findAll: jest.fn(),
findOne: jest.fn(),
update: jest.fn(),
delete: jest.fn(),
};
describe('CatsController', () => {
let controller: CatsController;
let service: CatsService;
const createCatDto: CreateCatDto = {
name: 'Cat #1',
breed: 'Breed #1',
age: 4,
};
const mockCat = {
name: 'Cat #1',
breed: 'Breed #1',
age: 4,
_id: 'a id',
};
let service: jest.Mocked<CatsService>;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
@@ -25,65 +22,124 @@ describe('Cats Controller', () => {
providers: [
{
provide: CatsService,
useValue: {
findAll: jest.fn().mockResolvedValue([
{
name: 'Cat #1',
breed: 'Bread #1',
age: 4,
},
{
name: 'Cat #2',
breed: 'Breed #2',
age: 3,
},
{
name: 'Cat #3',
breed: 'Breed #3',
age: 2,
},
]),
create: jest.fn().mockResolvedValue(createCatDto),
},
useValue: catsServiceMock,
},
],
}).compile();
controller = module.get<CatsController>(CatsController);
service = module.get<CatsService>(CatsService);
controller = module.get(CatsController);
service = module.get(CatsService);
});
describe('create()', () => {
describe('create', () => {
it('should create a new cat', async () => {
const createSpy = jest
.spyOn(service, 'create')
.mockResolvedValueOnce(mockCat);
const mockedCat = {
_id: new Types.ObjectId(),
name: 'Cat #1',
breed: 'Breed #1',
age: 4,
};
service.create.mockResolvedValueOnce(mockedCat);
await controller.create(createCatDto);
expect(createSpy).toHaveBeenCalledWith(createCatDto);
const createCatDto: CreateCatDto = {
name: 'Cat #1',
breed: 'Breed #1',
age: 4,
};
const result = await controller.create(createCatDto);
expect(result).toEqual(mockedCat);
expect(service.create).toHaveBeenCalledWith(createCatDto);
});
});
describe('findAll()', () => {
describe('findAll', () => {
it('should return an array of cats', async () => {
expect(controller.findAll()).resolves.toEqual([
const mockedCats = [
{
_id: new Types.ObjectId(),
name: 'Cat #1',
breed: 'Bread #1',
age: 4,
},
{
_id: new Types.ObjectId(),
name: 'Cat #2',
breed: 'Breed #2',
age: 3,
},
{
_id: new Types.ObjectId(),
name: 'Cat #3',
breed: 'Breed #3',
age: 2,
},
]);
];
service.findAll.mockResolvedValueOnce(mockedCats);
const result = await controller.findAll();
expect(result).toEqual(mockedCats);
expect(service.findAll).toHaveBeenCalled();
});
});
describe('findOne', () => {
it('should return a single cat', async () => {
const mockedCat = {
_id: new Types.ObjectId(),
name: 'Cat #1',
breed: 'Breed #1',
age: 4,
};
service.findOne.mockResolvedValueOnce(mockedCat);
const id = new Types.ObjectId().toString();
const result = await controller.findOne(id);
expect(result).toEqual(mockedCat);
expect(service.findOne).toHaveBeenCalledWith(id);
});
});
describe('update', () => {
it('should update a single cat', async () => {
const mockedCat = {
_id: new Types.ObjectId(),
name: 'Cat #1',
breed: 'Breed #1',
age: 4,
};
service.update.mockResolvedValueOnce(mockedCat);
const id = new Types.ObjectId().toString();
const updateCatDto: CreateCatDto = {
name: 'Cat #1',
breed: 'Breed #1',
age: 4,
};
const result = await controller.update(id, updateCatDto);
expect(result).toEqual(mockedCat);
expect(service.update).toHaveBeenCalledWith(id, updateCatDto);
});
});
describe('delete', () => {
it('should delete a single cat', async () => {
const mockedCat = {
_id: new Types.ObjectId(),
name: 'Cat #1',
breed: 'Breed #1',
age: 4,
};
service.delete.mockResolvedValueOnce(mockedCat);
const id = new Types.ObjectId().toString();
const result = await controller.delete(id);
expect(result).toEqual(mockedCat);
expect(service.delete).toHaveBeenCalledWith(id);
});
});
});

View File

@@ -1,6 +1,7 @@
import { Body, Controller, Delete, Get, Param, Post } from '@nestjs/common';
import { CatsService } from './cats.service';
import { CreateCatDto } from './dto/create-cat.dto';
import { UpdateCatDto } from './dto/update-cat.dto';
import { Cat } from './schemas/cat.schema';
@Controller('cats')
@@ -9,7 +10,7 @@ export class CatsController {
@Post()
async create(@Body() createCatDto: CreateCatDto) {
await this.catsService.create(createCatDto);
return this.catsService.create(createCatDto);
}
@Get()
@@ -22,6 +23,11 @@ export class CatsController {
return this.catsService.findOne(id);
}
@Post(':id')
async update(@Param('id') id: string, @Body() updateCatDto: UpdateCatDto) {
return this.catsService.update(id, updateCatDto);
}
@Delete(':id')
async delete(@Param('id') id: string) {
return this.catsService.delete(id);

View File

@@ -1,31 +1,21 @@
import { getModelToken } from '@nestjs/mongoose';
import { Test, TestingModule } from '@nestjs/testing';
import { Model } from 'mongoose';
import { Model, Types } from 'mongoose';
import { CatsService } from './cats.service';
import { CreateCatDto } from './dto/create-cat.dto';
import { Cat } from './schemas/cat.schema';
const mockCat = {
name: 'Cat #1',
breed: 'Breed #1',
age: 4,
const catModelMock = {
create: jest.fn(),
find: jest.fn(),
findOne: jest.fn(),
findByIdAndUpdate: jest.fn(),
findByIdAndRemove: jest.fn(),
};
describe('CatsService', () => {
let service: CatsService;
let model: Model<Cat>;
const catsArray = [
{
name: 'Cat #1',
breed: 'Breed #1',
age: 4,
},
{
name: 'Cat #2',
breed: 'Breed #2',
age: 2,
},
];
let model: jest.Mocked<Model<Cat>>;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
@@ -33,46 +23,128 @@ describe('CatsService', () => {
CatsService,
{
provide: getModelToken('Cat'),
useValue: {
new: jest.fn().mockResolvedValue(mockCat),
constructor: jest.fn().mockResolvedValue(mockCat),
find: jest.fn(),
create: jest.fn(),
exec: jest.fn(),
},
useValue: catModelMock,
},
],
}).compile();
service = module.get<CatsService>(CatsService);
model = module.get<Model<Cat>>(getModelToken('Cat'));
service = module.get(CatsService);
model = module.get(getModelToken('Cat'));
});
it('should be defined', () => {
expect(service).toBeDefined();
});
it('should return all cats', async () => {
jest.spyOn(model, 'find').mockReturnValue({
exec: jest.fn().mockResolvedValueOnce(catsArray),
} as any);
const cats = await service.findAll();
expect(cats).toEqual(catsArray);
});
it('should insert a new cat', async () => {
jest.spyOn(model, 'create').mockImplementationOnce(() =>
Promise.resolve({
describe('create', () => {
it('should insert a new cat', async () => {
const mockedCat: CreateCatDto = {
name: 'Cat #1',
breed: 'Breed #1',
age: 4,
} as any),
);
const newCat = await service.create({
name: 'Cat #1',
breed: 'Breed #1',
age: 4,
};
model.create.mockResolvedValueOnce(mockedCat as any);
const createCatDto = {
name: 'Cat #1',
breed: 'Breed #1',
age: 4,
};
const result = await service.create(createCatDto);
expect(result).toEqual(mockedCat);
expect(model.create).toHaveBeenCalledWith(createCatDto);
});
});
describe('findAll', () => {
it('should return all cats', async () => {
const mockedCats = [
{
name: 'Cat #1',
breed: 'Breed #1',
age: 4,
},
{
name: 'Cat #2',
breed: 'Breed #2',
age: 2,
},
];
model.find.mockReturnValueOnce({
exec: jest.fn().mockResolvedValueOnce(mockedCats),
} as any);
const result = await service.findAll();
expect(result).toEqual(mockedCats);
expect(model.find).toHaveBeenCalled();
});
});
describe('findOne', () => {
it('should return one cat', async () => {
const mockedCat = {
name: 'Cat #1',
breed: 'Breed #1',
age: 4,
};
model.findOne.mockReturnValueOnce({
exec: jest.fn().mockResolvedValueOnce(mockedCat),
} as any);
const id = new Types.ObjectId().toString();
const result = await service.findOne(id);
expect(result).toEqual(mockedCat);
expect(model.findOne).toHaveBeenCalledWith({ _id: id });
});
});
describe('update', () => {
it('should update a cat', async () => {
const mockedCat = {
name: 'Cat #1',
breed: 'Breed #1',
age: 4,
};
model.findByIdAndUpdate.mockReturnValueOnce({
exec: jest.fn().mockResolvedValueOnce(mockedCat),
} as any);
const id = new Types.ObjectId().toString();
const updateCatDto = {
name: 'Cat #1',
breed: 'Breed #1',
age: 4,
};
const result = await service.update(id, updateCatDto);
expect(result).toEqual(mockedCat);
expect(model.findByIdAndUpdate).toHaveBeenCalledWith(
{ _id: id },
updateCatDto,
{ new: true },
);
});
});
describe('delete', () => {
it('should delete a cat', async () => {
const mockedCat = {
name: 'Cat #1',
breed: 'Breed #1',
age: 4,
};
model.findByIdAndRemove.mockReturnValueOnce({
exec: jest.fn().mockResolvedValueOnce(mockedCat),
} as any);
const id = new Types.ObjectId().toString();
const result = await service.delete(id);
expect(result).toEqual(mockedCat);
expect(model.findByIdAndRemove).toHaveBeenCalledWith({ _id: id });
});
expect(newCat).toEqual(mockCat);
});
});

View File

@@ -3,6 +3,7 @@ import { InjectModel } from '@nestjs/mongoose';
import { Model } from 'mongoose';
import { CreateCatDto } from './dto/create-cat.dto';
import { Cat } from './schemas/cat.schema';
import { UpdateCatDto } from './dto/update-cat.dto';
@Injectable()
export class CatsService {
@@ -21,7 +22,13 @@ export class CatsService {
return this.catModel.findOne({ _id: id }).exec();
}
async delete(id: string) {
async update(id: string, updateCatDto: UpdateCatDto): Promise<Cat> {
return this.catModel
.findByIdAndUpdate({ _id: id }, updateCatDto, { new: true })
.exec();
}
async delete(id: string): Promise<Cat> {
const deletedCat = await this.catModel
.findByIdAndRemove({ _id: id })
.exec();

View File

@@ -0,0 +1,5 @@
export class UpdateCatDto {
readonly name?: string;
readonly age?: number;
readonly breed?: string;
}

View File

@@ -23,7 +23,7 @@
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.3.8",
"@nestjs/sequelize": "10.0.0",
"mysql2": "3.9.7",
"mysql2": "3.9.8",
"reflect-metadata": "0.2.1",
"rimraf": "5.0.5",
"rxjs": "7.8.1",
@@ -37,8 +37,8 @@
"@nestjs/testing": "10.3.2",
"@types/express": "4.17.21",
"@types/jest": "29.5.12",
"@types/node": "20.8.7",
"@types/supertest": "2.0.16",
"@types/node": "20.17.6",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"eslint": "8.42.0",
@@ -46,7 +46,7 @@
"eslint-plugin-import": "2.29.1",
"jest": "29.7.0",
"prettier": "3.2.5",
"supertest": "6.3.3",
"supertest": "6.3.4",
"ts-jest": "29.1.2",
"ts-loader": "9.5.1",
"ts-node": "10.9.2",

View File

@@ -19,7 +19,7 @@
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@types/node": "20.8.7",
"@types/node": "20.17.6",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"eslint": "8.42.0",
@@ -1213,12 +1213,12 @@
"dev": true
},
"node_modules/@types/node": {
"version": "20.8.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz",
"integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==",
"version": "20.17.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz",
"integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==",
"dev": true,
"dependencies": {
"undici-types": "~5.25.1"
"undici-types": "~6.19.2"
}
},
"node_modules/@types/semver": {
@@ -6462,9 +6462,9 @@
}
},
"node_modules/undici-types": {
"version": "5.25.3",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
"integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==",
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
"dev": true
},
"node_modules/universalify": {
@@ -7714,12 +7714,12 @@
"dev": true
},
"@types/node": {
"version": "20.8.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz",
"integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==",
"version": "20.17.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz",
"integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==",
"dev": true,
"requires": {
"undici-types": "~5.25.1"
"undici-types": "~6.19.2"
}
},
"@types/semver": {
@@ -11527,9 +11527,9 @@
}
},
"undici-types": {
"version": "5.25.3",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
"integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==",
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
"dev": true
},
"universalify": {

View File

@@ -22,7 +22,7 @@
"devDependencies": {
"@nestjs/cli": "10.3.2",
"@nestjs/schematics": "10.1.1",
"@types/node": "20.8.7",
"@types/node": "20.17.6",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"eslint": "8.42.0",

View File

@@ -30,7 +30,7 @@
"jest": "29.7.0",
"nodemon": "3.0.3",
"prettier": "3.2.5",
"supertest": "6.3.3"
"supertest": "6.3.4"
}
},
"node_modules/@ampproject/remapping": {
@@ -8319,9 +8319,10 @@
}
},
"node_modules/superagent": {
"version": "8.0.9",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
"integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
"integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
"deprecated": "Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net",
"dev": true,
"dependencies": {
"component-emitter": "^1.3.0",
@@ -8367,13 +8368,13 @@
}
},
"node_modules/supertest": {
"version": "6.3.3",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz",
"integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==",
"version": "6.3.4",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz",
"integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==",
"dev": true,
"dependencies": {
"methods": "^1.1.2",
"superagent": "^8.0.5"
"superagent": "^8.1.2"
},
"engines": {
"node": ">=6.4.0"
@@ -14847,9 +14848,9 @@
"dev": true
},
"superagent": {
"version": "8.0.9",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
"integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
"integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
"dev": true,
"requires": {
"component-emitter": "^1.3.0",
@@ -14882,13 +14883,13 @@
}
},
"supertest": {
"version": "6.3.3",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz",
"integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==",
"version": "6.3.4",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz",
"integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==",
"dev": true,
"requires": {
"methods": "^1.1.2",
"superagent": "^8.0.5"
"superagent": "^8.1.2"
}
},
"supports-color": {

View File

@@ -34,7 +34,7 @@
"jest": "29.7.0",
"nodemon": "3.0.3",
"prettier": "3.2.5",
"supertest": "6.3.3"
"supertest": "6.3.4"
},
"jest": {
"moduleFileExtensions": [

View File

@@ -23,8 +23,8 @@
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@types/express": "4.17.21",
"@types/node": "20.8.7",
"@types/supertest": "2.0.16",
"@types/node": "20.17.6",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"eslint": "8.42.0",
@@ -32,7 +32,7 @@
"eslint-plugin-import": "2.29.1",
"jest": "29.7.0",
"prettier": "3.2.5",
"supertest": "6.3.3",
"supertest": "6.3.4",
"ts-jest": "29.1.2",
"ts-loader": "9.5.1",
"ts-node": "10.9.2",
@@ -2210,9 +2210,9 @@
}
},
"node_modules/@types/cookiejar": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
"integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz",
"integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==",
"dev": true
},
"node_modules/@types/eslint": {
@@ -2310,6 +2310,12 @@
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
"dev": true
},
"node_modules/@types/methods": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz",
"integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==",
"dev": true
},
"node_modules/@types/mime": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
@@ -2317,12 +2323,12 @@
"dev": true
},
"node_modules/@types/node": {
"version": "20.8.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz",
"integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==",
"version": "20.17.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz",
"integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==",
"dev": true,
"dependencies": {
"undici-types": "~5.25.1"
"undici-types": "~6.19.2"
}
},
"node_modules/@types/qs": {
@@ -2370,22 +2376,25 @@
"dev": true
},
"node_modules/@types/superagent": {
"version": "4.1.10",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.10.tgz",
"integrity": "sha512-xAgkb2CMWUMCyVc/3+7iQfOEBE75NvuZeezvmixbUw3nmENf2tCnQkW5yQLTYqvXUQ+R6EXxdqKKbal2zM5V/g==",
"version": "8.1.9",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.9.tgz",
"integrity": "sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==",
"dev": true,
"dependencies": {
"@types/cookiejar": "*",
"@types/node": "*"
"@types/cookiejar": "^2.1.5",
"@types/methods": "^1.1.4",
"@types/node": "*",
"form-data": "^4.0.0"
}
},
"node_modules/@types/supertest": {
"version": "2.0.16",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz",
"integrity": "sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz",
"integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==",
"dev": true,
"dependencies": {
"@types/superagent": "*"
"@types/methods": "^1.1.4",
"@types/superagent": "^8.1.0"
}
},
"node_modules/@types/validator": {
@@ -4664,13 +4673,13 @@
}
},
"node_modules/find-my-way": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-8.1.0.tgz",
"integrity": "sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==",
"version": "8.2.2",
"resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-8.2.2.tgz",
"integrity": "sha512-Dobi7gcTEq8yszimcfp/R7+owiT4WncAJ7VTTgFH1jYJ5GaG1FbhjwDG820hptN0QDFvzVY3RfCzdInvGPGzjA==",
"dependencies": {
"fast-deep-equal": "^3.1.3",
"fast-querystring": "^1.0.0",
"safe-regex2": "^2.0.0"
"safe-regex2": "^3.1.0"
},
"engines": {
"node": ">=14"
@@ -7690,11 +7699,11 @@
}
},
"node_modules/ret": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz",
"integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==",
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/ret/-/ret-0.4.3.tgz",
"integrity": "sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==",
"engines": {
"node": ">=4"
"node": ">=10"
}
},
"node_modules/reusify": {
@@ -7855,11 +7864,11 @@
}
},
"node_modules/safe-regex2": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-2.0.0.tgz",
"integrity": "sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==",
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-3.1.0.tgz",
"integrity": "sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==",
"dependencies": {
"ret": "~0.2.0"
"ret": "~0.4.0"
}
},
"node_modules/safe-stable-stringify": {
@@ -8296,9 +8305,10 @@
}
},
"node_modules/superagent": {
"version": "8.0.9",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
"integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
"integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
"deprecated": "Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net",
"dev": true,
"dependencies": {
"component-emitter": "^1.3.0",
@@ -8317,13 +8327,13 @@
}
},
"node_modules/supertest": {
"version": "6.3.3",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz",
"integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==",
"version": "6.3.4",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz",
"integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==",
"dev": true,
"dependencies": {
"methods": "^1.1.2",
"superagent": "^8.0.5"
"superagent": "^8.1.2"
},
"engines": {
"node": ">=6.4.0"
@@ -8859,9 +8869,9 @@
}
},
"node_modules/undici-types": {
"version": "5.25.3",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
"integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==",
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
"dev": true
},
"node_modules/universalify": {
@@ -10861,9 +10871,9 @@
}
},
"@types/cookiejar": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
"integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz",
"integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==",
"dev": true
},
"@types/eslint": {
@@ -10961,6 +10971,12 @@
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
"dev": true
},
"@types/methods": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz",
"integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==",
"dev": true
},
"@types/mime": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
@@ -10968,12 +10984,12 @@
"dev": true
},
"@types/node": {
"version": "20.8.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz",
"integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==",
"version": "20.17.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz",
"integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==",
"dev": true,
"requires": {
"undici-types": "~5.25.1"
"undici-types": "~6.19.2"
}
},
"@types/qs": {
@@ -11021,22 +11037,25 @@
"dev": true
},
"@types/superagent": {
"version": "4.1.10",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.10.tgz",
"integrity": "sha512-xAgkb2CMWUMCyVc/3+7iQfOEBE75NvuZeezvmixbUw3nmENf2tCnQkW5yQLTYqvXUQ+R6EXxdqKKbal2zM5V/g==",
"version": "8.1.9",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.9.tgz",
"integrity": "sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==",
"dev": true,
"requires": {
"@types/cookiejar": "*",
"@types/node": "*"
"@types/cookiejar": "^2.1.5",
"@types/methods": "^1.1.4",
"@types/node": "*",
"form-data": "^4.0.0"
}
},
"@types/supertest": {
"version": "2.0.16",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz",
"integrity": "sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz",
"integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==",
"dev": true,
"requires": {
"@types/superagent": "*"
"@types/methods": "^1.1.4",
"@types/superagent": "^8.1.0"
}
},
"@types/validator": {
@@ -12745,13 +12764,13 @@
}
},
"find-my-way": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-8.1.0.tgz",
"integrity": "sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==",
"version": "8.2.2",
"resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-8.2.2.tgz",
"integrity": "sha512-Dobi7gcTEq8yszimcfp/R7+owiT4WncAJ7VTTgFH1jYJ5GaG1FbhjwDG820hptN0QDFvzVY3RfCzdInvGPGzjA==",
"requires": {
"fast-deep-equal": "^3.1.3",
"fast-querystring": "^1.0.0",
"safe-regex2": "^2.0.0"
"safe-regex2": "^3.1.0"
}
},
"find-up": {
@@ -14964,9 +14983,9 @@
}
},
"ret": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz",
"integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ=="
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/ret/-/ret-0.4.3.tgz",
"integrity": "sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ=="
},
"reusify": {
"version": "1.0.4",
@@ -15076,11 +15095,11 @@
}
},
"safe-regex2": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-2.0.0.tgz",
"integrity": "sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==",
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-3.1.0.tgz",
"integrity": "sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==",
"requires": {
"ret": "~0.2.0"
"ret": "~0.4.0"
}
},
"safe-stable-stringify": {
@@ -15409,9 +15428,9 @@
"dev": true
},
"superagent": {
"version": "8.0.9",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
"integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
"integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
"dev": true,
"requires": {
"component-emitter": "^1.3.0",
@@ -15427,13 +15446,13 @@
}
},
"supertest": {
"version": "6.3.3",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz",
"integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==",
"version": "6.3.4",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz",
"integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==",
"dev": true,
"requires": {
"methods": "^1.1.2",
"superagent": "^8.0.5"
"superagent": "^8.1.2"
}
},
"supports-color": {
@@ -15787,9 +15806,9 @@
}
},
"undici-types": {
"version": "5.25.3",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
"integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==",
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
"dev": true
},
"universalify": {

View File

@@ -33,8 +33,8 @@
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@types/express": "4.17.21",
"@types/node": "20.8.7",
"@types/supertest": "2.0.16",
"@types/node": "20.17.6",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"eslint": "8.42.0",
@@ -42,7 +42,7 @@
"eslint-plugin-import": "2.29.1",
"jest": "29.7.0",
"prettier": "3.2.5",
"supertest": "6.3.3",
"supertest": "6.3.4",
"ts-jest": "29.1.2",
"ts-loader": "9.5.1",
"ts-node": "10.9.2",

View File

@@ -12,7 +12,7 @@
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/platform-express": "10.3.8",
"@nestjs/swagger": "7.2.0",
"@nestjs/swagger": "7.3.0",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
"reflect-metadata": "0.2.1",
@@ -24,8 +24,8 @@
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@types/express": "4.17.21",
"@types/node": "20.8.7",
"@types/supertest": "2.0.16",
"@types/node": "20.17.6",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"eslint": "8.42.0",
@@ -33,7 +33,7 @@
"eslint-plugin-import": "2.29.1",
"jest": "29.7.0",
"prettier": "3.2.5",
"supertest": "6.3.3",
"supertest": "6.3.4",
"ts-jest": "29.1.2",
"ts-loader": "9.5.1",
"ts-node": "10.9.2",
@@ -1669,6 +1669,11 @@
"node": ">=8"
}
},
"node_modules/@microsoft/tsdoc": {
"version": "0.14.2",
"resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz",
"integrity": "sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug=="
},
"node_modules/@nestjs/cli": {
"version": "10.3.2",
"resolved": "https://registry.npmjs.org/@nestjs/cli/-/cli-10.3.2.tgz",
@@ -1898,6 +1903,25 @@
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
},
"node_modules/@nestjs/mapped-types": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-2.0.5.tgz",
"integrity": "sha512-bSJv4pd6EY99NX9CjBIyn4TVDoSit82DUZlL4I3bqNfy5Gt+gXTa86i3I/i0iIV9P4hntcGM5GyO+FhZAhxtyg==",
"peerDependencies": {
"@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0",
"class-transformer": "^0.4.0 || ^0.5.0",
"class-validator": "^0.13.0 || ^0.14.0",
"reflect-metadata": "^0.1.12 || ^0.2.0"
},
"peerDependenciesMeta": {
"class-transformer": {
"optional": true
},
"class-validator": {
"optional": true
}
}
},
"node_modules/@nestjs/platform-express": {
"version": "10.3.8",
"resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-10.3.8.tgz",
@@ -1946,23 +1970,24 @@
"dev": true
},
"node_modules/@nestjs/swagger": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/@nestjs/swagger/-/swagger-7.2.0.tgz",
"integrity": "sha512-W7WPq561/79w27ZEgViXS7c5hqPwT7QXhsLsSeu2jeBROUhMM825QKDFKbMmtb643IW5dznJ4PjherlZZgtMvg==",
"version": "7.3.0",
"resolved": "https://registry.npmjs.org/@nestjs/swagger/-/swagger-7.3.0.tgz",
"integrity": "sha512-zLkfKZ+ioYsIZ3dfv7Bj8YHnZMNAGWFUmx2ZDuLp/fBE4P8BSjB7hldzDueFXsmwaPL90v7lgyd82P+s7KME1Q==",
"dependencies": {
"@nestjs/mapped-types": "2.0.4",
"@microsoft/tsdoc": "^0.14.2",
"@nestjs/mapped-types": "2.0.5",
"js-yaml": "4.1.0",
"lodash": "4.17.21",
"path-to-regexp": "3.2.0",
"swagger-ui-dist": "5.11.0"
"swagger-ui-dist": "5.11.2"
},
"peerDependencies": {
"@fastify/static": "^6.0.0",
"@fastify/static": "^6.0.0 || ^7.0.0",
"@nestjs/common": "^9.0.0 || ^10.0.0",
"@nestjs/core": "^9.0.0 || ^10.0.0",
"class-transformer": "*",
"class-validator": "*",
"reflect-metadata": "^0.1.12"
"reflect-metadata": "^0.1.12 || ^0.2.0"
},
"peerDependenciesMeta": {
"@fastify/static": {
@@ -1976,25 +2001,6 @@
}
}
},
"node_modules/@nestjs/swagger/node_modules/@nestjs/mapped-types": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-2.0.4.tgz",
"integrity": "sha512-xl+gUSp0B+ln1VSNoUftlglk8dfpUes3DHGxKZ5knuBxS5g2H/8p9/DSBOYWUfO5f4u9s6ffBPZ71WO+tbe5SA==",
"peerDependencies": {
"@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0",
"class-transformer": "^0.4.0 || ^0.5.0",
"class-validator": "^0.13.0 || ^0.14.0",
"reflect-metadata": "^0.1.12"
},
"peerDependenciesMeta": {
"class-transformer": {
"optional": true
},
"class-validator": {
"optional": true
}
}
},
"node_modules/@nestjs/testing": {
"version": "10.3.2",
"resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-10.3.2.tgz",
@@ -2198,9 +2204,9 @@
}
},
"node_modules/@types/cookiejar": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
"integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz",
"integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==",
"dev": true
},
"node_modules/@types/eslint": {
@@ -2298,6 +2304,12 @@
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
"dev": true
},
"node_modules/@types/methods": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz",
"integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==",
"dev": true
},
"node_modules/@types/mime": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
@@ -2305,12 +2317,12 @@
"dev": true
},
"node_modules/@types/node": {
"version": "20.8.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz",
"integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==",
"version": "20.17.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz",
"integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==",
"dev": true,
"dependencies": {
"undici-types": "~5.25.1"
"undici-types": "~6.19.2"
}
},
"node_modules/@types/qs": {
@@ -2358,22 +2370,25 @@
"dev": true
},
"node_modules/@types/superagent": {
"version": "4.1.10",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.10.tgz",
"integrity": "sha512-xAgkb2CMWUMCyVc/3+7iQfOEBE75NvuZeezvmixbUw3nmENf2tCnQkW5yQLTYqvXUQ+R6EXxdqKKbal2zM5V/g==",
"version": "8.1.9",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.9.tgz",
"integrity": "sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==",
"dev": true,
"dependencies": {
"@types/cookiejar": "*",
"@types/node": "*"
"@types/cookiejar": "^2.1.5",
"@types/methods": "^1.1.4",
"@types/node": "*",
"form-data": "^4.0.0"
}
},
"node_modules/@types/supertest": {
"version": "2.0.16",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz",
"integrity": "sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz",
"integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==",
"dev": true,
"dependencies": {
"@types/superagent": "*"
"@types/methods": "^1.1.4",
"@types/superagent": "^8.1.0"
}
},
"node_modules/@types/validator": {
@@ -3826,9 +3841,9 @@
"dev": true
},
"node_modules/cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -8523,9 +8538,10 @@
}
},
"node_modules/superagent": {
"version": "8.0.9",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
"integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
"integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
"deprecated": "Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net",
"dev": true,
"dependencies": {
"component-emitter": "^1.3.0",
@@ -8556,13 +8572,13 @@
}
},
"node_modules/supertest": {
"version": "6.3.3",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz",
"integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==",
"version": "6.3.4",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz",
"integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==",
"dev": true,
"dependencies": {
"methods": "^1.1.2",
"superagent": "^8.0.5"
"superagent": "^8.1.2"
},
"engines": {
"node": ">=6.4.0"
@@ -8592,9 +8608,9 @@
}
},
"node_modules/swagger-ui-dist": {
"version": "5.11.0",
"resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.11.0.tgz",
"integrity": "sha512-j0PIATqQSEFGOLmiJOJZj1X1Jt6bFIur3JpY7+ghliUnfZs0fpWDdHEkn9q7QUlBtKbkn6TepvSxTqnE8l3s0A=="
"version": "5.11.2",
"resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.11.2.tgz",
"integrity": "sha512-jQG0cRgJNMZ7aCoiFofnoojeSaa/+KgWaDlfgs8QN+BXoGMpxeMVY5OEnjq4OlNvF3yjftO8c9GRAgcHlO+u7A=="
},
"node_modules/symbol-observable": {
"version": "4.0.0",
@@ -9064,9 +9080,9 @@
}
},
"node_modules/undici-types": {
"version": "5.25.3",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
"integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==",
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
"dev": true
},
"node_modules/universalify": {
@@ -10690,6 +10706,11 @@
"resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz",
"integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA=="
},
"@microsoft/tsdoc": {
"version": "0.14.2",
"resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz",
"integrity": "sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug=="
},
"@nestjs/cli": {
"version": "10.3.2",
"resolved": "https://registry.npmjs.org/@nestjs/cli/-/cli-10.3.2.tgz",
@@ -10828,6 +10849,12 @@
}
}
},
"@nestjs/mapped-types": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-2.0.5.tgz",
"integrity": "sha512-bSJv4pd6EY99NX9CjBIyn4TVDoSit82DUZlL4I3bqNfy5Gt+gXTa86i3I/i0iIV9P4hntcGM5GyO+FhZAhxtyg==",
"requires": {}
},
"@nestjs/platform-express": {
"version": "10.3.8",
"resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-10.3.8.tgz",
@@ -10869,23 +10896,16 @@
}
},
"@nestjs/swagger": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/@nestjs/swagger/-/swagger-7.2.0.tgz",
"integrity": "sha512-W7WPq561/79w27ZEgViXS7c5hqPwT7QXhsLsSeu2jeBROUhMM825QKDFKbMmtb643IW5dznJ4PjherlZZgtMvg==",
"version": "7.3.0",
"resolved": "https://registry.npmjs.org/@nestjs/swagger/-/swagger-7.3.0.tgz",
"integrity": "sha512-zLkfKZ+ioYsIZ3dfv7Bj8YHnZMNAGWFUmx2ZDuLp/fBE4P8BSjB7hldzDueFXsmwaPL90v7lgyd82P+s7KME1Q==",
"requires": {
"@nestjs/mapped-types": "2.0.4",
"@microsoft/tsdoc": "^0.14.2",
"@nestjs/mapped-types": "2.0.5",
"js-yaml": "4.1.0",
"lodash": "4.17.21",
"path-to-regexp": "3.2.0",
"swagger-ui-dist": "5.11.0"
},
"dependencies": {
"@nestjs/mapped-types": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-2.0.4.tgz",
"integrity": "sha512-xl+gUSp0B+ln1VSNoUftlglk8dfpUes3DHGxKZ5knuBxS5g2H/8p9/DSBOYWUfO5f4u9s6ffBPZ71WO+tbe5SA==",
"requires": {}
}
"swagger-ui-dist": "5.11.2"
}
},
"@nestjs/testing": {
@@ -11056,9 +11076,9 @@
}
},
"@types/cookiejar": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
"integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz",
"integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==",
"dev": true
},
"@types/eslint": {
@@ -11156,6 +11176,12 @@
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
"dev": true
},
"@types/methods": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz",
"integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==",
"dev": true
},
"@types/mime": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
@@ -11163,12 +11189,12 @@
"dev": true
},
"@types/node": {
"version": "20.8.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz",
"integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==",
"version": "20.17.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz",
"integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==",
"dev": true,
"requires": {
"undici-types": "~5.25.1"
"undici-types": "~6.19.2"
}
},
"@types/qs": {
@@ -11216,22 +11242,25 @@
"dev": true
},
"@types/superagent": {
"version": "4.1.10",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.10.tgz",
"integrity": "sha512-xAgkb2CMWUMCyVc/3+7iQfOEBE75NvuZeezvmixbUw3nmENf2tCnQkW5yQLTYqvXUQ+R6EXxdqKKbal2zM5V/g==",
"version": "8.1.9",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.9.tgz",
"integrity": "sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==",
"dev": true,
"requires": {
"@types/cookiejar": "*",
"@types/node": "*"
"@types/cookiejar": "^2.1.5",
"@types/methods": "^1.1.4",
"@types/node": "*",
"form-data": "^4.0.0"
}
},
"@types/supertest": {
"version": "2.0.16",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz",
"integrity": "sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz",
"integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==",
"dev": true,
"requires": {
"@types/superagent": "*"
"@types/methods": "^1.1.4",
"@types/superagent": "^8.1.0"
}
},
"@types/validator": {
@@ -12298,9 +12327,9 @@
"dev": true
},
"cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"requires": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -15792,9 +15821,9 @@
"dev": true
},
"superagent": {
"version": "8.0.9",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
"integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
"integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
"dev": true,
"requires": {
"component-emitter": "^1.3.0",
@@ -15818,13 +15847,13 @@
}
},
"supertest": {
"version": "6.3.3",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz",
"integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==",
"version": "6.3.4",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz",
"integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==",
"dev": true,
"requires": {
"methods": "^1.1.2",
"superagent": "^8.0.5"
"superagent": "^8.1.2"
}
},
"supports-color": {
@@ -15842,9 +15871,9 @@
"dev": true
},
"swagger-ui-dist": {
"version": "5.11.0",
"resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.11.0.tgz",
"integrity": "sha512-j0PIATqQSEFGOLmiJOJZj1X1Jt6bFIur3JpY7+ghliUnfZs0fpWDdHEkn9q7QUlBtKbkn6TepvSxTqnE8l3s0A=="
"version": "5.11.2",
"resolved": "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-5.11.2.tgz",
"integrity": "sha512-jQG0cRgJNMZ7aCoiFofnoojeSaa/+KgWaDlfgs8QN+BXoGMpxeMVY5OEnjq4OlNvF3yjftO8c9GRAgcHlO+u7A=="
},
"symbol-observable": {
"version": "4.0.0",
@@ -16151,9 +16180,9 @@
}
},
"undici-types": {
"version": "5.25.3",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
"integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==",
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
"dev": true
},
"universalify": {

View File

@@ -34,8 +34,8 @@
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@types/express": "4.17.21",
"@types/node": "20.8.7",
"@types/supertest": "2.0.16",
"@types/node": "20.17.6",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"eslint": "8.42.0",
@@ -43,7 +43,7 @@
"eslint-plugin-import": "2.29.1",
"jest": "29.7.0",
"prettier": "3.2.5",
"supertest": "6.3.3",
"supertest": "6.3.4",
"ts-jest": "29.1.2",
"ts-loader": "9.5.1",
"ts-node": "10.9.2",

View File

@@ -0,0 +1,67 @@
import { INestApplication } from '@nestjs/common';
import { Test, TestingModule } from '@nestjs/testing';
import * as request from 'supertest';
import { Cat } from '../../src/graphql.schema';
import { AppModule } from '../../src/app.module';
describe('Cats Resolver (e2e)', () => {
let app: INestApplication;
let cat: Cat;
beforeEach(async () => {
const moduleFixture: TestingModule = await Test.createTestingModule({
imports: [AppModule],
}).compile();
app = moduleFixture.createNestApplication();
await app.init();
});
afterEach(async () => {
await app.close();
});
it('should create a new cat', async () => {
const query = `
mutation {
createCat(createCatInput: { name: "Cat", age: 5 }) {
id
name
age
}
}
`;
return request(app.getHttpServer())
.post('/graphql')
.send({ query })
.expect(200)
.expect(response => {
cat = response.body.data.createCat;
expect(cat.name).toEqual('Cat');
expect(cat.age).toEqual(5);
});
});
it('should get all cats', async () => {
const query = `
query {
cats {
id
name
age
}
}
`;
return request(app.getHttpServer())
.post('/graphql')
.send({ query })
.expect(200)
.expect(response => {
const cats = response.body.data.cats;
expect(cats[0].name).toEqual('Cat');
});
});
});

View File

@@ -0,0 +1,13 @@
{
"moduleFileExtensions": ["ts", "tsx", "js", "json"],
"transform": {
"^.+\\.tsx?$": "ts-jest"
},
"testRegex": "/e2e/.*\\.(e2e-test|e2e-spec).(ts|tsx|js)$",
"collectCoverageFrom": [
"src/**/*.{js,jsx,tsx,ts}",
"!**/node_modules/**",
"!**/vendor/**"
],
"coverageReporters": ["json", "lcov"]
}

View File

@@ -14,7 +14,7 @@
"@nestjs/apollo": "12.0.11",
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/graphql": "12.0.11",
"@nestjs/graphql": "12.2.0",
"@nestjs/platform-express": "10.3.8",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
@@ -29,8 +29,9 @@
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@types/express": "4.17.21",
"@types/node": "20.8.7",
"@types/supertest": "2.0.16",
"@types/jest": "29.5.10",
"@types/node": "20.17.6",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"eslint": "8.42.0",
@@ -38,7 +39,7 @@
"eslint-plugin-import": "2.29.1",
"jest": "29.7.0",
"prettier": "3.2.5",
"supertest": "6.3.3",
"supertest": "6.3.4",
"ts-jest": "29.1.2",
"ts-loader": "9.5.1",
"ts-morph": "21.0.1",
@@ -2088,30 +2089,6 @@
"balanced-match": "^1.0.0"
}
},
"node_modules/@nestjs/cli/node_modules/chokidar": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"dev": true,
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
"glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.6.0"
},
"engines": {
"node": ">= 8.10.0"
},
"funding": {
"url": "https://paulmillr.com/funding/"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
}
},
"node_modules/@nestjs/cli/node_modules/glob": {
"version": "10.3.10",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
@@ -2275,24 +2252,24 @@
}
},
"node_modules/@nestjs/graphql": {
"version": "12.0.11",
"resolved": "https://registry.npmjs.org/@nestjs/graphql/-/graphql-12.0.11.tgz",
"integrity": "sha512-iCyVs9+utCQt9ehMhUjQcEdjRN/MrcTBINd7P44O1fzGENuWMbt1Z8RCoZbeGi5iVPBY63HgYik+BnnICqmxZw==",
"version": "12.2.0",
"resolved": "https://registry.npmjs.org/@nestjs/graphql/-/graphql-12.2.0.tgz",
"integrity": "sha512-du/aI+EXADxtJrHF1mAXR6RYRHuEWPNnJyHTmIOPW2Wx5qN32P7lQoHGD7TySATMl5aa47w05lPzxcasdUmpMQ==",
"dependencies": {
"@graphql-tools/merge": "9.0.0",
"@graphql-tools/schema": "10.0.0",
"@graphql-tools/utils": "10.0.8",
"@nestjs/mapped-types": "2.0.2",
"chokidar": "3.5.3",
"@graphql-tools/merge": "9.0.4",
"@graphql-tools/schema": "10.0.4",
"@graphql-tools/utils": "10.2.3",
"@nestjs/mapped-types": "2.0.5",
"chokidar": "3.6.0",
"fast-glob": "3.3.2",
"graphql-tag": "2.12.6",
"graphql-ws": "5.14.2",
"graphql-ws": "5.16.0",
"lodash": "4.17.21",
"normalize-path": "3.0.0",
"subscriptions-transport-ws": "0.11.0",
"tslib": "2.6.2",
"tslib": "2.6.3",
"uuid": "9.0.1",
"ws": "8.14.2"
"ws": "8.17.1"
},
"peerDependencies": {
"@apollo/subgraph": "^2.0.0",
@@ -2301,8 +2278,8 @@
"class-transformer": "*",
"class-validator": "*",
"graphql": "^16.6.0",
"reflect-metadata": "^0.1.13",
"ts-morph": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0"
"reflect-metadata": "^0.1.13 || ^0.2.0",
"ts-morph": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0"
},
"peerDependenciesMeta": {
"@apollo/subgraph": {
@@ -2320,11 +2297,11 @@
}
},
"node_modules/@nestjs/graphql/node_modules/@graphql-tools/merge": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.0.tgz",
"integrity": "sha512-J7/xqjkGTTwOJmaJQJ2C+VDBDOWJL3lKrHJN4yMaRLAJH3PosB7GiPRaSDZdErs0+F77sH2MKs2haMMkywzx7Q==",
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.4.tgz",
"integrity": "sha512-MivbDLUQ+4Q8G/Hp/9V72hbn810IJDEZQ57F01sHnlrrijyadibfVhaQfW/pNH+9T/l8ySZpaR/DpL5i+ruZ+g==",
"dependencies": {
"@graphql-tools/utils": "^10.0.0",
"@graphql-tools/utils": "^10.0.13",
"tslib": "^2.4.0"
},
"engines": {
@@ -2335,12 +2312,12 @@
}
},
"node_modules/@nestjs/graphql/node_modules/@graphql-tools/schema": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.0.tgz",
"integrity": "sha512-kf3qOXMFcMs2f/S8Y3A8fm/2w+GaHAkfr3Gnhh2LOug/JgpY/ywgFVxO3jOeSpSEdoYcDKLcXVjMigNbY4AdQg==",
"version": "10.0.4",
"resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.4.tgz",
"integrity": "sha512-HuIwqbKxPaJujox25Ra4qwz0uQzlpsaBOzO6CVfzB/MemZdd+Gib8AIvfhQArK0YIN40aDran/yi+E5Xf0mQww==",
"dependencies": {
"@graphql-tools/merge": "^9.0.0",
"@graphql-tools/utils": "^10.0.0",
"@graphql-tools/merge": "^9.0.3",
"@graphql-tools/utils": "^10.2.1",
"tslib": "^2.4.0",
"value-or-promise": "^1.0.12"
},
@@ -2352,9 +2329,9 @@
}
},
"node_modules/@nestjs/graphql/node_modules/@graphql-tools/utils": {
"version": "10.0.8",
"resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.0.8.tgz",
"integrity": "sha512-yjyA8ycSa1WRlJqyX/aLqXeE5DvF/H02+zXMUFnCzIDrj0UvLMUrxhmVFnMK0Q2n3bh4uuTeY3621m5za9ovXw==",
"version": "10.2.3",
"resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.2.3.tgz",
"integrity": "sha512-j7x0sO0VtWVhD3FubyY42abx+g61/at5W5Y3DSOckPkBo7yVjkcnAsXoB4jiUnznhGme/o+uX5VgA8HrjyR5ZQ==",
"dependencies": {
"@graphql-typed-document-node/core": "^3.1.1",
"cross-inspect": "1.0.0",
@@ -2368,15 +2345,20 @@
"graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
}
},
"node_modules/@nestjs/graphql/node_modules/@nestjs/mapped-types": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-2.0.2.tgz",
"integrity": "sha512-V0izw6tWs6fTp9+KiiPUbGHWALy563Frn8X6Bm87ANLRuE46iuBMD5acKBDP5lKL/75QFvrzSJT7HkCbB0jTpg==",
"node_modules/@nestjs/graphql/node_modules/tslib": {
"version": "2.6.3",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
"integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ=="
},
"node_modules/@nestjs/mapped-types": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-2.0.5.tgz",
"integrity": "sha512-bSJv4pd6EY99NX9CjBIyn4TVDoSit82DUZlL4I3bqNfy5Gt+gXTa86i3I/i0iIV9P4hntcGM5GyO+FhZAhxtyg==",
"peerDependencies": {
"@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0",
"class-transformer": "^0.4.0 || ^0.5.0",
"class-validator": "^0.13.0 || ^0.14.0",
"reflect-metadata": "^0.1.12"
"reflect-metadata": "^0.1.12 || ^0.2.0"
},
"peerDependenciesMeta": {
"class-transformer": {
@@ -2596,7 +2578,7 @@
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.22.0.tgz",
"integrity": "sha512-HqNBuV/oIlMKdkLshXd1zKBqNQCsuPEsgQOkfFQ/eUKjRlwndXW1AjN9LVkBEIukm00gGXSRmfkl0Wv5VXLnlw==",
"devOptional": true,
"dev": true,
"dependencies": {
"fast-glob": "^3.3.2",
"minimatch": "^9.0.3",
@@ -2608,7 +2590,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"devOptional": true,
"dev": true,
"dependencies": {
"balanced-match": "^1.0.0"
}
@@ -2617,7 +2599,7 @@
"version": "9.0.3",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
"integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
"devOptional": true,
"dev": true,
"dependencies": {
"brace-expansion": "^2.0.1"
},
@@ -2632,7 +2614,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz",
"integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==",
"devOptional": true,
"dev": true,
"bin": {
"mkdirp": "dist/cjs/src/bin.js"
},
@@ -2726,9 +2708,9 @@
}
},
"node_modules/@types/cookiejar": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
"integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz",
"integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==",
"dev": true
},
"node_modules/@types/eslint": {
@@ -2811,6 +2793,16 @@
"@types/istanbul-lib-report": "*"
}
},
"node_modules/@types/jest": {
"version": "29.5.10",
"resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.10.tgz",
"integrity": "sha512-tE4yxKEphEyxj9s4inideLHktW/x6DwesIwWZ9NN1FKf9zbJYsnhBoA9vrHA/IuIOKwPa5PcFBNV4lpMIOEzyQ==",
"dev": true,
"dependencies": {
"expect": "^29.0.0",
"pretty-format": "^29.0.0"
}
},
"node_modules/@types/json-schema": {
"version": "7.0.11",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
@@ -2828,17 +2820,23 @@
"resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
"integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA=="
},
"node_modules/@types/methods": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz",
"integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==",
"dev": true
},
"node_modules/@types/mime": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
"integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
},
"node_modules/@types/node": {
"version": "20.8.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz",
"integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==",
"version": "20.17.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz",
"integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==",
"dependencies": {
"undici-types": "~5.25.1"
"undici-types": "~6.19.2"
}
},
"node_modules/@types/node-fetch": {
@@ -2895,22 +2893,25 @@
"dev": true
},
"node_modules/@types/superagent": {
"version": "4.1.10",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.10.tgz",
"integrity": "sha512-xAgkb2CMWUMCyVc/3+7iQfOEBE75NvuZeezvmixbUw3nmENf2tCnQkW5yQLTYqvXUQ+R6EXxdqKKbal2zM5V/g==",
"version": "8.1.9",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.9.tgz",
"integrity": "sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==",
"dev": true,
"dependencies": {
"@types/cookiejar": "*",
"@types/node": "*"
"@types/cookiejar": "^2.1.5",
"@types/methods": "^1.1.4",
"@types/node": "*",
"form-data": "^4.0.0"
}
},
"node_modules/@types/supertest": {
"version": "2.0.16",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz",
"integrity": "sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz",
"integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==",
"dev": true,
"dependencies": {
"@types/superagent": "*"
"@types/methods": "^1.1.4",
"@types/superagent": "^8.1.0"
}
},
"node_modules/@types/validator": {
@@ -4022,15 +4023,9 @@
"dev": true
},
"node_modules/chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
"funding": [
{
"type": "individual",
"url": "https://paulmillr.com/funding/"
}
],
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
@@ -4043,6 +4038,9 @@
"engines": {
"node": ">= 8.10.0"
},
"funding": {
"url": "https://paulmillr.com/funding/"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
}
@@ -4177,7 +4175,7 @@
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-12.0.0.tgz",
"integrity": "sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==",
"devOptional": true
"dev": true
},
"node_modules/collect-v8-coverage": {
"version": "1.0.2",
@@ -5862,9 +5860,9 @@
}
},
"node_modules/graphql-ws": {
"version": "5.14.2",
"resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.14.2.tgz",
"integrity": "sha512-LycmCwhZ+Op2GlHz4BZDsUYHKRiiUz+3r9wbhBATMETNlORQJAaFlAgTFoeRh6xQoQegwYwIylVD1Qns9/DA3w==",
"version": "5.16.0",
"resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.16.0.tgz",
"integrity": "sha512-Ju2RCU2dQMgSKtArPbEtsK5gNLnsQyTNIo/T7cZNp96niC1x0KdJNZV0TIoilceBPQwfb5itrGl8pkFeOUMl4A==",
"engines": {
"node": ">=10"
},
@@ -8006,7 +8004,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
"integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
"devOptional": true
"dev": true
},
"node_modules/path-exists": {
"version": "4.0.0",
@@ -9163,9 +9161,10 @@
}
},
"node_modules/superagent": {
"version": "8.0.9",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
"integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
"integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
"deprecated": "Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net",
"dev": true,
"dependencies": {
"component-emitter": "^1.3.0",
@@ -9196,13 +9195,13 @@
}
},
"node_modules/supertest": {
"version": "6.3.3",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz",
"integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==",
"version": "6.3.4",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz",
"integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==",
"dev": true,
"dependencies": {
"methods": "^1.1.2",
"superagent": "^8.0.5"
"superagent": "^8.1.2"
},
"engines": {
"node": ">=6.4.0"
@@ -9483,7 +9482,7 @@
"version": "21.0.1",
"resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-21.0.1.tgz",
"integrity": "sha512-dbDtVdEAncKctzrVZ+Nr7kHpHkv+0JDJb2MjjpBaj8bFeCkePU9rHfMklmhuLFnpeq/EJZk2IhStY6NzqgjOkg==",
"devOptional": true,
"dev": true,
"dependencies": {
"@ts-morph/common": "~0.22.0",
"code-block-writer": "^12.0.0"
@@ -9741,9 +9740,9 @@
}
},
"node_modules/undici-types": {
"version": "5.25.3",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
"integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA=="
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw=="
},
"node_modules/universalify": {
"version": "2.0.0",
@@ -10086,9 +10085,9 @@
}
},
"node_modules/ws": {
"version": "8.14.2",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz",
"integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==",
"version": "8.17.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
"integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
"engines": {
"node": ">=10.0.0"
},
@@ -10360,8 +10359,7 @@
"@apollo/cache-control-types": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/@apollo/cache-control-types/-/cache-control-types-1.0.3.tgz",
"integrity": "sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g==",
"requires": {}
"integrity": "sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g=="
},
"@apollo/protobufjs": {
"version": "1.2.7",
@@ -10461,8 +10459,7 @@
"@apollo/utils.dropunuseddefinitions": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-2.0.1.tgz",
"integrity": "sha512-EsPIBqsSt2BwDsv8Wu76LK5R1KtsVkNoO4b0M5aK0hx+dGg9xJXuqlr7Fo34Dl+y83jmzn+UvEW+t1/GP2melA==",
"requires": {}
"integrity": "sha512-EsPIBqsSt2BwDsv8Wu76LK5R1KtsVkNoO4b0M5aK0hx+dGg9xJXuqlr7Fo34Dl+y83jmzn+UvEW+t1/GP2melA=="
},
"@apollo/utils.fetcher": {
"version": "2.0.0",
@@ -10498,14 +10495,12 @@
"@apollo/utils.printwithreducedwhitespace": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-2.0.1.tgz",
"integrity": "sha512-9M4LUXV/fQBh8vZWlLvb/HyyhjJ77/I5ZKu+NBWV/BmYGyRmoEP9EVAy7LCVoY3t8BDcyCAGfxJaLFCSuQkPUg==",
"requires": {}
"integrity": "sha512-9M4LUXV/fQBh8vZWlLvb/HyyhjJ77/I5ZKu+NBWV/BmYGyRmoEP9EVAy7LCVoY3t8BDcyCAGfxJaLFCSuQkPUg=="
},
"@apollo/utils.removealiases": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@apollo/utils.removealiases/-/utils.removealiases-2.0.1.tgz",
"integrity": "sha512-0joRc2HBO4u594Op1nev+mUF6yRnxoUH64xw8x3bX7n8QBDYdeYgY4tF0vJReTy+zdn2xv6fMsquATSgC722FA==",
"requires": {}
"integrity": "sha512-0joRc2HBO4u594Op1nev+mUF6yRnxoUH64xw8x3bX7n8QBDYdeYgY4tF0vJReTy+zdn2xv6fMsquATSgC722FA=="
},
"@apollo/utils.sortast": {
"version": "2.0.1",
@@ -10518,8 +10513,7 @@
"@apollo/utils.stripsensitiveliterals": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-2.0.1.tgz",
"integrity": "sha512-QJs7HtzXS/JIPMKWimFnUMK7VjkGQTzqD9bKD1h3iuPAqLsxd0mUNVbkYOPTsDhUKgcvUOfOqOJWYohAKMvcSA==",
"requires": {}
"integrity": "sha512-QJs7HtzXS/JIPMKWimFnUMK7VjkGQTzqD9bKD1h3iuPAqLsxd0mUNVbkYOPTsDhUKgcvUOfOqOJWYohAKMvcSA=="
},
"@apollo/utils.usagereporting": {
"version": "2.1.0",
@@ -11187,8 +11181,7 @@
"@graphql-typed-document-node/core": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.1.2.tgz",
"integrity": "sha512-9anpBMM9mEgZN4wr2v8wHJI2/u5TnnggewRN6OlvXTTnuVyoY19X6rOv9XTqKRw6dcGKwZsBi8n0kDE2I5i4VA==",
"requires": {}
"integrity": "sha512-9anpBMM9mEgZN4wr2v8wHJI2/u5TnnggewRN6OlvXTTnuVyoY19X6rOv9XTqKRw6dcGKwZsBi8n0kDE2I5i4VA=="
},
"@humanwhocodes/config-array": {
"version": "0.11.10",
@@ -11719,22 +11712,6 @@
"balanced-match": "^1.0.0"
}
},
"chokidar": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"dev": true,
"requires": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
"fsevents": "~2.3.2",
"glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.6.0"
}
},
"glob": {
"version": "10.3.10",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
@@ -11821,50 +11798,50 @@
}
},
"@nestjs/graphql": {
"version": "12.0.11",
"resolved": "https://registry.npmjs.org/@nestjs/graphql/-/graphql-12.0.11.tgz",
"integrity": "sha512-iCyVs9+utCQt9ehMhUjQcEdjRN/MrcTBINd7P44O1fzGENuWMbt1Z8RCoZbeGi5iVPBY63HgYik+BnnICqmxZw==",
"version": "12.2.0",
"resolved": "https://registry.npmjs.org/@nestjs/graphql/-/graphql-12.2.0.tgz",
"integrity": "sha512-du/aI+EXADxtJrHF1mAXR6RYRHuEWPNnJyHTmIOPW2Wx5qN32P7lQoHGD7TySATMl5aa47w05lPzxcasdUmpMQ==",
"requires": {
"@graphql-tools/merge": "9.0.0",
"@graphql-tools/schema": "10.0.0",
"@graphql-tools/utils": "10.0.8",
"@nestjs/mapped-types": "2.0.2",
"chokidar": "3.5.3",
"@graphql-tools/merge": "9.0.4",
"@graphql-tools/schema": "10.0.4",
"@graphql-tools/utils": "10.2.3",
"@nestjs/mapped-types": "2.0.5",
"chokidar": "3.6.0",
"fast-glob": "3.3.2",
"graphql-tag": "2.12.6",
"graphql-ws": "5.14.2",
"graphql-ws": "5.16.0",
"lodash": "4.17.21",
"normalize-path": "3.0.0",
"subscriptions-transport-ws": "0.11.0",
"tslib": "2.6.2",
"tslib": "2.6.3",
"uuid": "9.0.1",
"ws": "8.14.2"
"ws": "8.17.1"
},
"dependencies": {
"@graphql-tools/merge": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.0.tgz",
"integrity": "sha512-J7/xqjkGTTwOJmaJQJ2C+VDBDOWJL3lKrHJN4yMaRLAJH3PosB7GiPRaSDZdErs0+F77sH2MKs2haMMkywzx7Q==",
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.0.4.tgz",
"integrity": "sha512-MivbDLUQ+4Q8G/Hp/9V72hbn810IJDEZQ57F01sHnlrrijyadibfVhaQfW/pNH+9T/l8ySZpaR/DpL5i+ruZ+g==",
"requires": {
"@graphql-tools/utils": "^10.0.0",
"@graphql-tools/utils": "^10.0.13",
"tslib": "^2.4.0"
}
},
"@graphql-tools/schema": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.0.tgz",
"integrity": "sha512-kf3qOXMFcMs2f/S8Y3A8fm/2w+GaHAkfr3Gnhh2LOug/JgpY/ywgFVxO3jOeSpSEdoYcDKLcXVjMigNbY4AdQg==",
"version": "10.0.4",
"resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.4.tgz",
"integrity": "sha512-HuIwqbKxPaJujox25Ra4qwz0uQzlpsaBOzO6CVfzB/MemZdd+Gib8AIvfhQArK0YIN40aDran/yi+E5Xf0mQww==",
"requires": {
"@graphql-tools/merge": "^9.0.0",
"@graphql-tools/utils": "^10.0.0",
"@graphql-tools/merge": "^9.0.3",
"@graphql-tools/utils": "^10.2.1",
"tslib": "^2.4.0",
"value-or-promise": "^1.0.12"
}
},
"@graphql-tools/utils": {
"version": "10.0.8",
"resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.0.8.tgz",
"integrity": "sha512-yjyA8ycSa1WRlJqyX/aLqXeE5DvF/H02+zXMUFnCzIDrj0UvLMUrxhmVFnMK0Q2n3bh4uuTeY3621m5za9ovXw==",
"version": "10.2.3",
"resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.2.3.tgz",
"integrity": "sha512-j7x0sO0VtWVhD3FubyY42abx+g61/at5W5Y3DSOckPkBo7yVjkcnAsXoB4jiUnznhGme/o+uX5VgA8HrjyR5ZQ==",
"requires": {
"@graphql-typed-document-node/core": "^3.1.1",
"cross-inspect": "1.0.0",
@@ -11872,14 +11849,18 @@
"tslib": "^2.4.0"
}
},
"@nestjs/mapped-types": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-2.0.2.tgz",
"integrity": "sha512-V0izw6tWs6fTp9+KiiPUbGHWALy563Frn8X6Bm87ANLRuE46iuBMD5acKBDP5lKL/75QFvrzSJT7HkCbB0jTpg==",
"requires": {}
"tslib": {
"version": "2.6.3",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
"integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ=="
}
}
},
"@nestjs/mapped-types": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-2.0.5.tgz",
"integrity": "sha512-bSJv4pd6EY99NX9CjBIyn4TVDoSit82DUZlL4I3bqNfy5Gt+gXTa86i3I/i0iIV9P4hntcGM5GyO+FhZAhxtyg=="
},
"@nestjs/platform-express": {
"version": "10.3.8",
"resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-10.3.8.tgz",
@@ -12043,7 +12024,7 @@
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.22.0.tgz",
"integrity": "sha512-HqNBuV/oIlMKdkLshXd1zKBqNQCsuPEsgQOkfFQ/eUKjRlwndXW1AjN9LVkBEIukm00gGXSRmfkl0Wv5VXLnlw==",
"devOptional": true,
"dev": true,
"requires": {
"fast-glob": "^3.3.2",
"minimatch": "^9.0.3",
@@ -12055,7 +12036,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"devOptional": true,
"dev": true,
"requires": {
"balanced-match": "^1.0.0"
}
@@ -12064,7 +12045,7 @@
"version": "9.0.3",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
"integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
"devOptional": true,
"dev": true,
"requires": {
"brace-expansion": "^2.0.1"
}
@@ -12073,7 +12054,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz",
"integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==",
"devOptional": true
"dev": true
}
}
},
@@ -12160,9 +12141,9 @@
}
},
"@types/cookiejar": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
"integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz",
"integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==",
"dev": true
},
"@types/eslint": {
@@ -12245,6 +12226,16 @@
"@types/istanbul-lib-report": "*"
}
},
"@types/jest": {
"version": "29.5.10",
"resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.10.tgz",
"integrity": "sha512-tE4yxKEphEyxj9s4inideLHktW/x6DwesIwWZ9NN1FKf9zbJYsnhBoA9vrHA/IuIOKwPa5PcFBNV4lpMIOEzyQ==",
"dev": true,
"requires": {
"expect": "^29.0.0",
"pretty-format": "^29.0.0"
}
},
"@types/json-schema": {
"version": "7.0.11",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
@@ -12262,17 +12253,23 @@
"resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
"integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA=="
},
"@types/methods": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz",
"integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==",
"dev": true
},
"@types/mime": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
"integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
},
"@types/node": {
"version": "20.8.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz",
"integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==",
"version": "20.17.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz",
"integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==",
"requires": {
"undici-types": "~5.25.1"
"undici-types": "~6.19.2"
}
},
"@types/node-fetch": {
@@ -12328,22 +12325,25 @@
"dev": true
},
"@types/superagent": {
"version": "4.1.10",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.10.tgz",
"integrity": "sha512-xAgkb2CMWUMCyVc/3+7iQfOEBE75NvuZeezvmixbUw3nmENf2tCnQkW5yQLTYqvXUQ+R6EXxdqKKbal2zM5V/g==",
"version": "8.1.9",
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.9.tgz",
"integrity": "sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==",
"dev": true,
"requires": {
"@types/cookiejar": "*",
"@types/node": "*"
"@types/cookiejar": "^2.1.5",
"@types/methods": "^1.1.4",
"@types/node": "*",
"form-data": "^4.0.0"
}
},
"@types/supertest": {
"version": "2.0.16",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz",
"integrity": "sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz",
"integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==",
"dev": true,
"requires": {
"@types/superagent": "*"
"@types/methods": "^1.1.4",
"@types/superagent": "^8.1.0"
}
},
"@types/validator": {
@@ -12642,15 +12642,13 @@
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
"integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
"dev": true,
"requires": {}
"dev": true
},
"acorn-jsx": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
"dev": true,
"requires": {}
"dev": true
},
"acorn-walk": {
"version": "8.2.0",
@@ -12705,8 +12703,7 @@
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true,
"requires": {}
"dev": true
},
"ansi-colors": {
"version": "4.1.3",
@@ -13151,9 +13148,9 @@
"dev": true
},
"chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"requires": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
@@ -13256,7 +13253,7 @@
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-12.0.0.tgz",
"integrity": "sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==",
"devOptional": true
"dev": true
},
"collect-v8-coverage": {
"version": "1.0.2",
@@ -13458,8 +13455,7 @@
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz",
"integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==",
"dev": true,
"requires": {}
"dev": true
},
"deep-is": {
"version": "0.1.3",
@@ -13817,8 +13813,7 @@
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz",
"integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==",
"dev": true,
"requires": {}
"dev": true
},
"eslint-import-resolver-node": {
"version": "0.3.9",
@@ -14551,10 +14546,9 @@
}
},
"graphql-ws": {
"version": "5.14.2",
"resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.14.2.tgz",
"integrity": "sha512-LycmCwhZ+Op2GlHz4BZDsUYHKRiiUz+3r9wbhBATMETNlORQJAaFlAgTFoeRh6xQoQegwYwIylVD1Qns9/DA3w==",
"requires": {}
"version": "5.16.0",
"resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.16.0.tgz",
"integrity": "sha512-Ju2RCU2dQMgSKtArPbEtsK5gNLnsQyTNIo/T7cZNp96niC1x0KdJNZV0TIoilceBPQwfb5itrGl8pkFeOUMl4A=="
},
"has": {
"version": "1.0.3",
@@ -15306,8 +15300,7 @@
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz",
"integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==",
"dev": true,
"requires": {}
"dev": true
},
"jest-regex-util": {
"version": "29.6.3",
@@ -16127,7 +16120,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
"integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
"devOptional": true
"dev": true
},
"path-exists": {
"version": "4.0.0",
@@ -16950,15 +16943,14 @@
"ws": {
"version": "7.5.7",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz",
"integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==",
"requires": {}
"integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A=="
}
}
},
"superagent": {
"version": "8.0.9",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
"integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
"integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
"dev": true,
"requires": {
"component-emitter": "^1.3.0",
@@ -16982,13 +16974,13 @@
}
},
"supertest": {
"version": "6.3.3",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz",
"integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==",
"version": "6.3.4",
"resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz",
"integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==",
"dev": true,
"requires": {
"methods": "^1.1.2",
"superagent": "^8.0.5"
"superagent": "^8.1.2"
}
},
"supports-color": {
@@ -17167,7 +17159,7 @@
"version": "21.0.1",
"resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-21.0.1.tgz",
"integrity": "sha512-dbDtVdEAncKctzrVZ+Nr7kHpHkv+0JDJb2MjjpBaj8bFeCkePU9rHfMklmhuLFnpeq/EJZk2IhStY6NzqgjOkg==",
"devOptional": true,
"dev": true,
"requires": {
"@ts-morph/common": "~0.22.0",
"code-block-writer": "^12.0.0"
@@ -17347,9 +17339,9 @@
}
},
"undici-types": {
"version": "5.25.3",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz",
"integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA=="
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw=="
},
"universalify": {
"version": "2.0.0",
@@ -17583,10 +17575,9 @@
}
},
"ws": {
"version": "8.14.2",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz",
"integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==",
"requires": {}
"version": "8.17.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
"integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ=="
},
"xss": {
"version": "1.0.14",

View File

@@ -16,7 +16,7 @@
"test:watch": "jest --watch",
"test:cov": "jest --coverage",
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
"test:e2e": "echo 'No e2e tests implemented yet.'"
"test:e2e": "jest --config ./e2e/jest-e2e.json"
},
"dependencies": {
"@apollo/server": "4.9.3",
@@ -24,7 +24,7 @@
"@nestjs/apollo": "12.0.11",
"@nestjs/common": "10.3.2",
"@nestjs/core": "10.3.2",
"@nestjs/graphql": "12.0.11",
"@nestjs/graphql": "12.2.0",
"@nestjs/platform-express": "10.3.8",
"class-transformer": "0.5.1",
"class-validator": "0.14.1",
@@ -39,8 +39,9 @@
"@nestjs/schematics": "10.1.1",
"@nestjs/testing": "10.3.2",
"@types/express": "4.17.21",
"@types/node": "20.8.7",
"@types/supertest": "2.0.16",
"@types/jest": "29.5.10",
"@types/node": "20.17.6",
"@types/supertest": "6.0.2",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"eslint": "8.42.0",
@@ -48,12 +49,43 @@
"eslint-plugin-import": "2.29.1",
"jest": "29.7.0",
"prettier": "3.2.5",
"supertest": "6.3.3",
"supertest": "6.3.4",
"ts-jest": "29.1.2",
"ts-loader": "9.5.1",
"ts-morph": "21.0.1",
"ts-node": "10.9.2",
"tsconfig-paths": "4.2.0",
"typescript": "5.3.3"
},
"jest": {
"moduleFileExtensions": [
"js",
"json",
"ts"
],
"rootDir": "src",
"testRegex": ".*\\.spec\\.ts$",
"transform": {
"^.+\\.(t|j)s$": "ts-jest"
},
"collectCoverageFrom": [
"**/*.(t|j)s",
"!main.(t|j)s",
"!**/*.module.(t|j)s",
"!**/*.dto.(t|j)s",
"!**/*.entity.(t|j)s",
"!**/*.guard.(t|j)s",
"!**/*.response.(t|j)s",
"!**/*.strategy.(t|j)s",
"!**/*.args.(t|j)s",
"!**/*.types.(t|j)s",
"!**/*.directive.(t|j)s",
"!**/*.plugin.(t|j)s",
"!**/*.scalar.(t|j)s",
"!**/*.schema.(t|j)s",
"!**/node_modules/**"
],
"coverageDirectory": "../coverage",
"testEnvironment": "node"
}
}

View File

@@ -0,0 +1,42 @@
import { Test, TestingModule } from '@nestjs/testing';
import { Cat, Owner } from '../graphql.schema';
import { OwnersService } from '../owners/owners.service';
import { CatOwnerResolver } from './cat-owner.resolver';
describe('CatOwnerResolver', () => {
let resolver: CatOwnerResolver;
let ownersService: OwnersService;
beforeEach(async () => {
const moduleRef: TestingModule = await Test.createTestingModule({
providers: [
CatOwnerResolver,
{
provide: OwnersService,
useValue: {
findOneById: jest.fn(),
},
},
],
}).compile();
resolver = moduleRef.get(CatOwnerResolver);
ownersService = moduleRef.get(OwnersService);
});
it('should be defined', () => {
expect(resolver).toBeDefined();
});
it('should resolve the owner for a cat', async () => {
const cat: Cat & { ownerId: number } = { id: 1, ownerId: 101 };
const owner: Owner = { id: 101, name: 'Kambale' };
jest.spyOn(ownersService, 'findOneById').mockImplementation(() => owner);
const resolvedOwner = await resolver.owner(cat);
expect(ownersService.findOneById).toHaveBeenCalledWith(cat.ownerId);
expect(resolvedOwner).toEqual(owner);
});
});

View File

@@ -0,0 +1,63 @@
import { Test, TestingModule } from '@nestjs/testing';
import { Cat } from '../graphql.schema';
import { CatsResolver } from './cats.resolver';
import { CatsService } from './cats.service';
import { MINIMUM_AGE, MINIMUM_AGE_ERROR } from './dto/create-cat.dto';
describe('CatsResolver', () => {
let resolver: CatsResolver;
const cat: Cat = { name: 'Cat', age: 5 };
beforeEach(async () => {
const moduleRef: TestingModule = await Test.createTestingModule({
providers: [
CatsResolver,
{
provide: CatsService,
useValue: {
create: jest
.fn()
.mockImplementation((cat: Cat) => ({ id: 1, ...cat })),
findAll: jest.fn().mockReturnValue([cat]),
findOneById: jest
.fn()
.mockImplementation((id: number) => ({ ...cat, id })),
},
},
],
}).compile();
resolver = moduleRef.get<CatsResolver>(CatsResolver);
});
it('should be defined', () => {
expect(resolver).toBeDefined();
});
it('should create a new cat', async () => {
const newCat = await resolver.create({ name: cat.name, age: cat.age });
expect(newCat.name).toEqual(cat.name);
expect(newCat).toEqual({ id: 1, ...cat });
});
it(`should fail to save if the age is under ${MINIMUM_AGE}`, async () => {
try {
await resolver.create({ name: cat.name, age: 0 });
} catch (error) {
expect(error.message).toBe(MINIMUM_AGE_ERROR);
}
});
it('should return all cats', async () => {
const cats = await resolver.getCats();
expect(cats.length).toEqual(1);
expect(cats[0].name).toEqual(cat.name);
});
it('should return a cat by id', async () => {
const cat = await resolver.findOneById(1);
expect(cat).toEqual({ ...cat, id: 1 });
});
});

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