Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is an example of some proposed changes to take the project towards a more ES6 direction. I am submitting this PR to get feedback from the community - it is nowhere near ready to be merged!
The build system has been overhauled to use
babel
andbrowserify
to compile ES6 with imports down to ES5 that can run on all browsers. Uglify-js is then used to create the minimized versions.The build directory has been gutted with the build process moved to the root directory and tests moved to their own sub-directory. This more closely follows common conventions in the node community. Installation is now just a
git clone
followed bynpm i
andgrunt
to build the files into thedist
directory.Every file is now a proper ES6 module that imports it's dependencies - there is no longer any dependency on the global scope. There is some cleanup necessary to have this work 100% - it seems like
browserify
is having issues with some of the circular dependencies.There are NO change to the usage of dijon (yet!)
In
src/dash/Dash.js
andsrc/streaming/MediaPlayer.js
, we take great pains to recreate the previous object hierarchy and insrc/dash.js
We make them global so that the interface appears the same from the outside world. This was done to ensure backward compatibility for testing purposes and allow us to test the changes in various demo pages without having to make changes to the tests themselves.