browserify / browserify/rustify

Should we register modules directly?

Ouverte
#4 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
JavaScript
Étoiles
491
Forks
6
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

I was thinking: perhaps it would make sense to register modules directly?

E.g. turn this:
```js
var rust = require('rustify')

var wasm = rust`
#[no_mangle]
pub fn add_one(x: i32) -> i32 {
x + 1
}
`

WebAssembly.instantiate(wasm, {})
.then(function (res) {
var addOne = res.instance.exports.add_one
console.log(addOne(41))
console.log(addOne(68))
}).catch(function (e) {
console.error('Creating WASM module failed', e)
})
```
Into this:
```js
var rust = require('rustify')

var wasm = rust`
#[no_mangle]
pub fn add_one(x: i32) -> i32 {
x + 1
}
`

wasm.then((mod) => {
console.log(mod.add_one(41))
console.log(mod.add_one(68))
}).catch((e) => console.error('WASM error', e))
```

The benefit is that there's way less code to remember (ugh, `res.instance.exports`). The downside is that we're no long just exposing a Uint8Array, so doing things like registering a function twice is not going to be possible.

Would this be worth it?

Guide de contribution

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

Piste de recherche

Commencez par comparer les exemples d’API actuels et proposés dans l’issue et examinez le point d’entrée de transformation de rustify. Le payload ne mentionne aucun fichier ni test, et le travail ne sera pas terminé tant que le projet n’aura pas décidé si l’enregistrement direct de modules est l’interface souhaitée et n’aura pas défini son comportement.

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

Évaluation

Stack technique
javascript, rust, wasm
Domaine
tooling
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

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