Spiderfire is currently lacking documentation for most of its API. It would be nice to have the structs and functions documented so that contributors can more easily understand the codebase, and users can begin creation of native modules.
Requirements
This task requires basic understanding of Rust, to understand the codebase, and intermediate understanding of Javascript, to understand the interactions with SpiderMonkey.
Difficulty: Easy to Intermediate
Workspace Crates
Ion Procedural Macros ('ion-proc`): Contains procedural macros.
Wrappers around regular macros
Ion (ion): Contains wrappers around the native JSAPI.
Wrappers around native types. (IonObject, IonArray, IonDate, IonFunction)
Conversion and printing of native types.
Handling runtime exceptions.
Runtime ('runtime'): Contains functions related to runtime initialisation and operation.
Module loader.
Console global.
Logging level.
Modules ('modules'): Contains standard modules.
Assertion (assert)
File System (fs)
CLI (cli): Contains the application code for the command-line interface.
Lack of Documentation
Spiderfire is currently lacking documentation for most of its API. It would be nice to have the structs and functions documented so that contributors can more easily understand the codebase, and users can begin creation of native modules.
Requirements
This task requires basic understanding of Rust, to understand the codebase, and intermediate understanding of Javascript, to understand the interactions with SpiderMonkey. Difficulty: Easy to Intermediate
Workspace Crates
ion
): Contains wrappers around the native JSAPI.IonObject
,IonArray
,IonDate
,IonFunction
)assert
)fs
)cli
): Contains the application code for the command-line interface.eval
)repl
)run
)