* Immplement the initial singleton Router.
* Use the new SingletonRouter for HMR error handling.
* Use SingletonRouter inside the Link.
* Create an example app using the Router.
* Make the url parameter optional in Router.push and Router.replace
* Add a section about next/router in the README.
* Use next.config.js instead of package.json
* Remove irrelevant comment
* Integrate with custom webpack config
* Include hotReload option
* Remove async/await for getConfig
* Read package.json, show warning when webpack in config is defined
* Prepend warning message with WARNING
* Update log statements
* Documentation
* Restart server on change of config
* Fix process handling and cases where there is no config
* Also restart server when config file gets deleted
* Changed second parameter of webpack to config
* Support for returning Promise
* Update documentation, fix bug with webpack config
* Remove package.json, cdn and hotReload from config
* Remove the use of CDN and bundle everything inside the app.
We still pre-build the prefetcher because it needs
different webpack config which only targets browsers
supports Service Workers.
* Remove cdn config item.
We no longer using it.
* Stop adding script tags when staticMarkup=true
* Remove babel-plugin-transform-remove-strict-mode NPM module.
React addons require React in a special way.
That causes Webpack to push React into the app's bundle.
This fix adds new externals entries to prevent that.
* Register the service worker.
* Update prefetcher code to do prefetching.
* Implement the core prefetching API.
support "import <Link>, { prefetch } from 'next/prefetch'"
* Implement a better communication system with the service worker.
* Add a separate example for prefetching
* Fix some typos.
* Initiate service worker support even prefetching is not used.
This is pretty important since initiating will reset the cache.
If we don't do this, it's possible to have old cached resources
after the user decided to remove all of the prefetching logic.
In this case, even the page didn't prefetch it'll use the
previously cached pages. That because of there might be a already running
service worker.
* Use url module to get pathname.
* Move prefetcher code to the client from pages
Now we also do a webpack build for the prefetcher code.
* Add prefetching docs to the README.md
* Fix some typo.
* Register service worker only if asked to prefetch
We also clean the cache always, even we initialize
the service worker or not.
Earlier it was for all length of entry points.
But we add two more entry points for errors.
Because of that, moving common modules to commons.js won't work.