b96ff8de2f
The way we currently track server CSS imports is to collect CSS files that each **module** depends on. This happens on the module graph level which is a global thing and cannot be tree-shaken properly (check the enabled test for more details). In this PR we collect another information, of CSS files that each **entrypoint** depends on. This is the CSS list after tree-shaken on the entry level. By intersecting these CSS imports with the module-level CSS imports, we can get the final used CSS imports for each _layout_. cc @hanneslund ## Bug - [ ] Related issues linked using `fixes #number` - [x] Integration tests added - [ ] Errors have a 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 a 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/examples/adding-examples.md) |
||
---|---|---|
.. | ||
api-utils | ||
base-http | ||
dev | ||
lib | ||
response-cache | ||
send-payload | ||
web | ||
accept-header.ts | ||
app-render.tsx | ||
base-server.ts | ||
body-streams.ts | ||
config-schema.ts | ||
config-shared.ts | ||
config-utils.ts | ||
config.ts | ||
crypto-utils.ts | ||
font-utils.ts | ||
get-app-route-from-entrypoint.ts | ||
get-page-files.ts | ||
get-route-from-entrypoint.ts | ||
google-font-metrics.json | ||
htmlescape.ts | ||
image-optimizer.ts | ||
internal-utils.ts | ||
load-components.ts | ||
match-bundle.ts | ||
next-server.ts | ||
next.ts | ||
node-polyfill-fetch.js | ||
node-polyfill-web-streams.js | ||
node-web-streams-helper.ts | ||
optimize-amp.ts | ||
post-process.ts | ||
render-result.ts | ||
render.tsx | ||
request-meta.ts | ||
require.ts | ||
router.ts | ||
serve-static.ts | ||
server-route-utils.ts | ||
utils.ts | ||
web-server.ts |