ayrtonteshima / ead-api

API da plataforma de ensino a distância desenvolvida junto ao canal do YouTube Programador a Bordo
MIT License
196 stars 34 forks source link

ES Modules #19

Open diegodario88 opened 4 years ago

diegodario88 commented 4 years ago

A forma como importamos um código atualmente no projeto utiliza CommonJS/RequireJS, o que é algo legal pois é possível fazer algumas 'OneLiners' para importar e executar um código, como require('dotenv-safe').config(); e também omitir a extensão do arquivo.

Porém existe a possibilidade de usar o padrão ESM o qual já estamos acostumados a fazer na web. Estou estudando o assunto ainda mas consigo enxergar algumas vantagens em relação ao atual modo, conforme Gil Tayar demonstrou em sua palestra _https://www.youtube.com/watch?v=kK_3OP0uJ0Y_

programadorabordo commented 4 years ago

Perfeito, Diego!

Já era minha vontade de migrar sim para o padrão do ES6. Todas as vantagens que citou são o suficientes, assim como o CJS está ficando depreciada.

Além disso, já temos mais um passo caso a gente rode essa aplicação no Deno, no futuro.

Agora precisamos ver se todas as dependências que usamos, dá suporte ao ESM. Se ainda não, o único jeito vai ser usando um transpiler, como o Babel.