/sjs

Skookum JS: a JavaScript runtime

Primary LanguageCMIT LicenseMIT

sjs

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.

Documentation Status

Building

Skookum JS currently supports Linux and macOS. See compilation instructions here.

Build Status

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.