typescript - TS2307: Não é possível encontrar o módulo 'class-validator'
Estou tentando usar o módulo class-validator em um projeto TypeScript. No entanto, ao compilar, o TypeScript emite o seguinte aviso:
src/main/ts/domain/Order.ts(1,48): error TS2307: Cannot find module 'class-validator'.
A linha sobre a qual está reclamando se parece com isto:
import { IsInt, IsNotEmpty, IsDate, Min } from "class-validator";
Eu tenho o gulp configurado assim:
var gulp = require('gulp');
var ts = require('gulp-typescript');
var tsProject = ts.createProject("tsconfig.json");
gulp.task('default', function() {
return tsProject.src()
.pipe(tsProject())
.js.pipe(gulp.dest("target/main/js"));
});
E meu tsconfig.json parece assim:
{
"files": [
"src/main/ts/**/*.ts"
],
"compilerOptions": {
"experimentalDecorators": true,
"noImplicitAny": true,
"target": "es6"
}
}
Pensamentos?
Resposta #1
Defina "moduleResolution": "node" no seu tsconfig.json:
{
"compilerOptions": {
"experimentalDecorators": true,
"moduleResolution": "node",
"noImplicitAny": true,
"target": "es6"
}
}
Você pode encontrar mais informações sobre como o TypeScript resolve seus módulos importados aqui: https://www.typescriptlang.org/docs/handbook/module-resolution.html#node
Resposta #2
Isso funcionou para mim: yarn add graphql class-validator type-graphql
Fonte: https://github.com/MichalLytek/type-graphql/issues/625#issuecomment-626368051
