Commit edf7906
committed
fix(error): preserve Error.cause chain in non-debug output
Addresses Cursor bugbot feedback on PR #1238. The previous code walked
the cause chain only when `showStack`/verbose was set, so non-debug users
lost the wrapped-error diagnostic context that `messageWithCauses` used
to concatenate automatically.
- Always fold up to 5 `Error.cause` messages into `message` for generic
Error instances, so the outer message reads like
`outer: middle: root` — matching `pony-cause`'s behavior.
- The verbose/debug path still renders the richer `Caused by [N]:`
formatted body with stack traces.
- Add regression tests covering both the cause-chain preservation and
the 5-level truncation cap.1 parent a4c5db8 commit edf7906
File tree
2 files changed
+48
-0
lines changed- packages/cli
- src/utils/error
- test/unit/utils/error
2 files changed
+48
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
77 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
78 | 94 | | |
79 | 95 | | |
80 | 96 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
150 | 150 | | |
151 | 151 | | |
152 | 152 | | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
153 | 185 | | |
154 | 186 | | |
155 | 187 | | |
| |||
0 commit comments