Skip to content

Commit f29734a

Browse files
committed
try passing traces through the napi layer
1 parent 0df7054 commit f29734a

File tree

4 files changed

+14
-3
lines changed

4 files changed

+14
-3
lines changed

crates/napi/src/next_api/utils.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,7 @@ pub struct NapiIssue {
285285
pub source: Option<NapiIssueSource>,
286286
pub documentation_link: String,
287287
pub sub_issues: Vec<NapiIssue>,
288+
pub import_trace: Option<serde_json::Value>,
288289
}
289290

290291
impl From<&PlainIssue> for NapiIssue {
@@ -309,6 +310,10 @@ impl From<&PlainIssue> for NapiIssue {
309310
.iter()
310311
.map(|issue| (&**issue).into())
311312
.collect(),
313+
import_trace: issue
314+
.import_trace
315+
.as_ref()
316+
.map(|trace| serde_json::to_value(&**trace).unwrap()),
312317
}
313318
}
314319
}

packages/next/src/build/swc/generated-native.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,7 @@ export interface NapiIssue {
345345
source?: NapiIssueSource
346346
documentationLink: string
347347
subIssues: Array<NapiIssue>
348+
importTrace?: any
348349
}
349350
export interface NapiIssueSource {
350351
source: NapiSource

packages/next/src/build/swc/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ export interface Issue {
9696
}
9797
documentationLink: string
9898
subIssues: Issue[]
99+
importTrace?: string[]
99100
}
100101

101102
export interface Diagnostics {

packages/next/src/shared/lib/turbopack/utils.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ export function processIssues(
129129
}
130130

131131
export function formatIssue(issue: Issue) {
132-
const { filePath, title, description, source } = issue
132+
const { filePath, title, description, source, importTrace } = issue
133133
let { documentationLink } = issue
134134
let formattedTitle = renderStyledStringToErrorAnsi(title).replace(
135135
/\n/g,
@@ -198,8 +198,12 @@ export function formatIssue(issue: Issue) {
198198
// message += renderStyledStringToErrorAnsi(detail) + '\n\n'
199199
// }
200200

201-
// TODO: Include a trace from the issue.
202-
201+
if (importTrace) {
202+
message +=
203+
'Import trace for requested module:\n' +
204+
importTrace.map((i) => ' ' + i).join('\n') +
205+
'\n\n'
206+
}
203207
if (documentationLink) {
204208
message += documentationLink + '\n\n'
205209
}

0 commit comments

Comments
 (0)