-
Notifications
You must be signed in to change notification settings - Fork 28.1k
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
Implement encryption key into turbopack as hash salt #72933
Implement encryption key into turbopack as hash salt #72933
Conversation
Allow CI Workflow Run
Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer |
@@ -8,6 +9,7 @@ pub struct ExecutionContext { | |||
pub project_path: ResolvedVc<FileSystemPath>, | |||
pub chunking_context: ResolvedVc<Box<dyn ChunkingContext>>, | |||
pub env: ResolvedVc<Box<dyn ProcessEnv>>, | |||
pub encryption_key: RcStr, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought using the execution_context
that's received by the transforms could be the nicer way to reference the encryption_key
without having to add a new param.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should not be part of execution context. Encryption key is next.js specific and shouldn't leak into turbopack crates
Stats from current PRDefault Build (Increase detected
|
vercel/next.js canary | lfades/next.js lfades/pack-3247-implement-encryption_key-into-turbopack-as-hash_salt | Change | |
---|---|---|---|
buildDuration | 20.2s | 18.5s | N/A |
buildDurationCached | 17.6s | 15.5s | N/A |
nodeModulesSize | 417 MB | 417 MB | ✓ |
nextStartRea..uration (ms) | 513ms | 513ms | ✓ |
Client Bundles (main, webpack)
vercel/next.js canary | lfades/next.js lfades/pack-3247-implement-encryption_key-into-turbopack-as-hash_salt | Change | |
---|---|---|---|
1187-HASH.js gzip | 52.6 kB | 52.6 kB | N/A |
8276.HASH.js gzip | 169 B | 168 B | N/A |
8377-HASH.js gzip | 5.44 kB | 5.44 kB | N/A |
bccd1874-HASH.js gzip | 53 kB | 53 kB | N/A |
framework-HASH.js gzip | 57.5 kB | 57.5 kB | N/A |
main-app-HASH.js gzip | 233 B | 235 B | N/A |
main-HASH.js gzip | 34.1 kB | 34.1 kB | N/A |
webpack-HASH.js gzip | 1.71 kB | 1.71 kB | N/A |
Overall change | 0 B | 0 B | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | lfades/next.js lfades/pack-3247-implement-encryption_key-into-turbopack-as-hash_salt | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 39.4 kB | 39.4 kB | ✓ |
Overall change | 39.4 kB | 39.4 kB | ✓ |
Client Pages
vercel/next.js canary | lfades/next.js lfades/pack-3247-implement-encryption_key-into-turbopack-as-hash_salt | Change | |
---|---|---|---|
_app-HASH.js gzip | 193 B | 193 B | ✓ |
_error-HASH.js gzip | 193 B | 193 B | ✓ |
amp-HASH.js gzip | 512 B | 510 B | N/A |
css-HASH.js gzip | 343 B | 342 B | N/A |
dynamic-HASH.js gzip | 1.84 kB | 1.84 kB | ✓ |
edge-ssr-HASH.js gzip | 265 B | 265 B | ✓ |
head-HASH.js gzip | 363 B | 362 B | N/A |
hooks-HASH.js gzip | 393 B | 392 B | N/A |
image-HASH.js gzip | 4.57 kB | 4.57 kB | N/A |
index-HASH.js gzip | 268 B | 268 B | ✓ |
link-HASH.js gzip | 2.35 kB | 2.34 kB | N/A |
routerDirect..HASH.js gzip | 328 B | 328 B | ✓ |
script-HASH.js gzip | 397 B | 397 B | ✓ |
withRouter-HASH.js gzip | 323 B | 326 B | N/A |
1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ |
Overall change | 3.59 kB | 3.59 kB | ✓ |
Client Build Manifests
vercel/next.js canary | lfades/next.js lfades/pack-3247-implement-encryption_key-into-turbopack-as-hash_salt | Change | |
---|---|---|---|
_buildManifest.js gzip | 749 B | 747 B | N/A |
Overall change | 0 B | 0 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | lfades/next.js lfades/pack-3247-implement-encryption_key-into-turbopack-as-hash_salt | Change | |
---|---|---|---|
index.html gzip | 523 B | 524 B | N/A |
link.html gzip | 538 B | 538 B | ✓ |
withRouter.html gzip | 519 B | 520 B | N/A |
Overall change | 538 B | 538 B | ✓ |
Edge SSR bundle Size
vercel/next.js canary | lfades/next.js lfades/pack-3247-implement-encryption_key-into-turbopack-as-hash_salt | Change | |
---|---|---|---|
edge-ssr.js gzip | 128 kB | 128 kB | N/A |
page.js gzip | 206 kB | 206 kB | N/A |
Overall change | 0 B | 0 B | ✓ |
Middleware size
vercel/next.js canary | lfades/next.js lfades/pack-3247-implement-encryption_key-into-turbopack-as-hash_salt | Change | |
---|---|---|---|
middleware-b..fest.js gzip | 668 B | 668 B | ✓ |
middleware-r..fest.js gzip | 155 B | 156 B | N/A |
middleware.js gzip | 31.2 kB | 31.2 kB | N/A |
edge-runtime..pack.js gzip | 844 B | 844 B | ✓ |
Overall change | 1.51 kB | 1.51 kB | ✓ |
Next Runtimes
vercel/next.js canary | lfades/next.js lfades/pack-3247-implement-encryption_key-into-turbopack-as-hash_salt | Change | |
---|---|---|---|
274-experime...dev.js gzip | 322 B | 322 B | ✓ |
274.runtime.dev.js gzip | 314 B | 314 B | ✓ |
app-page-exp...dev.js gzip | 364 kB | 364 kB | ✓ |
app-page-exp..prod.js gzip | 129 kB | 129 kB | ✓ |
app-page-tur..prod.js gzip | 142 kB | 142 kB | ✓ |
app-page-tur..prod.js gzip | 138 kB | 138 kB | ✓ |
app-page.run...dev.js gzip | 352 kB | 352 kB | ✓ |
app-page.run..prod.js gzip | 125 kB | 125 kB | ✓ |
app-route-ex...dev.js gzip | 37.5 kB | 37.5 kB | ✓ |
app-route-ex..prod.js gzip | 25.6 kB | 25.6 kB | ✓ |
app-route-tu..prod.js gzip | 25.6 kB | 25.6 kB | ✓ |
app-route-tu..prod.js gzip | 25.4 kB | 25.4 kB | ✓ |
app-route.ru...dev.js gzip | 39.2 kB | 39.2 kB | ✓ |
app-route.ru..prod.js gzip | 25.4 kB | 25.4 kB | ✓ |
pages-api-tu..prod.js gzip | 9.69 kB | 9.69 kB | ✓ |
pages-api.ru...dev.js gzip | 11.6 kB | 11.6 kB | ✓ |
pages-api.ru..prod.js gzip | 9.68 kB | 9.68 kB | ✓ |
pages-turbo...prod.js gzip | 21.7 kB | 21.7 kB | ✓ |
pages.runtim...dev.js gzip | 27.5 kB | 27.5 kB | ✓ |
pages.runtim..prod.js gzip | 21.7 kB | 21.7 kB | ✓ |
server.runti..prod.js gzip | 916 kB | 916 kB | ✓ |
Overall change | 2.45 MB | 2.45 MB | ✓ |
build cache Overall increase ⚠️
vercel/next.js canary | lfades/next.js lfades/pack-3247-implement-encryption_key-into-turbopack-as-hash_salt | Change | |
---|---|---|---|
0.pack gzip | 2.08 MB | 2.09 MB | |
index.pack gzip | 74.4 kB | 74.9 kB | |
Overall change | 2.16 MB | 2.16 MB |
Diff details
Diff for main-HASH.js
Diff too large to display
Tests Passed |
@@ -8,6 +9,7 @@ pub struct ExecutionContext { | |||
pub project_path: ResolvedVc<FileSystemPath>, | |||
pub chunking_context: ResolvedVc<Box<dyn ChunkingContext>>, | |||
pub env: ResolvedVc<Box<dyn ProcessEnv>>, | |||
pub encryption_key: RcStr, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should not be part of execution context. Encryption key is next.js specific and shouldn't leak into turbopack crates
…s/pack-3247-implement-encryption_key-into-turbopack-as-hash_salt
@@ -38,18 +38,18 @@ export interface TransformOutput { | |||
map?: string | |||
output?: string | |||
} | |||
export declare function mdxCompile( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Revert this file? Hopefully #74654 fixes whatever was causing this to be regenerated?
…s/pack-3247-implement-encryption_key-into-turbopack-as-hash_salt
Merge activity
|
I checked that the encryption key is now being used as the hash_salt. I'm not sure about how to add a test for this behavior so let me know about any suggestions there. (I tried looking for tests that would use the functions up the call tree without any luck)