From 9f69766cfa3234ac7a343abdd81f41315cf33891 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Sun, 26 Nov 2023 19:55:23 +0100 Subject: [PATCH] Turbopack: enable some node.js builtin in edge runtime (#58850) ### What? Edge runtime allow additional node.js builtins see https://github.com/vercel/turbo/pull/6562 Closes PACK-2031 --------- Co-authored-by: Tim Neutkens --- Cargo.lock | 66 +++++++++---------- Cargo.toml | 6 +- .../crates/next-core/src/next_edge/context.rs | 1 + packages/next/package.json | 2 +- pnpm-lock.yaml | 10 +-- 5 files changed, 43 insertions(+), 42 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f808972adf6aa..0a0f1f010f4e6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -322,7 +322,7 @@ dependencies = [ [[package]] name = "auto-hash-map" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "serde", "smallvec", @@ -3549,7 +3549,7 @@ dependencies = [ [[package]] name = "node-file-trace" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "serde", @@ -7695,7 +7695,7 @@ dependencies = [ [[package]] name = "turbo-tasks" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "async-trait", @@ -7727,7 +7727,7 @@ dependencies = [ [[package]] name = "turbo-tasks-build" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "cargo-lock", @@ -7739,7 +7739,7 @@ dependencies = [ [[package]] name = "turbo-tasks-bytes" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "bytes", @@ -7754,7 +7754,7 @@ dependencies = [ [[package]] name = "turbo-tasks-env" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "dotenvs", @@ -7768,7 +7768,7 @@ dependencies = [ [[package]] name = "turbo-tasks-fetch" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "indexmap 1.9.3", @@ -7785,7 +7785,7 @@ dependencies = [ [[package]] name = "turbo-tasks-fs" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "auto-hash-map", @@ -7815,7 +7815,7 @@ dependencies = [ [[package]] name = "turbo-tasks-hash" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "base16", "hex", @@ -7827,7 +7827,7 @@ dependencies = [ [[package]] name = "turbo-tasks-macros" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "convert_case 0.6.0", @@ -7841,7 +7841,7 @@ dependencies = [ [[package]] name = "turbo-tasks-macros-shared" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "proc-macro2", "quote", @@ -7851,7 +7851,7 @@ dependencies = [ [[package]] name = "turbo-tasks-malloc" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "mimalloc", ] @@ -7859,7 +7859,7 @@ dependencies = [ [[package]] name = "turbo-tasks-memory" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "auto-hash-map", @@ -7884,7 +7884,7 @@ dependencies = [ [[package]] name = "turbopack" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "async-recursion", @@ -7915,7 +7915,7 @@ dependencies = [ [[package]] name = "turbopack-binding" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "auto-hash-map", "mdxjs", @@ -7955,7 +7955,7 @@ dependencies = [ [[package]] name = "turbopack-build" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "indexmap 1.9.3", @@ -7978,7 +7978,7 @@ dependencies = [ [[package]] name = "turbopack-cli-utils" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "clap 4.4.2", @@ -8002,7 +8002,7 @@ dependencies = [ [[package]] name = "turbopack-core" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "async-recursion", @@ -8032,7 +8032,7 @@ dependencies = [ [[package]] name = "turbopack-css" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "async-trait", @@ -8058,7 +8058,7 @@ dependencies = [ [[package]] name = "turbopack-dev" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "indexmap 1.9.3", @@ -8082,7 +8082,7 @@ dependencies = [ [[package]] name = "turbopack-dev-server" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "async-compression", @@ -8119,7 +8119,7 @@ dependencies = [ [[package]] name = "turbopack-ecmascript" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "async-trait", @@ -8153,7 +8153,7 @@ dependencies = [ [[package]] name = "turbopack-ecmascript-hmr-protocol" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "serde", "serde_json", @@ -8164,7 +8164,7 @@ dependencies = [ [[package]] name = "turbopack-ecmascript-plugins" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "async-trait", @@ -8187,7 +8187,7 @@ dependencies = [ [[package]] name = "turbopack-ecmascript-runtime" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "indoc", @@ -8204,7 +8204,7 @@ dependencies = [ [[package]] name = "turbopack-env" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "indexmap 1.9.3", @@ -8220,7 +8220,7 @@ dependencies = [ [[package]] name = "turbopack-image" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "base64 0.21.4", @@ -8240,7 +8240,7 @@ dependencies = [ [[package]] name = "turbopack-json" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "serde", @@ -8255,7 +8255,7 @@ dependencies = [ [[package]] name = "turbopack-mdx" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "mdxjs", @@ -8270,7 +8270,7 @@ dependencies = [ [[package]] name = "turbopack-node" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "async-stream", @@ -8305,7 +8305,7 @@ dependencies = [ [[package]] name = "turbopack-static" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "serde", @@ -8321,7 +8321,7 @@ dependencies = [ [[package]] name = "turbopack-swc-utils" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "swc_core", "turbo-tasks", @@ -8332,7 +8332,7 @@ dependencies = [ [[package]] name = "turbopack-wasm" version = "0.1.0" -source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231124.2#b0d2798675a0dcf26176496491c0790502dcbe7b" +source = "git+https://github.com/vercel/turbo.git?tag=turbopack-231126.2#12cdfed2cf3467d1cd87e12d092813d12ae3c3b8" dependencies = [ "anyhow", "indexmap 1.9.3", diff --git a/Cargo.toml b/Cargo.toml index a14ce800042f2..a6ed3bd05af4e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -43,11 +43,11 @@ next-transform-strip-page-exports = { path = "packages/next-swc/crates/next-tran testing = { version = "0.35.10" } # Turbo crates -turbopack-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-231124.2" } +turbopack-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-231126.2" } # [TODO]: need to refactor embed_directory! macro usages, as well as resolving turbo_tasks::function, macros.. -turbo-tasks = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-231124.2" } +turbo-tasks = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-231126.2" } # [TODO]: need to refactor embed_directory! macro usage in next-core -turbo-tasks-fs = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-231124.2" } +turbo-tasks-fs = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-231126.2" } # General Deps diff --git a/packages/next-swc/crates/next-core/src/next_edge/context.rs b/packages/next-swc/crates/next-core/src/next_edge/context.rs index f632b9f43cc6c..3566acf915ae6 100644 --- a/packages/next-swc/crates/next-core/src/next_edge/context.rs +++ b/packages/next-swc/crates/next-core/src/next_edge/context.rs @@ -138,6 +138,7 @@ pub async fn get_edge_resolve_options_context( enable_typescript: true, enable_react: true, enable_mjs_extension: true, + enable_edge_node_externals: true, rules: vec![( foreign_code_context_condition(next_config, project_path).await?, resolve_options_context.clone().cell(), diff --git a/packages/next/package.json b/packages/next/package.json index 6403c9bd5d620..9e2ffbe1a5011 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -193,7 +193,7 @@ "@types/ws": "8.2.0", "@vercel/ncc": "0.34.0", "@vercel/nft": "0.22.6", - "@vercel/turbopack-ecmascript-runtime": "https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-231124.2", + "@vercel/turbopack-ecmascript-runtime": "https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-231126.2", "acorn": "8.5.0", "amphtml-validator": "1.0.35", "anser": "1.4.9", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 522bde94ce1ca..521c25a4dcd65 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1068,8 +1068,8 @@ importers: specifier: 0.22.6 version: 0.22.6 '@vercel/turbopack-ecmascript-runtime': - specifier: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-231124.2 - version: '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-231124.2(react-refresh@0.12.0)(webpack@5.86.0)' + specifier: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-231126.2 + version: '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-231126.2(react-refresh@0.12.0)(webpack@5.86.0)' acorn: specifier: 8.5.0 version: 8.5.0 @@ -24649,9 +24649,9 @@ packages: /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-231124.2(react-refresh@0.12.0)(webpack@5.86.0)': - resolution: {registry: https://registry.npmjs.org/, tarball: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-231124.2} - id: '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-231124.2' + '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-231126.2(react-refresh@0.12.0)(webpack@5.86.0)': + resolution: {tarball: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-231126.2} + id: '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-231126.2' name: '@vercel/turbopack-ecmascript-runtime' version: 0.0.0 dependencies: