developit / developit/htm

Optimize adjacent static parts+fields

Ouverte
#90 0 commentaires 5 réactions 0 personnes assignées Voir sur GitHub
enhancement proposal
Langage dominant
JavaScript
Étoiles
9k
Forks
181
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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?

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Start with the linked Tagged Templates gist and the babel-plugin-transform-jsx-to-htm entry point. Compare the current and optimized outputs shown for literal fields and nested arrays; done means the plugin produces the requested optimized output for both examples.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
babel, javascript
Domaine
compilers, tooling
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.