Commit graph

164 commits

Author SHA1 Message Date
Arunoda Susiripala
b2360ec567 Completely delete the build dir. (#1158) 2017-02-15 17:31:21 +01:00
Tim Neutkens
fca186f9e7 Remove pre-gzip support (#1155) 2017-02-15 15:49:45 +01:00
Naoyuki Kanezawa
141ab99888 build on tmp dir (#1150) 2017-02-15 10:03:33 -03:00
Thomas Lindstrøm
acc1983f80 Don't delete .next folder before a replacement is built (#1139) 2017-02-14 20:14:30 -03:00
Arunoda Susiripala
9d529ea0b1 Remove babell-plugin-transform-react-constant-elements. (#1102)
* Remove babell-plugin-transform-react-constant-elements.
With this, our shared-modules example's counter won't work in
production mode. (as this plugin enabled)
So, we could see more issues like this.
That's why we don't need this at this time.

* Update package.json.
2017-02-14 07:37:34 +05:30
Tim Neutkens
77c14f96b1 Add react-jsx-source for development (#1115) 2017-02-14 07:24:01 +05:30
sfhardman
dbc2ceefde Return a promise from getRequestHandler execution, await _serveStatic in serveStaticWithGzip, update custom-server-hapi to complete request lifecycle (#1099) 2017-02-12 23:12:32 -03:00
Arunoda Susiripala
b220193167 Babelrc false babelrc (#1094)
* Detect babelrc disabling via babelrc.

* Simplify boolean condition.
2017-02-13 06:18:22 +09:00
Tim Neutkens
f93bacfaba Use minimist string option for hostname (#1090)
* Use minimist string option

* Consistently use --hostname

* Code style

* Show hostname
2017-02-13 01:23:42 +09:00
Jesse Hattabaugh
c4a22abb4c adding hostname argument to CLI (#1017)
* adding hostname argument to CLI

* using -H instead of -hn

* removing hostname default

* checking that hostname has a truthy value that's not a boolean

* making the log message match the hostname

* oops
2017-02-12 12:26:10 +01:00
Tim Neutkens
faef6e48e0 Remove pure-class-to-function (#1077)
* Optimize React

* Remove unused preset

* Remove pure-class-to-function
2017-02-11 07:42:12 +05:30
Tim Neutkens
250c066de5 Optimize React on next build (#1075)
* Optimize React

* Remove unused preset
2017-02-11 04:05:13 +09:00
Naoyuki Kanezawa
ed00eb7236 ensure not to render ErrorDebug on production (#1064) 2017-02-10 10:05:22 +01:00
Tim Neutkens
53c245bf63 Throw when parsedUrl is not provided (#1015)
* Throw when parsedUrl is not provided

* Allow parsedUrl to be empty

* Remove unwanted line.

* Reset to the original
2017-02-09 08:52:48 +05:30
Naoyuki Kanezawa
9348762f4a add next/error (#1040) 2017-02-08 16:59:33 -03:00
Arunoda Susiripala
55f48563a0 Add babel-preset-latest support. (#1027)
* Add babel-preset-2016 support.
This adds the support for Exponentiation operator (**)

* Use babel-preset-latest.

* Remove babel-plugin-transform-async-to-generator in favor of babel-plugin-latest
It has es2017 preset and it comes with the above plugin.
2017-02-08 13:05:25 +01:00
Lukas Strassel
4a73ccbb00 add react and react dom as peer (#1024)
- tackles #997
- add ./idea to gitignore for webstorm users
- update all the examples
2017-02-08 10:11:38 +05:30
Tim Neutkens
aa971d6a1c Disallow directories in /static (#1028) 2017-02-08 05:43:25 +05:30
Naoyuki Kanezawa
ddd93e9865 Improve babel settings (#976)
* fix babelrc settings

* use only transform-es2015-modules-commonjs for transpiling emitting files
2017-02-03 12:18:44 -08:00
Tim Neutkens
3143e0d0a1 Add styled-jsx to babel plugins (#970)
* Resolve all modules through module resolver

* Add styled-jsx back
2017-02-03 12:09:52 +05:30
Arunoda Susiripala
57e9a5e5f6 Find custom babel config location properly. (#969)
* Find custom babel config location properly.
Earlier we simply check for the .bablerc file in the dir.
But the actual logic is much complex.
Now we are using the babel's actual logic to find the
custom config location.

* Fix failing tests.
2017-02-03 14:33:35 +09:00
Tim Neutkens
efe0c7b433 Resolve all modules through module resolver (#963) 2017-02-02 15:58:02 -08:00
Tim Neutkens
59281adef3 Allow parsed url to be passed down (#950)
* Allow parsed url to be passed down

* Update example to reflect url passing

* Check if passed url.query is empty

* Rename url to parsedUrl
2017-02-02 12:21:08 +05:30
Arunoda Susiripala
24edfbdea7 Resolve styled-jsx/style when transpiling ES2015 modules. (#953) 2017-02-02 06:56:21 +01:00
Tim Neutkens
f9717347a4 Resolve preset es2015 from next directory (#949) 2017-02-02 07:35:21 +05:30
Artem Samofalov
2f7d743050 add pretty message if port already in use(#927) (#932)
* add pretty message if port already use(#927)

* fix console async nature

* fix linter

* clean callbacks code

* Check package.json for the startup script

* fix path to package

* omit callback

* remove extra check, code execute in try block

* + reason for change start listen port of node http

* remove extra code for search package
2017-02-01 21:36:23 +01:00
Arunoda Susiripala
ec2c8c6784 Fix .json import issue (#944)
* Fix .json import error
This is a regression we've added by #926 (tree-shaking-support)

* Add a test case.
2017-02-01 15:17:15 +09:00
Arunoda Susiripala
f3e541fe23 Add support for Webpack 2's tree-shaking (#926)
* Let webpack2 to handle ES2015 module system
Since Node.js can't do that, we need to transpile
ES2015 module system in the emit-file-loader.

* Use sourceMaps only in dev.

* Introduce a transform option to emit-file-loader
So, we can move our ES2015 transpile code with that option.

* Remove unwanted argument options.

* Update comments.

* Use dev flag instead of NODE_ENV
2017-01-31 15:31:27 +09:00
Naoyuki Kanezawa
0b3db91731 Fix handling finished response (#889)
* allows to not return props if response is already finished on getInitialProps

* check res.finished after getInitialProps call of Document
2017-01-26 16:36:50 +05:30
Arunoda Susiripala
399e510389 Make sure lastAppProps always have some value. (#829)
* 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.
2017-01-20 11:33:46 -08:00
alex newman
c21531151f Move nextdata into nextScript and make Main return a single el (#831) 2017-01-19 16:14:05 -08:00
Naoyuki Kanezawa
43149bdb08 fix not to overwrite the ignored option on Windows (#824) 2017-01-19 08:09:40 +01:00
Arunoda Susiripala
60ec4def1e Add NODE_PATH support for resolveLoaders as well. (#778)
* Add NODE_PATH support for resolveLoaders as well.

* Remove unwanted code.
2017-01-16 14:40:14 +09:00
nkzawa
8a06c7b092 example: fix style 2017-01-15 00:30:39 +09:00
Naoyuki Kanezawa
dbecc2a701 Use dynamic entry feature of webpack (#750)
* update webpack version and use dynamic entry feature of it

* fix typo
2017-01-12 07:39:04 -08:00
Naoyuki Kanezawa
e3e0a68b9a Fix handling http methods (#748)
* support HEAD method

* respond with 501 if method is not GET or HEAD
2017-01-12 07:38:43 -08:00
Arunoda Susiripala
1dc52dbc6c New test setup (#640)
* Use jest-cli instead of gulp plugin.

* Use jest-cli instead of gulp plugin.

* Move fixtures into the examples dir.

* Move test code of example app to the basic example.

* Add isolated tests for server/resolve

* Allow tests to use cheerio.

* Use portfinder to get a unique port.

* Move back integration tests into the example dir.

* Introduce next-test-utils.

* Remove gulp-jest

* Add coveralls support.

* Use transpiled version of code in dist.
This is to make sure same file gets covered
by both unit/isolated tests and integration tests.

* Add support for source maps.

* Use code from dist always.

* Use nyc to stop instrument.

* Add integration test suite for production usage.

* Use jest-cli.

* Add support for running e2e tests.

* Check gzipPath with fs.stat before serving
Otherwise, serve package might throw issues other than ENOENT

* Install chromedriver with npm install.

* Install chrome on travis-ci.

* Add --forceExit to Jest.

* Run tests only on Node v6.
That's because selenium-webdriver only supports
Node 6 LTS.

* Use chromedriver NPM module to install chromedriver.

* Use wd as the webdriver client.

* Run chromedriver before tests.

* Run travis for both node 4 and 6

* Remove unwanted npm install script.

* Move some common text utilities to next-test-utils

* Add lint checks and testing in npm prepublish hook.

* Use npm on travis-ci.
We are having some caching issues with yarn and chromedriver.

* Make tests work on windows.\n But chromedriver doesn't work.

* Clean up dependencies.

* Run chromedriver in background without any tools.

* Fix a typo in the code.

* Use ES6 features used in node4 inside the gulpfile.

* Add some comments.

* Add support for running in windows.

* Stop chromedriver properly on windows.

* Fix typos.
2017-01-12 13:14:49 +09:00
nkzawa
4c32dd96b7 remove unused module alias 2017-01-12 12:39:07 +09:00
Naoyuki Kanezawa
0ef28ab128 Don't discard component state on error (#741)
* render debug page as overlay

* handle errors occurrred on rendering cycle for HMR

* retrieve props if required on HMR
2017-01-11 17:58:20 -08:00
Arunoda Susiripala
8811a334f4 Remove default next pages compilation from the main babel-loader. (#731)
* Remove default next pages compilation from the main babel-loader.
This will fix the issue when the user ignore node_modules
via our .babelrc option.

* Change babel-loaders 'query' to 'options'.
That's what's supported/recommended in webpack 2
2017-01-11 17:57:33 -08:00
Arunoda Susiripala
b7e57f9347 Implement "Immutable build artifacts" feature (#745)
* 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.
2017-01-11 12:16:18 -08:00
Arunoda Susiripala
d7eac7fa2c Check the existence of the gzipped path explicitly (#704)
* Check the existance of the gzipped path explicitely.

* Fix a typo in the comments.

* Fix a typo.
2017-01-08 19:01:25 -08:00
Arunoda Susiripala
88e4adfc2a Add case sensitive checks for imports and JSON page resolver (#697)
* Add case-sensitive-paths-webpack-plugin plugin.

* Add case-sensitive check for server/resolve.
2017-01-08 18:12:29 -08:00
Arunoda Susiripala
042ffa1175 Add correct content-type header for gzipped version. (#705) 2017-01-08 18:12:10 -08:00
Naoyuki Kanezawa
929041133c resolve react-dom/server (#688) 2017-01-07 21:56:51 -08:00
Naoyuki Kanezawa
0c82d8a483 hot-reloader: return when rejected (#689) 2017-01-07 18:02:29 -08:00
Naoyuki Kanezawa
b8373b847d fix HMR for dynamic entries (#652) 2017-01-05 09:29:09 -08:00
Naoyuki Kanezawa
47a7a480d4 set output.strictModuleExceptionHandling option (#655) 2017-01-05 09:28:54 -08:00
Naoyuki Kanezawa
0a3313d1b9 add the watch ignored setting (#636) 2017-01-03 10:05:04 -08:00
Arunoda Susiripala
6d6ef1ca9f Remove the use of fs.access (#625) 2017-01-02 16:50:01 -08:00