browserify / browserify/static-module
feature: add an API that works on ASTs instead of pre-evaluated values
- Lingua principale
- JavaScript
- Stelle
- 75
- Fork
- 22
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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_
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia esaminando la gestione da parte di static-module dei valori pre-valutati e il suo caso speciale per gli argomenti delle funzioni usati come callback, quindi confronta la patch di static-eval menzionata nell'issue. Il lavoro è completo quando viene esposta un'API o un'opzione basata su AST che consenta a progetti come cwise di valutare selettivamente i valori primitivi e preservare gli AST degli argomenti delle funzioni per la conversione in stringa con escodegen.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript
- Ambito
- tooling
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100