Overview
Skookum JS, or sjs for short, is a JavaScript runtime focused on providing
comprehensive POSIX APIs.
The motivation for this project comes from answering the question "how would a
JavaScript runtime look like if there were no browsers?".
Features
- Small footprint
- Ecmascript ES5/ES5.1 compliant
- Some post-ES5 features
- Built-in Unicode support
- Tail call support
- CommonJS-based module loading system
- Support for native modules written in C
- Rich standard library
- Binary name 25% shorter than Node
See the full list here.
Documentation
Check it out here.
Building
Skookum JS currently supports Linux and macOS. See compilation instructions here.
License
Check the LICENSE file.
Author
Saúl Ibarra Corretgé (@saghul)
Contributing
Please see CONTRIBUTING.
Acknowledgements
sjs would not have been possible without some other projects existing. Some served
as a source of inspiration, some as a source of actual code, and the author would like to thank them all.
- Duktape: The engine that powers sjs. This project would not have been possible without Duktape. :hearteyes:
- Nodejs: World's most well known JavaScript runtime, definitely an inspiration.
- libuv: A lot of the cross-platform code was borrowed from here.
- Dukluv: Another JavaScript runtime combining Duktape with libuv.
- CPython: Python's canonical interpreter was an inspiration, specially for the standard library components.