node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



Build Status Test coverage

egjs is a jQuery-based JavaScript library consisting of UI interactions, effects, and utilities, which brings easiest and fastest way to build a web application in your way.


The following is a list of egjs components.

jQuery Extensions

egjs provides methods and events extended from jQuery.


The following is a list of methods extended from jQuery.


The following is a list of events extended from jQuery.

Downloads and Installation

In order to use egjs, you should download the JavaScript files or install it using Bower or npm.

For development (Uncompressed)

You can download the uncompressed files for development version from the following locations:

For production (Compressed)

You can download the compressed files for production version from the following locations:

Using CDN

To create a link to a file provided over CDN, you must check the file URL in the CDN service.

Installation with Bower

If you do not have Bower installed, install it using npm as follows:

$ npm install bower -g

The following code shows how to install egjs using Bower.

$ bower install egjs

Installation with npm

The following code shows how to install egjs using npm.

$ npm install egjs

Supported Browsers

The following table shows browsers supported by egjs.

Internet Explorer Chrome Firefox Safari iOS Android
7+ Latest Latest Latest 7+ 2.3+(except 3.x)

Supported browser types and versions may vary depending on modules. For more information, see API documentation.


egjs has the dependencies for the following libraries:

jQuery (required) Hammer.JS
1.7.0+ 2.0.4+

Except jQuery, library dependencies may vary depending on modules. For more information, see API documentation.

Let egjs load after jQuery loads.

<!-- Load jQuery -->
<script src="node_modules/jquery/dist/jquery.js"></script>
<!-- Load egjs packaged with all dependencies (Hammer.js) -->
<!-- Load from your local installation -->
<script src="bower_components/egjs/dist/pkgd/eg.pkgd.min.js"></script>
<!-- Or load from CDN -->
<script src=""></script>

For more information on loading dependency files except jQuery, see the "Download and Using egjs" page on GitHub Wikis.

You need to add the namespace, "eg", to use the egjs components as shown in the example below.

var Klass = eg.Class({
    "construct" : function(){}
var Komponent = eg.Class.extend(eg.Component,{
    "construct" : function(){}

egjs Development

For anyone interested to develop egjs, follow the instructions below.

Development Environment

1. Install grunt-cli

Install grunt-cli globally.

$ npm install grunt-cli -g  # Install grunt-cli

2. Clone the repository

Clone the egjs depository and install the Bower and npm dependency modules.

# Create and move a folder.
$ mkdir egjs && cd egjs
# Clone a repository.
$ git clone

3. Install dependencies

Support npm and yarn.

# Install the dependencies modules.
$ npm install
# or
$ yarn 

When add dependency library have to use yarn.

4. Build

Use Grunt to build egjs.

$ grunt build

Two folders will be created after complete build is completed.

  • dist folder: Includes the eg.js and eg.min.js files.
  • doc folder: Includes API documentation. The home page for the documentation is doc/index.html.


Once you create a branch and done with development, you must perform a test using the "grunt test" command before you push code to a remote repository.

$ grunt test

Running a "grunt test" command will start JShint, JSCS, QUnit, and istanbul.

  • JShint and JSCS: Performs static checking and code style checking.
  • QUnit: Performs unit tests of egjs.
  • istanbul: Measures test coverage. The test results can be verified once the Grunt task is completed. Or you can use the ./report/index.html file to verify them.

Bug Report

If you find a bug, please report it to us using the Issues page on GitHub.


egjs is released under the MIT license.

Copyright (c) 2015 NAVER Corp.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.