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

Implement encryption key into turbopack as hash salt #72933

Conversation

lfades
Copy link
Member

@lfades lfades commented Nov 18, 2024

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)

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
@lfades lfades requested review from shuding and kdy1 November 18, 2024 21:14
@ijjk ijjk added the Turbopack Related to Turbopack with Next.js. label Nov 18, 2024
@ijjk
Copy link
Member

ijjk commented Nov 18, 2024

Allow CI Workflow Run

  • approve CI run for commit: c65c43c

Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer

Sorry, something went wrong.

@@ -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,
Copy link
Member Author

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.

Copy link
Member

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

@ijjk
Copy link
Member

ijjk commented Nov 18, 2024

Stats from current PR

Default Build (Increase detected ⚠️)
General
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 ⚠️ +2.61 kB
index.pack gzip 74.4 kB 74.9 kB ⚠️ +477 B
Overall change 2.16 MB 2.16 MB ⚠️ +3.09 kB
Diff details
Diff for main-HASH.js

Diff too large to display

Commit: c65c43c

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
@ijjk
Copy link
Member

ijjk commented Nov 19, 2024

Tests Passed

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
sokra
sokra previously requested changes Jan 3, 2025
@@ -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,
Copy link
Member

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

lfades added 2 commits January 8, 2025 17:26
…s/pack-3247-implement-encryption_key-into-turbopack-as-hash_salt
@ijjk ijjk added the type: next label Jan 8, 2025
@lfades lfades requested review from sokra and bgw January 8, 2025 23:25
@@ -38,18 +38,18 @@ export interface TransformOutput {
map?: string
output?: string
}
export declare function mdxCompile(
Copy link
Member

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?

lfades added 3 commits January 8, 2025 18:58
…s/pack-3247-implement-encryption_key-into-turbopack-as-hash_salt
@bgw bgw dismissed sokra’s stale review January 9, 2025 00:12

Resolved issue

Copy link
Member

bgw commented Jan 9, 2025

Merge activity

  • Jan 8, 8:10 PM EST: Graphite couldn't merge this PR because it failed for an unknown reason (Stack merges are not currently supported for forked repositories. Please create a branch in the target repository in order to merge).

@bgw bgw merged commit 6b7241a into vercel:canary Jan 9, 2025
123 checks passed
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 24, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
locked Turbopack Related to Turbopack with Next.js. type: next
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants