Skip to content


Subversion checkout URL

You can clone with
Download ZIP
ComponentJS -- Powerful run-time Component System for structuring HTML5-based Rich Clients
JavaScript Other
Failed to load latest commit information.
doc add missing documentation of remaining publish() parameters (#39)
env upgrade dependencies
src Pass-through arguments in internal intermediate/auto-generated
tst fix special case for clazz/trait functionality: mixin with function e…
.gitignore ignore also coverage directory
.npmignore provide NPM ignore file
.travis.yml switch to Node 0.12 in Travis CI
CHANGES fix CHANGELOG: next version is 1.2.7
Gruntfile.js bump year in all copyright messages
LICENSE bump year in all copyright messages
Makefile bump year in all copyright messages
README bump year in all copyright messages
package.json bump version before release


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


    This Source Code Form is subject to the terms of the Mozilla Public
    License (MPL), version 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.


    You can conveniently get build versions of ComponentJS:

    - either install as a client component via the Bower component manager:

      # install the latest version
      $ bower install componentjs

      # install a particular version
      $ bower install "componentjs#1.0.0"

    - or download only the main file from the repository:

      # install the latest version
      $ curl -O

      # install a particular version
      $ curl -O


    The ComponentJS build process is based on Grunt. The following Unix
    tools have to be installed for this. The ComponentJS author uses an
    OpenPKG-based software-stack for this.


    - Node [node, npm]
      (for the run-time of Grunt)

    - Grunt [grunt]
      (for executing the individual build steps)


    - GNU Make [make]
      (for using the convenient build targets in Makefile)

    - Google Closure Compiler [closure-compiler]
      (for additionally linting the sources)

    - Google Closure Linter [gjslint]
      (for additionally linting the sources)

    - W3M [w3m]
      (for creating the text format variant of the API documentation)

    - PrinceXML [prince]
      (for creating the PDF format variant of the API documentation)

    - GNU Tape Archiver [tar]
      (for creating the release/snapshot distribution tarballs)

    - GNU Portable Shell Tool [shtool]
      (for creating the release/snapshot distribution tarballs)

    Continuous Integration

    On each change, the ComponentJS sources are automatically built and the regression
    test suite run on the Travis Continous Integration (CI) service. The latest
    build status can be found under

Something went wrong with that request. Please try again.