New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Build] ES6 + Webpack (v2.1.0) #617

Closed
andersevenrud opened this Issue Jul 19, 2017 · 4 comments

Comments

Projects
None yet
1 participant
@andersevenrud
Member

andersevenrud commented Jul 19, 2017

Making an official issue on this. I've been making posts (https://community.os-js.org/t/roat-to-es6-es2015/131/5), but thought I'd make a checklist here as well.

Feel free to give it a try: https://github.com/os-js/OS.js/tree/upcoming/v2.1.0 it should be working just fine as of now.

This should be ready ASAP

  • Replace build system
  • New task system
  • Webpack integration for core
  • Webpack integration for packages
  • ES6 Classes for Core
  • ES6 Classes for Server
  • Modules!
  • Remove "old OSjs public namespace ...
  • Replace with OSjs.require()
  • Rewrite to arrow functions and get rid of self
  • Promises for all chains
  • Refactor modules
  • General cleanups and improvements
  • Removal of deprecated methods
  • Removal of "simple" package types (no longer necessary)
  • Removal of automated installers (at least from this repo)
  • Removal of dist/vendor by default
  • Move src/client/themes to src/themes
  • Detach the osjs scheme files
  • Update unit tests for server
  • Reimplement client unit testing
  • Add all tasks from old build system (like configuration)
  • Refactor default applications
  • Make sure it works on Windows
  • Express as node server
  • New manuals: https://github.com/os-js/manual.os-js.org https://manual.os-js.org
  • Migration guide https://community.os.-js.org/t/update-version-bump-2-1-0/142 (drafted)
  • html-loader issue: webpack-contrib/html-loader#133 (using git branch as of now. Waiting for official release)
  • webpack issue: webpack/webpack#2145 (Seems to be a browser issue related to sourcemap sizes)
  • Refactor extra packages
  • Refactor games packages
  • Refactor experimental packages
  • Move outdated packages into incompatible repo
  • Better overlay support
  • Code documentation pass
  • GoogleDrive module
  • OneDrive module

Not crutial for release, but would be nice to do:

  • New Dropbox module with new API => #28
  • Refactor system packages (not crutial for release)
  • Better coverage in unit tests
  • Make new web template compatible with new esdoc/jsdoc (https://github.com/os-js/api.os-js.org)

@andersevenrud andersevenrud added this to the 2.1.0 milestone Jul 24, 2017

andersevenrud added a commit that referenced this issue Jul 26, 2017

Express Node server implementation (#617)
Server is now written in Express. This reduces complexity quite a bit.

I also rewrote pretty much every component while I was at it.

I'm using the same plugins as before, so some parts did not need change.

@andersevenrud andersevenrud self-assigned this Jul 26, 2017

andersevenrud added a commit that referenced this issue Jul 27, 2017

@andersevenrud

This comment has been minimized.

Member

andersevenrud commented Jul 31, 2017

If anyone reads this:

Feedback on the new documentation is much appreciated. I'm trying to really nail it down this time to avoid confusion and such.

So if you have the time, give it a look and let me know how you feel about it.

And if you're down to get a bit dirty, try out the new release. It should work pretty solidly at the moment as I've worked out the last few kinks and done a bit of polishing.

@andersevenrud

This comment has been minimized.

Member

andersevenrud commented Aug 6, 2017

I deployed a pre-release on https://demo.os-js.org/ to monitor things for a while. It'll probably uncover some bugs :)

Feel free to take it for a ride!

@andersevenrud andersevenrud changed the title from ES6 + Webpack to v2.1.0 - ES6 + Webpack Aug 10, 2017

@andersevenrud andersevenrud changed the title from v2.1.0 - ES6 + Webpack to [Build] ES6 + Webpack (v2.1.0) Aug 10, 2017

andersevenrud added a commit that referenced this issue Aug 13, 2017

Version bump (#617)
Rewritten to ES6 (Babel), Webpack and Express.

Many of these are **breaking** changes, but you can easily migrate to the new style.

For a full writeup of changes etc, see links below.

Relevant:

* https://community.os-js.org/t/update-version-bump-2-1-0/142
* https://community.os-js.org/t/road-to-es6-es2015/131/8
* #617

Digest:

* Core: Rewritten to ES6
* Core: Callbacks replaced with Promise
* Core: Now using imports
* Core: Deprecated all marked methods
* Core: Removed global namespace (available as BC module)
* Core: Removed support for "simple" packages
* Core: Removed support for "dummy" packages
* Core: Removed support for "old" packages
* Core: Detached Scheme files from applications
* Core: Changed in namespaces (code separation)
* API: Now using axios for XHR
* API: Now using bluebird for better promises
* VFS: Removed 'delete' operation (use 'unlink')
* GUI: Schemes now embed in bundles if used
* Packages: Default packages refactored
* build: Now using Ygor as task system
* build: Rewritten
* build: Now using Webpack for themes
* build: Now using Webpack for packages
* build: Now using Webpack for core
* build: Removed grunt entirely
* build: Split up into separate package
* build: Changed templating generation
* build: Simplified configuration capabilities
* build: Better overlay support
* server-node: Rewritten to ES6
* server-node: Now using Express
* server-node: Changed how modules look
* server-node: Better module APIs
* server-node: Better user handling
* conf: Changed overlay layouts
* conf: Overlays now support themes
* conf: Overlays now support configuration includes
* conf: Changed vfs configuration
* misc: Added some new `bin/` scripts
* misc: Removed the `Zip` helper. This will be replaced with something newer.
* misc: The `Database` handler now uses separate tables
* misc: Added `OSjs.require()` for externals
* misc: Moved src/client/themes to src/themes
* misc: Bugfixes and general cleanups
* misc: Performance improvements
* misc: No more 'dist/vendor' by default
* misc: Removed automated installers from repo
* misc: Separated graphics sources to own repo
* misc: Separated x11 sources to own repo
* misc: Separated Broadway (will be replaced with Xpra)
* misc: Updated documentation
* misc: Now using esdoc

andersevenrud added a commit that referenced this issue Aug 13, 2017

Version bump (#617)
Rewritten to ES6 (Babel), Webpack and Express.

Many of these are **breaking** changes, but you can easily migrate to the new style.

For a full writeup of changes etc, see links below.

Relevant:

* https://community.os-js.org/t/update-version-bump-2-1-0/142
* https://community.os-js.org/t/road-to-es6-es2015/131/8
* #617

Digest:

* Core: Rewritten to ES6
* Core: Callbacks replaced with Promise
* Core: Now using imports
* Core: Deprecated all marked methods
* Core: Removed global namespace (available as BC module)
* Core: Removed support for "simple" packages
* Core: Removed support for "dummy" packages
* Core: Removed support for "old" packages
* Core: Detached Scheme files from applications
* Core: Changed in namespaces (code separation)
* API: Now using axios for XHR
* API: Now using bluebird for better promises
* VFS: Removed 'delete' operation (use 'unlink')
* GUI: Schemes now embed in bundles if used
* Packages: Default packages refactored
* build: Now using Ygor as task system
* build: Rewritten
* build: Now using Webpack for themes
* build: Now using Webpack for packages
* build: Now using Webpack for core
* build: Removed grunt entirely
* build: Split up into separate package
* build: Changed templating generation
* build: Simplified configuration capabilities
* build: Better overlay support
* server-node: Rewritten to ES6
* server-node: Now using Express
* server-node: Changed how modules look
* server-node: Better module APIs
* server-node: Better user handling
* conf: Changed overlay layouts
* conf: Overlays now support themes
* conf: Overlays now support configuration includes
* conf: Changed vfs configuration
* misc: Added some new `bin/` scripts
* misc: Removed the `Zip` helper. This will be replaced with something newer.
* misc: The `Database` handler now uses separate tables
* misc: Added `OSjs.require()` for externals
* misc: Moved src/client/themes to src/themes
* misc: Bugfixes and general cleanups
* misc: Performance improvements
* misc: No more 'dist/vendor' by default
* misc: Removed automated installers from repo
* misc: Separated graphics sources to own repo
* misc: Separated x11 sources to own repo
* misc: Separated Broadway (will be replaced with Xpra)
* misc: Updated documentation
* misc: Now using esdoc
@andersevenrud

This comment has been minimized.

Member

andersevenrud commented Aug 13, 2017

Well.... It's out now! 🤞

@andersevenrud

This comment has been minimized.

Member

andersevenrud commented Aug 13, 2017

Going to close this. Splitting out the remaining tasks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment