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
- 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
and 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. All the work is done under https://github.com/os-js/OS.js/tree/upcoming/v2.1.0 but beware, this does not currently work out-of-the box with the standard build tools. But if you want to take a peak, it’s all there. I don’t have any ETA on this, but I’ll update this post whenever I have a better picture.
If you want to read full list of changes, check out the drafted release announcement draft: UPDATE: Version bump - 2.1.0