Commit graph

1715 commits

Author SHA1 Message Date
JJ Kasper
5bce442d0a
v9.1.2-canary.0 2019-10-08 11:42:02 -05:00
JJ Kasper
5cd0b0c40f
Update resetting log for spinners (#8995) 2019-10-08 11:33:51 -05:00
Sebastian Benz
5f1bcd32d6 Update AMP Optimizer to 1.1.1 (#8994)
* This fixes #8932
* Positive side effect: the csp tag for inline amp-script will
automatically be added.
2019-10-08 18:04:40 +02:00
Joe Haddad
46168def31
v9.1.1 2019-10-08 00:24:59 -04:00
Joe Haddad
0002ea31bf
v9.1.1-canary.0 2019-10-07 23:14:49 -04:00
Joe Haddad
f81c5d5454
Match public/static/ folder before static/ (#8986)
* Test `public/static/` folder

* Public routes should be matched before static catch-all
2019-10-07 23:12:41 -04:00
Ismael Martínez
7674bab7b1 Change /static directory in favor of /public directory for create-next-app (#8984) 2019-10-07 18:38:42 -04:00
Tim Neutkens
b862d85156 v9.1.0 2019-10-07 20:44:10 +02:00
Joe Haddad
7bf4cdbefa
v9.0.9-canary.2 2019-10-07 13:23:04 -04:00
Joe Haddad
023863d975
Revert "Remove config export (#8895)" (#8982)
This reverts commit 67f7cf5627.
2019-10-07 13:22:47 -04:00
Joe Haddad
004319fa10
v9.0.9-canary.1 2019-10-07 10:24:57 -04:00
Mike Fisher
80767cd0ec Remove default export from constants.d.ts (#8979) 2019-10-07 14:30:07 +02:00
Tim Neutkens
7f1aaa3323 v9.0.9-canary.0 2019-10-06 14:54:34 +02:00
JJ Kasper
28377a783b Add static directory deprecation warning (#8636)
* Add static directory warning

* Simplify migration to public directory

* Update static-dir-deprecated.md
2019-10-06 13:57:41 +02:00
JJ Kasper
e2d713f93e De-experimentalize the public/ folder (#8661)
* Remove experimental.publicDirectory config

* Error when public is set as an output dir

* Remove experimental.publicDirectory checks

* Update publicFiles checking in next build
2019-10-06 13:44:03 +02:00
Joe Haddad
1a02dfd842
v9.0.8 2019-10-05 20:23:01 -04:00
Joe Haddad
a918d4ecb2
v9.0.8-canary.5 2019-10-04 22:53:39 -04:00
Joe Haddad
e2ca0ac0e8
Fix Legacy CSS Modules on the Server (#8970)
CSS Modules run their loader on the server, so we need to patch both variants of the webpack configuration.
2019-10-04 22:53:14 -04:00
Joe Haddad
e9b2e25c44
Convert Dev Server to TypeScript (#8966)
* Convert Dev Server to TypeScript
This converts the Next.js Development Server to TypeScript in prep for upcoming changes.

* Convert remaining necessary

* Fix some type errors

* Adjust types
2019-10-04 12:11:39 -04:00
Joe Haddad
c9d9ff6a8b
Informative Error for Invalid Global CSS (#8958)
* Informative Error for Invalid Global CSS
This adds a helpful error message with a (basic) err.sh link for invalid Global CSS usage.

We'll want to expand on this topic more and offer alternatives when CSS Modules support lands.

* Update expected error message
2019-10-04 11:55:18 -04:00
Joe Haddad
d299811bfa
Convert Export to TypeScript (#8965)
This pull request converts Next.js' export CLI command to use TypeScript. This is useful for upcoming changes.
2019-10-04 11:26:44 -04:00
Joe Haddad
9af587930f
v9.0.8-canary.4 2019-10-03 20:36:43 -04:00
Joe Haddad
3f51f0ed80
Add support for CSS Module patching (#8957) 2019-10-03 20:01:40 -04:00
Joe Haddad
3762e75704
Inline relayPaintMetrics function (#8954)
This function was only used once. I missed it in review, but this should save us a few bytes.
2019-10-03 17:34:54 -04:00
Prateek Bhatnagar
5929e9da20 Add unstable_onPerformanceData helper for performance entries (#8480)
* Performance relayer for client side performance

* adding paint metrics

* fixing titles

* fixing route change measure

* accessing exports without loop

* adding more tests

* renaming the method

* adds experimental prefix to method name

* applying the suggested patch

* Update index.js
2019-10-03 15:15:23 -04:00
Jigo Palillo
923547c056 Removes importance link attribute (#8951) 2019-10-03 15:05:07 -04:00
Joe Haddad
8945cbcee0
v9.0.8-canary.3 2019-10-03 13:13:20 -04:00
Joe Haddad
89cf68dd1c
Also patch standalone usage of @zeit/next-css (#8950) 2019-10-03 13:10:42 -04:00
Joe Haddad
50bd10f5f8
Use Better Telemetry Directory (#8942)
* Use Better Telemetry Directory
So, as it turns out, storing in `node_modules` is a bad idea.

Both npm and Yarn will remove additional files when you run `npm install` or `yarn install`.

Instead, we'll store this inside of Next.js' `distDir`. This should also be cached by users, if it's not, it probably won't be any worse as compared to `node_modules`.

* Fix directory name

* Fix build setup

* Record when export session is started

* Move more into branch
2019-10-03 10:21:15 -04:00
Joe Haddad
955ea42288
Monkey patch next-sass and next-less (#8944)
* Monkey patch `next-sass` and `next-less`
These two Next.js plugins use poor webpack practices: they define plugins without resolving themselves.

As a result, the resolution root is unknown by webpack and you get into package hoisting bugs.

To fix this, we emulate the logic these packages should've performed themselves on a best-effort basis.

* Add comments explaining the monkey patch

* Fix comment

* Update packages/next/build/webpack-config.ts

Co-Authored-By: Tim Neutkens <tim@timneutkens.nl>
2019-10-03 10:08:49 -04:00
Joe Haddad
3d5af360a4
v9.0.8-canary.2 2019-10-02 19:28:51 -04:00
Joe Haddad
40b0b9b958
Reduce Timeframe That FOUC Styles Are Active (#8937)
* Show content as soon as <style> tags are added

* Add fallback removal

* Add test for when unused

* Ensure the function is ES5 compatible

* IE support

* Test it works on broken pages
2019-10-02 19:08:19 -04:00
Joe Haddad
67f7cf5627
Remove config export (#8895)
* Remove `config` export
This removes the `config` export instead of all exports.

Reverts #8889 (but with fixed behavior)

* Add test to ensure config object is dropped from client-bundle
2019-10-02 18:49:56 -04:00
Joe Haddad
9a4234cf54
Remove Recipes from Readme (#8939)
These Recipies are not regularly audited to ensure they're using the most up-to-date and suggested practices.

We'll reintroduce the idea of "recipies" in the future, for now, the examples directory is a great place to start.
2019-10-02 18:17:21 -04:00
Joe Haddad
29c1b93c89
s/Automatic Prerendering/Automatic Static Optimization/ (#8940)
* s/Automatic Prerendering/Automatic Static Optimization/

* Update more links
2019-10-02 18:03:00 -04:00
Joe Haddad
80d574ec05
Do not mix null in getCssLinks return value (#8938) 2019-10-02 17:47:34 -04:00
Joe Haddad
8391d48fc7
Change default body display setting (#8941) 2019-10-02 16:48:42 -04:00
Joe Haddad
b3cc32e9f4
v9.0.8-canary.1 2019-10-02 10:13:09 -04:00
Joe Haddad
294f835592
Add srcRoute attribute to SPRv2 Manifest (#8928)
* Add new `srcRoute` attribute to SprRoute

* Update prerender manfiest test snapshot

* Fix types
2019-10-02 09:28:38 -04:00
JJ Kasper
026d52fb4d Update to not copy static and public folders during auto export (#8923) 2019-10-02 09:19:23 -04:00
Joe Haddad
1ff5005524
v9.0.8-canary.0 2019-10-01 14:27:31 -04:00
Joe Haddad
afa73ae46b
Update Prerender Manifest (#8918)
* Update Prerender Manifest

* Fix typescript
2019-09-30 22:08:01 -04:00
Tim Neutkens
0bcd1fc39b
Mirror actual /_error behavior in documentation 2019-09-30 11:19:03 +02:00
JJ Kasper
d483fa4969 Don't run findPagesDir in production mode (#8896) 2019-09-30 11:08:15 +02:00
Tim Neutkens
4e1f1131bc v9.0.7 2019-09-28 14:45:57 +02:00
Tim Neutkens
f68556473a v9.0.7-canary.10 2019-09-28 14:16:03 +02:00
JJ Kasper
6312a49e77 Don't remove path in page-config plugin (#8889) 2019-09-28 14:14:43 +02:00
Tim Neutkens
1c58c5f461 v9.0.7-canary.9 2019-09-28 12:45:56 +02:00
Joe Haddad
d9c6f20023 Remove React Suspense from Client Runtime (#8887) 2019-09-28 12:44:07 +02:00
Joe Haddad
e930961f42
v9.0.7-canary.8 2019-09-28 00:28:30 -04:00
Joe Haddad
296cfacd12
Add SPR Dynamic Routes to Manifest (#8885)
* Add SPR Dynamic Routes to Manifest
This adds dynamic routes for SPR pages to the prerender manifest so we can configure the Now Builder to handle these routes as SPR routes. Otherwise, they're treated like normal `getInitialProps` pages.

* Fix types
2019-09-27 16:34:37 -04:00
Joe Haddad
c566b322a8
v9.0.7-canary.7 2019-09-27 14:49:01 -04:00
Joe Haddad
2aa1203171
Configure the Default Revalidate (#8880)
* Configure the Default Revalidate
The default revalidate behavior should be configured by Next.js. Otherwise, the behavior might drift or change in non-semver compliant ways between Next.js and the builder (or other 3rd party setups).

* Add additional comment
2019-09-27 13:36:00 -04:00
Joe Haddad
01e5471816
Enforce natural numbers for SPR (#8882)
Per the HTTP specification, only natural numbers may be used for caching durations. We should enforce this with a really helpful error message.
2019-09-27 12:46:19 -04:00
Joe Haddad
e8522f4032
Favicon should have low importance (#8878)
* Favicon should have low importance

* Update index.js
2019-09-27 11:05:31 -04:00
Joe Haddad
e3d15f98dc
Remove stale-if-error header from SPR (#8866)
The Now CDN does not support the `stale-if-error` header and already behaves like that for `stale-while-revalidate`.

Removing this header allows Now CDN to use its default headers instead of sending _only_ `stale-if-error` after stripping `s-maxage` and `stale-while-revalidate`.
2019-09-26 13:46:24 -04:00
Joe Haddad
37a50cd387
Add support for ZEIT Now CI detection (#8864)
* Add support for ZEIT Now CI detection

* Add isNowDev to meta fields
2019-09-26 10:59:24 -04:00
Joe Haddad
ebf1fe3da5
v9.0.7-canary.6 2019-09-25 11:39:43 -04:00
JJ Kasper
2ae475e07c SPR follow ups (#8846)
* Add revalidate header and error when invalid
object from getStaticProps

* Make sprCache no-op in dev mode

* Update packages/next/next-server/server/next-server.ts

* Update tests for fixes

* Update getStaticProps error and add test

* Update manifest test

* Add validating revalidate value

* Apply suggestions from code review

Co-Authored-By: Joe Haddad <joe.haddad@zeit.co>

* Change from error to warning high revalidate value
2019-09-25 11:29:21 -04:00
JJ Kasper
fd50e51e2a
Remove extra build logs (#8839) 2019-09-24 11:37:03 -05:00
JJ Kasper
a8e3b02236 Add src directory support (#8735)
* Add find-pages-dir

* Add support for src directory

* Add test for pages dir preference

* Update comment
2019-09-24 17:15:14 +02:00
Tim Neutkens
fb9d777f6c v9.0.7-canary.5 2019-09-24 15:41:12 +02:00
Maël Nison
62fce6f572 TS / PnP compatibility (#8744)
* Fixes PnP + TS support

* Uses import on the resolved TS path (since it's not a dep)

* Fixes TS
2019-09-24 14:54:52 +02:00
Janicklas Ralph
ebb39f1004 Allow only JS files when loading dynamic chunks (#8831) 2019-09-24 11:26:51 +02:00
JJ Kasper
85e720a092 Add experimental SPR support (#8832)
* initial commit for SPRv2

* Add initial SPR cache handling

* update SPR handling

* Implement SPR handling in render

* Update tests, handle caching with serverless next
start, add TODOs, and update manifest generating

* Handle no prerender-manifest from not being used

* Fix url.parse error

* Apply suggestions from code review

Co-Authored-By: Joe Haddad <joe.haddad@zeit.co>

* Replace set with constants in next-page-config

* simplify sprStatus.used

* Add error if getStaticProps is used with getInitialProps

* Remove stale TODO

* Update revalidate values in SPR cache for non-seeded routes

* Apply suggestions from code review

* Remove concurrency type

* Rename variable for clarity

* Add copying prerender files during export

* Add comment for clarity

* Fix exporting

* Update comment

* Add additional note

* Rename variable

* Update to not re-export SPR pages from build

* Hard navigate when fetching data fails

* Remove default extension

* Add brackets

* Add checking output files to prerender tests

* Adjust export move logic

* Clarify behavior of export aggregation

* Update variable names for clarity

* Update tests

* Add comment

* s/an oxymoron/contradictory/

* rename

* Extract error case

* Add tests for exporting SPR pages and update
/_next/data endpoint to end with .json

* Relocate variable

* Adjust route building

* Rename to unstable

* Rename unstable_getStaticParams

* Fix linting

* Only add this when a data request

* Update prerender data tests

* s/isServerless/isLikeServerless/

* Don't rely on query for `next start` in serverless mode

* Rename var

* Update renderedDuringBuild check

* Add test for dynamic param with bracket

* Fix serverless next start handling

* remove todo

* Adjust comment

* Update calculateRevalidate

* Remove cache logic from render.tsx

* Remove extra imports

* Move SPR cache logic to next-server

* Remove old isDynamic prop

* Add calling App getInitialProps for SPR pages

* Update revalidate logic

* Add isStale to SprCacheValue

* Update headers for SPR

* add awaiting pendingRevalidation

* Dont return null for revalidation render

* Adjust logic

* Be sure to remove coalesced render

* Fix data for serverless

* Create a method coalescing utility

* Remove TODO

* Extract send payload helper

* Wrap in-line

* Move around some code

* Add tests for de-duping and revalidating

* Update prerender manifest test
2019-09-24 10:50:04 +02:00
David Darnes
82f7bb4b67 Ghost URL Typo (#8828) 2019-09-23 12:15:27 +02:00
JJ Kasper
d0b982b020
v9.0.7-canary.4 2019-09-20 15:50:53 -05:00
JJ Kasper
5f4e606e84 Fix using withRouter in _app opting out of auto-export (#8811) 2019-09-20 16:49:49 -04:00
David Darnes
b4946ae23c Add Working with Ghost and Next.js to Recipes (#8800) 2019-09-19 17:32:43 -04:00
Joe Haddad
8d765b0209
Enable Experimental CSS Source Maps (#8805)
Source maps should be enabled in development so that original styles can be inspected.
This is in-line with other Next.js behavior (source maps in dev).
2019-09-19 14:38:12 -04:00
Janicklas Ralph
deeaa9230f Update page sizes displayed on build (#8777)
* Fixing page sizes displayed during build

* Adding comments

* Update variable name

* Fixed support for modern mode

* Remove braces

* Memoize fs.stat result

* Memoize fs.stat result
2019-09-19 11:16:51 -05:00
Joe Haddad
b3d1b776df
v9.0.7-canary.3 2019-09-19 11:38:18 -04:00
Joe Haddad
db7d7c7dfa
Add Experimental CSS Before Anchor (#8803)
This simplifies the CSS insert function and fixes its edge cases around nextSibling by inserting before the anchor instead of after it.
2019-09-19 11:37:47 -04:00
Luc
9b0c641b25 Insert <style> tags after anchor element (#8795)
* insert css *after* noscript tag in dev mode

* use arrow function
2019-09-19 10:53:32 -04:00
Luis Alvarez D
0eda4d5988 Update broken links (#8793) 2019-09-19 10:50:50 -04:00
Joe Haddad
4466e8ccb5
v9.0.7-canary.2 2019-09-18 20:24:00 -04:00
Joe Haddad
ed84bee503
Fix Experimental CSS Ordering (#8790)
* Fix CSS Ordering
This fixes CSS ordering between development and production.

Before this change, globally imported CSS would come _after_ `<style jsx global>` in development, but _before_ in production.

After this change, it'll always be applied before.

* Move to correct element

* Add tests

* Fix obnoxious indents

* Update test/integration/css/fixtures/with-styled-jsx/pages/index.js

Co-Authored-By: JJ Kasper <jj@jjsweb.site>
2019-09-18 20:18:41 -04:00
Joe Haddad
1aec686c80
v9.0.7-canary.1 2019-09-18 16:29:09 -04:00
Joe Haddad
3cd37b29ea
Simplify development hiding (#8789)
We were trying to be too tricky. `visibility: hidden` is great for layout speed, but it allows child elements to make themselves visible.

Since styles are going to change anyway, this doesn't make sense. We should completely hide the body which prevents a reflow by avoiding any style computation until Global CSS is ready to go.
2019-09-18 16:15:08 -04:00
Joe Haddad
e920e579f2
v9.0.7-canary.0 2019-09-18 15:16:05 -04:00
Joe Haddad
b4d349e6c1
Reduce Install Size (#8788)
* Reduce Install Size
This should shave a decent amount off our install size.

* Fix CSS source map emitting

* Fix generation

* Enable source maps for testing purposes

* Disable double comment

* Fix test regex
2019-09-18 13:59:46 -04:00
Joe Haddad
2612b48e3f
Update webpack typings (#8783)
This is in preparation of a new plugin.
2019-09-18 11:24:37 -04:00
Joshua Byrd
9b3d9f4255 Make favicon work (#8776) 2019-09-18 11:15:21 -04:00
Joe Haddad
65358b7a33
Global CSS Support (#8710)
* Global CSS Support

* Fix webpack configuration

* oneOf rule isn't necessary yet

* Adjust CSS chunk naming

* Begin testing CSS behavior

* Add another test TODO

* Replace null-loader with ignore-loader

* Turn on chunks for new CSS feature

* Fix multi test suite

* Test CSS import order

* Test style HMR

* Test CSS compilation

* Test compilation and prefixing together

* Verify CSS styling works for Development and Production

* Add missing TODO

* Remove unnecessary test

* Adjust TODO message

* Hide page until React hydrates

* Revert "Hide page until React hydrates"

This reverts commit 898d4e0ee547b003d5790e2b11476740d645b907.

* Hide FOUC during development

* Test CSS imports

* Update tests TODO

* Add fixture for url() test

* Test `file-loader` support in CSS files

* Use a simple variant of cssnano

* Self-import

* Undo bundling

* Implement suggestion
2019-09-17 16:05:20 -04:00
Joe Haddad
20aa1e4d21
v9.0.6 2019-09-17 14:21:38 -04:00
Joe Haddad
85f84a040a
v9.0.6-canary.7 2019-09-17 13:24:34 -04:00
JJ Kasper
b210133907 Show dots for non-TTY (#8771) 2019-09-17 13:22:51 -04:00
Joe Haddad
aa98323ed0
v9.0.6-canary.6 2019-09-17 00:22:13 -04:00
JJ Kasper
129e32f8ad
Fix windows paths mismatching for type errors (#8766) 2019-09-16 21:30:09 -05:00
JJ Kasper
4e9e51035e Match public files priority in dev (#8641)
* Match public files priority in dev

* Remove un-needed old public file handling

* Run public file priority test for non-dev also

* Make sure to enable publicDirectory

* Add checking for conflicting pages in dev and during build

* Add error for public dir middleware conflict

* Add err.sh for _next conflict

* Move up public dir conflict checking

* Only run _next conflict check in dev when path contains it
2019-09-16 23:06:30 +02:00
Tim Neutkens
369eceb0e7 v9.0.6-canary.5 2019-09-16 20:35:55 +02:00
JJ Kasper
583b4677ae Prevent URL from being updated while asPath is delayed (#8756)
* Prevent updating URL when delaying asPath

* Ignore TypeScript not liking __NEXT_DATA__

* Update another global to fix standard check
2019-09-16 12:15:18 -04:00
JJ Kasper
204028d6ab Update build feedback with dots indicating activity (#8382)
* Add progress for analyzing and auto-prerendering

* Add typing for tty-aware-progress and use stdout

* Add fancier spinners

* Update spinner and add handling for logs while spinning

* Remove un-needed types package

* Remove progress and combine analyzing/prerendering messages
2019-09-16 17:37:00 +02:00
JJ Kasper
44bbf9ad27 Catch error from failing to unobserve (#8578)
* Catch error from failing to unobserve

* Update link.tsx
2019-09-16 16:56:56 +02:00
Lukáš Huvar
7863b60ef6 Prettier fix (#8754) 2019-09-16 15:24:42 +02:00
Azim Atefi
a0341ea150 Convert Readme Custom Error Pages To Functional Component (#8513)
* Convert Readme Custom Error Pages To Functional Component

* Update packages/next/README.md

Co-Authored-By: Tim Neutkens <tim@timneutkens.nl>

* Run readme through prettier
2019-09-16 14:30:50 +02:00
JJ Kasper
fe7c7342c7 Add link to docs for prerender indicator and allow disabling (#8610)
* Add link to docs for prerender indicator and allow disabling

* Fix lint error from example

* Disable by default when electron is detected

* Add button to dismiss indicator for session

* Update disabling indicator in electron
2019-09-15 23:18:11 +02:00
JJ Kasper
ed5dc2107f Add autoExport to __NEXT_DATA__ (#8746)
* Add autoExport to __NEXT_DATA__

* Update render variable
2019-09-15 20:35:14 +02:00
Joe Haddad
00e0281d71
v9.0.6-canary.4 2019-09-14 17:42:59 -04:00
Joe Haddad
d031cf64df
Ensure requests are resolved as directories (#8742)
* Ensure requests are resolved as directories
`resolveRequest` will strip down to baseDir if there's no trailing slash as it assumes you passed a file.

* Disable telemetry for PR Stats
2019-09-14 17:41:05 -04:00
Joe Haddad
cbd427bf3c
Document the intended behavior of our externals (#8741)
This fully annotates our externals code to explain how it should be functioning. This will be useful as tests cases are made to ensure this is working correctly.
2019-09-14 16:58:45 -04:00
Maël Nison
9770d192f2 Prevents externalizing non-hoisted packages (#8739) 2019-09-14 16:12:25 -04:00
Tim Neutkens
8cc6071347
Update readme.md 2019-09-14 21:21:41 +02:00
JJ Kasper
b5d61579c8 Make sure to fail export when prerender fails with serverless bundle (#8738)
* Make sure to error on serverless prerender failure

* Add test case

* Update index.test.js
2019-09-13 19:02:15 -04:00
JJ Kasper
2ae8b345db
v9.0.6-canary.3 2019-09-13 14:49:59 -05:00
JJ Kasper
c8e1e141e1
Make sure renderOpts is available before checking (#8734)
* Make sure renderOpts is available before checking

* Apply suggestions from code review

Co-Authored-By: Joe Haddad <joe.haddad@zeit.co>

* Update check
2019-09-13 14:43:45 -05:00
Joe Haddad
fb83462713
Externalize experimental package (#8731)
* Add missing dependency

* Ignore prepass for Next.js internal

* Revert "Add missing dependency"

This reverts commit 9ef0030b56255577364ff7cab46f513216a290ae.
2019-09-13 12:38:25 -04:00
Joe Haddad
25451ce47a
v9.0.6-canary.2 2019-09-13 10:53:16 -04:00
Romain
98f368f545 Add missing Link import to routing doc (#8728) 2019-09-13 14:43:14 +02:00
Lukáš Huvar
9731e7e99c [Docs] Prefetch disabled for 2g or SaveData header (#8717) 2019-09-12 13:11:34 +02:00
JJ Kasper
2139f66ac3 Add test for duplicate scripts and add extra de-duping (#8709) 2019-09-11 17:20:47 -04:00
Joe Haddad
eb8c11bbda
Organize webpack configuration imports (#8711)
This PR simply organizes the webpack config imports.
2019-09-11 16:41:29 -04:00
Joe Haddad
55369051f5
Warn build on duplicate pages (#8646)
* Fail build on duplicate pages
This will fail the `next build` command when a duplicate page is found.
In development, we'll emit a warning instead of crashing the dev server.

* Add test for warning in development

* Only issue a warning

* Fix production test

* Fix development test

* Remove useless arg

* Warn in development, too
2019-09-11 14:26:10 -04:00
Joe Haddad
594851111b
Nit: sort experimental keys (#8707) 2019-09-11 14:10:51 -04:00
JJ Kasper
5a0dcbc95b Update pages-loader to return one value (#8629)
* Update pages-loader to return one value

* de-dupe page mod update also
2019-09-11 13:21:10 -04:00
Joe Haddad
fcadad9960
TypeScript report on active pages only (#8703)
* TypeScript report on active pages only
The TypeScript integration needs to report on active pages only.
When inactive pages are reported, they block the compilation and prevent the user from fixing the error (because the file isn't watched).

We cannot add the file to the webpack watcher because the compilation has already been sealed.

* Remove TODO message

* Test that inactive pages are not type checked
2019-09-11 13:06:48 -04:00
JJ Kasper
a5ebe41a9a Delay updating asPath for auto exported pages (#8681)
* Delay updating asPath for auto exported pages

* Add additional test ensuring asPath is updated
2019-09-10 13:30:25 -04:00
Joe Haddad
ba683b3fab
Support non-flag variant of telemetry cmds (#8695)
This adds support for `next telemetry disable` (and keeps support for `next telemetry --disable`).

This also informs the user telemetry was already disabled if they re-run the command to give peace of mind.
2019-09-10 12:31:18 -04:00
Filip Wojciechowski
92e26ce1b1 better type for AppTree in NextPageContext (#8662)
* better type for AppTree in NextPageContext

* updated tests

* new AppTreeType type and updated tests

* removed a commented out line

* another take on the type of AppTree, with updated tests

* allow passing additional props to AppType

* Update suite name
2019-09-09 11:23:34 -05:00
Maël Nison
9fa8baa03a Uses the PnP API when available (#8668)
* Uses the PnP API when available

* Moves the resolution into an helper

* Update packages/next/lib/resolve-request.ts

Co-Authored-By: Joe Haddad <joe.haddad@zeit.co>

* Apply Prettier
2019-09-09 11:47:42 -04:00
Joe Haddad
93d6a670fe
Resolve externals using webpack's context (#8669) 2019-09-08 13:53:33 -04:00
Joe Haddad
b10f797889
Re-enable anonymous telemetry (#8667) 2019-09-07 14:11:17 -04:00
Joe Haddad
3052a8ff92
Remove Telemetry Registration (#8664) 2019-09-07 10:51:09 -04:00
Joe Haddad
3000d71955 Add intl and Apollo to packages of interest (#8665) 2019-09-07 15:00:08 +02:00
Maël Nison
d3c1731c09 Adds the PnP plugin by default (#8653)
* Adds the PnP plugin by default

* Covers loaders

* Fixes linting
2019-09-06 09:49:38 -04:00
Joe Haddad
73b6c1e633
[docs] useRouter cannot be used with classes (#8649)
The `useRouter` function is a hook and cannot be used with Classes.

A few React beginners have brought this up, so we document the alternatives to hooks.
2019-09-05 23:05:59 -04:00
Joe Haddad
6444889c9b
Update Create Next App Template (#8648)
This updates the Create Next App template to remove the "Create Next App" card.

Instead, we now display cards to the docs, learn, and the examples.
2019-09-05 22:51:42 -04:00
Alex Matseshe
e78324a742 Fix typo in README.md #8640 (#8642) 2019-09-05 14:43:37 -05:00
Tim Neutkens
5a9b0ba2ce v9.0.6-canary.1 2019-09-05 16:11:08 +02:00
Joe Haddad
6e77c071c7
Update Next.js Telemetry Event Shapes (#8628)
* Update Next.js Telemetry Event Shapes

* Force value as-is
2019-09-04 20:31:35 -04:00
JJ Kasper
61b8b7323e Update workers for next export (#8623)
* Add failing test

* Add jest-worker to export
2019-09-04 19:56:11 -04:00
Tim Neutkens
2ba352da39 Move next-server back into next package (#8613)
* Initial move

* Make emitting work

* Update paths

* Remove leftover files

* Add correct externals configuration

* Import correct path

* Update path to work with ts-server test

* Update lib directory

* Compile next-server/lib
2019-09-04 10:00:54 -04:00
Tim Neutkens
d501b941f0 v9.0.6-canary.0 2019-09-04 10:54:38 +02:00
Joe Haddad
b587281162
Disable Telemetry (#8614)
We need to disable telemetry until we figure out how we want to store the data.
2019-09-03 11:34:34 -04:00
JJ Kasper
fbf784d76f Add data-ampdevmode attribute for AMP scripts (#8524)
* Add data-ampdevmode attribute

* Apply suggestions from code review

Co-Authored-By: Joe Haddad <joe.haddad@zeit.co>
2019-09-03 11:11:22 -04:00
Joe Haddad
ffc205ba8c
Use URL-friendly chunk names (#8609)
* Use URL-friendly chunk names

* Fix example linting
2019-09-03 10:55:48 -04:00
Ali eslamifard
dd9448c574 Update README and data-fetch example to use function components. (#8546)
* This example show how to use STOMP inside a Next.js application.

* Fix useEffect

* Add _app.js implementation

* Fix lint error

* Fix lint error

* Update examples/with-stomp/README.md

Co-Authored-By: Luis Fernando Alvarez D. <luis@zeit.co>

* withStomp removed

* The url address changed

* _app.js removed. useClient added.

* remove

* revert

* remove

* Update README.md according to Hooks concept.

* Update example

* Update README.md

* Components should use functional syntax

* Update packages/next/README.md

Co-Authored-By: Tim Neutkens <tim@timneutkens.nl>

* Update packages/next/README.md

Co-Authored-By: Tim Neutkens <tim@timneutkens.nl>

* Update packages/next/README.md

Co-Authored-By: Tim Neutkens <tim@timneutkens.nl>

* Update packages/next/README.md

Co-Authored-By: Tim Neutkens <tim@timneutkens.nl>

* Update README.md
2019-09-02 12:47:30 +02:00
Natalie Marleny
efa368d427 Update README.md badge text (#8593) 2019-09-01 20:30:18 +02:00
Giuseppe
ad0cca9549 Update styled-jsx (#8583)
* Update styled-jsx

Fixes an escaping issue in template literals that @lfades found

* Update next-server's styled-jsx also
2019-08-31 10:08:43 -05:00
Houssein Djirdeh
689b1319b6 Update performance marking (#8527)
* creates perf marks object constant

* updates clearmarks to only clear core marks

* adds test + fixes object constqnt reference

* hardcodes perf marks and removes constant

* adds test to check custom marks are not cleared
2019-08-30 22:40:05 -04:00
JJ Kasper
7310e6bca6
Remove extra default export from readme (#8579) 2019-08-30 12:28:04 -05:00
Lukáš Huvar
5cc3b8a531 Fix docs (#8577) 2019-08-30 18:51:48 +02:00
Joe Haddad
67e7753c85
Fix serverless chunking (#8569)
* Fix Serverless Chunking

* Remove old test & environment variable

* Update serverless trace test case
2019-08-30 07:26:30 -04:00
JJ Kasper
340594398e
Make sure to 404 for /_next/static (#8564) 2019-08-29 15:00:54 -05:00
JJ Kasper
4eb7dde490 Add err.sh for incompatible href and as (#8561)
* Add err.sh for incompatible href and as

* Add note for only showing when Link is clicked
2019-08-29 13:25:42 -04:00
Jacky Shikerya
4adf710788 Encode URL paths in HTML and CSR (#8435)
* added filename encoder for testing

* fixes in page-loader

* fix possibly undefined

* conflict resolution

* Update packages/next/pages/_document.tsx

Co-Authored-By: Joe Haddad <timer150@gmail.com>

* move encoding into individual tags as Joe suggested
2019-08-29 12:56:24 -04:00
Joe Haddad
1f4e34ca00
Anonymous Telemetry (#8529)
* Add anonymous telemetry

* Fix types

* Remove semver package

* Rename build time variable

* Track CSS-in-JS solutions

* Single retry and 5s timeout
2019-08-29 12:43:06 -04:00
Mark
7bd4f4f3bf Remove link (#8539) 2019-08-27 23:05:47 -04:00
Jason Miller
1b6e455807 Add modern-preset Babel option (#8521)
* Add `modern-preset` Babel option

* fix test failure

* prefix configuration option with "experimental-"

* fix issues noted by @janicklas-ralph
2019-08-27 17:20:07 -04:00
Sebastian Silbermann
bb0ccd9a4d Specify loader paths for PnP support (#8531)
* fix(next): Loader not found using yarn v2

* Use Object.fromKeys pattern instead
2019-08-27 16:37:47 -04:00
Daniel Almaguer
af9099c2a5 Add missing dependency to next-server (#8507) 2019-08-24 22:01:09 -04:00
JJ Kasper
f81b6d56e0 Replace worker-farm with jest-worker (#8496)
* Replace worker-farm with jest-worker

* Apply suggestions from code review

Co-Authored-By: Joe Haddad <joe.haddad@zeit.co>

* Remove semaphores on top of jest-worker, unwind
terser worker, and remove extra error log
2019-08-24 14:55:42 -04:00
Joe Haddad
2c7b4d8aaa
v9.0.5 2019-08-24 12:45:04 -04:00
Joe Haddad
0f92a8770a
v9.0.5-canary.3 2019-08-24 11:34:12 -04:00
Houssein Djirdeh
010059915d Add version property to Next.js instance (#8499)
* adds global for next version

* updates to use env variable and keeps it local

* Test Next.js version presence

* Unfocus test
2019-08-24 00:49:24 -04:00
JJ Kasper
1dbacda576
Remove extension from err.sh link (#8500)
* Remove extensions from err.sh link

* Remove .md from test also
2019-08-23 17:00:57 -05:00
JJ Kasper
30cd8c2840
v9.0.5-canary.2 2019-08-23 16:19:30 -05:00
JJ Kasper
674ba17211
Update prerender-manifest structure (#8497) 2019-08-23 16:17:40 -05:00
Luis Fernando Alvarez D
64e8c61dcf Update ./static/ folder documentation (#8477)
* Improve the static folder note

* Update README.md
2019-08-23 11:10:30 -04:00
Alex Castle
3970a26b92 Tweaks and test for library chunks fixes (#8482)
* Adjust lib chunk naming algorithm and prevent duplicate react-dom

* Remove alias for react-dom and update separator replacement logic

* Add comment to webpack-config

* Add integration test for react-dom duplication

* Switch to using hash for lib chunk names

* remove extra file from PR

* Remove another extraneous change

* Remove test based on lib chunk name

* Update index.test.js
2019-08-23 10:28:48 -04:00
Joe Haddad
f890482871
Check for TypeScript files for auto setup (#8479)
* Check for TypeScript files for auto setup
This re-adds the behavior and only checks the `pages` directory for speed reasons.

* Adjust logic

* Handle not found too
2019-08-22 22:01:12 -04:00
迷渡
4a864ca951 fix duplicate spaces in readme (#8484) 2019-08-22 20:47:43 -05:00
JJ Kasper
56a134409c Debug TypeScript test suite (#8476)
* Tweak typescript test suite

* Revert "Tweak typescript test suite"

This reverts commit 9e0108da7c70e7ae45b412b60c07162383de65f3.

* Make sure HMR connection isn't being closed
while testing

* Update to not re-use NODE_ENV

* Break up/rework TypeScript test suite

* bump
2019-08-22 16:34:24 -04:00
JJ Kasper
bf11421992 Add deprecation warning for App Container (#8475)
* Add deprecation warning for App Container

* Apply suggestions from code review

Co-Authored-By: Joe Haddad <joe.haddad@zeit.co>

* Tweak for more dead-code elimination
2019-08-22 16:19:15 -04:00
JJ Kasper
be850d0353
Add warning when empty object is returned from getInitialProps (#8474)
* Add warning when empty object is returned
from getInitialProps

* Apply suggestions from code review

Co-Authored-By: Joe Haddad <joe.haddad@zeit.co>

* Apply suggestions from code review

Co-Authored-By: Jan Potoms <potoms.jan@gmail.com>
2019-08-22 12:06:30 -05:00
Joe Haddad
d85dfecd5e
v9.0.5-canary.1 2019-08-22 11:53:08 -04:00
Sojin Park
7c0ac82264 Fix bug in hook destructuring optimization when ignoring array elements (#8455)
* Fix bug in hook destructuring optimization when ignoring array elements

* Add test cases
2019-08-22 11:21:34 -04:00
Alex Castle
3896cbe712 Adjust lib chunk naming algorithm and prevent duplicate react-dom (#8450)
* Adjust lib chunk naming algorithm and prevent duplicate react-dom

* Remove alias for react-dom and update separator replacement logic

* Add comment to webpack-config
2019-08-22 10:46:11 -04:00
Ran Yitzhaki
c3b18fdeaa Fix a broken link in webpack config (#8456)
* Fix a broken link in webpack config

* Update test
2019-08-21 11:58:31 -04:00
Henrik Wenz
878a92f101 Remove Duplicate Assignment (#8464) 2019-08-21 09:23:25 -05:00
Julien Bouquillon
1007777471 doc: typo fix (#8460)
* doc: typo fix

* fix glitch
2019-08-21 14:38:14 +02:00
Joe Haddad
f41f630d19
v9.0.5-canary.0 2019-08-20 17:25:46 -04:00
JJ Kasper
9c8aaf9d4b Fix build-manifest not removing _app files for modern (#8447) 2019-08-20 15:32:03 -04:00
Jason Miller
8bd2e433de Initial optimizeLibraries experimental flag (#8345)
* Add experimental optimizeLibraries flag, currently prunes Moment.js locales

* expose moment for use in assertion

* try with the same setup as the production integration test

* Apply optimiztaions in dev and on server so they're consistent.

* fix build (oh dear)

* Update index.test.js

* Rename flag to future.excludeDefaultMomentLocales

* Adjust impl
2019-08-20 15:19:45 -04:00
Lukáš Huvar
f0b6d0a1e2 Fix custom page extension in development (#8446)
* Fix page extension in development

* Remove un-used file

* Fix standard
2019-08-20 13:38:30 -04:00
Joe Haddad
5ad0ea8e5b
Remove __NEXT_REPLACE__BUILD_ID__ workaround (#8445)
We no longer need this because we don't run terser on serverless bundles.

---

Closes https://github.com/zeit/next.js/issues/8436
2019-08-20 12:38:14 -04:00
Joe Haddad
847e892d71
Remove Flying Shuttle experiment (#8433)
* Remove Flying Shuttle experiment

* Remove more old tests

* Remove minify loader
2019-08-20 11:07:57 -04:00
Lukáš Huvar
0e01435f64 Change FAQ for dynamic routing (#8439) 2019-08-20 14:40:13 +02:00
Joe Haddad
df4f600291
🗜 Optimize client-side routing manifest (#8429)
* Optimize client-side routing manifest

* Turn on granularChunks for tests

* Add row for build manifest

* Hack it
2019-08-20 02:28:09 -04:00
Joe Haddad
211dad31c2
Adjust experimental warning (#8432)
* Adjust experimental warning
This adds some flare to the experimental warning message.

* Update test
2019-08-20 01:56:55 -04:00
Joe Haddad
1d9fd6a51b
Adjust Create Next App install env (#8431) 2019-08-20 00:41:51 -04:00
Maël Nison
a8aa15af11 Adds basic support for PnP (#8427)
* Adds basic support for PnP

* Update preset.ts

* Update next-babel-loader.js
2019-08-19 23:39:07 -04:00
paulogdm
2ab5c86641 Update Zones Documentation (#8426)
* Update README.md

Small typo reported on Spectrum. Kudos to @borekb

* Update packages/next/README.md

Co-Authored-By: Joe Haddad <joe.haddad@zeit.co>

* Update packages/next/README.md

Co-Authored-By: Joe Haddad <joe.haddad@zeit.co>

* Update packages/next/README.md

Co-Authored-By: Joe Haddad <joe.haddad@zeit.co>

* Update README.md

* Update README.md
2019-08-19 19:43:01 -04:00
JJ Kasper
144eecd185 Add example with forwardRef to readme (#8428) 2019-08-19 17:17:31 -04:00
JJ Kasper
37c666976f
v9.0.4 2019-08-19 14:53:54 -05:00
JJ Kasper
8c26a08c9e
v9.0.4-canary.8 2019-08-19 12:45:10 -05:00
William
ec95927e14 Fix dynamic APIs with query params (#8386)
* Fix dynamic APIs with query params

If you define a dynamic API such as

```
pages/
  api/
    [id].js
```

This api becomes available at `/api/[id]`. If you send a request with
a query parameter the value of `req.query.id` will include the query
string as well as the path parameter.

E.g. the request to `/api/2?test=123` will result in `req.query`
being

```javascript
{
  id: "2?test=123",
  test: "123",
}
```

instead of

```javascript
{
  id: "2",
  test: "123",
}
```

* Fix url parse in serverless loader

* Add serverless test
2019-08-19 13:19:39 -04:00
undirectlookable
177524be8e Fix conflict between defaultPathMap and default 404.html export (#8366)
* Fix conflict between defaultPathMap and default 404.html export,if have a page in pages/404.js

* Update packages/next/export/index.js

Co-Authored-By: JJ Kasper <jj@jjsweb.site>

* add test export-override-404
2019-08-19 10:16:00 -05:00
Joe Haddad
1e1eae2f25 Upgrade send dep (#8424)
This upgrade adds native support for wasm.

---

Closes https://github.com/zeit/next.js/issues/8208
2019-08-19 15:24:12 +02:00
Matthew Sweeney
6dbc64ff28 Update Link for create-next-app (#8423) 2019-08-19 13:02:58 +02:00
Ondrej Sika
d7a6cddde6 next/bin/next - fix typo in help text (#8419) 2019-08-18 23:50:20 +02:00
JJ Kasper
b2b5ece322
v9.0.4-canary.7 2019-08-18 14:52:22 -05:00
Tim Neutkens
46c4f20cd3
Add custom profiler / tracer (#8378)
* Add custom profiler / tracer

This captures both client/production builds and everything before and after is cpu profiled, which makes sure that the whole process instead of just webpack is included in the final report.

* Update tests

* Update profiling-plugin.js

* Rename profiling-plugin.js to profiling-plugin.ts

* Update profiling-plugin.ts

* Update and rename profiling-plugin.ts to profiling-plugin.js

* Update webpack-config.ts

* Update profiling-plugin.js

* Add types

* Add missing type

* Add back TypeScript linting

* Remove tracing-js
2019-08-18 21:45:39 +02:00
knight-of-zero
ad77a55063 Fixed the docs. The real option is compress, not compression (#8409) 2019-08-17 19:40:51 -05:00
JJ Kasper
308c2cd4bc
v9.0.4-canary.6 2019-08-16 12:55:46 -05:00
JJ Kasper
5422ee04be Update to replace asPath for static pages in dev mode (#8388)
* Update to replace asPath for static pages in dev mode

* Run lint-fix

* Simplify test a bit
2019-08-16 12:53:47 -04:00
Joe Haddad
a04a5f014a
Remove extra DOM method call (#8394) 2019-08-16 12:00:46 -04:00
Brian Rayburn
cbe70e95a8 Update README.md (#8392)
change `||` to `&&` in Router.beforePopState example to match doc description
2019-08-16 09:57:42 -05:00
Jason Miller
d8fe224951 Hook destructuring optimization (#8381)
* Add hook destructuring optimization

* oops, accidentally included loose mode

* inline hook destructuring optimization plugin

* fix test nesting

* fix lockfile

* allow any react hook

* Add page to stats-app with hooks
2019-08-15 18:08:06 -04:00
Jason Miller
cfd6080435 Feature: Add transparent JSX optimization (#8350)
* Add transparent JSX optimization.

* fix duplicate React import

* fix React not being imported when only a single Fragment node is present in a source module

* remove babel-plugin-react-require

* Fix JSX optimization for CommonJS source files.
2019-08-15 17:07:34 -04:00
Joe Haddad
771c0b450e
Use data-next-page instead of id=__NEXT_PAGE__ (#8380) 2019-08-15 13:56:26 -04:00
Luis Fernando Alvarez D
0b15540a48 Don't look up for TS files in dev (#8374)
* Only read for typescript files if there's no tsconfig

* Update verifyTypeScriptSetup.ts

* Remove the recursive check for TS files

* Remove unused import

* Updated tests

* Add a check for the content of tsConfig

* Clean up

* utf8
2019-08-15 11:27:02 -04:00
Prateek Bhatnagar
cffa2e3f21 Reverting clear measure (#8373) 2019-08-15 08:14:09 +02:00
Lukáš Huvar
b47348bdf8 Change componentWillMount to UNSAFE (#8357)
* Change to unsafe

* Ignore
2019-08-14 18:19:13 -04:00
Joe Haddad
d3f25ccbc5
v9.0.4-canary.5 2019-08-14 14:15:43 -04:00
Joe Haddad
3c611822ab
Create a unique instance of transform-define (#8371) 2019-08-14 14:10:55 -04:00
Joe Haddad
2d810950b2
v9.0.4-canary.4 2019-08-14 12:18:44 -04:00
William Li
a15e22e829 updated links from #useRouter to #userouter (#8362)
Links pointing to #useRouter doesn't work. They need to be #userouter
2019-08-13 23:04:42 -04:00
Joe Haddad
5a8ed815fc
Define typeof window for application code only (#8355) 2019-08-13 22:02:53 -04:00
Iurii Kucherov
99f2d2a109 Add a note for multiple dynamic route segments (#8359)
* Update README.md

* Update README.md

* Update README.md

* Update README.md
2019-08-13 21:35:27 -04:00
JJ Kasper
57d91f7d38 Fix AppTree type not allowing extra props (#8352) 2019-08-13 16:15:44 -04:00
JJ Kasper
d9abbaded1 Remove experimental async-to-promises code (#8353) 2019-08-13 16:04:17 -04:00
JJ Kasper
9fe95b5c7d Add note explaining empty query during prerendering (#8351) 2019-08-13 19:58:45 +02:00
Spencer Elliott
de4e16bf72 Add missing dependency "compression" to next-server (#8344)
* Add missing dependency "compression"

* Remove "compression" dependency from next
2019-08-13 12:03:50 -04:00
Houssein Djirdeh
55ccb09dee fixes nav start argument in user timing check (#8348) 2019-08-13 11:48:30 -04:00
JJ Kasper
8c19d78a08 Also provide AppTree in NextPageContext (#8223)
* Also provide AppTree in NextPageContext

* Don't predefine AppTree as null in ctx

* Make update smaller

* Don’t reassign variable

* Add test for AppTree in NextPageContext

* Update utils.ts
2019-08-13 11:33:48 +02:00
Lukáš Huvar
7e1d54cc09 Add warning for disabled minification during build (#8337)
* Add warning for disabled minification

* Adding err.sh

* Apply suggestions from code review

Co-Authored-By: Joe Haddad <timer150@gmail.com>

* Remove example

* Update packages/next/build/index.ts

Co-Authored-By: Joe Haddad <timer150@gmail.com>

* Update index.test.js
2019-08-12 23:13:12 -04:00
Alex Castle
3b31f957a1 Use 'initial' setting for SplitChunksPlugin (#8293)
* Use 'initial' setting for SplitChunksPlugin

* Initial chunking integration test shell

* Create integration tests for granular chunks build output
2019-08-12 20:35:33 -04:00
Joe Haddad
bc9f2b6139
Minify ncc'd packages for download speed (#8341) 2019-08-12 17:31:07 -04:00
Joe Haddad
df30f5e4b6
🐛 Support multiple Next.js versions in one file (#8339) 2019-08-12 16:53:11 -04:00
Joe Haddad
8d219c2371
Detect @types/ package for compiled packages (#8340) 2019-08-12 16:29:42 -04:00
Joe Haddad
ab0384deef Fix TypeScript setup with empty file (#8332)
New versions of TypeScript now throw an error when no matching TypeScript files are found. We still want to setup in this case.

-----

Closes #8324
2019-08-12 11:40:53 +02:00
Natalie Marleny
06876f1be0 fix: Warn when user specifies prefetch option as true (#8233)
* Warn when user specifies prefetch option as `true`

* Update index.test.js
2019-08-12 00:26:25 -04:00
Joe Haddad
6b516f6c84
Remove accidental support for invalid JavaScript (#8077)
* Remove accidental support for invalid JavaScript
Next.js inadvertently supported users mixing ES Modules and CommonJS due to a Babel bug that was fixed in v7.
This removes the hack in favor of the new Babel `sourceType` feature.

**This will result in broken code for users who relied on this non-standard conforming behavior.**

* Fix comment

* Toggle feature behind modern flag
2019-08-12 00:10:12 -04:00
JJ Kasper
77c5e36ba7 Escape output names for modern bundles to prevent replacing (#8232)
* Escape output names for modern bundles

* Update escaping for modern bundle
2019-08-11 23:32:18 -04:00
Gerald Monaco
04cf779702 Add warning for missing <Head> (#8276)
* Add warning for missing <Head>

* Update the warning to be eliminated away in production

* Update head-manager.js
2019-08-11 22:48:05 -04:00
Adam Misiorny
3eca88609a Prevent false positive experimental warning (#8284)
* Prevent false positive experimental warning

* Add tests for experimental warning
2019-08-11 22:26:37 -04:00
JJ Kasper
fc7e235f2c Followup optimizations for new experimentalPrerender (#8287)
* Add checking for hybrid AMP during static check

* Update to always hit server for prerender data

* Add removing of SPR code when not used

* Add checking for hybrid AMP during static check

* Update to always hit server for prerender data

* Add removing of SPR code when not used

* Update dead code elimination
2019-08-11 21:56:57 -04:00
Tim Neutkens
35e7b21df1 Remove extra variable (#8329) 2019-08-11 20:38:42 -04:00
Luis Fernando Alvarez D
36aabe05a2 Show warning if next export detects an API route (#8257)
* Throw error if next export detects an api route

* Moved the test to the export tests

* Added missing comma

* Move the API route comment

* Add comma after replace

* Show a warning instead
2019-08-12 00:37:20 +02:00
Borek Bernard
4ab56e8a8a Update custom app example in README (#8320)
The code example now uses simpler and safer approach to call page's `getInitialProps`.
2019-08-12 00:06:45 +02:00
Tim Neutkens
2b62c33f25
Only add flying-shuttle code when enabled (#8330)
Follow-up of #7536, small optimization / code removal when the feature is not enabled.
2019-08-12 00:03:11 +02:00
Tim Neutkens
963726d68e v9.0.4-canary.3 2019-08-11 22:44:23 +02:00
Tim Neutkens
a90a55545b
Deprecate Container usage (#8327)
* Remove Container from examples

* Update readme to reflect Container removal
2019-08-11 22:02:33 +02:00
Lukáš Huvar
869bf0f16c Remove 405 from render method (#8323)
* Revert 405 on pages

* Modify tests
2019-08-11 15:42:40 +02:00
Steven Sinatra
5b1150352f Add info about removing @zeit/next-typescript on .babelrc (#8321) 2019-08-11 13:09:01 +02:00
Tim Neutkens
da494dbb80 Document poweredByHeader option
Fixes #7657
2019-08-10 15:44:43 +02:00
Houssein Djirdeh
d190f2e112 Adds user timing marks and measures for hydration/render (#8069)
* adds user timing marks for hydration step

* changes measure names and removes window namespaces by adding performance as a global to standard

* separates hydrate and render marks

* Add performance mark to router change instead of link click

* Changes performance mark name at router change

* adds checks for performance

* creates constants utils for performance and user timings
2019-08-09 15:43:29 -04:00
JJ Kasper
1db69188ed Remove cache clearing from static-checker (#8290) 2019-08-08 21:52:24 -04:00
Joe Haddad
43370c1f8a
v9.0.4-canary.2 2019-08-08 14:19:46 -04:00
JJ Kasper
a4889f964e
Update handling of ref in next/link (#8254) 2019-08-08 13:11:17 -05:00
Alex Castle
3e8b36e879 Experimental: Granular build chunking (#7696)
* Refactor SplitChunksPlugin configs and add experimental chunking strategy

* Use typeDefs for SplitChunksConfig

* Modify build manifest plugin to create runtime build manifest

* Add support for granular chunks to page-loader

* Ensure normal behavior if experimental granularChunks flag is false

* Update client build manifest to remove iife & implicit global

* Factor out '/_next/' prepending into getDependencies

* Update packages/next/build/webpack-config.ts filepath regex

Co-Authored-By: Jason Miller <developit@users.noreply.github.com>

* Simplify dependency load ordering in page-loader.js

* Use SHA1 hash to shorten filenames for dependency modules

* Add scheduler to framework cacheGroup in webpack-config

* Update page loader to not duplicate script tags with query parameters

* Ensure no slashes end up in the file hashes

* Add prop-types to framework chunk

* Fix issue with mis-attributed events

* Increase modern build size budget--possibly decrement after consulting with @janicklasralph

* Use module.rawRequest for lib chunks

Co-Authored-By: Daniel Stockman <daniel.stockman@gmail.com>

* Dasherize lib chunk names

Co-Authored-By: Daniel Stockman <daniel.stockman@gmail.com>

* Fix typescript errors, reorganize lib name logic

* Dasherize rawRequest, short circuit name logic when rawRequest found

* Add `scheduler` package to test regex

* Fix a nit

* Adjust build manifest plugin

* Shorten key name

* Extract createPreloadLink helper

* Extract getDependencies helper

* Move method

* Minimize diff

* Minimize diff x2

* Fix Array.from polyfill

* Simplify page loader code

* Remove async=false for script tags

* Code golf `getDependencies` implementation

* Require lib chunks be in node_modules

* Update packages/next/build/webpack-config.ts

Co-Authored-By: Joe Haddad <timer150@gmail.com>

* Replace remaining missed windows compat regex

* Trim client manifest

* Prevent duplicate link preload tags

* Revert size test changes

* Squash manifest size even further

* Add comment for clarity

* Code golfing 🏌️‍♂️

* Correctly select modern dependencies

* Ship separate modern client manifest when module/module enabled

* Update packages/next/build/webpack/plugins/build-manifest-plugin.ts

Co-Authored-By: Joe Haddad <timer150@gmail.com>

* Remove unneccessary filter from page-loader

* Add lookbehind to file extension regex in page-loader

* v9.0.3

* Update examples for Apollo with AppTree (#8180)

* Update examples for Apollo with AppTree

* Fix apolloClient being overwritten when rendering AppTree

* Golf page-loader (#8190)

* Remove lookbehind for module replacement

* Wait for build manifest promise before page load or prefetch

* Updating modern-only chunks inside the right entry point

* Fixing ts errors

* Rename variable

* Revert "Wait for build manifest promise before page load or prefetch"

This reverts commit c370528c6888ba7fa71162a0854534ed280224ef.

* Use proper typedef for webpack chunk

* Re-enable promisified client build manifest

* Fix bug in getDependencies map

* Insert check for granularChunks in page-loader

* Increase size limit temporarily for granular chunks

* Add 50ms delay to flaky test

* Set env.__NEXT_GRANULAR_CHUNKS in webpack config

* Reset size limit to 187

* Set process.env.__NEXT_GRANULAR_CHUNKS to false if selectivePageBuilding

* Update test/integration/production/test/index.test.js

Co-Authored-By: Joe Haddad <timer150@gmail.com>

* Do not create promise if not using chunking PR
2019-08-08 13:14:33 -04:00
Jason Miller
fa5be4971a Bugfix: Babel targets value can be a String (#8268)
* Fix modern SSR build when Babel configuration uses a String value for "targets". Fixes #8255.

* Add custom babelrc integration tests
2019-08-08 15:38:51 +02:00
Delba de Oliveira
484f988a3a Update README.md (#8282) 2019-08-08 15:31:28 +02:00
JJ Kasper
61d151ccd7 Handle backslashes in exportedFiles (#8277) 2019-08-07 11:27:01 -04:00
Sebastian Benz
91629a8e72 Migrate amp-toolbox-optimizer to @ampproject/toolbox-optimizer (#8275)
* migrate amp-toolbox-optimizer to @ampproject/toolbox-optimizer

* Add updated yarn.lock
2019-08-07 10:47:46 -04:00
JJ Kasper
8e4509caf2 Add warning for invalid href being passed to router (#8231)
* Add warning for bad href being passed to router

* Apply suggestions from code review

Co-Authored-By: Joe Haddad <timer150@gmail.com>

* Inline invalidHref for better code elimination
2019-08-07 10:47:13 -04:00
JJ Kasper
ca13752e24
Implement experimentalPrerender option (#7983)
* Revert "Remove Old Prerender Implementation (#8218)"

This reverts commit 2ab300dd81.

* Add contentHandler for page config

* Rename config from contentHandler to re-use
experimentalPrerender

* Remove un-needed changes

* Replace backslashes for manifest

* Update manifest output format

* Make prerender: true enable SPR behavior and update
to merge prerender-manifest for flying-shuttle

* Fix output path for / prerender file

* Add dynamic routes to test suite

* Add generating and previewing of skeletons
for prerendered dynamic routes

* remove inline prerender option

* update to not replace getInitialProps which allows
nested getInitialProps and add query when fetching prerender

* Apply suggestions from code review

Co-Authored-By: Joe Haddad <timer150@gmail.com>

* Remove legacy prerender option

* Apply suggestions from review

* Apply more suggestions from review

* Apply suggestions from code review

Co-Authored-By: Joe Haddad <timer150@gmail.com>

* Add handling of error when parsing json

* Update handling of moving exported pages

* Rename nextPreviewSkeleton to _nextPreviewSkeleton

* bump
2019-08-06 15:26:01 -05:00
Luis Fernando Alvarez D
d4d5ad4ba5 Remove propertyFields from the client router (#8219)
* Remove forEach over the components prop

* Remove propertyFields
2019-08-06 15:42:33 +02:00
Lukáš Huvar
beed65be40 Compression documentation (#8247)
* Documentation about gzip

* Update packages/next/README.md

Co-Authored-By: Tim Neutkens <tim@timneutkens.nl>

* Improve docs

* Update packages/next/README.md

Co-Authored-By: Luis Fernando Alvarez D. <luis@zeit.co>

* Update packages/next/README.md

Co-Authored-By: Luis Fernando Alvarez D. <luis@zeit.co>

* Update README.md
2019-08-06 13:49:53 +02:00
Luis Fernando Alvarez D
9b02939c43 Define generic for _app state (#8256) 2019-08-06 13:23:50 +02:00
Joe Haddad
11d2206c32
v9.0.4-canary.1 2019-08-05 18:48:11 -04:00
Lukáš Huvar
abcaba7f7d
Add warning for API export (#8250) 2019-08-06 00:46:02 +02:00
Joe Haddad
b31c296730
Experimental: Serverless Trace target (#8246)
* Experimental: Serverless Trace target
The Serverless Trace target produces Serverless-handler wrapped entrypoints, but does not bundle all of `node_modules`.

This behavior increases bundling performance to be more akin to `target: 'server'`.

This mode is expected to be used with smart platforms (like [ZEIT Now](https://zeit.co/now) that can trace a program to its minimum dependencies.

* Use more generic variables

* Add asset relocator for production mode of serverless trace

* Verify Firebase compatiblity

* Revert "Add asset relocator for production mode of serverless trace"

This reverts commit 8404f1dcf28b60edab41a56c94b38dcd3fddec20.

* Add serverless trace tests

* Add _isLikeServerless helper

* Make constants

* Fix export

* Update packages/next-server/server/config.ts

Co-Authored-By: JJ Kasper <jj@jjsweb.site>

* Use a global helper for is like serverless

* Update import for isTargetLikeServerless

* Update packages/next/build/index.ts

Co-Authored-By: JJ Kasper <jj@jjsweb.site>
2019-08-05 18:26:20 -04:00
Natalie Marleny
487d62b132 [Enhancement]: Update README buttons (#8235)
* Update CN README for consistency

* Add buttons to README.md

* Center nextjs learn text

* Update CN README for consistency

* fix README link in README-zh-CN.md
2019-08-04 14:33:15 +01:00
Tim Neutkens
48e1d14d30
Update README.md 2019-08-03 23:16:34 +01:00
Joe Haddad
91b06c752a Add Create Next App instructions (#8224) 2019-08-03 12:25:25 +01:00
Joe Haddad
2ab300dd81
Remove Old Prerender Implementation (#8218)
* Remove Prerender Implementation

* Fix PageConfig

* Fix next server

* Fix two more files

* Fix render

* Fix render

* Try to fix up page config

* Correct build file

* Switch back static checker

* Turn stuff back

* Add missing newline

* Revert changes

* Add missing newline

* Fix types
2019-08-02 10:28:03 -04:00
Joe Haddad
6468b6c9bf
Remove useless code block in docs 2019-08-01 18:49:47 -04:00
JJ Kasper
e7d96f77bd
Add test for dynamic routing/webpack HMR bug (#8061)
* Add failing test for dynamic routing/webpack HMR bug

* Remove un-used args from onDemandEntryHandler

* update to latest webpack with escaping
2019-08-01 11:17:42 -05:00
Joe Haddad
ac31f1636e
Add some notes about Now deployment (#8205) 2019-08-01 11:08:21 -04:00
Joe Haddad
3f2027d583
Update TypeScript Instructions (#8200)
* Update TypeScript Instructions

* next dev => npm run dev

* Break line
2019-08-01 09:13:17 -04:00
Joe Haddad
8a74f0ae71
Golf page-loader (#8190) 2019-07-31 16:14:54 -04:00
Joe Haddad
00b56c6ede
v9.0.3 2019-07-31 16:14:36 -04:00
JJ Kasper
858f4eb8ec
v9.0.3-canary.6 2019-07-30 16:35:15 -05:00
Natalie Marleny
b8aee7af77 fix: Add error message for duplicate route param name (#8047)
* Add error message for duplicate slug name within a dynamic path

* Update based on feedback

Co-authored-by: Tim Neutkens <tim@timneutkens.nl>

* WIP - committed with no-verify - progress

Co-authored-by: Tim Neutkens <tim@timneutkens.nl>

* Remove old test placeholder

* Add test for re-used names
2019-07-30 16:21:36 -05:00
Joe Haddad
c61f6c1200
Test environment code should target Node (#8181) 2019-07-30 16:28:48 -04:00
JJ Kasper
4850bd03ef Provide AppTree to getInitialProps for getDataFromTree (#7732)
* Provide AppContainer to getInitialProps for getDataFromTree

* Update to only pass AppTree component instead of AppContainer

* Clean up props and remove extra imports

* Make updates from review

* De-dupe AppTree a bit

* Re-use wrapApp in router

* Remove un-needed change

* revert changes to examples until on stable

* Add test for AppTree
2019-07-30 14:00:19 -04:00
Gabor Ottlik
72098328cf Fix a typo in README (#8177) 2019-07-30 16:17:26 +01:00
Lukáš Huvar
3e03fee278 Fix build only server-side /api/index.js (#8167)
* Build error for index API routes

* Fix server build
2019-07-30 13:52:43 +01:00
Jason Miller
9659b4b555 Optional Server Compression (#8066)
* Add `compress` option to enable gzip compression in `next start`.

* Add compress option, defaulting to true

* Disable compression for serverless target

* Pin compression dep

Co-Authored-By: Joe Haddad <timer150@gmail.com>

* Pin compression types

Co-Authored-By: Joe Haddad <timer150@gmail.com>

* lockfile update for locked compression deps

* simplify compression middleware application

* add test for compression
2019-07-29 14:35:09 -04:00
Joe Haddad
df213f7aab
Include scheduler in React bundle (#8164) 2019-07-29 13:42:57 -04:00
JJ Kasper
7b33fbbfe6
v9.0.3-canary.5 2019-07-29 11:54:02 -05:00
Joe Haddad
91f60cdadf
refactor(webpack): extract splitChunksConfig (#8161) 2019-07-29 12:19:31 -04:00
Felix Mosheev
730f9cc472 Update webpack to 4.38.0 (#8147) 2019-07-29 11:01:58 -04:00
Lukáš Huvar
722d5d7703 Improve docs for API (#8155)
* Move API types to API section

* Improve wording
2019-07-29 10:29:17 +01:00
JJ Kasper
4bcf6aabe7 Allow manually setting amphtml and canonical links (#8129) 2019-07-29 08:18:23 +01:00
Piotr Tomasik
78775954f2 fix regex to not match any string with double underscore (#8153)
* fix regex to not match any string with double underscore

* add test for __ in env name and make existing test more descriptive.
2019-07-29 08:17:10 +01:00
Lukáš Huvar
8dc5d22104 Remove next.config.js (#8139) 2019-07-27 19:46:40 +01:00
Youkyoung.Park
c4704fbd9e fix spelling in tsconfig.js of readme.md (#8138) 2019-07-27 16:50:14 +01:00
Tim Neutkens
2b1a5c3eb4 v9.0.3-canary.4 2019-07-27 11:42:02 +01:00
JJ Kasper
13fa2828c2 Add missing key prop for array elements in _document (#8132)
* Add missing keys for array elements

* Add test for missing key prop in app-document
2019-07-27 10:34:29 +02:00
Adam Misiorny
68e3223cd8 Improve type definitions (#8117) 2019-07-26 13:09:16 -05:00
Lukáš Huvar
cc6fe5fdf9 Fixes problem with API and wrong regex (#8126)
* Fixes regex for client bundel. Fixes #8115

* Add test

* Update test/integration/api-support/test/index.test.js

Co-Authored-By: Tim Neutkens <tim@timneutkens.nl>

* Update test/integration/api-support/test/index.test.js

Co-Authored-By: Tim Neutkens <tim@timneutkens.nl>
2019-07-26 17:02:12 +02:00
Olivier Tassinari
71f9288a54 Fix onError prop-type warning in Link (#8021)
The warning

> Warning: Failed prop type: Link: unknown props found: onError

can happen in this case:

```tsx
import * as React from 'react';
import NextLink, { LinkProps as NextLinkProps } from 'next/link';

type NextComposedProps = React.AnchorHTMLAttributes<HTMLAnchorElement> & NextLinkProps;

const NextComposed = React.forwardRef<HTMLAnchorElement, NextComposedProps>((props, ref) => {
  const { as, href, replace, scroll, passHref, shallow, prefetch, onError, ...other } = props;

  return (
    <NextLink
      href={href}
      prefetch={prefetch}
      as={as}
      replace={replace}
      scroll={scroll}
      shallow={shallow}
      passHref={passHref}
      onError={onError}
    >
      <a ref={ref} {...other} />
    </NextLink>
  );
});
```

*Taken from Material-UI Next.js integration example*
2019-07-25 18:52:27 +00:00
Joe Haddad
22b58b1c66
v9.0.3-canary.3 2019-07-25 13:56:34 -04:00
Lukáš Huvar
bbcb448e87 Fix index.js for API routes (#8112)
This fixes the problem with `/pages/api/index.js` not creating serverless function. Fixes #8111
2019-07-25 17:39:29 +00:00
Sergio Garcia Mondaray
eae1f6b749 Dynamic routes clarification (#8110)
As talked in https://github.com/zeit/next.js/issues/8101 dynamic routing documentation could be confusing. This PR tries to clarify it a bit.
2019-07-25 17:07:59 +00:00
Joe Haddad
8b0a93b0ed
Fix extension for module/nomodule 2019-07-25 12:44:56 -04:00
Gerald Monaco
e68307df3a Add next-head-count & remove next-head class (#8020)
Fixes #3494

Removes `class="next-head"` from the children of the `<Head>` component. Instead, a single sentinel meta element named `next-head-count` is appended. The content is the number of contiguous elements immediately preceding the sentinel that _would have had_ the `class="next-head"` attribute.

During an update, instead of searching for `class="next-head"`, the sentinel is located and the N previous elements are considered candidates for `oldTags`. New elements are inserted before the sentinel, and finally the sentinel is updated to reflect the new count.
2019-07-25 16:39:09 +00:00
Lukáš Huvar
3ee5ec4412 Configuration for body parsing size limit (#7896)
This PR introduces the possibility to change the size of the parsed body. This brings features like:
- Adjusting the size of the incoming message
- Better security
2019-07-25 15:43:55 +00:00
Lukáš Huvar
83a3903fc2 HTTP methods docs and REST example (#8108)
* HTTP methods docs and REST example

* Update packages/next/README.md

Co-Authored-By: Joe Haddad <timer150@gmail.com>

* Update examples/api-routes-rest/README.md

Co-Authored-By: Joe Haddad <timer150@gmail.com>

* Fix standard
2019-07-25 11:18:38 -04:00
Joe Haddad
f8b56da7e1 Revert "Improve type definitions" (#8098)
Reverts zeit/next.js#8097

This PR caused bundle sizes to increase. We need to fix this bug before we continue adding invalid TypeScript exports to our code.
2019-07-25 13:58:24 +00:00
Adam Misiorny
55e87ea50c Improve types (#8097) 2019-07-24 21:48:38 -05:00
Janicklas Ralph
f4e6149d1c Experimental module/nomodule support (#7704)
* Module/nomodule implementation based on RFC 7563

* Remove comment

* Fixing issue with building amp pages

* Fixing test cases for serverless mode

* Adding safari 10 nomodule fix. Preloading modern js by default

* Fixing size-limit integration test

* Bug fix

* Adding testcase for modern build

* Trigger rebuild

* Setting default crossOrigin value

* Moving modern config option inside experimental flag

* Adding nomodule attribute to safari-fix script

* Changing safari10NomoduleFix default value to true

* Removing safari-fix flag

* Changing .es6 to .module

* Disable modern default

* Removing default crossOrigin value. Setting modern flag to false by default. Fixed test cases

* Remove confusing defaults and mark required instead

* Adjust blacklist

* Move behavior of page marking

* Fixing childCompiler errors not being captured

* Tweak names

* Revert

* whoops

* Fixing bug with page-loader.js

* Changing modern babel cache name

* Rename helper

* Iterate over both bundles

* Correctly clamp bundle sizes

* Revert test

* Add modern mode tests

* Fix test

* test

* test2
2019-07-24 22:16:32 -04:00
Joe Haddad
aac5121466
Apply missing formatting (#8079)
* Reapply missing formatting

* Fix lint
2019-07-23 14:33:49 -04:00
Jason Miller
ab57978d18 Modern JS for SSR Bundles (#7961)
* Compile for the current version of Node.js by default when producing server builds.

* Update packages/next/build/babel/preset.ts

Co-Authored-By: Joe Haddad <timer150@gmail.com>

* Include server variation in Babel cacheKey
2019-07-22 14:36:55 -04:00
ikeryo1182
6faf0d18fb Fix userAgent type error in README.md (#8048) 2019-07-22 11:17:07 -05:00
Joe Haddad
7eed8380f1 Comment out GIP in Custom <App> (#8055) 2019-07-22 09:54:26 -05:00
Joe Haddad
5a54e8715a
v9.0.3-canary.2 2019-07-19 16:52:53 -04:00
Joe Haddad
104d18c607
Rewrite Create Next App (#8030)
* Completely rewrite Create Next App

* Sort imports

* Show what package manager is being used

* Fix project name suggestion

* Update tests for new implementation

* Use normal prepublish command for on-install

* Upgrade Node version

* Switch to 8.16

* Disable v8 cache

* Swap out update check package and fix CLI boot
2019-07-19 15:55:30 -04:00
JJ Kasper
1cbb5958ec Fix syntax error in ie11 from next-server/amp (#8032) 2019-07-18 22:09:41 -04:00
Joe Haddad
2758060bfc
v9.0.3-canary.1 2019-07-17 23:43:17 -04:00
Joe Haddad
8fb32de0ab
Fix CNA README typo 2019-07-17 23:32:27 -04:00
Joe Haddad
bcd8eb6b78
Update CNA links to examples 2019-07-17 23:27:27 -04:00
Joe Haddad
d486152b98
Remove old media images 2019-07-17 23:23:40 -04:00
Joe Haddad
7f5f981800
Reference correct repository 2019-07-17 23:23:06 -04:00
Joe Haddad
a07f40a5ec
v9.0.3-canary.0 2019-07-17 23:09:09 -04:00
Joe Haddad
4eb8aba692
Add Create Next App package (#8018)
* Add Create Next App package

* Fix Create Next App tests

* Fix company name

* Update package.json
2019-07-17 16:53:56 -04:00
JJ Kasper
3c1355686a Handle windows backslashes when checking ssr-prepass (#8016) 2019-07-17 20:21:24 +02:00
Xinzi Zhou
9609fe453d Replace fs.exists with fs.access (#7742)
* Replace deprecated fs.exists with fs.access.

* Update packages/next/lib/file-exists.ts

Co-Authored-By: Joe Haddad <timer150@gmail.com>

* Update packages/next/lib/file-exists.ts

Co-Authored-By: Joe Haddad <timer150@gmail.com>
2019-07-16 23:01:21 -07:00
Lukáš Huvar
fce7e4eaee Avoid sending user errors to client (#8005)
* Avoid sending user error to client Closes #7526

* Small improvments

* Update sending errors
2019-07-16 17:35:13 -07:00
Luis Fernando Alvarez D
34a9cddfe1 Rework dynamic routing <Link> documentation (#8001) 2019-07-16 12:26:01 -07:00
Adam Wathan
0b496a45e8
Import isomorphic-unfetch in data fetching example (#7895)
Following this example confused me at first because it looked like it was using native fetch, and when that didn't work server-side I wasn't sure if that was my mistake or an issue with the docs.
2019-07-16 12:35:32 -04:00
Joe Haddad
becd07402e
v9.0.2 2019-07-16 11:50:20 -04:00
Joe Haddad
2a2ebfae74
v9.0.2-canary.1 2019-07-16 09:32:51 -04:00
Tim Neutkens
5030486a5d
Don’t add loadable if it’s not used (#7995) 2019-07-16 14:52:01 +02:00
Dmitry Vasilev
4347fa4d56 Add babel option to use styled-jsx/babel-test in the preset (#7747)
* Add babel option to use styled-jsx/babel-test in the preset

* Fix the types
2019-07-16 14:23:19 +02:00
Jack Tomaszewski
17773a6203 Correct info about export limitations (#7729)
* Correct info about export limitations

In `next export` `req` and `res` objects are present, but they are empty ( https://github.com/zeit/next.js/blob/master/packages/next/export/worker.js#L42-L43 ).

* Update README.md
2019-07-16 13:38:17 +02:00
Adam Misiorny
90280c864b Add support for 412 Precondition Failed status for static files (#7944)
* Add support for Precondition Failed status for static files

* Add test

* Trigger tests

* Update next-server.ts
2019-07-16 13:30:29 +02:00
JJ Kasper
e5e74dabdc Add warning for experimental config usage (#7985)
* Add warning for experimental config usage

* Update config.ts
2019-07-16 13:07:07 +02:00
Lukáš Huvar
718a36e127 Fix build for API routes conflict pages (#7992)
* Fixes #7991

* Fix tests
2019-07-16 12:59:09 +02:00
Joe Haddad
571eb9817a
v9.0.2-canary.0 2019-07-15 20:13:10 -04:00
JJ Kasper
a10b3dff33 Add default value for pageConfig for custom _error (#7984)
* Add default value for pageConfig for custom _error

* Add serverless mode for custom-error test
2019-07-15 17:06:16 -07:00
Joe Haddad
590a3adefe
Only copy public/ directory if enabled (#7988) 2019-07-15 16:33:20 -07:00
Lukáš Huvar
c6928dcfd8 Fix GIP type in /_error page (#7952) 2019-07-15 16:16:40 -07:00
Joe Haddad
60b4e678b0
Fix client-side hydration with dynamic routes (#7986)
* Add a test for the hash case

* Add a special hydration option to router

* Add additional tests wrt scrolling
2019-07-15 16:07:04 -07:00
JJ Kasper
86b6a4b6fe
Add handling for invalid page config (#7921) 2019-07-15 13:54:35 -07:00
Lukáš Huvar
be3eab2ad7 Example for API routes with middleware (#7958) 2019-07-15 17:39:16 +02:00
Natalie Marleny
e68a5a793a fix: Ensure ergonomic handling of non-page in ./pages/ (#7955)
* Update autoExport wording to automatic static optimization

* Add sufficiently informative error message

- Update other Next error message for consistency

* Implement feedback - add missing character

Co-Authored-By: Lukáš Huvar <lukas@huvar.cz>

* Fix TypeScript errors

* Update test from autoExport to automatic static optimization

- Also reflect new wording of error message for readability

* Add test for handle non-page in pages

- When target: severless
2019-07-15 17:16:35 +02:00
JJ Kasper
fad4ec3958 Don't externalize ssr-prepass if added by user (#7966) 2019-07-15 16:41:53 +02:00
Felix Mosheev
8c5e85d44c Check if dynamicOptions has the deprecated method property, (#7973)
* Check if dynamicOptions has the deprecated `method` property, closes #7972

* Update dynamic.tsx
2019-07-15 16:35:36 +02:00
JJ Kasper
4adef73ab8
Update link ref handling to clean up previous listeners (#7943) 2019-07-14 10:23:13 -07:00
JJ Kasper
10614e8465 Replace windows backslashes with forward (#7942)
slashes for better handling
2019-07-13 22:24:44 +02:00
Anthony Maki
002ddbe1b9 Checks if object is not empty instead of whether the reference (object) is truthy (#7911)
* Checks if object is not empty instead of whether the reference (object) is truthy

* Update publicRuntimeConfig check
2019-07-12 15:16:56 -07:00
not
a4355b0d0f Prevent blocking while hidden (#7930)
Allows clickthrough after indicator has been hidden.
2019-07-12 22:59:26 +02:00
Sudhir Mitharwal
9b7a2f5ab4 Update docs for AMP export behavior (#7940)
In versions prior to ^9, default export with AMP was to create a
`index.html` file for each page. This has changed in ^9.0 with intruduction of a new
configuration options `exportTrailingSlash`. Current docs for AMP
exports are not correct for this behaviour.

Fixes #7931
2019-07-12 12:53:06 -07:00
Joe Haddad
45f80409dc Remove duplicated client code (#7907) 2019-07-11 23:23:07 +02:00
Joe Haddad
47160fb0aa
v9.0.1 2019-07-11 16:31:30 -04:00
Joe Haddad
a7fbd308be
Adjust README to mention Link 2019-07-11 16:25:35 -04:00
Joe Haddad
bbe1e0f8a6
v9.0.1-canary.2 2019-07-11 14:53:10 -04:00
Luis Fernando Alvarez D
7b25e2995e Export types for link props (#7905)
* export LinkProps

* Add test
2019-07-11 14:52:21 -04:00
Luis Fernando Alvarez D
b94123ccc9 Improve exported router types (#7853)
* Added the RouteUrl type and improved router types

* Added more tests for router types

* Add build test for typescript types

* Add next-env.d.ts to the typescript test

* Removed next-env.d.ts

* Added next-env.d.ts to gitignore

* Remove route url re-exports

* renamed PublicRouterInstance to be NextRouter

* export the Url type

* Replaced BaseRouter with NextRouter in server/utils

* Don't export the Url type

* Update tsconfig.json
2019-07-11 13:35:39 -04:00
Joe Haddad
13cf664898
Add support for legacy server npm modules (#7898)
Notably, this PR fixes `faunadb` which relies on `formidable`.

n.b. `formidable` is an unmaintained legacy npm package that uses practices not compatible with the modern ecosystem.
2019-07-11 13:02:43 -04:00
Lukáš Huvar
2450c85e81 exportPathMap dynamic routes params fix (#7846)
* Fix dynamic page export fixes #7829

* Adding handling of unmatched path

* Remove logs

* Fix newline

* Tests

* Fix promise

* Fix amp tests

* Revert test

* Adjust error document

* Remove old argument

* Simplify export test

* Ensure page !== path for this check
2019-07-10 17:13:44 -04:00
JJ Kasper
41cb3b3bc0 Stop PageConfig plugin from running on non-pages (#7884)
* Add test for PageConfig

* Make sure PageConfig plugin is only run for pages
2019-07-10 15:27:11 -04:00
JJ Kasper
268ac93685 Fix placeholder values being added when exporting from serverless (#7883)
* Add testing serverless in dynamic routes suite

* Fix placeholder dynamic values being added
when exporting from serverless
2019-07-10 15:23:28 -04:00
Tim Neutkens
8122d82130 Handle empty directory (#7876)
* Add test for empty directory

* Fix test re-runs

* Handle empty `pages/` directory
2019-07-10 11:45:53 -04:00
JJ Kasper
bf7af1d16b Add default values for runtime config (#7847)
* Add default values for runtime config

* Add test to ensure default values are set
for runtime config

* Only add runtimeConfig if it's not empty

* Only add runtimeConfig if it's not empty

* Simplify default value adding

* Reduce bundle size

* remove comment changes

* Fix typos

* Add test for runtimeConfig in __NEXT_DATA__
2019-07-10 10:43:04 -04:00
Joe Haddad
24fa6b352f
Title may be omitted (#7865)
Fixes https://github.com/zeit/next.js/issues/7854
2019-07-10 01:53:20 -04:00
Joe Haddad
e5fa2beac1
v9.0.1-canary.1 2019-07-10 01:39:48 -04:00
Joe Haddad
b430a4919e
Allow React.Fragment for Document styles (#7863)
* Allow React.Fragment for Document styles

Fixes https://github.com/zeit/next.js/issues/7784
Closes https://github.com/zeit/next.js/pull/7860

* Fix types

* Remove `Without`
2019-07-10 01:39:07 -04:00
Joe Haddad
437140a048
Add UrlObject to router methods (#7859) 2019-07-10 00:10:44 -04:00
Barry
1d8fa3a943 fix terminal links (cmd-click) on VSCode (#7849) 2019-07-09 19:34:20 -05:00
Joe Haddad
ab0b2cf3da
Add a test for module.exports from a page (#7842)
Closes https://github.com/zeit/next.js/issues/7835
2019-07-09 13:23:38 -04:00
Vincent Cordobes
a137447151 Improve NextApiResponse typing (#7841)
* Fix NextApiResponse.status type signature

* Improve NextApiResponse typing
2019-07-09 13:02:46 -04:00
Joe Haddad
ce8956aeda
Miscellaneous doc updates (#7831)
* Runtime config is not compatible w/ prerendering

Closes https://github.com/zeit/next.js/issues/7827

* Add req and res types

* Document using CORS
Closes https://github.com/zeit/next.js/issues/7805

* Add docs about GIP and Prerendering

Closes https://github.com/zeit/next.js/issues/7786

* set => provided

* Note by default

* Ref CORS doc

* Specify empty object
2019-07-09 09:24:29 -04:00
sharils
aac4e21d46 Reduce confusion about passing an object to push (#7818) 2019-07-09 13:34:11 +02:00
JJ Kasper
30da9e075e Update to always require next/config when setting config (#7822) 2019-07-09 13:23:51 +02:00
Praveen Senadheera
432eec2aec Fix small typo in TypeScript documentation (#7820) 2019-07-09 01:18:28 -04:00
Joe Haddad
3f56bc5092
Update docs about Automatic Prerendering (#7816)
* Update docs about Automatic Prerendering
Closes https://github.com/zeit/next.js/issues/7791

* Tweak layout

* Fix review from @ijjk

* Revise wording

* Simplify note since we note this below

* Update packages/next/README.md

Co-Authored-By: JJ Kasper <jj@jjsweb.site>
2019-07-08 23:41:26 -04:00
Admon Sasson
634b138b40 Make recursiveReadDir return sorted array (#7658)
This function is used to return the /pages folder content.
The way it is today is that every run might result in a different order of files, which makes the whole webpack chunks be different.
An ordered list of files will result in a deterministic build, which will improve caching.
2019-07-08 21:06:04 -04:00
JJ Kasper
e56573008b Fix package count being zero in some cases (#7812)
contains ignored package name
2019-07-08 20:49:51 -04:00
Joe Haddad
3208024735
Undocument the public/ folder (#7810)
Closes https://github.com/zeit/next.js/issues/7800
2019-07-08 20:12:40 -04:00
Joe Haddad
7da546a3a5
v9.0.1-canary.0 2019-07-08 19:23:58 -04:00
JJ Kasper
78bba56580 Add API tests to serverless (#7774)
* Add failing API tests to serverless

* Add newline

* Fix failing serverless tests
2019-07-09 00:50:01 +02:00
Joe Haddad
b013e11be3
Upgrade to webpack with latest acorns (#7795)
Closes https://github.com/zeit/next.js/issues/6240
2019-07-08 15:36:55 -04:00
Joe Haddad
6a35b1d302
Set cancelled property on routeChangeError error (#7790)
* Set `cancelled` property on routeChangeError error

* Add route cancellation tests
2019-07-08 15:25:46 -04:00
JJ Kasper
a7171db2ca Remove previous cache logic (#7794)
* Remove previous cache logic

* Remove old test
2019-07-08 14:59:45 -04:00
Delba de Oliveira
4172c894d3 Further clarification that api routes should be inside the page… (#7780) 2019-07-08 16:28:58 +02:00
Tim Neutkens
66bf56ff7e v9.0.0 2019-07-08 08:43:07 +02:00
Joe Haddad
9f65e50b66
v8.1.1-canary.70 2019-07-08 02:23:36 -04:00
Lukáš Huvar
264fc01969 API routes documentation (#7562)
* API routes examples and documentation

* Update examples/api-routes-micro/README.md

Co-Authored-By: Luis Fernando Alvarez D. <luis@zeit.co>

* Update examples/api-routes/README.md

Co-Authored-By: Luis Fernando Alvarez D. <luis@zeit.co>

* Apply suggestions from code review

Co-Authored-By: Luis Fernando Alvarez D. <luis@zeit.co>

* Update API routes docs

* Improve example to reflect dynamic routes

* Update readme to reflect API routes changes

* Apply suggestions from review
2019-07-07 23:04:04 -07:00
Joe Haddad
b0b1c320a8 Experimentalize public/ (#7771)
* Experimentalize `public/`

* Update tests for publicDirectory config
2019-07-08 07:45:41 +02:00
Lukáš Huvar
f204935251 Fix serverless loader for API routes (#7767)
* Fix serverless loader for API routes

* Only use params with dynamic routes
2019-07-07 17:45:40 -04:00
Alexander Kachkaev
e995c73b2c [typings] Allow getInitialProps to be sync (#7763) 2019-07-07 14:52:59 -04:00
JJ Kasper
cc497568b4
v8.1.1-canary.69 2019-07-05 16:45:09 -07:00
Joe Haddad
270d548d33
Remove old docs (#7760)
* Remove old docs

* Run doctoc
2019-07-05 12:01:21 -04:00
Joe Haddad
6fa17b3f15
Improve automatic prerendering warning (#7759) 2019-07-05 11:57:16 -04:00
JJ Kasper
80b46c1d28 Update to have default pageProps of {} instead of null (#7734)
* Update to have default pageProps of {} instead of null

* Update test

* Test for empty object
2019-07-05 11:00:23 -04:00
Joe Haddad
7f3bdb1bf0
v8.1.1-canary.68 2019-07-05 01:08:29 -04:00
JJ Kasper
7ac8dcbec0 Add deprecation message for next/dynamic modules (#7750) 2019-07-04 23:36:53 -04:00
Joe Haddad
b60985b2be
Revert "fix(Link): Set focus back to the body element (#7693)" (#7753)
This reverts commit defde85e81.
2019-07-04 23:24:14 -04:00
Connor Bär
defde85e81 fix(Link): Set focus back to the body element (#7693)
* fix(Link): Set focus back to the body element

* refactor(Link): Fix typings

* Update blurring logic and add tests
2019-07-04 11:30:22 -04:00
Lukáš Huvar
87acbdb594
Http methods update for static files and pages (#7721)
* Change static method handling and pages revert

* Allow and reflect old behaviour

* Post should return 501

* Add back old test

* Invert logic

* Handle 501 for pages in separate location

* Remove usage of 501 HTTP status code

* Prevent information leak

* Add test

* Only 405 if the page exists -- 404 if it doesn't

* Handle sent responses

* Revert "Handle sent responses"

This reverts commit 5e9012ae29b611c25ed1e090756a25dbe3437182.

* Fix bad test

* Switch back to quiet

* Update test/integration/production/test/index.test.js

Co-Authored-By: JJ Kasper <jj@jjsweb.site>
2019-07-04 10:22:25 +02:00
Junyoung Choi
12f1a63442 Expose next function type (#7726)
* Expose next function type

* Add type testing for typescript custom server

* Move types test to integration folder
2019-07-03 19:38:58 -07:00
JJ Kasper
e00a2c5d64
v8.1.1-canary.67 2019-07-03 15:57:16 -07:00
Lukáš Huvar
a60da57453 Clarify params and query merging (#7744)
* Clarify params and query merging

* Tweak README per @ijjk
2019-07-03 16:08:50 -04:00
Joe Haddad
b2a9670ca4
Make exportTrailingSlash stable (#7746) 2019-07-03 13:25:44 -04:00
Joe Haddad
e36d7b3226
Add example route event code (#7745) 2019-07-03 11:34:41 -04:00
JJ Kasper
f8097e5111 Add next-server/types to package.json files (#7740) 2019-07-03 10:33:34 -04:00
Tim Neutkens
6a507fad1d v8.1.1-canary.66 2019-07-03 14:41:25 +02:00
Tim Neutkens
a785ff7376
Bring down bundle size (#7743) 2019-07-03 14:38:21 +02:00
Tim Neutkens
a88d6b7482 v8.1.1-canary.65 2019-07-03 13:44:09 +02:00
JJ Kasper
7cf132f864
[Refactor] Move context providers to AppContainer (#7737) 2019-07-02 19:16:12 -07:00
Joe Haddad
e798b664a1
Add router event note (#7736)
* Add router event note

* Add line break

* Tweak wording
2019-07-02 21:35:38 -04:00
JJ Kasper
6ce7c06d9c Add initial static indicator (#7682)
* Add initial static indicator

* Update indicator text to pre-rendered

* Update naming from static to prerender

* Update to not re-use nextExport var

* Update positioning of indicator to prevent overlap
2019-07-02 20:42:41 -04:00
Joe Haddad
7439a773b0 Nit: Change Pre-render to Prerender (#7733) 2019-07-02 22:51:12 +02:00
Luis Fernando Alvarez D
c8bd427193 Dynamic routing documentation (#7602)
* Added basic example for dynamic routing

* Added some basic docs for dynamic routing

* Added more docs for dynamic routing

* Used doctoc

* fixed lint issues

* Added useRouter to docs

* Removed getInitialProps examples that are only using router props

* Added useRouter to the navigation

* Small fix

* Updated to the latest dynamic routes implementation

* lint fix

* Update dynamic routing example

* Tweak dynamic routing documentation

* Make basic example basic again

* Adjust dynamic routes section

* Remove query param for dynamic routes example

* Remove old note

* Fix linting
2019-07-02 16:00:58 -04:00
JJ Kasper
def94e6173
v8.1.1-canary.64 2019-07-01 15:23:15 -07:00
Luis Fernando Alvarez D
87610ccff5 Update with-zones example and Multi Zones documentation (#7513)
* Updated with-zones example to Now V2

* Updated Zones docs

* Update packages/next/README.md

Co-Authored-By: Tim Neutkens <tim@timneutkens.nl>
2019-07-01 15:21:00 -07:00
JJ Kasper
0ca8087565
Add prerender PageConfig option (#7699)
* Add prerender PageConfig option

* Update PageConfig type

* Add inlining of data when pre-render is set and add tests

* Update types import

* Add check for props

* Rename prerender to experimentalPrerender for now
2019-07-01 14:13:52 -07:00
Joe Haddad
0faf693ed2
Do not default TypeScript to strict: true (#7717) 2019-07-01 13:13:58 -04:00
Joe Haddad
5493f2e8b3
Remove Next.js debug mode (#7719) 2019-07-01 13:13:06 -04:00
Lukáš Huvar
4ad934c148 Serverless build for API routes (#7649)
* Fixes serverless target in development

* Fix serverless build

* Fix serverless build

* Add manifest test

* Better output

* Fix manifest test

* Update snapshot

* Remove snapshots
2019-07-01 12:47:11 -04:00
Joe Haddad
af94c27a9d
Upgrade watchpack to remove eslint-config-prettier (#7716) 2019-07-01 11:09:20 -04:00
Joe Haddad
c92e8c2a09
Remove "small" wording from runtime config overhead (#7715)
Using runtime configuration can cause you to de-optimize entire classes of optimizations.
These optimizations could make your application an order of magnitude faster (i.e. prerendering).
2019-07-01 11:09:09 -04:00
JJ Kasper
564eac4746
Fix styled-jsx not rendering when used in node_modules (#7697)
* Don't transpile styled-jsx in server mode

* Add test fo styled-jsx-module

* Add styled-jsx as dependency of next-server
2019-06-29 15:42:07 -07:00
Josh Chorlton
15bcdab55c Add path to exportPathMap query missing message (#7708)
* Add path to exportPathMap query missing message

* Path to Url
2019-06-29 15:13:23 -07:00
JJ Kasper
aeeba6b2e8
v8.1.1-canary.63 2019-06-28 18:02:20 -07:00
JJ Kasper
356636c80f Add updated de-duping logic for next/dynamic (#7705) 2019-06-28 20:48:28 -04:00
Joe Haddad
39761e5ce7 Remove withAmp and do not expose isInAmpMode (#7690)
* Remove `withAmp` and do not expose `isInAmpMode`
This pull request removes the `withAmp` higher-order component in favor of the exported configuration object.
Retaining this backwards compatibility isn't worth the extra maintenance burden, given it hasn't been released for very long and the migration is ultra-simple.

I'm 👎 on retaining backwards compatibility just for the sake of it.

Migration example follows. I'm willing to write a codemod if reviewers feel it's necessary.

*Before*
```js
import { withAmp } from 'next/amp'

function Home() {
  return <h1>My AMP Page</h1>
}

export default withAmp(Home)
// or
export default withAmp(Home, { hybrid: true })
```

*After*
```js
export default function Home() {
  return <h1>My AMP Page</h1>
}

export const config = {
  amp: true,
  // or
  amp: 'hybrid',
}
```

* Fix { amp: 'hybrid' }

Co-Authored-By: JJ Kasper <jj@jjsweb.site>
2019-06-28 15:04:24 -07:00
Joe Haddad
808a3bcc66
v8.1.1-canary.62 2019-06-28 17:12:01 -04:00
Luis Fernando Alvarez D
e35053e8c3 Improve prefetch docs (#7692)
* added docs for disabling prefetch

* Update packages/next/README.md

Co-Authored-By: JJ Kasper <jj@jjsweb.site>
2019-06-28 13:57:22 -07:00
JJ Kasper
cf9762e089
Expand automatic pre-rendering docs (#7702)
* Expand automatic pre-rendering docs

* Apply suggestions from code review

Co-Authored-By: Luis Fernando Alvarez D. <luis@zeit.co>
2019-06-28 13:47:55 -07:00
Joe Haddad
3aed76fad8
Unflag Automatic Prerendering (#7666)
* Unflag Dynamic Routing

* Unflag Automatic Prerendering

* Ensure pages are lambdas for test

* Fix file check

* Fix tests

* oof

* Use lambda for document middleware test
2019-06-28 16:01:11 -04:00
JJ Kasper
291eb83923 Revert "Remove modules option from dynamic (#7688)" (#7701)
This reverts commit 0fd7e68556.
2019-06-28 13:39:23 -04:00
JJ Kasper
5f40306575 Remove coveralls (#7689) 2019-06-28 09:09:27 -04:00
JJ Kasper
0fd7e68556 Remove modules option from dynamic (#7688)
* Remove modules option from dynamic

* Remove old test
2019-06-28 09:02:33 -04:00
Lukáš Huvar
c156e0c889
Helpers update (#7686)
* Update helper function to invoke only on get

* Tests for body parsing

* Update api-utils.ts

* Update next-server.ts

* Update packages/next-server/server/next-server.ts

Co-Authored-By: JJ Kasper <jj@jjsweb.site>
2019-06-28 11:31:32 +02:00
Taro Shono
ec958a3bd0 refactor: default dynamic loading component to null (#7543) 2019-06-27 18:07:07 -07:00
JJ Kasper
5e70a2f74c Make DefaultLoading return null (#7695) 2019-06-27 19:05:10 -04:00
Lukáš Huvar
bd31c5d1b7 Dynamic routes for API (#7629)
* Dynamic routes for API

* New structure

* Change next config

* Refactoring tests

* Fix newline

* Fix tests

* Remove dynamic from config

* Apply suggestions from code review

Co-Authored-By: Joe Haddad <timer150@gmail.com>

* Update index.test.js
2019-06-27 12:01:36 -04:00
JJ Kasper
b4e4bcda9b Clean up AMP logic and naming (#7669)
* Clean up AMP logic

* Tweak AMP logic some more

* Rename hasAmpVersion to hybridAmp
2019-06-27 10:22:24 -04:00
JJ Kasper
44d8c624f4
v8.1.1-canary.61 2019-06-26 14:59:13 -07:00
JJ Kasper
7c30bf97f6
Re-add require cache clearing (#7674) 2019-06-26 12:16:54 -07:00
Joe Haddad
e7110a0347
Asynchronously check for type errors (#7668)
* Asynchronously check for type errors

* Add TODO

* Fix webpack invalidation

* Show TypeScript error in dev client
2019-06-26 14:54:23 -04:00
JJ Kasper
bf04031f9d
v8.1.1-canary.60 2019-06-25 20:53:06 -07:00
JJ Kasper
f9491887fc
Fix maxConcurrentCalls used instead of maxConcurrentWorkers (#7672) 2019-06-25 20:51:40 -07:00
JJ Kasper
ba373d8707
v8.1.1-canary.59 2019-06-25 20:09:20 -07:00
JJ Kasper
9781510839
Parallelize requiring pages for static check (#7671) 2019-06-25 19:54:28 -07:00
JJ Kasper
c773dae48a
v8.1.1-canary.58 2019-06-25 15:57:57 -07:00
JJ Kasper
6a2e8cd81f
Fix memory leak from requiring pages (#7659) 2019-06-25 13:36:21 -07:00
Joe Haddad
19f3c4d77c
Unflag Dynamic Routing (#7663) 2019-06-25 10:28:48 -04:00
JJ Kasper
5a1b32dcf1
v8.1.1-canary.57 2019-06-24 18:12:22 -07:00
JJ Kasper
8c9819200b
Fix missing .test(path) in webpack-config (#7655) 2019-06-24 18:05:15 -07:00
JJ Kasper
9e22f06664
v8.1.1-canary.56 2019-06-24 16:45:18 -07:00
JJ Kasper
e360c105ab
Update prefetch check to prevent re-prefetching (#7654)
* Update page-loader prefetch checking

* Add test for re-prefetching same bundle
2019-06-24 16:13:33 -07:00
Joe Haddad
c03e94bebd
Remove usage of process.browser (#7651) 2019-06-24 16:34:10 -04:00
Joe Haddad
ee2bdb896c
Avoid lambda nomenclature when target != 'serverless' (#7650) 2019-06-24 14:59:51 -04:00
Joe Haddad
353e505172
Fix TypeScript typings (#7648)
* Fix TypeScript typing
This correctly defines `process.browser` instead of `process.env.browser`.

It also removes `process.crossOrigin` because it's not found in our documentation anywhere and is mostly used for internal purposes.

* Make sure `process.browser` doesn't throw a type error

* Split globals from Next.js module

* Allow `test` as a valid NODE_ENV

* Fix type assignment

* Make sure global types get published

* Fix test
2019-06-24 14:26:17 -04:00
Kuba Juszczyk
2debe7fb73 Allow opting out of automatic prefetch for Link (#7532)
* Restoring not working mouse event

* Restoring possibility of conditionally switching off the prefetch
2019-06-24 11:22:27 -07:00
Joe Haddad
0af9d849d3
Compile dependencies for IE11 (#7646)
This PR compiles development-time dependencies that cause invalid syntax errors in IE 11 (ES 5).

Closes #7610
Closes #7612
2019-06-24 11:45:36 -04:00
Joe Haddad
8ddb4a6a95
_document middleware is experimental (#7647)
* `_document` middleware is experimental

Closes https://github.com/zeit/next.js/issues/7580

* Turn on document middleware
2019-06-24 11:31:27 -04:00
Joe Haddad
31b3106a32
Revert "ncc Webpack build redux (#7628)"
This reverts commit e85a517e1a.
2019-06-24 09:48:26 -04:00
JJ Kasper
516325eafc
v8.1.1-canary.55 2019-06-21 11:17:26 -07:00
Guy Bedford
e85a517e1a ncc Webpack build redux (#7628)
* Reimplement ncc webpack build

This reverts commit 6feca310d7.

* Shared webpack build

* ncc workaround pending @zeit/ncc#437

* update ncc

* build tweaks, fixup autodll-import

* possible Node 8 fix

* second possible Node 8 fix

* and update taskfile
2019-06-21 12:28:41 -04:00
Lukáš Huvar
ff040950eb Fixes serverless target in development (#7619) 2019-06-20 19:47:45 -07:00
March Works
7678ee2f2e set __next-build-watcher width and height to 0 (#7618) 2019-06-20 17:11:15 -07:00
Joe Haddad
6c625703ed
Dynamic Routes: Change impl from $param to [param] (#7623)
* Dynamic Routes: Change impl from $param to [param]

* Update expected test snapshot

* Update test to use new syntax

* Update test file

* Test more behavior

* Update route sorter for new param syntax

* Update dynamic routing tests

* Update danging test file

* Tweak test

* Fix dev and update tests
2019-06-20 18:27:04 -04:00