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:
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:
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.
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.
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.