Pdf.js: Retire o webpack peerDependency do projeto pdfjs-dist

Criado em 17 mai. 2018  ·  7Comentários  ·  Fonte: mozilla/pdf.js

Qual é o comportamento esperado?
O projeto pdfjs-dist não deve incluir webpack como um peerDependency, pois ele pode realmente funcionar sem ele ao carregar os scripts do diretório de construção.

O que deu errado?
Estou usando PDFJS em um componente para visualizar um PDF usando Angular 6. Sem incluir webpack em meu projeto (eu não preciso disso), faço um popup de aviso peerDependency toda vez que executo qualquer comando npm ou toda vez que alguém instalar meu componente .

1-other

Comentários muito úteis

Olá, @timvandermeij. Obrigado pela sua resposta!

webpack é uma ferramenta de construção e, como tal, normalmente só faz sentido como "devDependency" - ou está restrita ao pipeline de construção da biblioteca. Incluí-lo como "peerDependency" significa que os usuários precisam instalá-lo localmente (mesmo que não precisem / não liguem para isso) ou ignorar o aviso que aparece sempre em npm install .

Não estou familiarizado com worker-loader , então aceite meus comentários com uma pitada de sal. Mas se for como qualquer outro webpack loader, eles normalmente são necessários apenas como uma etapa de configuração de compilação e nada mais. Além disso, faz pouco sentido em um contexto em que a biblioteca deve ser usada fora da web (como o Node).

pdf.js agindo como um plug-in de webpack em alguns casos? Se _is_, _pode_ fazer sentido incluir o carregador e webpack como uma dependência. Mas, mesmo assim, eu diria que esse tipo de suporte deve ser extraído para seu próprio repositório / módulo.

Tomei a liberdade de bifurcar o repo e retirar tudo o que webpack relacionado. Ainda está funcionando perfeitamente bem para mim em meu aplicativo Node.

Todos 7 comentários

Exatamente. Ter webpack como "peerDependency" em um pacote distribuível como este é totalmente errado e deve ser removido.

A dependência de par foi adicionada em # 9249 por causa de worker-loader . Você poderia explicar um pouco por que é errado tê-lo em nosso repositório? Não há problema em removê-lo se não for para quebrar as coisas.

Olá, @timvandermeij. Obrigado pela sua resposta!

webpack é uma ferramenta de construção e, como tal, normalmente só faz sentido como "devDependency" - ou está restrita ao pipeline de construção da biblioteca. Incluí-lo como "peerDependency" significa que os usuários precisam instalá-lo localmente (mesmo que não precisem / não liguem para isso) ou ignorar o aviso que aparece sempre em npm install .

Não estou familiarizado com worker-loader , então aceite meus comentários com uma pitada de sal. Mas se for como qualquer outro webpack loader, eles normalmente são necessários apenas como uma etapa de configuração de compilação e nada mais. Além disso, faz pouco sentido em um contexto em que a biblioteca deve ser usada fora da web (como o Node).

pdf.js agindo como um plug-in de webpack em alguns casos? Se _is_, _pode_ fazer sentido incluir o carregador e webpack como uma dependência. Mas, mesmo assim, eu diria que esse tipo de suporte deve ser extraído para seu próprio repositório / módulo.

Tomei a liberdade de bifurcar o repo e retirar tudo o que webpack relacionado. Ainda está funcionando perfeitamente bem para mim em meu aplicativo Node.

Existe algum plano para remover o webpack como uma dependência. @nfantone , você planejava enviar um PR?

@mishawakerman Nunca recebi uma resposta "oficial" para esse problema - e ainda não sei por que webpack está listado como uma dependência. Minha (limitada) intuição me diz que isso é parte de um problema maior onde pdf.js está acoplado a alguma parte de sua implementação que indiretamente depende de webpack e precisa ser refatorada de alguma forma.

Esta pergunta também é feita no IRC e obtivemos esta resposta: https://mozilla.logbot.info/pdfjs/20180606#c14862530 -c14862541. Resumindo, não estou muito familiarizado com o empacotamento do Webpack em si, mas se for apenas para o exemplo, acho que podemos removê-lo. No entanto, verifique se é esse o caso antes de enviar um PR.

Fechar uma vez que fazer isso não é realmente uma boa opção, visto que # 9248 retornará se fizermos isso. Em vez disso, o que devemos fazer é # 9580, que é discutido no IRC em https://mozilla.logbot.info/pdfjs/20180606#c14862530 -c14862634.

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

Questões relacionadas

timvandermeij picture timvandermeij  ·  4Comentários

patelsumit5192 picture patelsumit5192  ·  3Comentários

hp011235 picture hp011235  ·  4Comentários

brandonros picture brandonros  ·  3Comentários

AlexP3 picture AlexP3  ·  3Comentários