Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Nov 26, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

mischnic and others added 6 commits November 26, 2025 16:15
Flakey:
```
❌ test/integration/app-dir-export/test/start.test.ts output:
HEADLESS=true NEXT_TELEMETRY_DISABLED=1 CI= NEXT_TEST_CI=true IS_RETRY=undefined TRACE_PLAYWRIGHT=true CIRCLECI= GITHUB_ACTIONS= CONTINUOUS_INTEGRATION= RUN_ID= BUILD_NUMBER= JEST_JUNIT_OUTPUT_NAME=test_integration_app-dir-export_test_start.test.ts JEST_SUITE_NAME=default:12/13:integration:test/integration/app-dir-export/test/start.test.ts /root/actions-runner/_work/next.js/next.js/node_modules/.bin/jest '--ci' '--runInBand' '--forceExit' '--verbose' '--json' '--outputFile=test/integration/app-dir-export/test/start.test.ts.results.json' 'test/integration/app-dir-export/test/start.test.ts'
[08:48:33.323Z] Running command "next build /root/actions-runner/_work/next.js/next.js/test/integration/app-dir-export"
▲ Next.js 16.1.0-canary.1
- Local:         http://[::1]:36371
- Network:       http://[::]:36371

✓ Starting...
Error: "next start" does not work with "output: export" configuration. Use "npx serve@latest out" instead.
    at <unknown> (dist/server/next.js:230:53)
    at async NextServer.prepare (dist/server/next.js:177:24)
    at async initializeImpl (dist/server/lib/render-server.js:132:5)
    at async initialize (dist/server/lib/router-server.js:538:22)
    at async Server.<anonymous> (dist/server/lib/start-server.js:381:36)
[08:49:12.558Z] Running command "next build /root/actions-runner/_work/next.js/next.js/test/integration/app-dir-export"
FAIL webpack test/integration/app-dir-export/test/start.test.ts (100.119 s)
  app dir - with output export (next start)
    production mode
      ✓ should error during next start with output export (39235 ms)
      ✕ should warn during next start with output standalone (60029 ms)

  ● app dir - with output export (next start) › production mode › should warn during next start with output standalone

    thrown: "Exceeded timeout of 60000 ms for a test.
    Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

      46 |
      47 |       // TODO: Move this test to test/production to run in isolation.
    > 48 |       ;(process.env.TURBOPACK_BUILD ? it.skip : it)(
         |                                                  ^
      49 |         'should warn during next start with output standalone',
      50 |         async () => {
      51 |           nextConfig.replace(`output: 'export'`, `output: 'standalone'`)

      at integration/app-dir-export/test/start.test.ts:48:50
      at integration/app-dir-export/test/start.test.ts:21:56
      at Object.describe (integration/app-dir-export/test/start.test.ts:20:1)

```
 (#86375)

Closes PACK-5936

This alleviates a long-standing painpoint of `serverExternalPackages`. If you are using
`some-utility` which uses `lodash`, and you have to make `lodash` a `serverExternalPackages`, then
you'd have to add the correct version of `lodash` to your application's dependencies in package.json.

This is not very ergonomic as it leaks the internal implementation of your direct dependencies (you
shoudln't have to care about their transitive dependencies). And it's easy to run into a situation
where it's impossible to satisfy all dependencies, if you'd have to add two conflicting versions of `lodash` for example.

Instead, Turbopack now emits symlinks like

```
.next/node_modules/lodash-98e63531e9336dd0@ -> ../../../../node_modules/.pnpm/[email protected]/node_modules/lodash
.next/node_modules/lodash-ee4fa714b6d81ca3@ -> ../../../../node_modules/.pnpm/[email protected]/node_modules/lodash
```

.so that `.next/server/chunks/29adj2sd9.js` can then contain a `require("lodash-98e63531e9336dd0")`
and alway get the correct version (and without the user having to declare them).
https://github.com/vercel/next.js/runs/56466402435

wait for the `patchFile` revert operation to finish before asserting

```
FAIL webpack test/e2e/app-dir/no-double-tailwind-execution/no-double-tailwind-execution.test.ts (31.136 s)
  no-double-tailwind-execution
    ✕ should run tailwind only once initially and per change (20280 ms)

  ● no-double-tailwind-execution › should run tailwind only once initially and per change

    expect(received).toBe(expected) // Object.is equality

    Expected: 3
    Received: 2

      48 |     ].length
      49 |     if (isNextDev) {
    > 50 |       expect(tailwindProcessingCount).toBe(3) // dev: initial + hmr + hmr (revert)
         |                                       ^
      51 |     } else {
      52 |       expect(tailwindProcessingCount).toBe(1) // build
      53 |     }

      at Object.toBe (e2e/app-dir/no-double-tailwind-execution/no-double-tailwind-execution.test.ts:50:39)
```
This auto-generated PR updates the development integration test manifest used when testing Rspack.
The difference is barely measureable though...
```
less tasks:
  Time (mean ± σ):      5.429 s ±  0.099 s    [User: 28.337 s, System: 3.512 s]
canary:
  Time (mean ± σ):      5.547 s ±  0.082 s    [User: 28.730 s, System: 3.480 s]
```
- `OptionStringifiedSourceMap` was always a strange type
- We can now use the `FileContent` to not clone the Rope in the `SourceMapAsset::content`, which would end up duplicating sourcemaps in the cache.
@pull pull bot locked and limited conversation to collaborators Nov 26, 2025
@pull pull bot added the ⤵️ pull label Nov 26, 2025
@pull pull bot merged commit 112e70e into zys-contrib:canary Nov 26, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants