Turbopack + Relay: correctly implement artifact_directory to fix multi-project test (#67403)

Previously, if `artifact_directory` were set, artifacts would be
resolved at a fixed location relative to each file. This correctly
resolves them from the project root.

Test Plan: `TURBOPACK_BUILD=1 TURBOPACK=1 pnpm test-dev
test/integration/relay-graphql-swc-multi-project/test/index.test.js`

---------

Co-authored-by: Tobias Koppers <tobias.koppers@googlemail.com>
This commit is contained in:
Will Binns-Smith 2024-07-04 07:52:45 -07:00 committed by GitHub
parent f0abeb8e42
commit a6631d994f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 116 additions and 110 deletions

74
Cargo.lock generated
View file

@ -321,7 +321,7 @@ dependencies = [
[[package]] [[package]]
name = "auto-hash-map" name = "auto-hash-map"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"serde", "serde",
"smallvec", "smallvec",
@ -3111,7 +3111,7 @@ dependencies = [
[[package]] [[package]]
name = "node-file-trace" name = "node-file-trace"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"serde", "serde",
@ -6978,12 +6978,12 @@ dependencies = [
[[package]] [[package]]
name = "turbo-prehash" name = "turbo-prehash"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
[[package]] [[package]]
name = "turbo-tasks" name = "turbo-tasks"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-trait", "async-trait",
@ -7017,7 +7017,7 @@ dependencies = [
[[package]] [[package]]
name = "turbo-tasks-build" name = "turbo-tasks-build"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"cargo-lock", "cargo-lock",
@ -7030,7 +7030,7 @@ dependencies = [
[[package]] [[package]]
name = "turbo-tasks-bytes" name = "turbo-tasks-bytes"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"bytes", "bytes",
@ -7044,7 +7044,7 @@ dependencies = [
[[package]] [[package]]
name = "turbo-tasks-env" name = "turbo-tasks-env"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"dotenvs", "dotenvs",
@ -7058,7 +7058,7 @@ dependencies = [
[[package]] [[package]]
name = "turbo-tasks-fetch" name = "turbo-tasks-fetch"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"lazy_static", "lazy_static",
@ -7074,7 +7074,7 @@ dependencies = [
[[package]] [[package]]
name = "turbo-tasks-fs" name = "turbo-tasks-fs"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"auto-hash-map", "auto-hash-map",
@ -7106,7 +7106,7 @@ dependencies = [
[[package]] [[package]]
name = "turbo-tasks-hash" name = "turbo-tasks-hash"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"md4", "md4",
"turbo-tasks-macros", "turbo-tasks-macros",
@ -7116,7 +7116,7 @@ dependencies = [
[[package]] [[package]]
name = "turbo-tasks-macros" name = "turbo-tasks-macros"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"proc-macro-error", "proc-macro-error",
@ -7130,7 +7130,7 @@ dependencies = [
[[package]] [[package]]
name = "turbo-tasks-macros-shared" name = "turbo-tasks-macros-shared"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -7140,7 +7140,7 @@ dependencies = [
[[package]] [[package]]
name = "turbo-tasks-malloc" name = "turbo-tasks-malloc"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"mimalloc", "mimalloc",
] ]
@ -7148,7 +7148,7 @@ dependencies = [
[[package]] [[package]]
name = "turbo-tasks-memory" name = "turbo-tasks-memory"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"auto-hash-map", "auto-hash-map",
@ -7176,7 +7176,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack" name = "turbopack"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-recursion", "async-recursion",
@ -7206,7 +7206,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-binding" name = "turbopack-binding"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"auto-hash-map", "auto-hash-map",
"mdxjs", "mdxjs",
@ -7247,7 +7247,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-browser" name = "turbopack-browser"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"indexmap 1.9.3", "indexmap 1.9.3",
@ -7270,7 +7270,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-cli-utils" name = "turbopack-cli-utils"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"clap", "clap",
@ -7287,7 +7287,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-core" name = "turbopack-core"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-recursion", "async-recursion",
@ -7316,7 +7316,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-css" name = "turbopack-css"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"indexmap 1.9.3", "indexmap 1.9.3",
@ -7343,7 +7343,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-dev-server" name = "turbopack-dev-server"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-compression", "async-compression",
@ -7379,7 +7379,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-ecmascript" name = "turbopack-ecmascript"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-trait", "async-trait",
@ -7414,7 +7414,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-ecmascript-hmr-protocol" name = "turbopack-ecmascript-hmr-protocol"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"serde", "serde",
"serde_json", "serde_json",
@ -7425,7 +7425,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-ecmascript-plugins" name = "turbopack-ecmascript-plugins"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-trait", "async-trait",
@ -7450,7 +7450,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-ecmascript-runtime" name = "turbopack-ecmascript-runtime"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"indoc", "indoc",
@ -7466,7 +7466,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-env" name = "turbopack-env"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"indexmap 1.9.3", "indexmap 1.9.3",
@ -7482,7 +7482,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-image" name = "turbopack-image"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"base64 0.21.4", "base64 0.21.4",
@ -7501,7 +7501,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-json" name = "turbopack-json"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"serde", "serde",
@ -7516,7 +7516,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-mdx" name = "turbopack-mdx"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"mdxjs", "mdxjs",
@ -7531,7 +7531,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-node" name = "turbopack-node"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-stream", "async-stream",
@ -7565,7 +7565,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-nodejs" name = "turbopack-nodejs"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"indexmap 1.9.3", "indexmap 1.9.3",
@ -7585,7 +7585,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-resolve" name = "turbopack-resolve"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"indexmap 1.9.3", "indexmap 1.9.3",
@ -7603,7 +7603,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-static" name = "turbopack-static"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"serde", "serde",
@ -7619,7 +7619,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-swc-utils" name = "turbopack-swc-utils"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"swc_core", "swc_core",
"turbo-tasks", "turbo-tasks",
@ -7630,7 +7630,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-trace-server" name = "turbopack-trace-server"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"either", "either",
@ -7650,7 +7650,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-trace-utils" name = "turbopack-trace-utils"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"crossbeam-channel", "crossbeam-channel",
@ -7666,7 +7666,7 @@ dependencies = [
[[package]] [[package]]
name = "turbopack-wasm" name = "turbopack-wasm"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240703.1#69bb5947d173f3b84a3f9cef9f338485c931dc9f" source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240704.3#8ef95da2a4c8a0ca009a43f6dc82f04c4c9360cc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"indexmap 1.9.3", "indexmap 1.9.3",

View file

@ -38,11 +38,11 @@ swc_core = { version = "0.95.4", features = [
testing = { version = "0.36.0" } testing = { version = "0.36.0" }
# Turbo crates # Turbo crates
turbopack-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240703.1" } turbopack-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240704.3" }
# [TODO]: need to refactor embed_directory! macro usages, as well as resolving turbo_tasks::function, macros.. # [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-240703.1" } turbo-tasks = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240704.3" }
# [TODO]: need to refactor embed_directory! macro usage in next-core # [TODO]: need to refactor embed_directory! macro usage in next-core
turbo-tasks-fs = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240703.1" } turbo-tasks-fs = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240704.3" }
# General Deps # General Deps

View file

@ -245,7 +245,7 @@ pub async fn get_client_module_options_context(
get_next_client_transforms_rules(next_config, ty.into_value(), mode, true).await?; get_next_client_transforms_rules(next_config, ty.into_value(), mode, true).await?;
let additional_rules: Vec<ModuleRule> = vec![ let additional_rules: Vec<ModuleRule> = vec![
get_swc_ecma_transform_plugin_rule(next_config, project_path).await?, get_swc_ecma_transform_plugin_rule(next_config, project_path).await?,
get_relay_transform_rule(next_config).await?, get_relay_transform_rule(next_config, project_path).await?,
get_emotion_transform_rule(next_config).await?, get_emotion_transform_rule(next_config).await?,
get_styled_components_transform_rule(next_config).await?, get_styled_components_transform_rule(next_config).await?,
get_styled_jsx_transform_rule(next_config, target_browsers).await?, get_styled_jsx_transform_rule(next_config, target_browsers).await?,

View file

@ -466,7 +466,7 @@ pub async fn get_server_module_options_context(
// A set of custom ecma transform rules being applied to server context. // A set of custom ecma transform rules being applied to server context.
let source_transform_rules: Vec<ModuleRule> = vec![ let source_transform_rules: Vec<ModuleRule> = vec![
get_swc_ecma_transform_plugin_rule(next_config, project_path).await?, get_swc_ecma_transform_plugin_rule(next_config, project_path).await?,
get_relay_transform_rule(next_config).await?, get_relay_transform_rule(next_config, project_path).await?,
get_emotion_transform_rule(next_config).await?, get_emotion_transform_rule(next_config).await?,
] ]
.into_iter() .into_iter()

View file

@ -1,5 +1,6 @@
use anyhow::Result; use anyhow::Result;
use turbo_tasks::Vc; use turbo_tasks::Vc;
use turbo_tasks_fs::FileSystemPath;
use turbopack_binding::turbopack::{ use turbopack_binding::turbopack::{
ecmascript_plugin::transform::relay::RelayTransformer, turbopack::module_options::ModuleRule, ecmascript_plugin::transform::relay::RelayTransformer, turbopack::module_options::ModuleRule,
}; };
@ -8,11 +9,19 @@ use super::get_ecma_transform_rule;
use crate::next_config::NextConfig; use crate::next_config::NextConfig;
/// Returns a transform rule for the relay graphql transform. /// Returns a transform rule for the relay graphql transform.
pub async fn get_relay_transform_rule(next_config: Vc<NextConfig>) -> Result<Option<ModuleRule>> { pub async fn get_relay_transform_rule(
next_config: Vc<NextConfig>,
project_path: Vc<FileSystemPath>,
) -> Result<Option<ModuleRule>> {
let enable_mdx_rs = next_config.mdx_rs().await?.is_some(); let enable_mdx_rs = next_config.mdx_rs().await?.is_some();
let project_path = &*project_path.await?;
let module_rule = next_config.await?.compiler.as_ref().and_then(|value| { let module_rule = next_config.await?.compiler.as_ref().and_then(|value| {
value.relay.as_ref().map(|config| { value.relay.as_ref().map(|config| {
get_ecma_transform_rule(Box::new(RelayTransformer::new(config)), enable_mdx_rs, true) get_ecma_transform_rule(
Box::new(RelayTransformer::new(config, project_path)),
enable_mdx_rs,
true,
)
}) })
}); });

View file

@ -205,7 +205,7 @@
"@types/ws": "8.2.0", "@types/ws": "8.2.0",
"@vercel/ncc": "0.34.0", "@vercel/ncc": "0.34.0",
"@vercel/nft": "0.27.1", "@vercel/nft": "0.27.1",
"@vercel/turbopack-ecmascript-runtime": "https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240703.1", "@vercel/turbopack-ecmascript-runtime": "https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240704.3",
"acorn": "8.11.3", "acorn": "8.11.3",
"amphtml-validator": "1.0.35", "amphtml-validator": "1.0.35",
"anser": "1.4.9", "anser": "1.4.9",

View file

@ -1111,8 +1111,8 @@ importers:
specifier: 0.27.1 specifier: 0.27.1
version: 0.27.1(encoding@0.1.13) version: 0.27.1(encoding@0.1.13)
'@vercel/turbopack-ecmascript-runtime': '@vercel/turbopack-ecmascript-runtime':
specifier: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240703.1 specifier: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240704.3
version: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240703.1 version: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240704.3
acorn: acorn:
specifier: 8.11.3 specifier: 8.11.3
version: 8.11.3 version: 8.11.3
@ -5111,8 +5111,8 @@ packages:
resolution: {integrity: sha512-OTe0KE37F5Y2eTys6eMnfopC+P4qr2ooXUTFyFPTplYSPwowmFk/HLD1FXtbKLjqsIH0SgekcJWad+C5uX4nkg==} resolution: {integrity: sha512-OTe0KE37F5Y2eTys6eMnfopC+P4qr2ooXUTFyFPTplYSPwowmFk/HLD1FXtbKLjqsIH0SgekcJWad+C5uX4nkg==}
engines: {node: '>=16'} engines: {node: '>=16'}
'@vercel/turbopack-ecmascript-runtime@https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240703.1': '@vercel/turbopack-ecmascript-runtime@https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240704.3':
resolution: {tarball: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240703.1} resolution: {tarball: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240704.3}
version: 0.0.0 version: 0.0.0
'@webassemblyjs/ast@1.11.6': '@webassemblyjs/ast@1.11.6':
@ -19673,7 +19673,7 @@ snapshots:
satori: 0.10.9 satori: 0.10.9
yoga-wasm-web: 0.3.3 yoga-wasm-web: 0.3.3
'@vercel/turbopack-ecmascript-runtime@https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240703.1': '@vercel/turbopack-ecmascript-runtime@https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240704.3':
dependencies: dependencies:
'@types/node': 20.12.3 '@types/node': 20.12.3

View file

@ -33,71 +33,68 @@ const runRelayCompiler = () => {
} }
// TODO: Support for Turbopack // TODO: Support for Turbopack
;(process.env.TURBOPACK ? describe.skip : describe)( describe('Relay Compiler Transform - Multi Project Config', () => {
'Relay Compiler Transform - Multi Project Config', beforeAll(() => {
() => { runRelayCompiler()
beforeAll(() => { })
runRelayCompiler() ;(process.env.TURBOPACK_BUILD ? describe.skip : describe)(
}) 'development mode',
;(process.env.TURBOPACK_BUILD ? describe.skip : describe)( () => {
'development mode', describe('project-a', () => {
() => { beforeAll(async () => {
describe('project-a', () => { appPort = await findPort()
beforeAll(async () => { app = await launchApp(projectAAppDir, appPort, {
appPort = await findPort() cwd: projectAAppDir,
app = await launchApp(projectAAppDir, appPort, {
cwd: projectAAppDir,
})
}) })
afterAll(() => killApp(app))
runTests('Project A')
}) })
describe('project-b', () => { afterAll(() => killApp(app))
beforeAll(async () => {
appPort = await findPort() runTests('Project A')
app = await launchApp(projectBAppDir, appPort, { })
cwd: projectBAppDir,
}) describe('project-b', () => {
beforeAll(async () => {
appPort = await findPort()
app = await launchApp(projectBAppDir, appPort, {
cwd: projectBAppDir,
}) })
afterAll(() => killApp(app))
runTests('Project B')
})
}
)
;(process.env.TURBOPACK_DEV ? describe.skip : describe)(
'production mode',
() => {
// eslint-disable-next-line jest/no-identical-title
describe('project-a', () => {
beforeAll(async () => {
await nextBuild(projectAAppDir, [], { cwd: projectAAppDir })
appPort = await findPort()
app = await nextStart(projectAAppDir, appPort)
})
afterAll(() => killApp(app))
runTests('Project A')
}) })
// eslint-disable-next-line jest/no-identical-title afterAll(() => killApp(app))
describe('project-b', () => {
beforeAll(async () => {
await nextBuild(projectBAppDir, [], { cwd: projectBAppDir })
appPort = await findPort()
app = await nextStart(projectBAppDir, appPort)
})
afterAll(() => killApp(app)) runTests('Project B')
})
runTests('Project B') }
)
;(process.env.TURBOPACK_DEV ? describe.skip : describe)(
'production mode',
() => {
// eslint-disable-next-line jest/no-identical-title
describe('project-a', () => {
beforeAll(async () => {
await nextBuild(projectAAppDir, [], { cwd: projectAAppDir })
appPort = await findPort()
app = await nextStart(projectAAppDir, appPort)
}) })
}
) afterAll(() => killApp(app))
}
) runTests('Project A')
})
// eslint-disable-next-line jest/no-identical-title
describe('project-b', () => {
beforeAll(async () => {
await nextBuild(projectBAppDir, [], { cwd: projectBAppDir })
appPort = await findPort()
app = await nextStart(projectBAppDir, appPort)
})
afterAll(() => killApp(app))
runTests('Project B')
})
}
)
})