Noteworthy Programming Masterpiece
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    runtimejspublic

    runtime.js

    Build Status npm Gem Travis

    runtime.js is an open-source library operating system (unikernel) for the cloud that runs JavaScript, can be bundled up with an application and deployed as a lightweight and immutable VM image.

    It's built on V8 JavaScript engine and uses event-driven and non-blocking I/O model inspired by Node.js. At the moment KVM is the only supported hypervisor.

    It tries to be compatible with npm module ecosystem and supports some of the Node.js API.

    WARNING: project is in development and not ready for production use.

    Installation

    First thing is the command line tool runtime-cli, it will add runtime command to the shell. Type runtime to get full usage help.

    npm install runtime-cli -g
    

    Make sure QEMU is installed, it enables running applications locally.

    brew install qemu           # OSX
    sudo apt-get install qemu   # Ubuntu
    

    Getting Started

    Create new project and add index.js entry point file:

    mkdir project
    cd project
    npm init
    npm install runtimejs --save
    echo "console.log('ok')" > index.js
    

    Run project locally in QEMU:

    runtime start
    

    That's it, it should start and print ok in the console.

    Optionally you can let it watch directory for changes and restart QEMU automatically:

    runtime watch
    

    How does it work?

    There are two main components: operating system kernel and a JavaScript library.

    The kernel is written in C++ and manages low-level resources like CPU and memory, runs JavaScript using embedded V8 engine. Library drives the entire system and manages hardware devices (usually virtualized by hypervisor).

    Docs

    API docs

    Community

    Modules and projects developed by the community for runtime.js

    License

    Apache License, Version 2.0

    Keywords

    none

    install

    npm i runtimejs

    Downloadslast 7 days

    4

    version

    0.2.16

    license

    Apache-2.0

    repository

    github.com

    last publish

    collaborators

    • avatar
    • avatar