Using gems with Node WASI
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Ruby
- Estrellas
- 875
- Forks
- 68
- Merge medio
- 9 d 5 h
- PR fusionados (30 d)
- 1
Descripción
Hey, since I needed it myself, and based on https://gist.github.com/kateinoigakukun/5caf3b83b2732b1653e91b0e75ce3390, I wrote JS code that allows you to use gems with Node WASI.
Unfortunately, as you need preopens for that (to map the gems into the WASI vfs), it's currently not possible to use DefaultRubyVM for that, as its options are limited to env.
I wrote my own small wrapper to allow me access to the full breadth of WASI options: https://github.com/primate-run/primate/blob/master/packages/ruby/src/private/wasi.ts, but it took me a bit to understand how to get the RubyVM from the package to mimic the behaviour of DefaultRubyVM. The examples in the cheatsheet are all using DefaultRubyVM.
It is possible to perhaps make DefaultRubyVM a bit more flexible, so that it's possible to use preopens with it?
Alternatively, if you want to keep the defaults simple, perhaps add this example to the readme or cheatsheet? I don't mind sending a PR.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Empieza leyendo el uso de DefaultRubyVM en el cheatsheet y el README; después, compáralo con el wrapper wasi.ts enlazado y su gestión de preopens. Confirma si el resultado previsto es una API DefaultRubyVM más flexible o un ejemplo documentado de Node WASI, y valida que los gems puedan asignarse al sistema de archivos virtual de WASI.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- node.js, ruby, wasm
- Área
- backend
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100