NestJS Error Debug Failure. False expression: Too many nodes written to output
Is there an existing issue for this?
- [X] I have searched the existing issues
Describe the issue
I'm using package in NestJS v10 and I followed the documentation.
According samples, to avoid decorating classes with @AutoMap(), I can use a transformer plugin that enables automapper to run a before transformer looking for .entity.ts .model.ts, etc. files and add them to a list for mappings. So I configured nest-cli.json as shown below:
{
"$schema": "https://json.schemastore.org/nest-cli",
"collection": "@nestjs/schematics",
"sourceRoot": "src",
"compilerOptions": {
"plugins": [
"@automapper/classes/transformer-plugin"
]
}
}
However when I run the app by using nest start, it throws the error:
Error Debug Failure. False expression: Too many nodes written to output.
In order to get the app working, I have to remove plugins entry leaving compilerOptions empty.
dependencies used:
"dependencies": {
"@automapper/classes": "^8.7.7",
"@automapper/core": "^8.7.7",
"@automapper/nestjs": "^8.7.7",
"@nestjs/common": "^10.1.2",
"@nestjs/config": "^3.0.0",
"@nestjs/core": "^10.1.2",
"@nestjs/cqrs": "^10.0.1",
"@nestjs/jwt": "^10.0.3",
"@nestjs/passport": "^10.0.0",
"@nestjs/platform-express": "^10.1.2",
"@nestjs/swagger": "^7.1.4",
"@nestjs/throttler": "^4.0.0",
"@nestjs/typeorm": "^10.0.0",
"bcrypt": "^5.1.0",
"class-transformer": "^0.5.1",
"class-validator": "^0.14.0",
"passport": "^0.6.0",
"passport-jwt": "^4.0.1",
"passport-local": "^1.0.0",
"pg": "^8.11.0",
"reflect-metadata": "^0.1.13",
"rxjs": "^7.2.0",
"typeorm": "^0.3.16"
},
"devDependencies": {
"@nestjs/cli": "^10.1.10",
"@nestjs/schematics": "^10.0.1",
"@nestjs/testing": "^10.1.2",
"@types/bcrypt": "^5.0.0",
"@types/express": "^4.17.13",
"@types/jest": "29.5.3",
"@types/node": "20.4.5",
"@types/passport-jwt": "^3.0.8",
"@types/passport-local": "^1.0.35",
"@types/supertest": "^2.0.11",
"@typescript-eslint/eslint-plugin": "^6.2.0",
"@typescript-eslint/parser": "^6.2.0",
"eslint": "^8.0.1",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^5.0.0",
"jest": "29.6.2",
"prettier": "^3.0.0",
"source-map-support": "^0.5.20",
"supertest": "^6.1.3",
"ts-jest": "29.1.1",
"ts-loader": "^9.2.3",
"ts-node": "^10.0.0",
"tsconfig-paths": "4.2.0",
"typescript": "^5.1.6",
"vite": "^4.4.7"
},
Thanks for any help
Models/DTOs/VMs
No response
Mapping configuration
In AppModule:
AutomapperModule.forRootAsync({
useClass: AutomapperConfigService,
}),
in AutomapperConfigService:
import { classes } from '@automapper/classes';
import { CreateMapperOptions } from '@automapper/core';
import { AutomapperOptionsFactory } from '@automapper/nestjs';
import { Injectable } from '@nestjs/common';
@Injectable()
export class AutomapperConfigService implements AutomapperOptionsFactory {
createAutomapperOptions():
| CreateMapperOptions
| Promise<CreateMapperOptions> {
return {
strategyInitializer: classes(),
};
}
}
Steps to reproduce
No response
Expected behavior
The error should not be thrown, the application should start running and allow me to run mapper without using the decorator @AutoMap().
Screenshots
Minimum reproduction code
No response
Package
- [ ] I don't know.
- [ ]
@automapper/core - [ ]
@automapper/classes - [X]
@automapper/nestjs - [ ]
@automapper/pojos - [ ]
@automapper/mikro - [ ]
@automapper/sequelize - [ ] Other (see below)
Other package and its version
No response
AutoMapper version
8.7.7
Additional context
Windows 11
Due to the nest start command when throws the error get stuck, I run the command nest start --watch and I noticed that after making some code changes, it rebuilds and throws the following statck trace:
I have the same problem with version 8.7.7
Same issue as well using NestJs 10.2.4 and Typescript 5.1.6, making the plugin not usable.
I see that the last commit or any issues closed by maintainer was in March. @nartc Is the library still maintained and to be utilized in production?
PS: I see that NestJs 10 (that @accarvajal is using as well) is not listed. Is it not supported at the moment?
- https://github.com/nartc/mapper/blob/main/packages/nestjs/package.json#L8
Update: I see that there's a PR pending (since June, does not solve this issue) adding Nest 10 support that hasn't been merged. In fact nothing has past March.
- https://github.com/nartc/mapper/pull/561
I've fixed this in my fork https://github.com/ttshivers/mapper