5f95b6b050
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> |
||
---|---|---|
.. | ||
css-loader | ||
next-edge-ssr-loader | ||
next-flight-client-loader | ||
next-serverless-loader | ||
next-style-loader | ||
postcss-loader | ||
resolve-url-loader | ||
error-loader.ts | ||
get-module-build-info.ts | ||
next-app-loader.ts | ||
next-client-pages-loader.ts | ||
next-edge-function-loader.ts | ||
next-flight-client-entry-loader.ts | ||
next-flight-css-dev-loader.ts | ||
next-flight-server-loader.ts | ||
next-image-loader.js | ||
next-middleware-asset-loader.ts | ||
next-middleware-loader.ts | ||
next-middleware-wasm-loader.ts | ||
next-swc-loader.js | ||
noop-loader.ts | ||
utils.ts |