garris / ember_timesliced_build

A build of Ember with time-slicing enabled

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

#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 Build Status Code Climate

Sauce Test Status

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.

Building Ember.js

  1. Ensure that Node.js is installed.
  2. Run npm install to ensure the required dependencies are installed.
  3. Run npm run build to build Ember.js. The builds will be placed in the dist/ directory.

Contribution

See CONTRIBUTING.md

How to Run Unit Tests

Pull requests should pass the Ember.js unit tests. Do the following to run these tests.

  1. Follow the setup steps listed above under Building Ember.js.

  2. To start the development server, run npm start.

  3. To run all tests, visit http://localhost:4200/.

  4. To test a specific package, visit http://localhost:4200/tests/index.html?package=PACKAGE_NAME. Replace PACKAGE_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.

From the CLI

  1. Install phantomjs from http://phantomjs.org.

  2. Run npm test to run a basic test suite or run TEST_SUITE=all npm test to run a more comprehensive suite.

From ember-cli

  1. ember test --server
  2. connect the browsers you want
  3. 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

About

A build of Ember with time-slicing enabled


Languages

Language:JavaScript 100.0%