* 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
* Allow custom clientBootstrap entrypoint
This allows for customization of the client global bootstrap.
* Expose render event emitter to client
* Include client entry point in npm package
* Propagate source maps through combine assets step
* Use constant development build id
* Move combine assets step before uglify step
This ensures that uglify will catch these changes.
* Move dynamic chunks step before uglify step
This ensures that uglify will catch these changes.
* Use chunk templates for page and dynamic chunks
This is a little more in line with how webpack generates its bootstrap and should have better compatibility with other plugins and source map generation.
* Register combined source map with chunks
This ensures that a sourcemap is fully generated.
* Do not minimize combined map inputs
* Make styled-jsx configurable
* Add styled-jsx-plugin-postcss example
* Add styled-jsx 2.1.0 with plugins support
* Move examples around and add description
* Add link to new example
* Configurable opts for babel-preset-env + babel-plugin-transform-runtime
This adds `preset-env` and `transform-runtime` options to the
`next/babel` Babel preset, which are then passed through to those
presets and transforms. This allows configuration to keep next.js
from the default 'maximum' transform, and instead use built-in
implementations of globals, classes, async, and other commonly-supported
features.
Fixes#2989
* Use spread notation instead of Object.assign
* allow use of filenames in exportPathMap
* add link test and handling for file paths when flattening links for export
* add note about exporting file paths to readme.md
* 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)
* 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.
* Make dynamic import spec compliant.
Now we simply return the whole module incl. default field
In 'next/dynamic' we pick the default field if there is.
Since modules with default is mostly used next/dynamic, for the enduser, this change has no effect.
* Rename module into m
Using module could be confusing.
* Show webpack errors in all pages.
When there's a webpack error that means HMR failed too.
So, showing other pages won't makes sense since user
can't edit them and get changes via HMR.
That's why now we show the error on all pages.
* Remove exact propType checks from the error component.
When there's an error, something this check shows in the console.
That means it could accept more props.
Also this is not a public API. So, we don't want to do propType checks.
* Revert "Update emotion example to use css instead of fragment (#2497)"
This reverts commit 5bd3a5f1d1.
* Revert "Fix "Deploy to now" link (#2489)"
This reverts commit df1cd7ebf3.
* Revert "Emit ES6 code for module source in emit file load (#2478)"
This reverts commit 3f50abcb51.
* Added proper error for running `next start` on dev build
* Check if build exist before usage
* Move BUILD_ID check from bin/next-start to server/index.js
* Check env before checking build
* Always check with the fs when gettings chunks.
* Add a new set of test cases for dynamic imports in dev.
* Add dynamic import test cases for production.
* Add availableChunks support for static exports.
* Reload webpack via hot-reloader when needed.
We need to do this specially we removed a previosly
built page from the filesystem.
* Make sure reloading is happen only once
* Reload only if there's a missing page error.
* Remove debug logs.
* 2.4.2
* Refactor the codebase a bit.
* Move some commonly used regexp to a utils module.
* Handle the reloading well when there's a custom error page.
* Add a HMR test case.
* Close the browser in the test case.
* Add a configuration parameter to custom server startup
* Adding related documentation
* Do not access filesystem if configuration is supplied
* Make the configuration log clearer
* Make the conf default value to `null`
* Use babel-loader 7 beta.
This will get rid of the DeprecationWarning printed while
starting next.
Also this is the version recommened to use with Webpack 2.
* Update to the babel-loader-7
Here we don't use the full capabilities of babel-preset-env.
But it's recommended to use it without browser configs as
a substitute for babel-preset-latest.
That's why we did this.
* 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
* Update references to `.next`
* Remove console logs and extraneous semi colons
* Remove lint errors
* Update references to .next and update docs
* Update options from nested to flat with `distDir`
* Add integration tests, and update `.gitignore`
* Rename integration folder to dist-dir to match standards