Skip to content

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

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

Closed
36 of 41 tasks
andersevenrud opened this issue Jul 19, 2017 · 4 comments
Closed
36 of 41 tasks

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

andersevenrud opened this issue Jul 19, 2017 · 4 comments

Comments

@andersevenrud
Copy link
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: fix: attr matching for empty tags in tag:attribute patterns webpack-contrib/html-loader#133 (using git branch as of now. Waiting for official release)
  • webpack issue: Source Maps don't work on Chrome 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:

@andersevenrud andersevenrud added this to the 2.1.0 milestone Jul 24, 2017
andersevenrud added a commit that referenced this issue Jul 26, 2017
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
Copy link
Member Author

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
Copy link
Member Author

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 ES6 + Webpack v2.1.0 - ES6 + Webpack Aug 10, 2017
@andersevenrud andersevenrud changed the title v2.1.0 - ES6 + Webpack [Build] ES6 + Webpack (v2.1.0) Aug 10, 2017
andersevenrud added a commit that referenced this issue Aug 13, 2017
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
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
Copy link
Member Author

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

@andersevenrud
Copy link
Member Author

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
Projects
None yet
Development

No branches or pull requests

1 participant