1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
Commit graph

2432 commits

Author SHA1 Message Date
Tim Neutkens ee3a73f80b Add WebAssembly example 2018-09-17 21:48:06 +02:00
Tim Neutkens 200ba0de4e 7.0.0-canary.20 2018-09-17 15:59:34 +02:00
Tim Neutkens 10a9178e32
Make sure react always ends up in the commons bundle (#5192)
Fixes an edge case where some library imports react-dom by itself, like react-spring.
2018-09-17 15:57:28 +02:00
Tim Neutkens 14c07f059e 7.0.0-canary.19 2018-09-17 13:48:52 +02:00
Tim Neutkens a912a4d9dd
Make initial HTML smaller (#5183) 2018-09-17 13:19:19 +02:00
Stephen Sauceda e2d331dbcc add mocha example (#5182)
Adding an example of testing with Mocha

#4767
2018-09-17 00:12:39 +02:00
Tim Neutkens 35c2103e57 7.0.0-canary.18 2018-09-16 18:11:03 +02:00
Tim Neutkens 3dae7cf9a6 Fix test intermittently failing 2018-09-16 18:05:36 +02:00
Tim Neutkens 249d4be6d6 Clear node_modules/.cache before saving node_modules on travis 2018-09-16 17:31:36 +02:00
Tim Neutkens d3f57fb215 7.0.0-canary.17 2018-09-16 17:03:34 +02:00
Tim Neutkens b475e619b9
Implement hard-source-webpack-plugin (#5181)
Follow-up of #5176

Closes #5173 as it led to inconsistencies in DX.
2018-09-16 17:02:32 +02:00
Tim Neutkens 459c1c13d0
Improvements to on-demand-entries (#5176)
First wave of changes. Just landing this first so that there is a base to build on.
2018-09-16 16:06:02 +02:00
René Keller 864ea5d0a1 Remove reference to ./css.js from npm files list (#5179)
./css.js has been removed with [e093441](e093441bad (diff-b9cfc7f2cdf78a7f4b91a753d10865a2))
2018-09-16 13:20:28 +02:00
Tim Neutkens e763a60840
Don’t read package.scripts if there’s no scripts defined (#5168) 2018-09-14 22:44:17 +02:00
Henrik Wenz 34cb05a860 Remove obsolete webpack plugins (#5158)
Since we are now using webpacks `mode` flag we can get rid of:

* `webpack.optimize.ModuleConcatenationPlugin`
* `webpack.DefinePlugin` (`process.env.NODE_ENV`)

https://webpack.js.org/concepts/mode/
2018-09-14 15:45:48 +02:00
maurodaprotis 1f64082c03 Add with-context-api example (#5154)
* Add with-context-api example

* Change next dependency to canary and fix CounterProvider import
2018-09-14 12:04:29 +02:00
Tim Neutkens 695f372da9
Compile away next/link proptypes in production (#5155)
This saves 7KB as prop-types-exact is not needed in production.
2018-09-14 11:34:08 +02:00
Rafael Almeida 5d147a82c4 Update with-ant-design example (#5141)
There is no need to wrap every page with a component when you can use the custom document.
2018-09-12 17:24:37 +02:00
Henri b79bbecb13 Add react-jss example (#5140)
Added a clear example on how to use react-jss with injecting the styles on the server.

cssinjs/jss#457
2018-09-12 15:49:54 +02:00
Tim Neutkens c2a7766a05 Remove code that is no longer in use (#5147)
* Remove handleBuildId as it’s being handled in the static files route

* Remove dead code
2018-09-12 15:33:52 +02:00
Tim Neutkens 344d770a28
Upgrade with-jest dependencies (#5149) 2018-09-12 15:29:17 +02:00
Lin Qiu 3f650e1549 Update 404 static cache header to not cache (#5146) 2018-09-12 14:44:15 +02:00
Tim Neutkens 873ac5dba8 Add test for cache-control in development 2018-09-12 14:42:50 +02:00
Tim Neutkens 12c0c9fd40 7.0.0-canary.16 2018-09-11 20:05:36 +02:00
Tim Neutkens 3582496913
Trigger page register when module is executed (#5115)
Solves inconsistent loading issues when one bundle is loaded faster than the other

Fixes zeit/next-plugins#244
Fixes #4997
Fixes #4620
2018-09-11 20:03:20 +02:00
Kyle Holmberg f85a0bd550 Update next.config in with-webpack-bundle-analyzer example to avoid issue with Next.js in CI (#5135)
See: https://spectrum.chat/thread/030243b0-7ebf-434c-8e02-5f54ea30f3b6

Build works now 💃
2018-09-10 12:00:45 +02:00
Tim Neutkens b5003ffb8b 7.0.0-canary.15 2018-09-09 22:34:48 +02:00
Tim Neutkens 3ece48b603
Make exportPathMap / _next routes work with useFileSystemPublicRoutes disabled (#5131)
* Add test for /_next/development route

* Make sure useFileSystemPublicRoute: false only disables filesystem routing

* Bring back comment

* Add useFileSystemPublicRoutes tests
2018-09-09 22:32:23 +02:00
Tim Neutkens d21603707e
Set cwd on babel-loader (#5127)
Fixes #5125

I'm not sure if this is a bug in babel-loader / babel-core or not. But this will at least temporary fix it till I hear back from @loganfsmyth 🙏
2018-09-09 01:10:47 +02:00
Tim Neutkens fd67f22b65 7.0.0-canary.14 2018-09-07 14:43:44 +02:00
Tim Neutkens 8d304ed7ef
Make non-existent routes under /_next return 404 (#5120)
Fixes #5114

Also adds a test for it.
2018-09-07 14:38:01 +02:00
Evan Jacobs 7c0de2c397 update hoist-non-react-statics (#5117)
you folks should really use semver ranges, but since greenkeeper
is no longer running for this branch things have fallen behind

in particular, there seems to be an incompatibility with multiple
v2.x versions of this package in the same bundle as displayed here:

styled-components/styled-components#1972

When I force resolution to a particular h-n-r-s version, the issue
goes away. This is true for both next 6 and next 7 canary.
2018-09-07 12:11:25 +02:00
Julia Qiu a9b1383b5d Fix @babel/env modules config (#5119)
Probably an oversight but currently env preset's `modules` option always evaluates to 'auto'. We probably want it to be set to false, especially in prod, to have Webpack handle modules natively.
2018-09-07 11:42:10 +02:00
Tim Neutkens 48c48975c4 7.0.0-canary.13 2018-09-06 09:59:55 +02:00
Keith Grennan 8f61c335cb [with-apollo-auth] Only run getDataFromTree() on server (fix #4775) (#5112)
Though it sounds like some folks do run getDataFromTree() on the client in order to avoid loading states, it's non-standard usage and potentially confusing.  Also it's inconsistent with the other with-apollo examples.
2018-09-06 09:45:16 +02:00
Tim Neutkens 254681d95a
Remove __next-error div (#5107)
`__next-error` is no longer needed as we always render in the `__next` div since a while.
2018-09-05 22:45:17 +02:00
Tim Neutkens 673378e415
Use DefinePlugin to pass distDir instead of manually passing (#5105) 2018-09-05 17:49:49 +02:00
Dmitriy 6d5ca6dd1e Update imports in with-redux example (#4512)
* 1) Added React import 2) Removed unusable code.

* Removed unusable import App from next/app
2018-09-05 17:14:39 +02:00
Tim Neutkens a929f8c8b7
Change server error overlay to white to be consistent with react-error-overlay (#5104)
Makes the server error overlay white so it doesn’t flicker when the error is hydrated into the client overlay
2018-09-05 17:13:44 +02:00
Tim Neutkens 7627eb87d6
Use publicRuntimeConfig for universal-configuration-runtime example (#5101) 2018-09-05 14:38:39 +02:00
Jacob Page 777aab2b42 Remove unused flow definitions (#5094)
The `with-flow` sample has some obsolete definitions which are unused by the sample code. Removing the un-imported declarations is the easiest approach.
2018-09-05 13:38:28 +02:00
Diogo Dutra 56937fd22c Fixed package.json (#4654)
Fix on relay script to proper ignore schema files
   added graphql as explict dependency
2018-09-04 17:50:44 +02:00
Emmanuel Letallieur 82bdd43285 Fix custom-server-typescript not typechecking (#3954)
Hi

In the current version of the example __custom-server-typescript__, types are never checked.
For instance, change the following line :
```
const dev = process.env.NODE_ENV !== 'production'
```
by :
```
const dev: number = process.env.NODE_ENV !== 'production'
```
then run `npm run dev`. The application launches perfectly, no error is thrown.

In dev environnement, it is preferable to check types all the time, to get immediate feedback. This PR activates type checking. Only when using nodemon, so no impact on production.


Now the above code will (rightfully) refuse to compile : 
```
TSError: ⨯ Unable to compile TypeScript
server/index.ts (6,7): Type 'boolean' is not assignable to type 'number'
```
2018-09-04 17:35:34 +02:00
Tim Neutkens e7c41690b4 7.0.0-canary.12 2018-09-04 17:30:33 +02:00
Tim Neutkens d6c7050816
Remove module.exports from client bundles (#5093)
Removes `module.exports` so that `module` is no longer required

Ref: https://github.com/zeit/next.js/pull/4943#discussion_r213232263

This saves 15 bytes from every client bundle + 9 bytes from the initial HTML.
2018-09-04 17:30:01 +02:00
Nathaniel Hill 885eee8021 Fix HMR when parent directory starts with '.' (#4589)
@timneutkens 

This simple change seems to work for me:

```
const ignored = [
    '**/.*',
    'node_modules'
]
```

I believe the regex is used here to try and work on windows as well. So, I wasted a bunch of time trying to figure out how to use a regex and/or the `path` module to ignore the parent directories until I noticed the following:

> glob patterns are not filepaths. They are a type of regular language that is converted to a JavaScript regular expression. Thus, when forward slashes are defined in a glob pattern, the resulting regular expression will match windows or POSIX path separators just fine.

this is from the [anymatch](https://github.com/micromatch/anymatch) documentation which is what webpack uses accoring to this:

https://webpack.js.org/configuration/watch/#watchoptions-ignored

I've verified this glob pattern solves the problem in my environment, can someone test and verify that this works on windows?

👍
2018-09-04 17:20:10 +02:00
Kelly Burke 64f3720e7f Update example: with-sitemap-and-robots-express-server (#4579)
I simplified the example by removing `.eslintrc.js` and related packages, as well as `nodemon`. 

I also added a description in the README to address the question by @kachkaev in the original pull request (#4163).
2018-09-04 17:18:05 +02:00
Don Alvarez d4a54b6122 Add with-mobx-state-tree-typescript example (re-submitting due to accidental deletion) (#5077)
I think I accidentally deleted the branch my prior PR was based on before you had a chance to merge or decide whether to merge. In case I borked things with that delete, I'm resubmitting the PR and figuring you can close one or the other or both as desired.

Original notes:

Based on with-mobx-state-tree, but typescript instead of javascript

Aside from a few bits of typing and renaming .js files to .ts and .tsx, most of the the edits are to avoid warnings and errors when running the code through tslint (which can be done via the `npm run tslint` command in the example if desired).

To keep this example simple, the `<styled>` component (which is used by the javascript-based with-redux and with-mobx-state-tree examples for the clock component) is not used in this example. The `<styled>` library can of course be used with typescript but (I think) it requires a more complicated set of typescript and babel .configs than is needed for most other components and libraries, so I'm just directly styling the one formerly `<styled>` div to keep things simple and broadly applicable.
2018-09-04 17:17:30 +02:00
A K b00a140d58 added example with IBM Carbon Components, with demonstrated customizability (#4932) 2018-09-04 17:16:54 +02:00
Tim Neutkens a8a97b07c7
Provide a way to copy files in exportPathMap (#5089)
Related #4659 

Adds the possibility for users to copy files inside of `exportPathMap`. This allows for adding `robots.txt` `sitemap.xml` etc. another use case is for https://github.com/hanford/next-offline, currently it's manually reading the buildId in `exportPathMap`.

To allow users to do this we'll introduce a new parameter holding an object with the following keys:

- `dev` - `true` when `exportPathMap` is being called in development. `false` when running `next export`. In development `exportPathMap` is used to define routes and behavior like copying files is not required.
- `dir` - Absolute path to the project directory
- `outDir` - Absolute path to the `out` directory (configurable with `-o` or `--outdir`). When `dev` is `true` the value of `outDir` will be `null`.
- `distDir` - Absolute path to the `.next` directory (configurable using the `distDir` config key)
- `buildId` - The buildId the export is running for

Example usage:

```js
// next.config.js
const fs = require('fs')
const {join} = require('path')
const {promisify} = require('util')
const copyFile = promisify(fs.copyFile)

module.exports = {
  exportPathMap: async function (defaultPathMap, {dev, dir, outDir, distDir, buildId}) {
    if(dev) {
      return defaultPathMap
    }
    // This will copy robots.txt from your project root into the out directory
    await copyFile(join(dir, 'robots.txt'), join(outDir, 'robots.txt'))
    return defaultPathMap
  }
}
```
2018-09-04 16:01:50 +02:00