* Remove traces of glamor
As talked about with @rauchg. Glamor takes up around 60KB of the bundle (pre-gzip). Since styled-jsx is the way to go now and we support adding glamor by the user we should remove it as dependency cause it is bundled even when not used.
Added rehydration to the example, since we did that in our code.
There is only one thing I'm not sure about and want to discuss:
what should we do with next/css. Right now I added a throw for when it is imported. I'm not sure if we should do that / some other way to notify the user it has been removed. The reasoning behind the throw is that when we would do a console.warn the user would see 'css.default.<X>' not found because we don't have the glamor dependency anymore.
* Update yarn.lock
* Remove test for styles
* Reload the page if the buildIds are mismatch.
* Reload the browser with main.js and commons.js buildId mismatch.
* Implement proper reloading with an API to persist the state.
* Add some tests for force reload.
* Change _reload to _forceReload.
* Add a section about reload hooks to the README.
* Allow to add a hook to handle BUILD_ID mismatch.
* Remove readme docs.
* Do not show a custom error to the user.
* Cancel the routing when there's a BUILD_ID mismatch.
* Fix a typo.
* Passing route to SingletonRouter.onBuildIdMismatch
* Handle buildId mismatch automatically.
* Make sure reading the body of same JSON page request safe.
It's not possible to read the body twice from fetch()'s response
So, we've to clone the response before doing anything.
* Fix tests.
* Add support to reload the page when ask to change the same url.
* Do not run change() in the initial page load.
* Add integration tests.
* Add self-reload.js
* Implement a very simple prefetching solution.
* Remove next-prefetcher.
* Require 'whatwg-fetch' only in the client.
* Use xhr in the code.
* Use a simple fetching solution.
* Fix 404 and xhr status issue.
* Move the prefetching implementation to next/router.
* Add deprecated warnning for next/prefetch
* Run only 2 parellel prefetching request at a time.
* Change xhr to jsonPageRes.
* Improve the prefetching logic.
* Add unit tests covering the Router.prefetch()
* Update examples to use the new syntax.
* Update docs.
* Use execOnce() to manage warn printing.
* Remove prefetcher building from the flyfile.js
Because, we no longer use it.
* Allow any element to be rendered under Link
* Use Children.only instead of Children.map
* Remove check for multiple children since we already throw at 2+
* Clean up variables
* Make sure lastAppProps always have some value.
* Revert "Make sure lastAppProps always have some value."
This reverts commit b4ae722d9c1a4460e17dbdc041b111cbd492b2aa.
* Throw an error, if we found an empty object from getInitialProps.
* Add proper tests for getInitialProps empty check.
* Write BUILD_ID when building.
It's a random id (uuid.v4())
* Add buildId to the core JS files.
* Add immutable cache-control header.
Only if the buildId is matched.
* Set '-' as the dev buildId always.
* Add buildId handling for JSON pages.
* Move route loading logic to a common place.
* Add router events.
* Add EventEmitter's core API methods.
* Add example app for loading events and docs.
* Fix some typos.
* Get rid of Router.ready()
* Remove events package.
It's already shipping with webpack.
* Handling aborting properly.
* Expose simple attribute based events listener API.
Removed the proposed event listener API from the public API.
* Remove error logged when there's an abort error.
There are many other ways to capture this error.
So, it doesn't look nice to print this always.
* Change router events to pass only the current URL as arguments.
* Add a section about Cancelled Routes to README.