Simple Login Form (open on GitHub)

The project is a simple implementation of the login form for the presentation about JS Modules. It contains three fields: email, password and checkbox to remember the user.
Application consists of the next parts:

And uses next patterns:

Implementation without any modules framework

This implementation relies on module and revealing module patterns. All modules are included into html page in order.
Also it uses third-party next libraries:

Implementation with AMD and RequireJS

Is written using Asynchronous Module Definition as the module standard. Only main module is included into hmtl markup and all other are loaded when required.
In addition to libs listed in implementation without modules we need to imclude RequireJS - loader for AMD modules.

Implementation with CommonJS (Browserify)

Uses CommonJS module syntax. All code is bundled into single file after the build step.
We were able to not use EventEmitter since it is provided by Browserify and Node.JS environment, but still need Bluebird for promises.

Implementation with ES2015 modules

Current implementation uses ES2015 modules as well as a lot of other new ES2015 features, such as let, arrow functions and classes. All code is transpiled using Babelify transform into valied ES5 and CommonJS module syntax and bundled into single file with Browserify.
We don't need Bluebird anymore because Promise is a part of ES2015 language standard as well as EventEmitter because we use Browserify for compilation.