Underscore: Alterado o formato/API de exportação em pacotes da comunidade semver menores

Criado em 30 mar. 2020  ·  8Comentários  ·  Fonte: jashkenas/underscore

Encontrei alguns bugs muito estranhos hoje em um pacote de terceiros ( natural ) com erros como TypeError: Cannot read property 'without' of undefined . Isso acontece porque importa underscore assim:

var Tokenizer = require('./tokenizer'),
    util = require("util"),
    _ = require('underscore')._;

Parece que a versão mais recente exporta todo o shebang como uma exportação padrão, não como um valor nomeado nas exportações. Isso provavelmente está bem... exceto para qualquer pacote que faça o acima.

Talvez _ ainda deva ser exposto como um alias para a exportação padrão? Alterar algo tão importante quanto a API de nível superior parece uma grande mudança (não uma mudança _menor_ semver!), e afinal underscore é usado como uma dependência por muitos pacotes por aí.

Todos 8 comentários

Mesmo problema aqui .. parece que _ está sendo exportado como undefined : https://github.com/jashkenas/underscore/issues/2835

Ping @jgonggrijp — parece que precisaremos de um acompanhamento do patch 1.10.2.

Especificamente, acho que foi a remoção do antigo código shim da API Node anterior que causou o problema, aqui: https://github.com/jashkenas/underscore/compare/1.9.2...1.10.0# diff -0f36b362a0b81d6f4d4bfd8a7413c75dL45-L60

... @jgonggrijp — você acha que haveria um problema em adicionar algo assim de volta?

Isso é definitivamente um descuido, desculpe por isso.

@jashkenas seu link parece não funcionar, então não consigo ver o que você quer dizer. Talvez algo assim no index-default ?

var _ = mixin(allExports);
_._ = _;
export default _;
var _ = mixin(allExports);
_._ = _;
export default _;

Isso é exatamente o que eu estava fazendo! Super.

Isso deve ser corrigido agora na versão 1.10.2, que eu empurrei para o NPM. Por favor, tente isso e me avise se tudo voltou ao normal. Desculpas pela bagunça.

@jashkenas seu DEUS! :anjo: Obrigado!

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

afranioce picture afranioce  ·  8Comentários

xiaoliwang picture xiaoliwang  ·  3Comentários

danilopolani picture danilopolani  ·  5Comentários

sky0014 picture sky0014  ·  8Comentários

arypbatista picture arypbatista  ·  3Comentários