browserify / browserify/static-module

feature: add an API that works on ASTs instead of pre-evaluated values

Ouverte
#57 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
JavaScript
Étoiles
75
Forks
22
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

static-eval doesn't support function expressions like the `body` option in:

```js
cwise({
body: () => {}
})
```

I think because of this patch https://github.com/substack/static-eval/pull/18

static-module has a special case for function arguments as callbacks:

```js
readFile('xyz', function () {})
```

A possible solution may be to have a static-module option or a method like `staticModule.ast` that passes the parsed AST nodes to functions, instead of statically evaluated values. Projects like cwise could then use static-eval to selectively evaluate strings and other primitive types, and stringify the AST for function arguments using escodegen.

_Originally posted by @goto-bus-stop in https://github.com/browserify/static-module/issues/48#issuecomment-443202592_

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par examiner la gestion par static-module des valeurs préévaluées et son cas particulier pour les arguments de fonction utilisés comme callbacks, puis comparez le patch de static-eval mentionné dans l’issue. Le travail est considéré comme terminé lorsqu’une API ou une option basée sur un AST permet à des projets tels que cwise d’évaluer sélectivement les valeurs primitives et de préserver les AST des arguments de fonction afin de les convertir en chaînes avec escodegen.

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

Évaluation

Stack technique
javascript
Domaine
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.