I’m currently working on refactoring the entire client codebase to be ES6 compliant. Luckily everything was written in a way that this is a rather trivial task, so progress is fast (half-way as the time of writing)

As of now this involves rewriting these parts:

Convert old fashioned namespaces to requirejs

Use const and let instead of var

Arrow functions where appropriate

General cleanup

Remove deprecated methods

Promises instead of callbacks (probably)

More modularized design

Better building

Node server code

This will be released under 2.1.0and I’m contemplating removing the backward-compability I’ve written while developing this (this is just the namespacing, as in usage of OSjs.Foo instead of const Foo = require(...).

Another thing I’m looking at is using Webpack for all the bundling. Using Babel will allow for using non-standard features and paves the way for super easy upgrades for new standards.

I'm currently busy with a lot of work, so sadly I could not produce a test build. I'll get back to this ASAP.

And for anyone that's familiar with Babel. Is there some clever ways to decrease build times that's not obvious from someone looking at the official documentation (disk cache helps a lot, but I was hoping there'd be something more I could do) ?

Oh, Webpack compilation process should now work properly for Windows users as well! Turns out there are some quirks regarding path resolution and casing of entry/output paths (“not an absolute path” and “multiple modules with names that only differ in casing” error messages).