rsnext/packages/next/build
Shu Ding 5f95b6b050
Improved route resolution in next-app-loader (#40109)
This PR implements the logic to make next-app-loader able to match multiple routes.

The app loader is refactored to construct the tree recursively instead of within a loop, as there could be multiple branches. Similarly, when entering a new layout level or branch, we resolve both the slot name (defaults to `"children"`) and the segment.

In order to make that work, the loader has to know all matched app paths. This is passed in as the `appPaths` loader option, which is gathered when creating the entrypoint.

## Bug

- [ ] Related issues linked using `fixes #number`
- [x] Integration tests added
- [ ] Errors have helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The examples guidelines are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing.md#adding-examples)

Co-authored-by: Tim Neutkens <tim@timneutkens.nl>
Co-authored-by: JJ Kasper <jj@jjsweb.site>
2022-09-06 10:03:21 -07:00
..
analysis feat(next): Support has match and locale option on middleware config (#39257) 2022-08-31 11:23:30 -05:00
babel Remove webpack4 types (#39631) 2022-08-16 09:55:37 +00:00
jest Eagerly load swc bindings for wasm fallback for jest (#36784) 2022-05-12 09:15:27 +00:00
output Remove webpack4 types (#39631) 2022-08-16 09:55:37 +00:00
polyfills Fix global process testing for the process polyfill (#33220) 2022-01-13 16:44:55 +00:00
swc feat(next/swc): enable wasm first binding load for the platforms (#38883) 2022-08-23 14:59:13 -05:00
webpack Improved route resolution in next-app-loader (#40109) 2022-09-06 10:03:21 -07:00
compiler.ts Remove webpack4 types (#39631) 2022-08-16 09:55:37 +00:00
cssnano-simple.js Pre-compile more dependencies (#32627) 2021-12-20 14:01:35 +01:00
entries.ts Improved route resolution in next-app-loader (#40109) 2022-09-06 10:03:21 -07:00
generate-build-id.ts Fix generateBuildId type that can be async function (#28040) 2021-08-12 22:26:44 +00:00
index.ts Improved route resolution in next-app-loader (#40109) 2022-09-06 10:03:21 -07:00
is-writeable.ts Use fs.promises instead of promisify (#12026) 2020-05-02 00:10:19 -04:00
load-jsconfig.ts Add handling for auto installing TypeScript deps and HMRing tsconfig (#39838) 2022-08-23 13:16:47 -05:00
spinner.ts [Feature] Progress bar for static build (#15297) 2020-08-04 09:58:23 +02:00
utils.ts Bypass empty pages folder for layouts (#40132) 2022-09-03 00:13:47 +00:00
webpack-config.ts Bypass empty pages folder for layouts (#40132) 2022-09-03 00:13:47 +00:00
worker.ts use a shared worker pool for collecting page data and static page generation (#27924) 2021-08-12 19:54:49 +00:00
write-build-id.ts Move code shared between server/client to "shared" folder (#26734) 2021-06-30 11:43:31 +02:00