The definitive source of the best
JavaScript libraries, frameworks, and plugins.

  • ×


    A simple JavaScript framework for creating games and apps
    Filed under 

    • 🔾49%Overall
    • 1,688
    • 35 days
    • 🕩322
    • 👥8


    Build Status Built with Grunt


    This is a repository for development. Refer to uei/enchant.js-builds for download pre-built files.

    Download Zip file



    • Compact
    • Standalone
    • Graphics Object Tree
    • Event Driven


    • Chrome
    • Safari
    • Firefox
    • IE9
    • iOS
    • Android 2.1+


    MIT License


    <script src='./enchant.js'></script>
        window.onload = function(){
            var game = new Game(320, 320); 
            var label = new Label('Hello, enchant.js!');

    More examples and references:

    How to build

    Source code is divided into class files (dev/src/*.js). These files include multi-language comments. You can build enchant.js with 'grunt' command from these files. If you want to send a pull request or join development enchant.js, please edit files under dev/src, use this build tool and commit the built work tree.

    To setup grunt.js (build tool for node.js) as npm package, type:

    npm install -g grunt-cli
    npm install

    You additionally need phantomjs to run qunit test in grunt.js.

    Build Tasks

    • grunt do default tasks (jshint concat uglify qunit exec:lang)
    • grunt watch watch dev/src/*.js and exec grunt concat uglify lang when something is modified
    • grunt jshint check sourcecode in dev/classes/*.js with jshint
    • grunt concat generate dev/enchant.js from dev/classes/*.js
    • grunt uglify generate enchant.min.js from dev/enchant.js
    • grunt exec:lang generate enchant.js (English comment only) from dev/enchant.js
    • grunt qunit do qunit tests with phantomjs (headless browser)
    • grunt mocha do mocha tests with phantomjs (headless browser)

    If you wish to send your codes to github repos, don't forget to run grunt command before you commit your change!

    How to contribute

    If you found issues or improved codes, please write issues or send pull request to wise9/enchant.js:develop.

    Show All