Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

ComponentJS -- Powerful run-time Component System for structuring HTML5-based Rich Clients

Fetching latest commit…

Cannot retrieve the latest commit at this time

    ComponentJS -- Component System for JavaScript <>
    Copyright (c) 2009-2013 Ralf S. Engelschall <>


    This Source Code Form is subject to the terms of the Mozilla Public
    License, v. 2.0. If a copy of the MPL was not distributed with this
    file, You can obtain one at

    Elevator Pitch

    ComponentJS is a stand-alone MPL-licensed Open Source library
    for JavaScript, providing a powerful Component System for
    hierarchically structuring the User-Interface (UI) dialogs of
    complex HTML5-based Rich Clients (aka Single-Page-Apps) — under
    maximum applied Separation of Concerns (SoC) architecture principle,
    through optional Model, View and Controller component roles, with
    sophisticated hierarchical Event, Service, Hook, Model, Socket and
    Property mechanisms, and fully independent and agnostic of the
    particular UI widget toolkit.


    The ComponentJS build process is split into three stages. The
    following Unix tools have to be installed. The ComponentJS author
    uses an OpenPKG-based software-stack for this. The Unix program
    names which have to be in $PATH are given brackets. The OpenPKG
    package names which have to be installed are given in parenthesis.

    Common (mandatory)

    - OpenPKG
      (OpenPKG "openpkg")

    - GNU Make [make]
      (OpenPKG "make")

    - GNU Portable Shell Tool [shtool]
      (OpenPKG "shtool")

    Stage 1 (mandatory)

    - Perl [perl]
      (OpenPKG "perl")

    - Google Closure Compiler [closure-compiler]
      (OpenPKG "closurecompiler")

    Stage 1 (optional)

    - UglifyJS [uglifyjs]
      (OpenPKG "uglifyjs")

    - Yahoo! UI Compressor [yuicompressor]
      (OpenPKG "yuicompressor")

    Stage 2 (mandatory)

    - Google Closure Linter [gjslint]
      (OpenPKG "closurelinter")

    - JSHint [jshint]
      (OpenPKG "jshint")

    Stage 3 (mandatory)

    - Perl [perl]
      (OpenPKG "perl")

    - W3M [w3m]
      (OpenPKG "w3m")

    - PrinceXML [prince]
      (OpenPKG "prince")

Something went wrong with that request. Please try again.