Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Sequelize por padrão usando o commonjs para exportação/importação de módulos

Estou tendo problemas com o padrão modules porque os códigos do Sequelize usam commonjs e eu optei por usar import from / export default . Em primeiro momento não parecia ter muito problema, mas ao tentar o as querys do Sequelize percebi que não daria certo rs. Existe alguma alternativa usar os dois ou a única opção é optar por um único padrão e refatorar o código?

2 respostas
solução!

Oi Leonardo, tudo bem? Infelizmente o Sequelize, até o momento, não oferece suporte oficial a EcmaScript Modules (ou seja, a sintaxe import/export). É possível, sim, adaptar um projeto para fazer essa atualização, porém algumas partes importantes do framework só funcionam com CJS, como o arquivo models/index.js e todas as dependências internas usadas nos comandos de migração e seeds do sequelize-cli.

Na verdade é até possível converter todo o models/index.js para ESM, porém é um processo um pouco trabalhoso e mesmo assim não evita que você tenha que continuar usando o CJS em outras partes do projeto, como mencionei acima. Caso tenha curiosidade, pode conferir as tentativas e workarounds da comunidade nesta issue do repositório do Sequelize.

Neste momento o Sequelize já disponibilizou a versão 7-alpha; por enquanto a documentação referente ao upgrade para a v7 ainda usa o CJS nos trechos de exemplo de código e não menciona nenhuma atualização referente à adoção do ESM. Vamos aguardar as novidades e o lançamento da v7-stable!

Bons estudos! :)

Muuito Obrigado Juuh!