developit / developit/workerize-loader

Support for export specifiers?

Aberta
#15 4 comentários 3 reações 0 responsáveis Ver no GitHub
Linguagem predominante
JavaScript
Estrelas
2.3k
Forks
85
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

It appears like `workerize-loader` only supports moving [export declarations](https://github.com/developit/workerize-loader/blob/master/src/index.js#L52) in the target module into a worker. I'm attempting to use it with [Bucklescript](https://bucklescript.github.io/), which compiles modules down to an export specifier list, i.e. `export { foo, bar, }` instead of export declarations.

I took a pass at implementing this and couldn't get around Webpack [declaring its own parser plugin and bailing on `export specifier`](https://github.com/webpack/webpack/blob/master/lib/dependencies/HarmonyExportDependencyParserPlugin.js#L39), I think for tree-shaking purposes. I don't have much experience with Webpack plugins though and it seems like there should be a way to get this to work. Are there any alternate approaches you can suggest, or maybe workarounds?

One other thought I had for my purposes would be to instead compile to commonjs and tweak [workerize](https://github.com/developit/workerize) so that it would accept the pre-compiled source instead of doing the current find-and-replace compilation step.

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Direção de pesquisa

Comece pelo tratamento de exportações em src/index.js e reproduza a lista de especificadores de exportação gerada pelo BuckleScript. Leia o comportamento vinculado de Webpack HarmonyExportDependencyParserPlugin para entender por que os especificadores de exportação são rejeitados e, em seguida, compare as alternativas propostas de CommonJS e workerize. O trabalho estará concluído quando uma abordagem compatível ou uma solução alternativa documentada tiver sido estabelecida e testada.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
javascript
Domínio
devtools, web-dev
Tipo de issue
Funcionalidade
Dificuldade
5/5
Tempo estimado
Mais de uma semana
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
25/100

Receba novas issues na sua caixa de entrada

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