#Ember Timesliced Build A built version of ember at https://github.com/garris/ember.js
This version of Ember introduces the concept of time-slicing which limits route churn to a configurable time interval.
During route processing, when the time interval has been reached, this version of Ember will yield processing on the main browser thread to allow browser painting. After native browser tasks have returned, Ember resumes route processing and the yielding cycle repeats until all Ember tasks (via Backburner) are completed.
Backburner and HtmlBars have also been modified to enable yielding.
##Change summaries
https://github.com/garris/ember.js/pull/1/files
https://github.com/garris/backburner.js/pull/1/files
https://github.com/garris/htmlbars/pull/2/files
##Known Issues
Any app or plug-in which directly modified the DOM outside of an Ember.run() call could run into a condition where expected DOM does not exist. This is still the case in htmlBars here.
There are many many tests which are failing due to changes in the run loop flow. These issues still need to be addressed.
##Installation
npm install https://github.com/garris/ember.js.git#timesliced
cd node_modules/ember/
npm install
cd node_modules/htmlbars/
npm install
cd ../../
npm run build
npm start
Ember.js is a JavaScript framework that does all of the heavy lifting that you'd normally have to do by hand. There are tasks that are common to every web app; Ember.js does those things for you, so you can focus on building killer features and UI.
- Ensure that Node.js is installed.
- Run
npm install
to ensure the required dependencies are installed. - Run
npm run build
to build Ember.js. The builds will be placed in thedist/
directory.
See CONTRIBUTING.md
Pull requests should pass the Ember.js unit tests. Do the following to run these tests.
-
Follow the setup steps listed above under Building Ember.js.
-
To start the development server, run
npm start
. -
To run all tests, visit http://localhost:4200/.
-
To test a specific package, visit
http://localhost:4200/tests/index.html?package=PACKAGE_NAME
. ReplacePACKAGE_NAME
with the name of the package you want to test. For example:
To test multiple packages, you can separate them with commas.
You can also pass jquery=VERSION
in the test URL to test different
versions of jQuery.
-
Install phantomjs from http://phantomjs.org.
-
Run
npm test
to run a basic test suite or runTEST_SUITE=all npm test
to run a more comprehensive suite.
ember test --server
- connect the browsers you want
- if phantom didn't connect automatically, you can run
./bin/connect-phantom-to <optional-port>
To run a specific browser, you can use the --launch
flag
ember test --server --launch SL_Firefox_Current
ember test --launch SL_Firefox_Current