Currently in WET, there is a lot of duplication of code, particularly around plugin initialization and lifetime. Additionally, plugins are sealed in an anonymous scope to prevent conflicts but this approach makes it very difficult for implementers to override or customize plugins. To solve this problem, plugins need to switch to a more open architecture and duplicated code need to be regrouped and shared among plugins. This new structure also need a full unit test suite (see the Unit Testing section for more details). To acheive this goal, several options are available: Prototypal Inheritance (Native), Base2 Library, ES6 Classes w/ Google Traceur
TODO
TODO
Base2 Example Base2 Project Page
TODO
ES6 Classes Example ES6 Classes Proposal
In version 4 of WET, themes were seperated into seperate repository to give theme more flexibility. The intent was also to make it easier to create new themes (the project generator-wet-boew-theme was created for this purpose). One of the current limitations for theme is that WET plugins can't easily be customized. Themes are stuck with colour choices from the WET theme. It was the intent from the start of the development for v4 to allow theme to customize the way WET plugins look.
To allow theme to customize the look of WET plugins and avoid duplication of style, themes need to compiled their SCSS styles to include WET core styles and Bootstrap styles and overrides. This would render the use of a wet-boew.css file obsolete and would introduce a markup change. Additionally, customizeable values need to be converted to SCSS variables and added to the _variables.scss file. This would allow theme to add an override for any of thes variables in their own variables files to customize the look of plugins.
TODO
TODO