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

refactor: adicionado ES6 modules syntax #23

Open diegodario88 opened 4 years ago

diegodario88 commented 4 years ago

Ao buscar soluções para utilizar a sintaxe de import e outras novidades da linguagem optei por usar o Sucrase, uma alternativa ao Babel que promete ser 20x mais rápido. O acoplamento é simples e a integração com o nodemon funciona muito bem, sem nenhum delay aparente ao transformar CJS para ESM, tendo como possibilidade vários transforms inclusive TypeScript, se caso ele for adotado ao projeto o Sucrase facilitaria a transição. Ava precisou de um complemento para enxergar os arquivos ESM, para isso foi adicionado a lib esm e a respectiva configuração ao package.json. Alguns warnings de (param) e ; foram corrigos pelo eslint automaticamente, fora isso procurei não alterar nada além do necessário para concluir a issue closes #22 .

diegodario88 commented 4 years ago

De acordo com essa (dicussão), signing/verifying/decoding trabalham com operacões totalmente síncronas então no meu entendimento uma opção mais limpa seria remover a callback e tratar eventuais erros com o try/catch. Uma vez que, como esse código faz uso intenso do CPU ele vai cair, invariavelmente, no loop de eventos e bloquear a thread primária então a promessa se torna desnecessária. Se eu estiver viajando aqui ou se esqueci de algo por favor me de um toque.