* Pulled encoding to top of head (#3214)
* Remove next.d.ts to use @types/next (#3297)
* Add with-mobx-state-tree example (#3179)
* Adapt with-mobx example for with-mobx-state-tree
* Remove unnecessary lastUpdate parameter to show off snapshot
* update readme
* make other.js more closely mimic index.js
* Upgrade styled-jsx to v2.2.1
Includes some bug fixes.
* Fix linting
* Support de-deduping head tags by setting key
* move dedupe logic to `unique` function
* fix head tag deduping logic
* remove console.log
* use `toContain` assertions
* update de-duping head tags section in README
* Add examples/with-redux-code-splitting. (#2721)
* #1757 Relay Modern Example (#2696)
* Add ReasonML example (#2640)
* Add ReasonML example
* Add a gitignore specifically for the reasonml example
* Allow custom className for <Main /> (#2802)
* 3.0.2
* Remove beta information from the README.
* 3.0.3
* Remove unnecessary lookup in example with emotion (#2731)
* Document SCSS/Less (#2742)
* Document SCSS/Less
* Add missing word
* Add docs for examples dir
* Add extra example
* uppercase J
* Add with pkg example (#2751)
* Add custom server micro example (#2750)
* Ease running multiple examples at the same time with process.env.PORT (#2753)
* Add line-height rule for error page h2 (#2761)
* Add support for fetching multiple translation files (#2743)
* Add support for fetching multiple translation files
* Cleanup
* Clear missed interval (#2611)
* clear missed interval
* remove trailing whitespace
* Relay Modern Example (#1757) (#2773)
* Simplification of Relay Modern Example (#1757) (#2776)
* Use deterministic names for dynamic import (#2788)
* Always use the same name for the same dynamic import.
* Add unit tests for the modulePath generation.
* Allow tests to run correctly on Windows.
* Make the chunk name a bit pretty.
* Fix tests to run on Windows.
* 3.0.4
* Revert "Make the chunk name a bit pretty." (#2792)
This reverts commit 0c9e8cf2271955e74ab9f752b5869b98c1dc60f9.
* 3.0.5
* Use _ as the divider for dynamic import name splitter. (#2793)
Using - gives us some weird webpack errors.
* 3.0.6
* next/dynamic Error Message Tweaks (#2798)
* Fixed issue (#2804)
https://github.com/zeit/next.js/issues/2800
* docs(material-ui): move the source code to Material-UI repository (#2808)
* Introduce script tag based page loading system.
* Call ensurePage only in the dev mode.
* Implement router using the page-loader.
* Fix a typo and remove unwanted code.
* Fix some issues related to rendering.
* Fix production tests.
* Fix ondemand test cases.
* Fix unit tests.
* Get rid of eval completely.
* Remove all the inline code.
* Remove the json-pages plugin.
* Rename NEXT_PAGE_LOADER into __NEXT_PAGE_LOADER__
* Rename NEXT_LOADED_PAGES into __NEXT_LOADED_PAGES__
* Remove some unwanted code.
* Load everything async.
* Remove lib/eval-script.js
We no longer need it.
* Move webpack idle wait code to the page-loader.
Because that's the place to do it.
* Remove pageNotFound key from the error.
* Remove unused error field 'buildError'
* Add much better logic to normalize routes.
* Get rid of mitt.
* Introduce a better way to register pages.
* Came back to the mitt() based page-loader.
* Add link rel=preload support.
* Add assetPrefix support to add support for CDNs.
* Add assetPrefix support for preload links.
* Update readme.md
* Introduce better debug error handling
With this we are rendering runtime and debug errors inside
a it's own error root.
That gives us better error handling and control.
Also, now we are patching React core to capture runtime errors.
* Render the initial error on the server.
With this we are rendering runtime and debug errors inside
a it's own error root.
That gives us better error handling and control.
Also, now we are patching React core to capture runtime errors.
This will isolate all the NPM modules into a single chunk.
That chunk won't touch by webpack unless, there's a new NPM module.
That gives us much better re-build performance.
This will isolate all the NPM modules into a single chunk.
That chunk won't touch by webpack unless, there's a new NPM module.
That gives us much better re-build performance.
* Use file hashes instead of BUILD_ID.
Now JSON pages also not prefixed with a hash and
doesn't support immutable caching.
Instead it supports Etag bases caching.
* Remove appUpdated Router Events hook.
Becuase now we don't need it because there's no buildId validation.
* Remove buildId generation.
* Turn off hash checks in the dev mode.
* Update tests.
* Revert "Remove buildId generation."
This reverts commit fdd36a5a0a307becdbd1d85ae3881b3a15b03d26.
* Bring back the buildId validation.
* Handle buildId validation only in production.
* Add BUILD_ID to path again.
* Remove duplicate immutable header.
* Fix tests.
* 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
* 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.
* 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.