Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
169 commits
Select commit Hold shift + click to select a range
ccf416d
fix: make `isHttpError` check stricter
glebbash Mar 4, 2025
591251a
fix: Handle FastifyError as before
glebbash Mar 4, 2025
5be47a0
chore: drop debugging leftover
glebbash Mar 4, 2025
d1c9ec5
feat(core): call hooks by components hierarchy level
kamilmysliwiec Apr 3, 2025
e0a9dfe
feat(microservices): nats v3 migration
kamilmysliwiec May 27, 2025
51292e8
chore: revert tsconfig changes
kamilmysliwiec May 27, 2025
ef0984f
feat(common): add generic for argument metadata
y-nk Jul 16, 2025
fc405cb
feat(common): allow passing errorCode in HttpExceptionOptions
lhj0621 Aug 11, 2025
fa6d45d
build: migrate from cjs to esm
kamilmysliwiec Feb 9, 2026
33f37d6
refactor: minor tweaks
kamilmysliwiec Feb 9, 2026
6846cd7
test: migrate to vitest
kamilmysliwiec Feb 11, 2026
288453f
test: fix coverage collection, add more tests
kamilmysliwiec Feb 11, 2026
1c046ae
sample: migrate samples to esm
kamilmysliwiec Feb 12, 2026
62908b4
sample: add await to bootstrap calls
kamilmysliwiec Feb 12, 2026
df1537f
chore: add root dir to tsconfig
kamilmysliwiec Feb 12, 2026
6586c0d
refactor: minor codebase tweaks
kamilmysliwiec Feb 13, 2026
50f0f72
feat(common): introduce param decorator options
kamilmysliwiec Feb 13, 2026
473810c
chore: introduce the internal export path
kamilmysliwiec Feb 13, 2026
09c8156
feat: introduce standard schema serializer
kamilmysliwiec Feb 15, 2026
543142d
fix: dont export plain literal object interface
kamilmysliwiec Feb 15, 2026
fb3ae67
chore: address lint errors, and fix ci test errors
kamilmysliwiec Feb 15, 2026
9d4c865
chore: exclude samples that use cli plugins for now
kamilmysliwiec Feb 15, 2026
b6cecd8
ci: ignore coverage script errors in ci
kamilmysliwiec Feb 15, 2026
d2fd2e6
sample: fix file upload ts compilation error
kamilmysliwiec Feb 15, 2026
90a40d5
sample: turn off running sample tests for now
kamilmysliwiec Feb 15, 2026
a21fd1d
Merge pull request #16373 from nestjs/feat/param-decorator-options
kamilmysliwiec Feb 15, 2026
b28012e
Merge pull request #16372 from nestjs/refactor/minor-tweaks
kamilmysliwiec Feb 15, 2026
34f1829
Merge pull request #16371 from nestjs/sample/esm-migration
kamilmysliwiec Feb 15, 2026
945ca48
Merge pull request #16370 from nestjs/test/vitest-migration
kamilmysliwiec Feb 15, 2026
70323a1
chore: resolve merge conflicts
kamilmysliwiec Feb 15, 2026
43c0eb6
test: fix outdated test
kamilmysliwiec Feb 15, 2026
01c5a95
Merge pull request #16369 from nestjs/build/esm-migration
kamilmysliwiec Feb 15, 2026
e8768e7
sample: add zod validation, valibot serialization samples
kamilmysliwiec Feb 15, 2026
1ab6f03
Merge branch 'v12.0.0' into feat/add-error-code
lhj0621 Feb 15, 2026
319437a
feat(common,express): add graceful shutdown option
manureja64 Jan 4, 2026
a696ed4
fix(testing): expose graceful-shutdown e2e specs
manureja64 Jan 4, 2026
ea352f6
chore(express): Remove debug logs from express adapter
manureja64 Jan 4, 2026
f7e0495
fix(testing): increase timeouts for graceful shutdown tests
manureja64 Jan 8, 2026
26953ba
fix(common,core,express): activate shutdown flag before hooks
manureja64 Feb 3, 2026
decb89b
refactor(common,express): rename graceful shutdown option
manureja64 Feb 4, 2026
d4e7540
fix(testing): use vitest assertions in shutdown tests
manureja64 Feb 15, 2026
254e5fe
Merge pull request #15525 from lhj0621/feat/add-error-code
kamilmysliwiec Feb 15, 2026
e15b3d7
Merge pull request #16156 from manureja64/feat/express-graceful-shutdown
kamilmysliwiec Feb 15, 2026
65615ba
chore: resolve merge conflicts
kamilmysliwiec Feb 15, 2026
d617106
chore: resolve merge conflicts
kamilmysliwiec Feb 15, 2026
9cf8699
test: update integration tests to use vitest
kamilmysliwiec Feb 15, 2026
d37c266
test: remove useless test file
kamilmysliwiec Feb 15, 2026
ad5b731
feat(websockets): add disconnect reason parameter
snowykte0426 Jul 24, 2025
722d27a
fix(websockets): Correct distinctUntilChanged for disconnect events
snowykte0426 Jul 25, 2025
7828c68
fix(microservices): Remove unnecessary exception filter priority changes
snowykte0426 Jul 25, 2025
07603b5
refactor(core,express,fastify): HTTP adapter error mapping
May 2, 2025
65297f6
refactor: update pipe `transform` signatures for improved type safety
miso-kyoungminkim Dec 31, 2025
ba82ce7
Merge branch 'nestjs:master' into julien/argument-metadata-generic
y-nk Feb 16, 2026
cec1113
refactor(microservices): fix the typo 'RQM_' to 'RMQ_'
CodeVac513 Oct 16, 2025
d67a2ee
refactor(microservices): update test to match rmq constant rename
CodeVac513 Feb 16, 2026
cbdc24e
feat(common): add error format option to validation pipe
at7211 Feb 6, 2026
68d075c
Merge pull request #15787 from CodeVac513/fix/rabbitmq-prefix
kamilmysliwiec Feb 16, 2026
6a50042
Merge pull request #16374 from snowykte0426/feature/websocket-disconn…
kamilmysliwiec Feb 16, 2026
5996b8c
Merge pull request #16147 from miso-kyoungminkim/pipe-type-safety
kamilmysliwiec Feb 16, 2026
84f92eb
Merge pull request #16329 from at7211/feat/validation-pipe-error-format
kamilmysliwiec Feb 16, 2026
953569a
fix: move hierarchy set after comp host resolution
kamilmysliwiec Feb 16, 2026
cd3cae2
Merge pull request #14900 from nestjs/feat/call-hooks-by-hierarchy-level
kamilmysliwiec Feb 16, 2026
5a47244
Apply suggestion from @kamilmysliwiec
kamilmysliwiec Feb 16, 2026
ec95499
Apply suggestion from @kamilmysliwiec
kamilmysliwiec Feb 16, 2026
7ae88ed
Merge pull request #15413 from y-nk/julien/argument-metadata-generic
kamilmysliwiec Feb 16, 2026
a1b4ee9
chore: resolve conflicts
kamilmysliwiec Feb 16, 2026
43041eb
chore: update deps
kamilmysliwiec Feb 16, 2026
9170ecb
fix: update incorrect package import
kamilmysliwiec Feb 16, 2026
dc33abe
style: address lint errors
kamilmysliwiec Feb 16, 2026
a5c981c
test: fix flaky test
kamilmysliwiec Feb 16, 2026
6431629
Merge pull request #15190 from nestjs/feat/nats-v3-migration
kamilmysliwiec Feb 16, 2026
e483cbe
fix(sample): update gql federation samples to use production-ready
mag123c Feb 16, 2026
3ebb53b
Merge pull request #15539 from mag123c/fix/graphql-federation-product…
kamilmysliwiec Feb 16, 2026
4fe18eb
test(common): improve test coverage for shared utils
BrahimAbdelli Mar 23, 2025
dc49342
test(common): Fix isEmptyArray behavior and update tests
BrahimAbdelli Mar 23, 2025
2029958
test(common): Fix isEmptyArray behavior and update tests
BrahimAbdelli Mar 24, 2025
7b1a9d1
test(common): Restoring isEmpty method with test coverage
BrahimAbdelli Mar 24, 2025
3aa97fc
test(common): fix shared utils test
BrahimAbdelli Feb 16, 2026
9b88230
test(common): fix isempty issue in context
BrahimAbdelli Feb 16, 2026
5adeb42
Merge pull request #14832 from BrahimAbdelli/fix-shared-utils-edge-cases
kamilmysliwiec Feb 17, 2026
1c43374
fix: make `isHttpError` check stricter
glebbash Mar 4, 2025
0eb2340
fix: Handle FastifyError as before
glebbash Mar 4, 2025
4ec9445
Merge branch 'fix/stricter-is-http-error-check' of https://github.com…
glebbash Feb 17, 2026
4aef438
fix: update tests
glebbash Feb 17, 2026
3a17cb9
Merge pull request #14753 from glebbash/fix/stricter-is-http-error-check
kamilmysliwiec Feb 17, 2026
5b1a4ff
Merge pull request #15075 from maxbronnikov10/refactor/http-adapter-e…
kamilmysliwiec Feb 18, 2026
4cf1901
test(sample): add unit and e2e tests for sse
zaewc Feb 20, 2026
6b278af
Merge pull request #16409 from 976520/test/sample-28-sse
kamilmysliwiec Feb 22, 2026
cb1faff
fix(common): preserve default description for all HTTP exceptions whe…
Dec 3, 2025
099fff7
feat(microservices): add global pre-request hooks executed before guards
suuuuuuminnnnnn Feb 24, 2026
6f3e56f
test(core): cover pre-request hooks storage in application config
suuuuuuminnnnnn Feb 24, 2026
140f0c3
test: convert spec files to vitest format
suuuuuuminnnnnn Feb 24, 2026
329cb37
fix(common,microservices): fix esm import paths
suuuuuuminnnnnn Feb 24, 2026
cd58822
test(sample/06): add e2e tests for mongoose sample
mateo-maza Feb 24, 2026
7296ceb
test(sample/06): add e2e tests for mongoose sample
mateo-maza Feb 24, 2026
2a2e5bf
test(sample/07): add e2e tests for sequelize sample
mateo-maza Feb 24, 2026
8678dd6
test(sample/14): add e2e tests for mongoose-base sample
mateo-maza Feb 24, 2026
b8a7678
test(sample/13): add e2e tests for mongo-typeorm sample
mateo-maza Feb 24, 2026
032cbbc
test(sample/05): add e2e tests for sql-typeorm sample
mateo-maza Feb 24, 2026
537bda0
test(sample/25): add e2e tests for dynamic-modules sample
mateo-maza Feb 24, 2026
e266878
test(sample/10): add unit and e2e tests for fastify sample
mateo-maza Feb 24, 2026
ec7fc4f
fix(common): fix test for v12 branch compatibility
malkovitc Feb 24, 2026
f62fd6e
test(sample/03): add unit and e2e tests for microservices sample
mateo-maza Feb 24, 2026
bc02a8a
Merge pull request #16427 from mateo-maza/test/sample-06-mongoose-e2e
kamilmysliwiec Feb 25, 2026
5015ce3
Merge pull request #16430 from mateo-maza/test/sample-07-sequelize-e2e
kamilmysliwiec Feb 25, 2026
89548b7
Merge pull request #16432 from mateo-maza/test/sample-14-mongoose-bas…
kamilmysliwiec Feb 25, 2026
2798e66
Merge pull request #16433 from mateo-maza/test/sample-13-mongo-typeor…
kamilmysliwiec Feb 25, 2026
55e018a
Merge pull request #16434 from mateo-maza/test/sample-05-sql-typeorm-e2e
kamilmysliwiec Feb 25, 2026
17c72ca
Merge pull request #16435 from mateo-maza/test/sample-25-dynamic-modu…
kamilmysliwiec Feb 25, 2026
4eb3f67
Merge pull request #16436 from mateo-maza/test/sample-10-fastify-e2e
kamilmysliwiec Feb 25, 2026
66bdfb7
Merge pull request #16437 from mateo-maza/test/sample-03-microservice…
kamilmysliwiec Feb 25, 2026
60ea11d
Merge pull request #16017 from malkovitc/fix/http-exceptions-default-…
kamilmysliwiec Feb 25, 2026
ead0d87
refactor(microservices): rename prerequest hook method
suuuuuuminnnnnn Feb 25, 2026
e240e2f
refactor(microservices): rename prerequest hook method
suuuuuuminnnnnn Feb 25, 2026
e15f188
Apply suggestion from @kamilmysliwiec
kamilmysliwiec Feb 25, 2026
9cec9d0
Update packages/microservices/nest-microservice.ts
kamilmysliwiec Feb 25, 2026
47beb28
Apply suggestion from @kamilmysliwiec
kamilmysliwiec Feb 25, 2026
519c877
Merge pull request #16429 from suuuuuuminnnnnn/feat/microservices-pre…
kamilmysliwiec Feb 25, 2026
bc73753
test(sample/21): add e2e tests for serializer sample
JoaoHenriqueBarbosa Feb 25, 2026
8c30f52
test(sample): add e2e tests for mvc sample
JoaoHenriqueBarbosa Feb 25, 2026
0e46928
test(sample): add e2e tests for cache sample
JoaoHenriqueBarbosa Feb 25, 2026
e4af812
test(sample): add e2e tests for swagger sample
JoaoHenriqueBarbosa Feb 25, 2026
2a086d9
Merge pull request #16444 from JoaoHenriqueBarbosa/test/sample-11-swa…
kamilmysliwiec Feb 26, 2026
9c9115e
Merge pull request #16443 from JoaoHenriqueBarbosa/test/sample-20-cac…
kamilmysliwiec Feb 26, 2026
58d39bc
Merge pull request #16442 from JoaoHenriqueBarbosa/test/sample-15-mvc…
kamilmysliwiec Feb 26, 2026
4d2d265
Merge pull request #16441 from JoaoHenriqueBarbosa/test/sample-21-ser…
kamilmysliwiec Feb 26, 2026
16bbadd
test(sample): add e2e tests for scheduling sample
JoaoHenriqueBarbosa Feb 26, 2026
a023a0e
test(sample): add e2e tests for serve-static sample
JoaoHenriqueBarbosa Feb 26, 2026
adbf3f3
test(sample): add e2e tests for gateways-ws sample
JoaoHenriqueBarbosa Feb 26, 2026
f50ac7a
test(sample): add e2e tests for graphql-mercurius sample
JoaoHenriqueBarbosa Feb 26, 2026
6ec2e2d
test(sample): add e2e tests for webpack sample
JoaoHenriqueBarbosa Feb 26, 2026
c4120f9
test(sample): add e2e tests for mvc-fastify sample
JoaoHenriqueBarbosa Feb 26, 2026
0e9807b
test(sample): add e2e tests for context sample
JoaoHenriqueBarbosa Feb 26, 2026
05405ff
test(sample): add e2e tests for grpc sample
JoaoHenriqueBarbosa Feb 26, 2026
2dbaae8
feat(common): add structured logging params support
manureja64 Feb 26, 2026
2a9d46d
Merge pull request #16463 from JoaoHenriqueBarbosa/test/sample-04-grp…
kamilmysliwiec Feb 27, 2026
06f1c18
Merge pull request #16462 from JoaoHenriqueBarbosa/test/sample-18-con…
kamilmysliwiec Feb 27, 2026
c8751cb
Merge pull request #16461 from JoaoHenriqueBarbosa/test/sample-17-mvc…
kamilmysliwiec Feb 27, 2026
e4c5d11
Merge pull request #16460 from JoaoHenriqueBarbosa/test/sample-08-web…
kamilmysliwiec Feb 27, 2026
8901b35
Merge pull request #16459 from JoaoHenriqueBarbosa/test/sample-33-gra…
kamilmysliwiec Feb 27, 2026
3feb973
Merge pull request #16458 from JoaoHenriqueBarbosa/test/sample-16-gat…
kamilmysliwiec Feb 27, 2026
f014b8c
Merge pull request #16457 from JoaoHenriqueBarbosa/test/sample-24-ser…
kamilmysliwiec Feb 27, 2026
5763dbf
Merge pull request #16456 from JoaoHenriqueBarbosa/test/sample-27-sch…
kamilmysliwiec Feb 27, 2026
4ab3ce8
feat(common): add opt-out for structured params behavior
manureja64 Feb 28, 2026
5dafe45
feat(common): improve structured logging params handling
manureja64 Feb 28, 2026
6cb7d3d
test(sample): add unit and e2e tests for 11-swagger
zaewc Jan 1, 2026
389d68c
test: add e2e and unit tests for caching functionality
zaewc Feb 19, 2026
fc480c8
Merge pull request #16410 from 976520/test/sample-11-swagger
kamilmysliwiec Mar 1, 2026
6cee276
Merge pull request #16406 from 976520/test/sample-20-cache
kamilmysliwiec Mar 1, 2026
3c181b2
Merge pull request #16464 from manureja64/feat/structured-logging-par…
kamilmysliwiec Mar 3, 2026
7035ecc
chore: update lerna flags
kamilmysliwiec Mar 5, 2026
c4fd4da
chore: remove redundant named subpath exports
kamilmysliwiec Mar 6, 2026
011bff6
fix(core): dont inherit the optional decorator metadata
kamilmysliwiec Mar 9, 2026
e3df949
Update integration/graceful-shutdown/e2e/express.spec.ts
kamilmysliwiec Mar 11, 2026
bf00d56
Update integration/graceful-shutdown/src/app.module.ts
kamilmysliwiec Mar 11, 2026
50ae26a
Update integration/hooks/e2e/on-module-init.spec.ts
kamilmysliwiec Mar 11, 2026
6aaf644
feat(microservices): add event typings to the `@EventPattern` decorator
joelday Mar 18, 2025
a6efc9e
Merge pull request #14798 from joelday/event-pattern-decorator-payloa…
kamilmysliwiec Mar 13, 2026
812f405
chore: upgrade to vitest 4 with oxc
kamilmysliwiec Apr 1, 2026
f4b34ff
Merge pull request #16672 from nestjs/chore/vitest-4
kamilmysliwiec Apr 1, 2026
bdefc93
chore: upgrade typescript (v6)
kamilmysliwiec Apr 1, 2026
7c89afa
Merge pull request #16673 from nestjs/chore/typescript-v6
kamilmysliwiec Apr 1, 2026
75f0f4f
chore: migrate to oxlint from eslint
kamilmysliwiec Apr 1, 2026
06cfa64
Merge pull request #16674 from nestjs/chore/oxlint-migration
kamilmysliwiec Apr 1, 2026
7871608
ci: add oxlint and rolldown optional deps
kamilmysliwiec Apr 1, 2026
2aff03a
ci: bump node version
kamilmysliwiec Apr 1, 2026
faca996
chore: update sample tsconfigs for typescript v6
kamilmysliwiec Apr 1, 2026
ce26404
chore: disable ts6 strict defaults in sample tsconfigs
kamilmysliwiec Apr 1, 2026
8753262
chore: fix strict ts6 errors in samples
kamilmysliwiec Apr 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
86 changes: 26 additions & 60 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
version: 2.1

parameters:
check-legacy-node-version:
type: boolean
default: false
legacy-node-version:
type: string
default: '18.20'
maintenance-node-version:
type: string
default: '20.18'
default: '20.19'
active-node-version:
type: string
default: '22.11'
default: '22.14'
current-node-version:
type: string
default: '23.3'
default: '24.1'

aliases:
- &restore-cache
Expand Down Expand Up @@ -62,61 +56,36 @@ jobs:
docker:
- image: cimg/node:<< parameters.node-version >>
steps:
- checkout
- *restore-cache
- *install-deps
- *build-packages
- when:
condition:
and:
- equal:
[
'<< parameters.node-version >>',
'<< pipeline.parameters.legacy-node-version >>',
]
- not: << pipeline.parameters.check-legacy-node-version >>
equal:
[
'<< parameters.node-version >>',
'<< pipeline.parameters.maintenance-node-version >>',
]
steps:
- run:
name: Skip
command: |
echo Skipping
name: Test (coverage)
command: npm run test:cov
- run:
name: Collect coverage
command: npm run coverage
- store_artifacts:
path: coverage
- when:
condition:
or:
- not:
equal:
[
'<< parameters.node-version >>',
'<< pipeline.parameters.legacy-node-version >>',
]
- << pipeline.parameters.check-legacy-node-version >>
not:
equal:
[
'<< parameters.node-version >>',
'<< pipeline.parameters.maintenance-node-version >>',
]
steps:
- checkout
- *restore-cache
- *install-deps
- *build-packages
- when:
condition:
equal:
[
'<< parameters.node-version >>',
'<< pipeline.parameters.maintenance-node-version >>',
]
steps:
- run:
name: Test (coverage)
command: npm run test:cov
- run:
name: Collect coverage
command: npm run coverage
- store_artifacts:
path: coverage
- when:
condition:
not:
equal:
[
'<< parameters.node-version >>',
'<< pipeline.parameters.maintenance-node-version >>',
]
steps:
- *run-unit-tests
- *run-unit-tests

lint:
working_directory: ~/nest
Expand Down Expand Up @@ -183,7 +152,6 @@ jobs:
name: Build all samples
command: npm run build:samples


workflows:
build-and-test:
jobs:
Expand All @@ -195,7 +163,6 @@ workflows:
parameters:
node-version:
[
'<< pipeline.parameters.legacy-node-version >>',
'<< pipeline.parameters.maintenance-node-version >>',
'<< pipeline.parameters.active-node-version >>',
'<< pipeline.parameters.current-node-version >>',
Expand All @@ -209,4 +176,3 @@ workflows:
- samples:
requires:
- build

18 changes: 18 additions & 0 deletions .oxlintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": ["typescript"],
"categories": {
"correctness": "error"
},
"env": {
"node": true
},
"ignorePatterns": ["node_modules", "**/*.js", "**/*.d.ts"],
"rules": {
"no-unused-vars": "off",
"no-unused-expressions": "off",
"typescript/no-explicit-any": "off",
"typescript/no-non-null-asserted-optional-chain": "warn",
"typescript/no-require-imports": "off"
}
}
5 changes: 3 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,6 @@ We cannot accept code without this.
1. In GitHub, send a pull request to `nestjs:master`.

- If we suggest changes then:

- Make the required updates.
- Re-run the Nest test suites to ensure tests are still passing.
- Rebase your branch and force push to your GitHub repository (this will update your Pull Request):
Expand Down Expand Up @@ -159,7 +158,7 @@ from the main (upstream) repository:

## <a name="development"></a> Development Setup

You will need [Node.js](https://nodejs.org) version >= 10.13.0 (except for v13).
You will need [Node.js](https://nodejs.org) version >= 20.

1. After cloning the repo, run:

Expand Down Expand Up @@ -322,8 +321,10 @@ changes to be accepted, the CLA must be signed. It's a quick process, we promise
<!-- [coc]: https://github.com/angular/code-of-conduct/blob/master/CODE_OF_CONDUCT.md -->

[commit-message-format]: https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#

<!-- [individual-cla]: http://code.google.com/legal/individual-cla-v1.0.html -->
<!-- [corporate-cla]: http://code.google.com/legal/corporate-cla-v1.0.html -->

[dev-doc]: https://github.com/nestjs/nest/blob/master/docs/DEVELOPER.md
[github]: https://github.com/nestjs/nest
[stackoverflow]: https://stackoverflow.com/questions/tagged/nestjs
Expand Down
55 changes: 0 additions & 55 deletions eslint.config.mjs

This file was deleted.

16 changes: 0 additions & 16 deletions gulpfile.js

This file was deleted.

13 changes: 13 additions & 0 deletions gulpfile.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/**
* Load the TypeScript compiler, then load the TypeScript gulpfile which simply loads all
* the tasks. The tasks are really inside tools/gulp/tasks.
*/

import { register } from 'node:module';
import { pathToFileURL } from 'node:url';

register('ts-node/esm', pathToFileURL('./'), {
data: { project: './tools/gulp/tsconfig.json' },
});

await import('./tools/gulp/gulpfile.ts');
7 changes: 0 additions & 7 deletions hooks/mocha-init-hook.ts

This file was deleted.

2 changes: 1 addition & 1 deletion integration/auto-mock/src/bar.service.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Injectable } from '@nestjs/common';
import { FooService } from './foo.service';
import { FooService } from './foo.service.js';

@Injectable()
export class BarService {
Expand Down
30 changes: 13 additions & 17 deletions integration/auto-mock/test/bar.service.spec.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,11 @@
import { Test } from '@nestjs/testing';
import * as chai from 'chai';
import * as chaiAsPromised from 'chai-as-promised';
import * as sinon from 'sinon';
import { BarService } from '../src/bar.service';
import { FooService } from '../src/foo.service';

chai.use(chaiAsPromised);
const { expect } = chai;
import { BarService } from '../src/bar.service.js';
import { FooService } from '../src/foo.service.js';

describe('Auto-Mocking Bar Deps', () => {
let service: BarService;
let fooService: FooService;
const stub = sinon.stub();
const stub = vi.fn();
beforeEach(async () => {
const moduleRef = await Test.createTestingModule({
providers: [BarService],
Expand All @@ -23,12 +17,12 @@ describe('Auto-Mocking Bar Deps', () => {
});

it('should be defined', () => {
expect(service).not.to.be.undefined;
expect(fooService).not.to.be.undefined;
expect(service).not.toBeUndefined();
expect(fooService).not.toBeUndefined();
});
it('should call bar.bar', () => {
service.bar();
expect(stub.called);
expect(stub).toHaveBeenCalled();
});
});

Expand All @@ -39,23 +33,25 @@ describe('Auto-Mocking with token in factory', () => {
})
.useMocker(token => {
if (token === FooService) {
return { foo: sinon.stub };
return { foo: vi.fn() };
}
})
.compile();
const service = moduleRef.get(BarService);
const fooServ = moduleRef.get<{ foo: sinon.SinonStub }>(FooService as any);
const fooServ = moduleRef.get<{ foo: ReturnType<typeof vi.fn> }>(
FooService as any,
);
service.bar();
expect(fooServ.foo.called);
expect(fooServ.foo).toHaveBeenCalled();
});
it('cannot mock the dependencies', async () => {
const moduleRef = Test.createTestingModule({
providers: [BarService],
}).useMocker(token => {
if (token === FooService.name + 'something that fails the token') {
return { foo: sinon.stub };
return { foo: vi.fn() };
}
}).compile;
expect(moduleRef()).to.eventually.throw();
await expect(moduleRef()).rejects.toThrow();
});
});
4 changes: 3 additions & 1 deletion integration/auto-mock/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
{
"compilerOptions": {
"types": ["vitest/globals"],
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
"esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "ES2021",
"target": "ES2023",
"sourceMap": true,
"allowJs": true,
"strictNullChecks": true,
Expand Down
Loading