No description
Find a file
Tobias Järvelöv ee605cb653
Wait for getFilesForRoute promise to fulfill before timeout in dev mode (#27395)
The fix in PR #25749 only works some of the time. The reason why it
doesn't work all of the time is because the `devBuildResolve` function
is called when the assets have been built, but this can happen before
the `getFilesForRoute` promise chain has completed, and thus the
`cancelled` variable could not yet have been updated.

To fix this we wait for the `getFilesForRoute` promise chain to be
fulfilled and then resolve the `devBuildPromise` promise afterwards.
This allows the `getFilesForRoute` promise chain to be fulfilled before
and the `cancelled` variable can be updated accordingly.

If an error is thrown somewhere in the `getFilesForRoute` promise chain,
i.e. due to a failed fetch request, then that will also resolve the
`devBuildPromise` and the error will bubble up to ultimately become a
`routeChangeError` which will reload the page.

With this fix the need to listen for HMR events has become obsolete as
regardless of when the HMR build/sync events complete we still want to
ensure that the `getFilesForRoute` promise chain has been fulfilled
before resolving the `devBuildPromise`.

Co-authored-by: Tobias Järvelöv <tobias.jarvelov@oderland.se>
Co-authored-by: JJ Kasper <jj@jjsweb.site>
2021-07-23 15:56:14 -05:00
.github Increase PR stats repo build timeout (#27419) 2021-07-22 19:16:48 +00:00
.vscode Remove bugfix needed for webpack 4 when webpack 5 is used (#23886) 2021-04-11 15:06:35 +00:00
bench Replace 'require' with 'import' in bench files and update dependancies (#25775) 2021-06-04 14:30:52 +00:00
docs Update next/image docs with onLoadingComplete() (#27440) 2021-07-23 15:40:33 +00:00
errors Fix typo in error message (#27438) 2021-07-23 14:07:09 +00:00
examples Add locale switcher to i18n-routing example (#27444) 2021-07-23 14:33:10 -05:00
packages Wait for getFilesForRoute promise to fulfill before timeout in dev mode (#27395) 2021-07-23 15:56:14 -05:00
scripts Update repo scripts to separate folder (#26787) 2021-07-01 13:41:27 +02:00
test [eslint] move core-web-vitals config to eslint-plugin-next (#27363) 2021-07-23 17:58:53 +00:00
.alexignore Enable Alex documentation linting for docs (#26598) 2021-06-25 11:40:50 -05:00
.alexrc Enable Alex documentation linting for docs (#26598) 2021-06-25 11:40:50 -05:00
.eslintignore [ESLint] Remove error when file patterns are unmatched + ESLint setup changes (#27119) 2021-07-16 20:19:08 +02:00
.eslintrc.json [ESLint] Remove error when file patterns are unmatched + ESLint setup changes (#27119) 2021-07-16 20:19:08 +02:00
.gitignore Ignore emacs lockfiles (#20497) 2020-12-29 16:12:36 +00:00
.npmrc Remove version prefix 2018-10-02 01:35:56 +02:00
.prettierignore chore: Set Prettier to ignore test output (#26353) 2021-07-20 14:37:44 -05:00
.prettierignore_staged feat: webpack inlining with configuration for v4 / v5 (#20598) 2021-01-13 20:59:08 -05:00
.prettierrc.json Prettier trailingComma default value to es5 since 2.0 (#14391) 2020-06-22 13:25:24 +02:00
azure-pipelines.yml Update azure tests (#26779) 2021-06-30 17:03:43 -05:00
CODE_OF_CONDUCT.md Update Code of Conduct email address (#12108) 2020-04-22 16:27:24 +02:00
contributing.md Mention running local changes inside monorepo (#27050) 2021-07-09 11:39:00 -05:00
data.sqlite Fix export worker threads options (#25063) 2021-05-14 12:50:29 +02:00
jest.config.js Upgrade jest-worker (#23077) 2021-03-16 21:08:35 +00:00
lerna.json v11.0.2-canary.20 2021-07-22 18:21:12 -05:00
license.md Update license year for all packages 2021-01-11 11:12:19 +01:00
lint-staged.config.js Replace CLIEngine with ESLint (#25801) 2021-06-09 13:54:10 +02:00
package.json Use Sharp if available for Image Optimization (#27346) 2021-07-22 18:11:17 -05:00
readme.md Monorepo (#5341) 2018-10-01 01:02:10 +02:00
release.js Match last PR mention in commit message for release notes 2021-05-07 19:53:38 +02:00
run-tests.js Run acceptance tests non-concurrently (#25861) 2021-06-07 20:57:15 +02:00
SECURITY.md Create SECURITY.md 2020-07-13 19:25:08 +02:00
skip-docs-change.js Update repo scripts to separate folder (#26787) 2021-07-01 13:41:27 +02:00
test-file.txt Add additional file serving tests (#12479) 2020-05-04 11:58:19 -05:00
UPGRADING.md Move upgrading guide to /docs (#10727) 2020-02-28 23:46:18 +01:00
vercel.json Silence GH Comments for Preview URLs (#18766) 2020-11-03 21:59:47 +00:00
yarn.lock Use Sharp if available for Image Optimization (#27346) 2021-07-22 18:11:17 -05:00

Next.js

Getting Started

Visit https://nextjs.org/learn to get started with Next.js.

Documentation

Visit https://nextjs.org/docs to view the full documentation.

Who is using Next.js?

Next.js is used by the world's leading companies. Check out the Next.js Showcase to learn more.

Community

The Next.js community can be found on GitHub Discussions, where you can ask questions, voice ideas, and share your projects.

To chat with other community members you can join the Next.js Discord.

Our Code of Conduct applies to all Next.js community channels.

Contributing

Please see our contributing.md.

Good First Issues

We have a list of good first issues that contain bugs which have a relatively limited scope. This is a great place to get started, gain experience, and get familiar with our contribution process.

Authors