Reputation: 46960
I'm attempting to use the class-validator module in a typescript project. However when I compile typescript issues the following warning:
src/main/ts/domain/Order.ts(1,48): error TS2307: Cannot find module 'class-validator'.
The line it is complaining about looks like this:
import { IsInt, IsNotEmpty, IsDate, Min } from "class-validator";
I have gulp setup like this:
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"));
});
And my tsconfig.json looks like this:
{
"files": [
"src/main/ts/**/*.ts"
],
"compilerOptions": {
"experimentalDecorators": true,
"noImplicitAny": true,
"target": "es6"
}
}
Thoughts?
Upvotes: 4
Views: 26553
Reputation: 123
You need to install call-validator and class-transformer packages
npm i --save class-validator class-transformer
Upvotes: 2
Reputation: 324
You need ti install class-validator dependency , use this commond:
npm install class-validator
Upvotes: 3
Reputation: 190
This worked for me: yarn add graphql class-validator type-graphql
Source: https://github.com/MichalLytek/type-graphql/issues/625#issuecomment-626368051
Upvotes: 6
Reputation: 49
You need to install typescript types for validator in addition to installing class-validator.
That is npm install @types/validator
Upvotes: 2
Reputation: 40594
Set "moduleResolution": "node"
in your tsconfig.json
:
{
"compilerOptions": {
"experimentalDecorators": true,
"moduleResolution": "node",
"noImplicitAny": true,
"target": "es6"
}
}
You can find more info on how TypeScript resolves your imported modules here: https://www.typescriptlang.org/docs/handbook/module-resolution.html#node
Upvotes: 14