Atualizei meu projeto TypeScript da versão 2.x para a versão 3.0.1 do socket.io. Depois disso, não posso mais compilar meu projeto porque nenhuma definição de tipo de cors, cookie e emissor de componente é conhecida.
Depois de adicioná-los (@ types / cors, @ types / cookie, @ types / component-emitter) para a seção devDependencies do meu projeto, ele funciona novamente, mas isso não está documentado no guia de migração nem parece uma boa solução para adicionar um componente de terceiros e, em seguida, obter erros do compilador devido à falta de dependências.
Hmm ... de acordo com isso , parece que os tipos devem realmente ser incluídos na seção dependencies
, e não na devDependencies
. Vamos fazer isso!
Isso resolve o problema de tipificação ausente de cors e cookie, mas não para emissor de componente, usado pelo pacote socket.io-parser onde @ types / component-emitter está incluído apenas na seção devDependencies. Portanto, mesmo com o socket.io 3.0.3, recebi um erro do compilador devido à falta de @ types / component-emitter. Eu ainda tenho que adicionar isso à minha própria seção devDependencies, embora este seja um detalhe de implementação do socket.io que não está documentado em nenhum lugar.
@renkei Veja https://github.com/socketio/socket.io-parser/pull/99
Comentários muito úteis
Hmm ... de acordo com isso , parece que os tipos devem realmente ser incluídos na seção
dependencies
, e não nadevDependencies
. Vamos fazer isso!