ng-universal
ng-universal copied to clipboard
Can't resolve 'class-transformer/storage'
I'm submitting a...
[ ] Regression
[x] Bug report
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead post your question on Stack Overflow.
Current behavior
When I start the development server using npm run dev:ssr, I get the following error:
./node_modules/@nestjs/mapped-types/dist/type-helpers.utils.js:69:27-63 - Error: Module not found: Error: Can't resolve 'class-transformer/storage' in '
Expected behavior
Starting the development server with no errors
p.s. : using an older version of class-transformer (v0.3.1) the server starts
Minimal reproduction of the problem with instructions
npm run dev:ssr
What is the motivation / use case for changing the behavior?
Using @nestjs/universal with the latest class-transformer
Environment
Nest version: 8.0.0
For Tooling issues:
- Node version: 16.13.2
- Platform: Linux (Ubuntu)
Others:
- npm version: 8.1.2
package.json
{
"name": "test-angular-nest",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"watch": "ng build --watch --configuration development",
"test": "ng test",
"dev:ssr": "ng run test-angular-nest:serve-ssr",
"serve:ssr": "node dist/test-angular-nest/server/main.js",
"build:ssr": "ng build && ng run test-angular-nest:server",
"prerender": "ng run test-angular-nest:prerender",
"prebuild:ssr": "ngcc"
},
"private": true,
"dependencies": {
"@angular/animations": "~13.2.0",
"@angular/common": "~13.2.0",
"@angular/compiler": "~13.2.0",
"@angular/core": "~13.2.0",
"@angular/forms": "~13.2.0",
"@angular/platform-browser": "~13.2.0",
"@angular/platform-browser-dynamic": "~13.2.0",
"@angular/platform-server": "~13.2.0",
"@angular/router": "~13.2.0",
"@nestjs/common": "^8.0.0",
"@nestjs/core": "^8.0.0",
"@nestjs/mapped-types": "^1.0.1",
"@nestjs/ng-universal": "^6.0.0",
"@nestjs/platform-express": "^8.0.0",
"@nguniversal/express-engine": "^13.0.1",
"class-transformer": "^0.5.1",
"class-validator": "^0.13.1",
"express": "^4.15.2",
"reflect-metadata": "^0.1.13",
"rxjs": "~7.5.0",
"tslib": "^2.3.0",
"zone.js": "~0.11.4"
},
"devDependencies": {
"@angular-devkit/build-angular": "~13.2.5",
"@angular/cli": "~13.2.5",
"@angular/compiler-cli": "~13.2.0",
"@nestjs/testing": "^8.4.0",
"@nguniversal/builders": "^13.0.1",
"@types/express": "^4.17.0",
"@types/jasmine": "~3.10.0",
"@types/node": "^12.11.1",
"jasmine-core": "~4.0.0",
"karma": "~6.3.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.1.0",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "~1.7.0",
"typescript": "~4.5.2"
}
}
just need to add "class-transformer/storage" to the externalDependencies in angular json for the server section
@pmknk's fix works!
Would be great if ng add @nestjs/ng-universal included this automatically