Tengo una entidad simple llamada Picture.ts
y tiene el siguiente contenido
const { Entity, PrimaryGeneratedColumn, Column } = require("typeorm"); @Entity() export class Picture { @PrimaryGeneratedColumn() id: string; @Column() name: string; @Column() path: string; @Column() is_main: boolean; }
Mi tsconfig.json
es:
{ "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" ] }
Cuando intente ejecutar typeorm migration:generate
arroja un error como este
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)
Cual podría ser el problema ?
Como se indica en la documentación , la CLI typeorm funciona con javascript en nodejs. Entonces, si desea usarlo para envolver la ejecución con la biblioteca ts-node. La documentación lo describe muy bien.