developit / developit/htm

Optimize adjacent static parts+fields

Aberta
#90 0 comentários 5 reações 0 responsáveis Ver no GitHub
enhancement proposal
Linguagem predominante
JavaScript
Estrelas
9k
Forks
181
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

I've been [toying around with optimizing Tagged Templates](https://gist.github.com/developit/7118c02bf0270e1d5751d2a9e22c1faa) by merging literal field values (strings, numbers and booleans) into their adjacent static part and collapsing the adjacent static parts into a single part:

```js
// input:

hello

// current output:
html`

hello
`
html ``

// optimized output:
html`

`
html`
`
```

It'd be really neat to get this behavior into `babel-plugin-transform-jsx-to-htm`, since additional assumptions could be made about nested Arrays:

```js
const color = 'red';

// input:
{`
.foo { color: ${color}; }
`}

// current output:
html`
${`
.foo { color: ${color}; }
`}
`

// optimized output:
html`

.foo { color: ${color}; }

`
```

Thoughts?

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece pelo gist de Tagged Templates vinculado e pelo ponto de entrada babel-plugin-transform-jsx-to-htm. Compare as saídas atuais e otimizadas mostradas para campos literais e arrays aninhados; considera-se concluído quando o plugin produzir a saída otimizada solicitada para ambos os exemplos.

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

Avaliação

Stack de tecnologia
babel, javascript
Domínio
compilers, tooling
Tipo de issue
Funcionalidade
Dificuldade
5/5
Tempo estimado
Mais de uma semana
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

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