acl-services / acl-services/paprika
The polyfill functions in `@paprika/helpers` should be in a separated package as a peer dependency
- Linguagem predominante
- JavaScript
- Estrelas
- 54
- Forks
- 10
- Merge médio
- 1d 12h
- PRs com merge (30d)
- 6
Descrição
# Bug Report
E.g `elementScroll.js` is the polyfill for `Element.scroll(), Element.scrollTo(), Element.scrollBy()`, but it's very common that a consuming app has paprika components in different ages, most of them will have different versions of `@paprika/helpers` package, which means we'll have multiple versions of `elementScroll.js` .
However, each polyfill is an IIFE, the later executed `elementScroll.js` will override the previous one. `Element.scroll(), Element.scrollTo(), Element.scrollBy()` will keep changing until everything loaded and executed. It will be very hard to debug when needed.
## Expected behavior
Polyfills should be peer dependencies, or maybe because IE 11 will be unsupported soon, we can remove them?
## Current behavior
Multiple versions of polyfills in consuming apps.
## Screenshots / Gifs / Codepens
*Include media to help illustrate the bug. Gifs help a lot!*
## Additional context
cc @AndreyChernykh
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Direção de pesquisa
Comece com elementScroll.js em @paprika/helpers e seus metadados de pacote para verificar o empacotamento atual do polyfill. Inspecione package.json em busca de pacotes @paprika que consumam @paprika/helpers para ver onde o código do polyfill é incluído e se ele pode ser movido para uma peer dependency ou removido. Nenhum teste é indicado; valide carregando uma aplicação consumidora com várias versões dos pacotes e confirmando que IIFEs posteriores não substituem mais o comportamento do polyfill anterior. Está concluído quando uma única implementação consistente do polyfill estiver em uso entre as versões.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- javascript, react
- Domínio
- frontend
- Tipo de issue
- Bug
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 38/100