source map fixes (#61723)
### What? * show guessed original file for generate code * avoid internal cast * add get_source_map method * hide turbopack runtime stack lines * hide unmapped stack lines Closes PACK-2400 Before: ![image](https://github.com/vercel/next.js/assets/1365881/29f24f59-7c77-4496-92de-efcc72d28ad5) After: ![image](https://github.com/vercel/next.js/assets/1365881/ca07e9f9-71ea-440d-97a2-c2c731ab3899) and expanded: ![image](https://github.com/vercel/next.js/assets/1365881/1f73e632-890d-4681-8f21-ef502c676aae) ### Other Turbopack changes * https://github.com/vercel/turbo/pull/4235 <!-- Leah - chore(turborepo-lib): use compile error for feature validation --> * https://github.com/vercel/turbo/pull/7285 <!-- Tobias Koppers - resolve source maps that are attached in source code --> * https://github.com/vercel/turbo/pull/7301 <!-- Donny/강동윤 - fix(turbopack): Reverse order of css chunks to fix css module issues --> * https://github.com/vercel/turbo/pull/7286 <!-- Tobias Koppers - guess original source for generated code -->
This commit is contained in:
parent
b77373e283
commit
86c46edce7
9 changed files with 141 additions and 104 deletions
69
Cargo.lock
generated
69
Cargo.lock
generated
|
@ -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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
|
@ -3513,7 +3513,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"serde",
|
"serde",
|
||||||
|
@ -7557,7 +7557,7 @@ dependencies = [
|
||||||
[[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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
|
@ -7589,7 +7589,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"cargo-lock",
|
"cargo-lock",
|
||||||
|
@ -7601,7 +7601,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bytes",
|
"bytes",
|
||||||
|
@ -7616,7 +7616,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"dotenvs",
|
"dotenvs",
|
||||||
|
@ -7630,7 +7630,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"indexmap 1.9.3",
|
"indexmap 1.9.3",
|
||||||
|
@ -7647,7 +7647,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"auto-hash-map",
|
"auto-hash-map",
|
||||||
|
@ -7678,7 +7678,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base16",
|
"base16",
|
||||||
"hex",
|
"hex",
|
||||||
|
@ -7690,7 +7690,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"convert_case 0.6.0",
|
"convert_case 0.6.0",
|
||||||
|
@ -7704,7 +7704,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
@ -7714,7 +7714,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"mimalloc",
|
"mimalloc",
|
||||||
]
|
]
|
||||||
|
@ -7722,7 +7722,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"auto-hash-map",
|
"auto-hash-map",
|
||||||
|
@ -7747,7 +7747,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-recursion",
|
"async-recursion",
|
||||||
|
@ -7779,7 +7779,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"auto-hash-map",
|
"auto-hash-map",
|
||||||
"mdxjs",
|
"mdxjs",
|
||||||
|
@ -7820,7 +7820,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-build"
|
name = "turbopack-build"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"indexmap 1.9.3",
|
"indexmap 1.9.3",
|
||||||
|
@ -7845,7 +7845,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"clap 4.4.2",
|
"clap 4.4.2",
|
||||||
|
@ -7863,7 +7863,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-recursion",
|
"async-recursion",
|
||||||
|
@ -7876,6 +7876,7 @@ dependencies = [
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"patricia_tree",
|
"patricia_tree",
|
||||||
"qstring",
|
"qstring",
|
||||||
|
"ref-cast",
|
||||||
"regex",
|
"regex",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
|
@ -7893,7 +7894,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
|
@ -7921,7 +7922,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-dev"
|
name = "turbopack-dev"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"indexmap 1.9.3",
|
"indexmap 1.9.3",
|
||||||
|
@ -7946,7 +7947,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-compression",
|
"async-compression",
|
||||||
|
@ -7983,7 +7984,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
|
@ -8018,7 +8019,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
|
@ -8029,7 +8030,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
|
@ -8054,7 +8055,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"indoc",
|
"indoc",
|
||||||
|
@ -8071,7 +8072,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"indexmap 1.9.3",
|
"indexmap 1.9.3",
|
||||||
|
@ -8087,7 +8088,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"base64 0.21.4",
|
"base64 0.21.4",
|
||||||
|
@ -8107,7 +8108,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"serde",
|
"serde",
|
||||||
|
@ -8122,7 +8123,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"mdxjs",
|
"mdxjs",
|
||||||
|
@ -8137,7 +8138,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-stream",
|
"async-stream",
|
||||||
|
@ -8172,7 +8173,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"serde",
|
"serde",
|
||||||
|
@ -8188,7 +8189,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"swc_core",
|
"swc_core",
|
||||||
"turbo-tasks",
|
"turbo-tasks",
|
||||||
|
@ -8199,7 +8200,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"crossbeam-channel",
|
"crossbeam-channel",
|
||||||
|
@ -8215,7 +8216,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-240205.2#1796f1c950e4eef3cd6f73f93d72906d69f56617"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-240207.1#ea7eea84c72222af8986dd0e802ffa5754b7e357"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"indexmap 1.9.3",
|
"indexmap 1.9.3",
|
||||||
|
|
|
@ -37,11 +37,11 @@ swc_core = { version = "0.89.6", features = [
|
||||||
testing = { version = "0.35.16" }
|
testing = { version = "0.35.16" }
|
||||||
|
|
||||||
# Turbo crates
|
# Turbo crates
|
||||||
turbopack-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240205.2" }
|
turbopack-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240207.1" }
|
||||||
# [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-240205.2" }
|
turbo-tasks = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240207.1" }
|
||||||
# [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-240205.2" }
|
turbo-tasks-fs = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-240207.1" }
|
||||||
|
|
||||||
# General Deps
|
# General Deps
|
||||||
|
|
||||||
|
|
|
@ -30,14 +30,12 @@ use turbopack_binding::{
|
||||||
},
|
},
|
||||||
turbopack::{
|
turbopack::{
|
||||||
core::{
|
core::{
|
||||||
chunk::ModuleId,
|
|
||||||
diagnostics::PlainDiagnostic,
|
diagnostics::PlainDiagnostic,
|
||||||
error::PrettyPrintError,
|
error::PrettyPrintError,
|
||||||
issue::PlainIssue,
|
issue::PlainIssue,
|
||||||
source_map::{GenerateSourceMap, Token},
|
source_map::Token,
|
||||||
version::{PartialUpdate, TotalUpdate, Update, VersionState},
|
version::{PartialUpdate, TotalUpdate, Update, VersionState},
|
||||||
},
|
},
|
||||||
dev::ecmascript::EcmascriptDevChunkContent,
|
|
||||||
ecmascript_hmr_protocol::{ClientUpdateInstruction, ResourceIdentifier},
|
ecmascript_hmr_protocol::{ClientUpdateInstruction, ResourceIdentifier},
|
||||||
trace_utils::{
|
trace_utils::{
|
||||||
exit::ExitGuard,
|
exit::ExitGuard,
|
||||||
|
@ -791,12 +789,13 @@ pub fn project_update_info_subscribe(
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
#[napi(object)]
|
#[napi(object)]
|
||||||
pub struct StackFrame {
|
pub struct StackFrame {
|
||||||
|
pub is_server: bool,
|
||||||
|
pub is_internal: Option<bool>,
|
||||||
|
pub file: String,
|
||||||
|
// 1-indexed, unlike source map tokens
|
||||||
|
pub line: Option<u32>,
|
||||||
// 1-indexed, unlike source map tokens
|
// 1-indexed, unlike source map tokens
|
||||||
pub column: Option<u32>,
|
pub column: Option<u32>,
|
||||||
// 1-indexed, unlike source map tokens
|
|
||||||
pub file: String,
|
|
||||||
pub is_server: bool,
|
|
||||||
pub line: u32,
|
|
||||||
pub method_name: Option<String>,
|
pub method_name: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -845,62 +844,57 @@ pub async fn project_trace_source(
|
||||||
.join(chunk_base.to_owned())
|
.join(chunk_base.to_owned())
|
||||||
};
|
};
|
||||||
|
|
||||||
let content_vc = project.container.get_versioned_content(path);
|
let map = project
|
||||||
let map = match module {
|
.container
|
||||||
Some(module) => {
|
.get_source_map(path, module)
|
||||||
let Some(content) =
|
.await?
|
||||||
Vc::try_resolve_downcast_type::<EcmascriptDevChunkContent>(content_vc)
|
.context("chunk/module is missing a sourcemap")?;
|
||||||
.await?
|
|
||||||
else {
|
|
||||||
bail!("Was not EcmascriptDevChunkContent")
|
|
||||||
};
|
|
||||||
|
|
||||||
let entries = content.entries().await?;
|
let Some(line) = frame.line else {
|
||||||
let entry = entries.get(&ModuleId::String(module).cell().await?);
|
return Ok(None);
|
||||||
let map = match entry {
|
|
||||||
Some(entry) => *entry.code.generate_source_map().await?,
|
|
||||||
None => None,
|
|
||||||
};
|
|
||||||
map.context("Entry is missing sourcemap")?
|
|
||||||
}
|
|
||||||
None => {
|
|
||||||
let Some(versioned) =
|
|
||||||
Vc::try_resolve_sidecast::<Box<dyn GenerateSourceMap>>(content_vc).await?
|
|
||||||
else {
|
|
||||||
bail!("Could not GenerateSourceMap")
|
|
||||||
};
|
|
||||||
|
|
||||||
versioned
|
|
||||||
.generate_source_map()
|
|
||||||
.await?
|
|
||||||
.context("Chunk is missing a sourcemap")?
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
let token = map
|
let token = map
|
||||||
.lookup_token(
|
.lookup_token(
|
||||||
(frame.line as usize).saturating_sub(1),
|
(line as usize).saturating_sub(1),
|
||||||
(frame.column.unwrap_or(1) as usize).saturating_sub(1),
|
(frame.column.unwrap_or(1) as usize).saturating_sub(1),
|
||||||
)
|
)
|
||||||
.await?
|
.await?;
|
||||||
.clone_value()
|
|
||||||
.context("Unable to trace token from sourcemap")?;
|
|
||||||
|
|
||||||
let Token::Original(token) = token else {
|
let (original_file, line, column, name) = match &*token {
|
||||||
return Ok(None);
|
Token::Original(token) => (
|
||||||
|
&token.original_file,
|
||||||
|
// JS stack frames are 1-indexed, source map tokens are 0-indexed
|
||||||
|
Some(token.original_line as u32 + 1),
|
||||||
|
Some(token.original_column as u32 + 1),
|
||||||
|
token.name.clone(),
|
||||||
|
),
|
||||||
|
Token::Synthetic(token) => {
|
||||||
|
let Some(file) = &token.guessed_original_file else {
|
||||||
|
return Ok(None);
|
||||||
|
};
|
||||||
|
(file, None, None, None)
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
let Some(source_file) = token.original_file.strip_prefix("/turbopack/[project]/")
|
let Some(source_file) = original_file.strip_prefix("/turbopack/") else {
|
||||||
else {
|
bail!("Original file ({}) outside project", original_file)
|
||||||
bail!("Original file outside project")
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let (source_file, is_internal) =
|
||||||
|
if let Some(source_file) = source_file.strip_prefix("[project]/") {
|
||||||
|
(source_file, false)
|
||||||
|
} else {
|
||||||
|
(source_file, true)
|
||||||
|
};
|
||||||
|
|
||||||
Ok(Some(StackFrame {
|
Ok(Some(StackFrame {
|
||||||
file: source_file.to_string(),
|
file: source_file.to_string(),
|
||||||
method_name: token.name,
|
method_name: name,
|
||||||
line: token.original_line as u32 + 1,
|
line,
|
||||||
column: Some(token.original_column as u32 + 1),
|
column,
|
||||||
is_server: frame.is_server,
|
is_server: frame.is_server,
|
||||||
|
is_internal: Some(is_internal),
|
||||||
}))
|
}))
|
||||||
})
|
})
|
||||||
.await
|
.await
|
||||||
|
|
|
@ -44,6 +44,7 @@ use turbopack_binding::{
|
||||||
output::{OutputAsset, OutputAssets},
|
output::{OutputAsset, OutputAssets},
|
||||||
resolve::{find_context_file, FindContextFileResult},
|
resolve::{find_context_file, FindContextFileResult},
|
||||||
source::Source,
|
source::Source,
|
||||||
|
source_map::OptionSourceMap,
|
||||||
version::{Update, Version, VersionState, VersionedContent},
|
version::{Update, Version, VersionState, VersionedContent},
|
||||||
PROJECT_FILESYSTEM_NAME,
|
PROJECT_FILESYSTEM_NAME,
|
||||||
},
|
},
|
||||||
|
@ -271,6 +272,18 @@ impl ProjectContainer {
|
||||||
let this = self.await?;
|
let this = self.await?;
|
||||||
Ok(this.versioned_content_map.get(file_path))
|
Ok(this.versioned_content_map.get(file_path))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[turbo_tasks::function]
|
||||||
|
pub async fn get_source_map(
|
||||||
|
self: Vc<Self>,
|
||||||
|
file_path: Vc<FileSystemPath>,
|
||||||
|
section: Option<String>,
|
||||||
|
) -> Result<Vc<OptionSourceMap>> {
|
||||||
|
let this = self.await?;
|
||||||
|
Ok(this
|
||||||
|
.versioned_content_map
|
||||||
|
.get_source_map(file_path, section))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[turbo_tasks::value]
|
#[turbo_tasks::value]
|
||||||
|
|
|
@ -12,6 +12,7 @@ use turbopack_binding::{
|
||||||
turbopack::core::{
|
turbopack::core::{
|
||||||
asset::Asset,
|
asset::Asset,
|
||||||
output::{OutputAsset, OutputAssets},
|
output::{OutputAsset, OutputAssets},
|
||||||
|
source_map::{GenerateSourceMap, OptionSourceMap},
|
||||||
version::VersionedContent,
|
version::VersionedContent,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -92,10 +93,35 @@ impl VersionedContentMap {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[turbo_tasks::function]
|
#[turbo_tasks::function]
|
||||||
pub async fn get(
|
pub fn get(self: Vc<Self>, path: Vc<FileSystemPath>) -> Vc<Box<dyn VersionedContent>> {
|
||||||
|
self.get_asset(path).versioned_content()
|
||||||
|
}
|
||||||
|
|
||||||
|
#[turbo_tasks::function]
|
||||||
|
pub async fn get_source_map(
|
||||||
self: Vc<Self>,
|
self: Vc<Self>,
|
||||||
path: Vc<FileSystemPath>,
|
path: Vc<FileSystemPath>,
|
||||||
) -> Result<Vc<Box<dyn VersionedContent>>> {
|
section: Option<String>,
|
||||||
|
) -> Result<Vc<OptionSourceMap>> {
|
||||||
|
if let Some(generate_source_map) =
|
||||||
|
Vc::try_resolve_sidecast::<Box<dyn GenerateSourceMap>>(self.get_asset(path)).await?
|
||||||
|
{
|
||||||
|
Ok(if let Some(section) = section {
|
||||||
|
generate_source_map.by_section(section)
|
||||||
|
} else {
|
||||||
|
generate_source_map.generate_source_map()
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
let path = path.to_string().await?;
|
||||||
|
bail!("no source map for path {}", path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[turbo_tasks::function]
|
||||||
|
pub async fn get_asset(
|
||||||
|
self: Vc<Self>,
|
||||||
|
path: Vc<FileSystemPath>,
|
||||||
|
) -> Result<Vc<Box<dyn OutputAsset>>> {
|
||||||
let result = self.raw_get(path).await?;
|
let result = self.raw_get(path).await?;
|
||||||
if let Some(MapEntry {
|
if let Some(MapEntry {
|
||||||
assets_operation,
|
assets_operation,
|
||||||
|
@ -106,15 +132,14 @@ impl VersionedContentMap {
|
||||||
Vc::connect(assets_operation);
|
Vc::connect(assets_operation);
|
||||||
Vc::connect(emit_operation);
|
Vc::connect(emit_operation);
|
||||||
|
|
||||||
for asset in assets_operation.await?.iter() {
|
for &asset in assets_operation.await?.iter() {
|
||||||
if asset.ident().path().resolve().await? == path {
|
if asset.ident().path().resolve().await? == path {
|
||||||
let content = asset.versioned_content();
|
return Ok(asset);
|
||||||
return Ok(content);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let path = path.to_string().await?;
|
let path = path.to_string().await?;
|
||||||
bail!("could not find versioned content for path {}", path);
|
bail!("could not find asset for path {}", path);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[turbo_tasks::function]
|
#[turbo_tasks::function]
|
||||||
|
|
|
@ -196,7 +196,7 @@
|
||||||
"@types/ws": "8.2.0",
|
"@types/ws": "8.2.0",
|
||||||
"@vercel/ncc": "0.34.0",
|
"@vercel/ncc": "0.34.0",
|
||||||
"@vercel/nft": "0.26.3",
|
"@vercel/nft": "0.26.3",
|
||||||
"@vercel/turbopack-ecmascript-runtime": "https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240205.2",
|
"@vercel/turbopack-ecmascript-runtime": "https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240207.1",
|
||||||
"acorn": "8.5.0",
|
"acorn": "8.5.0",
|
||||||
"amphtml-validator": "1.0.35",
|
"amphtml-validator": "1.0.35",
|
||||||
"anser": "1.4.9",
|
"anser": "1.4.9",
|
||||||
|
|
|
@ -71,7 +71,8 @@ function getOriginalStackFrame(
|
||||||
expanded: !Boolean(
|
expanded: !Boolean(
|
||||||
/* collapsed */
|
/* collapsed */
|
||||||
(source.file?.includes('node_modules') ||
|
(source.file?.includes('node_modules') ||
|
||||||
body.originalStackFrame?.file?.includes('node_modules')) ??
|
body.originalStackFrame?.file?.includes('node_modules') ||
|
||||||
|
body.originalStackFrame?.file?.startsWith('[turbopack]/')) ??
|
||||||
true
|
true
|
||||||
),
|
),
|
||||||
sourceStackFrame: source,
|
sourceStackFrame: source,
|
||||||
|
|
|
@ -21,8 +21,9 @@ interface TurbopackStackFrame {
|
||||||
// 1-based
|
// 1-based
|
||||||
file: string
|
file: string
|
||||||
isServer: boolean
|
isServer: boolean
|
||||||
line: number
|
line: number | null
|
||||||
methodName: string | null
|
methodName: string | null
|
||||||
|
isInternal?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
const currentSourcesByFile: Map<string, Promise<string | null>> = new Map()
|
const currentSourcesByFile: Map<string, Promise<string | null>> = new Map()
|
||||||
|
@ -43,7 +44,7 @@ async function batchedTraceSource(
|
||||||
|
|
||||||
let source
|
let source
|
||||||
// Don't show code frames for node_modules. These can also often be large bundled files.
|
// Don't show code frames for node_modules. These can also often be large bundled files.
|
||||||
if (!sourceFrame.file.includes('node_modules')) {
|
if (!sourceFrame.file.includes('node_modules') && !sourceFrame.isInternal) {
|
||||||
let sourcePromise = currentSourcesByFile.get(sourceFrame.file)
|
let sourcePromise = currentSourcesByFile.get(sourceFrame.file)
|
||||||
if (!sourcePromise) {
|
if (!sourcePromise) {
|
||||||
sourcePromise = project.getSourceForAsset(sourceFrame.file)
|
sourcePromise = project.getSourceForAsset(sourceFrame.file)
|
||||||
|
@ -82,14 +83,16 @@ export async function createOriginalStackFrame(
|
||||||
return {
|
return {
|
||||||
originalStackFrame: traced.frame,
|
originalStackFrame: traced.frame,
|
||||||
originalCodeFrame:
|
originalCodeFrame:
|
||||||
traced.source === null || traced.frame.file.includes('node_modules')
|
traced.source === null
|
||||||
? null
|
? null
|
||||||
: codeFrameColumns(
|
: codeFrameColumns(
|
||||||
traced.source,
|
traced.source,
|
||||||
{
|
{
|
||||||
start: {
|
start: {
|
||||||
line: traced.frame.lineNumber,
|
// 1-based, but -1 means start line without highlighting
|
||||||
column: traced.frame.column ?? 1,
|
line: traced.frame.lineNumber ?? -1,
|
||||||
|
// 1-based, but 0 means whole line without column highlighting
|
||||||
|
column: traced.frame.column ?? 0,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{ forceColor: true }
|
{ forceColor: true }
|
||||||
|
@ -159,7 +162,7 @@ export function getOverlayMiddleware(project: Project) {
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
launchEditor(filePath, frame.line, frame.column ?? 1)
|
launchEditor(filePath, frame.line ?? 1, frame.column ?? 1)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log('Failed to launch editor:', err)
|
console.log('Failed to launch editor:', err)
|
||||||
res.statusCode = 500
|
res.statusCode = 500
|
||||||
|
|
|
@ -1078,8 +1078,8 @@ importers:
|
||||||
specifier: 0.26.3
|
specifier: 0.26.3
|
||||||
version: 0.26.3
|
version: 0.26.3
|
||||||
'@vercel/turbopack-ecmascript-runtime':
|
'@vercel/turbopack-ecmascript-runtime':
|
||||||
specifier: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240205.2
|
specifier: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240207.1
|
||||||
version: '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240205.2(react-refresh@0.12.0)(webpack@5.90.0)'
|
version: '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240207.1(react-refresh@0.12.0)(webpack@5.90.0)'
|
||||||
acorn:
|
acorn:
|
||||||
specifier: 8.5.0
|
specifier: 8.5.0
|
||||||
version: 8.5.0
|
version: 8.5.0
|
||||||
|
@ -25871,9 +25871,9 @@ packages:
|
||||||
/zwitch@2.0.4:
|
/zwitch@2.0.4:
|
||||||
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
|
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
|
||||||
|
|
||||||
'@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240205.2(react-refresh@0.12.0)(webpack@5.90.0)':
|
'@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240207.1(react-refresh@0.12.0)(webpack@5.90.0)':
|
||||||
resolution: {tarball: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240205.2}
|
resolution: {tarball: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240207.1}
|
||||||
id: '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240205.2'
|
id: '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-240207.1'
|
||||||
name: '@vercel/turbopack-ecmascript-runtime'
|
name: '@vercel/turbopack-ecmascript-runtime'
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|
Loading…
Reference in a new issue