TypeORM entity throwing error when generating migration
I have a simple entity called Picture.ts
and is has following content
const { Entity, PrimaryGeneratedColumn, Column } = require("typeorm");
@Entity()
export class Picture {
@PrimaryGeneratedColumn()
id: string;
@Column()
name: string;
@Column()
path: string;
@Column()
is_main: boolean;
}
My tsconfig.json
is:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"lib": [
"dom",
"es6",
"es2017",
"esnext.asynciterable"
],
"sourceMap": true,
"outDir": "./dist",
"rootDir": "./src",
"moduleResolution": "node",
"removeComments": true,
"noImplicitAny": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"noImplicitThis": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"allowSyntheticDefaultImports": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true
},
"exclude": [
"node_modules"
],
"include": [
"./src/**/*.tsx",
"./src/**/*.ts"
]
}
When try running typeorm migration:generate
it throws error like this
Error during migration generation:
/src/src/entity/Picture.ts:3
@Entity()
^
SyntaxError: Invalid or unexpected token
at wrapSafe (internal/modules/cjs/loader.js:1001:16)
at Module._compile (internal/modules/cjs/loader.js:1049:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:790:12)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:93:18)
at /src/node_modules/typeorm/util/DirectoryExportedClassesLoader.js:42:39
at Array.map (<anonymous>)
at importClassesFromDirectories (/src/node_modules/typeorm/util/DirectoryExportedClassesLoader.js:42:10)
what could be the problem ?
Solution 1:
As stated in the documentation, the typeorm CLI works with javascript in nodejs. So if you want to use it to wrap the execution with the ts-node library. The documentation describes it really well.