npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

vegas-js-system

v1.0.0

Published

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,

Downloads

3

Readme

VEGAS JS | System

Vegas JS | System - version 1.0.0 is an Opensource Library based on ECMAScript for develop crossplatform Rich Internet Applications and Games.

This library is the root package for the VEGAS JS framework. It is the starting point of our RIA framework structure : signals, data, IoC, logger, tasks, transitions, logics, rules, models, etc.

About

License

Under tree opensource licenses :

Resources

⌜ Download

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

⌜ Documentation

Get started with the the Vegas JS API :

⌜ Slack Community

slack-logo-vector-download.jpg

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

Dependencies

Install

⌜ YARN / NPM

You can install VEGAS JS with Yarn or NPM.

yarn add vegas-js-system

or

npm install vegas-js-system

Example

1 - Load the ./dist/vegas-system.js library in your HTML page.

The index.html file :

<!doctype html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Test VEGAS JS | System</title>
    </head>
    <body>
        <script src="./js/vegas-system.js"></script>
        <script src="./js/index.js"></script>
    </body>
</html>

2 - Use the system package in your javascript application.

The index.js file :

"use strict" ;

window.onload = function()
{
    if( !system )
    {
        throw new Error("The VEGAS JS - System library is undefined.") ;
    }
    
    const signals = system.signals ;
    
    // ------

    function Slot( name )
    {
        this.name = name ;
    }

    Slot.prototype = Object.create( signals.Receiver.prototype );
    Slot.prototype.constructor = Slot;

    Slot.prototype.receive = function ( message )
    {
        console.log( this + " : " + message ) ;
    };

    Slot.prototype.toString = function ()
    {
        return "[Slot name:" + this.name + "]" ;
    };

    // ------

    let slot1 = new Slot("slot1") ;

    let slot2 = function( message )
    {
        console.log( this + " : " + message ) ;
    };

    let signal = new signals.Signal() ;

    //signal.proxy = slot1 ;

    signal.connect( slot1 , 0 ) ;
    signal.connect( slot2 , 2 ) ;

    console.log( "signal.connected : " + signal.connected() ) ;
    console.log( "signal.length : "    + signal.length ) ;
    console.log( "signal.hasReceiver(slot1) : " + signal.hasReceiver(slot1) ) ;
    console.log( "signal.hasReceiver(slot2) : " + signal.hasReceiver(slot2) ) ;

    signal.emit( "hello world" ) ;

    signal.disconnect( slot1 ) ;

    signal.emit( "Bonjour monde" ) ;
};

Building and test the libraries

VEGAS JS | Signals use Yarn with a set of powerful packages (Babel, Mocha, etc.) to compile and build this library.

⌜ Simple Build

1 - The first time, initialize the project and run yarn :

yarn

2 - Run the Unit Tests + Compile all the libraries + Generates the documentation :

yarn build

⌜ VEGAS (only) Build

1 - Build the ./dist/vegas-system.js : not minified + no comments + sourcemap.

yarn dev

2 - Build the ./dist/vegas-system.js and watch the changing into the ./src folder.

yarn watch

3 - Build the ./dist/vegas-system.min.js : minified + no comments.

yarn prod

⌜ Unit tests

We use the Mocha and the Chai (http://chaijs.com/) tools to run the unit tests of the VEGAS JS libraries.

1 - Run all unit tests

$ yarn test

2 - Run a specific library, use one of this command :

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 :

$ yarn test -g system.signals.Receiver

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.

yarn test --reporter nyan

vegas-js-signals-nyan.png

3 - Cover the library source code with Istanbul :

yarn cover

⌜ Generates the documentation

The documentation of the framework is based on JSDoc.

Run the documentation build with gulp :

yarn doc

The documentation is generated in the folder : ./docs/bin

History

  • 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
  • 2018 : Cut the JS packages of VEGAS in a set of independent libraries.