Skip to content

Iced-Tea/sjs

 
 

Repository files navigation

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 features borrowed from Ecmascript ES6
  • TypedArray and Buffer support
  • Built-in regular expression engine
  • Built-in Unicode support
  • Tail call support
  • Combined reference counting and mark-and-sweep garbage collection with finalization
  • CommonJS-based module loading system
  • Support for native modules written in C
  • Rich standard library
  • Binary name 25% shorter than Node

Hello, world

Skookum JS 0.1.0 running on linux x64
[Engine: Duktape v1.5.0 (83d5577)]
[Build: Debug on 2016-05-08T11:05:16Z]
[GCC 5.3.1 on Linux-4.5.0-1-amd64]
sjs> print('hello world!');
hello world!
= undefined
sjs>

Documentation

Check it out here.

Documentation Status

Building

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

Build Status

License

Check the LICENSE file. Hint: it's MIT.

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.

About

Skookum JS: a JavaScript runtime

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 94.6%
  • C++ 2.9%
  • JavaScript 2.3%
  • Other 0.2%