Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Some way of combining multiple transforms using static-module

Aberta
#7 0 comentários 0 reações 0 responsáveis Ver no GitHub

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

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de browserify/static-module

Todas as issues de browserify/static-module

Issues semelhantes

Mais issues de JavaScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.