Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Experimental wasm build #57851

Closed
wants to merge 4 commits into from
Closed

Conversation

padmaia
Copy link
Member

@padmaia padmaia commented Nov 1, 2023

This PR reverts #57437 because I made a false assumption that users would be able to get around not having a WASM binary by adding a Babel config file and setting swcMinify: false. I learned we are now using swc transforms at all times for things like Server Actions, so this breaks people relying on WASM builds.

While I'm adding back the wasm build, I am making it explicitly an experimental opt-in and only available for platforms where we do not have an available native binary. This way we can still make Turbopack the default experience in a minor version.

@padmaia padmaia requested review from manovotny and lydiahallie and removed request for a team November 1, 2023 01:33
kdy1
kdy1 previously approved these changes Nov 1, 2023
@ijjk
Copy link
Member

ijjk commented Nov 1, 2023

Failing test suites

Commit: 5914fd7

pnpm test-start test/e2e/config-schema-check/index.test.ts

  • next.config.js schema validating - defaultConfig > should validate against defaultConfig
Expand output

● next.config.js schema validating - defaultConfig › should validate against defaultConfig

expect(received).not.toContain(expected) // indexOf

Expected substring: not "Invalid next.config.js options detected"
Received string:        "yarn run v1.22.19
$ /tmp/next-install-8ff23cc6d2006c902dbbe7eae5df39b3c36677ff23b695e86685753aedc77d26/node_modules/.bin/next build
 ⚠ Invalid next.config.js options detected: 
 ⚠     Unrecognized key(s) in object: 'useWasmBinary' at \"experimental\"
 ⚠ See more info here: https://nextjs.org/docs/messages/invalid-next-config
   Linting and checking validity of types ...
   ▲ Next.js 14.0.2-canary.2

   Creating an optimized production build ...
 ✓ Compiled successfully
   Collecting page data ...
   Generating static pages (0/3) ...

 ✓ Generating static pages (3/3) 
   Finalizing page optimization ...
   Collecting build traces ...

Route (pages)                              Size     First Load JS
┌ ○ /                                      263 B          79.8 kB
└ ○ /404                                   182 B          79.7 kB
+ First Load JS shared by all              79.5 kB
  ├ chunks/framework-f4c775695db2e078.js   45.5 kB
  ├ chunks/main-3af81be19881074f.js        33.1 kB
  ├ chunks/pages/_app-5cdc0ead5ea0565e.js  206 B
  └ chunks/webpack-7d45971437c161ca.js     728 B

○  (Static)  prerendered as static HTML

Done in 13.84s.
yarn run v1.22.19
$ /tmp/next-install-8ff23cc6d2006c902dbbe7eae5df39b3c36677ff23b695e86685753aedc77d26/node_modules/.bin/next start
   ▲ Next.js 14.0.2-canary.2
   - Local:        http://localhost:38643
"

  24 |       const output = stripAnsi(next.cliOutput)
  25 |
> 26 |       expect(output).not.toContain('Invalid next.config.js options detected')
     |                          ^
  27 |     })
  28 |   }
  29 | )

  at Object.toContain (e2e/config-schema-check/index.test.ts:26:26)

Read more about building and testing Next.js in contributing.md.

@ijjk
Copy link
Member

ijjk commented Nov 1, 2023

Stats from current PR

Default Build
General Overall increase ⚠️
vercel/next.js canary padmaia/next.js experimental-wasm-build Change
buildDuration 10.8s 10.8s N/A
buildDurationCached 6.2s 6.1s N/A
nodeModulesSize 175 MB 175 MB ⚠️ +14.7 kB
nextStartRea..uration (ms) 396ms 399ms N/A
Client Bundles (main, webpack)
vercel/next.js canary padmaia/next.js experimental-wasm-build Change
199-HASH.js gzip 30 kB 30 kB N/A
3f784ff6-HASH.js gzip 53.2 kB 53.2 kB
494.HASH.js gzip 182 B 182 B
framework-HASH.js gzip 45.5 kB 45.5 kB
main-app-HASH.js gzip 254 B 251 B N/A
main-HASH.js gzip 33.1 kB 33.1 kB N/A
webpack-HASH.js gzip 1.75 kB 1.75 kB N/A
Overall change 98.9 kB 98.9 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary padmaia/next.js experimental-wasm-build Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary padmaia/next.js experimental-wasm-build Change
_app-HASH.js gzip 205 B 205 B
_error-HASH.js gzip 182 B 181 B N/A
amp-HASH.js gzip 505 B 507 B N/A
css-HASH.js gzip 322 B 323 B N/A
dynamic-HASH.js gzip 2.59 kB 2.59 kB N/A
edge-ssr-HASH.js gzip 258 B 259 B N/A
head-HASH.js gzip 348 B 347 B N/A
hooks-HASH.js gzip 369 B 368 B N/A
image-HASH.js gzip 4.38 kB 4.38 kB N/A
index-HASH.js gzip 256 B 256 B
link-HASH.js gzip 2.67 kB 2.67 kB N/A
routerDirect..HASH.js gzip 318 B 318 B
script-HASH.js gzip 384 B 383 B N/A
withRouter-HASH.js gzip 319 B 320 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 885 B 885 B
Client Build Manifests
vercel/next.js canary padmaia/next.js experimental-wasm-build Change
_buildManifest.js gzip 484 B 484 B
Overall change 484 B 484 B
Rendered Page Sizes
vercel/next.js canary padmaia/next.js experimental-wasm-build Change
index.html gzip 529 B 528 B N/A
link.html gzip 541 B 543 B N/A
withRouter.html gzip 525 B 524 B N/A
Overall change 0 B 0 B
Edge SSR bundle Size
vercel/next.js canary padmaia/next.js experimental-wasm-build Change
edge-ssr.js gzip 96.1 kB 96.1 kB N/A
page.js gzip 140 kB 140 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary padmaia/next.js experimental-wasm-build Change
middleware-b..fest.js gzip 625 B 627 B N/A
middleware-r..fest.js gzip 148 B 151 B N/A
middleware.js gzip 23 kB 23 kB
edge-runtime..pack.js gzip 1.92 kB 1.92 kB
Overall change 25 kB 25 kB
Diff details
Diff for page.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Commit: 5914fd7

kodiakhq bot pushed a commit that referenced this pull request Nov 2, 2023
### What?

continuation of #57851, since it is from a remote branch that I don't have access to write.

Co-authored-by: Maia Teegarden <2865858+padmaia@users.noreply.github.com>
Co-authored-by: Tim Neutkens <6324199+timneutkens@users.noreply.github.com>
@jridgewell jridgewell closed this Nov 3, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 18, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants