I am trying to run seeders on my sequelize typescript project
.sequelizerc
import '@babel/register';
import path from 'path';
const settings = {
config: path.resolve('src', 'config', 'index.js'),
'migrations-path': path.resolve('src', 'data', 'migrations'),
'models-path': path.resolve('src', 'data', 'models'),
'seeders-path': path.resolve('src', 'data', 'seeders'),
};
export default settings;
When I run this command npm run apply-seeders which translates to
rm -rf dist && npm run build && node -r dotenv-flow/config ./node_modules/.bin/sequelize db:seed:all --debug
I immediately get an error
/Users/vr/Desktop/code/vr/api/.sequelizerc:1
import '@babel/register';
^^^^^^
SyntaxError: Cannot use import statement outside a module
at Object.compileFunction (node:vm:360:18)
at wrapSafe (node:internal/modules/cjs/loader:1055:15)
at Module._compile (node:internal/modules/cjs/loader:1090:27)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1180:10)
at Module.load (node:internal/modules/cjs/loader:1004:32)
at Function.Module._load (node:internal/modules/cjs/loader:839:12)
at Module.require (node:internal/modules/cjs/loader:1028:19)
at require (node:internal/modules/cjs/helpers:102:18)
at loadRCFile (/Users/vr/Desktop/code/vr/api/node_modules/sequelize-cli/lib/core/yargs.js:25:77)
at Object.<anonymous> (/Users/vr/Desktop/code/vr/api/node_modules/sequelize-cli/lib/core/yargs.js:28:63)
I understand this is an error involving the import export statements since it only understands require and module.exports
How do I fix this?
This is my tsconfig.json file if it helps
{
"compilerOptions": {
"lib": ["es2020"],
"module": "commonjs",
"moduleResolution": "node",
"target": "es2020",
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"noImplicitAny": false,
"outDir": "dist",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"baseUrl": ".",
"paths": {
"server/*": ["src/server/*"],
"tests/*": ["src/tests/*"],
"data/*": ["src/data/*"],
"config": ["src/config"],
}
}
}
.babelrc file
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "current"
}
}
]
],
"plugins": [
[
"module-resolver",
{
"root": [
"./src"
],
"alias": {
"utils": "./src/server/utils"
}
}
]
]
}
Can someone kindly suggest how I can get sequelize to detect import export statements everywhere?