Some way of combining multiple transforms using static-module
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Funcionalidade
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- javascript
- Domínio
- tooling
Direção de pesquisa
Comece revisando a API de transformação atual do static-module e os transforms relacionados do Browserify mencionados na issue, incluindo brfs e varlessify. Defina uma API de composição concreta que faça o parsing e a geração de cada fonte apenas uma vez e, em seguida, estabeleça verificações de desempenho e compatibilidade que mostrem que os transforms combinados funcionam sem exigir alterações downstream.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
This is gonna be the most half-formed feature request I've ever posted on GitHub. Sorry!
The problem to solve: Since static-module works by parsing into an AST, transforming, and code-generating, it has a pretty significant overhead associated with it. For example: I have a script build using Browserify which takes about 8 seconds, where <2 seconds are spent compiling (TypeScript) and the remaining >6 seconds are spent in various transforms using static-module (brfs and varlessify (I wrote the latter)). I want to add another static-module-based transform, but I hesitate to add another 3 seconds to my incremental build time!
Imagine a world where multiple transforms using static-module could be combined into a single transform, thus significantly decreasing the performance impact. The source would only have to get parsed into an AST once! This would open the door to scalable use of tons of compile-time transformations. I'm not sure what the API for this would look like, but I have an inkling that it could possibly be done entirely within static-module without requiring any changes to downstream modules like brfs, perhaps by returning an extra property on the result of staticModule().
// a bunch of different transforms, more realistically pulled in separately from different modules
var brfs = staticModule({ { fs: ... }, ... });
var brfoo = staticModule({ { foo: ... }, ...});
var brbar = staticModule({ { bar: ... }, ...});
// combine them all
var massiveTransform = staticModule.combine(brfs, brfoo, brbar);
Thoughts?
- Linguagem predominante
- JavaScript
- Estrelas
- 75
- Forks
- 22
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de browserify/static-module
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 35/100
browserify/static-module#69 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 55/100
browserify/static-module#63 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 35/100
browserify/static-module#61 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 25/100
browserify/static-module#60 ·
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
browserify/static-module#57 · 1 reação ·
Todas as issues de browserify/static-module
Issues semelhantes
-
bug lsp sev-3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 90/100
Miaotofu01/Study-Mate#206 ·
Mantenedores costumam responder em até 1 dia
-
effort:low model:light plan planner:fable-5-1 test-quality tests
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
Mantenedores costumam responder em até 1 dia
-
bug good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 92/100
-
[BUG][5.4.0] 网页全屏时, 不能直接切全屏Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 63/100
zhw2590582/ArtPlayer#1073 ·