Vegas JS - version 1.0 is an Opensource Framework based on ECMAScript for develop crossplatform Rich Internet Applications and Games.

This project contains a set of libraries writing in Javascript and based on the ES6 standard :

package description
core The core package is specialized in functions utilities that are highly reusable without creating any dependencies : arrays, strings, chars, objects, numbers, maths, date, colors, etc.
system The system package is the root for the VEGAS JS framework. It is the starting point of our RIA framework structure : signals, W3C events, datas and collections (ADT), IoC container (Dependency Injection), logger, tasks, transitions, logics, rules, models, etc.
graphics The graphics library is an intuitive graphics API to manipulate all display objects in your applications. Offers a lot of powerful functionality to create and work with graphics, colors and geometrics objects, all neatly wrapped up in a well designed, consistent and clean programming interface.



Under tree opensource licenses :


⌜ Download

Download on Bitbucket the latest code, report an issue, ask a question or contribute :

⌜ Documentation

Get started with the the Vegas JS API :

⌜ Tutorials

These tutorials helps you to understand the VEGAS JS Framework philosophy.

⌜ Slack Community


Send us your email to join the VEGAS community on Slack !



You can install VEGAS JS with NPM or Yarn.

yarn add vegas-js --dev


npm install vegas-js --save-dev

⌜ Bower

bower install vegas-js


VEGAS JS use Gulp and Yarn with a serie of powerful packages (Babel, Mocha, etc.) to build.

⌜ Simple Build

1 - The first time, clone the VEGAS JS repository

2 - Initialize the project


Note: See the gulpfile.babel.js file at the top of the project folder.

3 - Build the binaries (vegas.js and vegas.min.js), the unit tests and the documentation.


⌜ Unit tests

We use the Mocha and Chai ( tools to run the unit tests of the VEGAS JS libraries.

gulp ut

or watch your modifications with :

gulp watch:ut

Note : You can use the two options --entry, --match and --reporter in the unit tests gulp task.

The --entry option trigger the a specific unit test entry. By default the unit tests engine target the ./tests/main.js file, you can for example target a specific with the command :

gulp ut --entry core.maths


gulp ut --entry core.maths.wrap

The --match option trigger the unit test engine (based on Mocha) to only run tests matching the given pattern which is internally compiled to a RegExp, for examples :

gulp ut --match graphics

Run all the graphics package unit tests.

gulp ut --match graphics.CardinalDimension

Run only the graphics.CardinalDimension unit tests.

The --reporter option define the unit test result rendering in the terminal with the values : 'spec', 'dot', 'landing', 'dot', 'nyan', 'list', 'mochawesome'. By default the 'spec' value is used.

gulp ut --reporter nyan


If you use the 'mochawesome' reporter, gulp generate in the './bin/tests' folder an HTML page who contains all the unit tests. For more informations, read the official documentation of Mochawesome.

gulp ut --reporter mochawesome

⌜ Generates the documentation

The documentation of the framework is based on JSDoc.

Run the documentation build with gulp :

gulp doc

The documentation is generated in the main project folder : ./docs


  • 1998 : Flash
  • 2000 : First framework concept and first libraries (components, tools, design patterns)
  • 2004 : First official SVN repository
  • 2007 : Fusion with the Maashaack framework (eden, etc.)
  • 2015 : Google Code must die - VEGAS move from an old Google Code SVN repository to this Bitbucket GIT repository and REBOOT this source code.
  • 2016 : Begin the new JS architecture of the VEGAS JS library based on ES6