
Por que ocorreu esse erro e como concertar?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Por que ocorreu esse erro e como concertar?
Olá, Luidi! Como vai?
O erro que você está enfrentando ocorre porque a variável __dirname não está definida no contexto em que está sendo usada. Isso pode acontecer se você estiver utilizando módulos ES6, que não suportam __dirname de forma nativa.
Para corrigir isso, você pode definir __dirname manualmente usando o módulo path do Node.js. Aqui está um exemplo de como fazer isso:
import path from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
// Agora você pode usar __dirname como de costume
fs.readdirSync(__dirname)
.filter(file => {
return (
file.indexOf('.') !== 0 &&
file !== basename &&
file.slice(-3) === '.js' &&
file.indexOf('.test.js') === -1
);
})
.forEach(file => {
const model = require(path.join(__dirname, file))(sequelize, Sequelize.DataTypes);
db[model.name] = model;
});
Com isso, você deve conseguir resolver o problema.
Espero ter ajudado e bons estudos!
Descobri o problema, no caso era que o ESLint tinha: "browser": true e era para estar "node": true. Não sei como o ESLint não acusou esse erro para a professora do curso já que ela está usando o ESLint também!