@@ -167,7 +167,7 @@ function addPrefixProjctName(msg: string, showProjectVersion = false): string {
167
167
168
168
function getAssertErrMsg ( thing : unknown ) : { assertMsg : string ; showVikeVersion : boolean } | null {
169
169
let errMsg : string
170
- let errStack : null | string = null
170
+ let errStack : string | undefined
171
171
if ( typeof thing === 'string' ) {
172
172
errMsg = thing
173
173
} else if ( isObject ( thing ) && typeof thing . message === 'string' && typeof thing . stack === 'string' ) {
@@ -177,32 +177,23 @@ function getAssertErrMsg(thing: unknown): { assertMsg: string; showVikeVersion:
177
177
return null
178
178
}
179
179
180
- let assertMsg : string
181
- let isBug : boolean
182
- if ( errMsg . startsWith ( projectTag ) ) {
183
- assertMsg = errMsg . slice ( projectTag . length )
184
- isBug = false
185
- } else if ( errMsg . startsWith ( projectTagWithVersion ) ) {
186
- assertMsg = errMsg . slice ( projectTagWithVersion . length )
187
- isBug = true
188
- } else {
189
- return null
190
- }
191
-
192
- // Append stack trace
193
- if ( errStack && ( isBug || globalObject . showStackTraceList . has ( thing as any ) ) ) {
194
- assertMsg = ` ${ assertMsg } \n ${ removeErrMsg ( errStack ) } `
180
+ for ( const tag of [ projectTagWithVersion , projectTag ] ) {
181
+ const showVikeVersion = tag . endsWith ( projectTagWithVersion )
182
+ const prefix = `Error: ${ tag } `
183
+ if ( errStack ?. startsWith ( prefix ) ) {
184
+ if ( globalObject . showStackTraceList . has ( thing as any ) ) {
185
+ const assertMsg = errStack . slice ( prefix . length )
186
+ return { assertMsg, showVikeVersion }
187
+ }
188
+ } else if ( errStack ?. includes ( tag ) ) {
189
+ throw new Error ( 'Internal Vike error' )
190
+ }
191
+ if ( errMsg ?. startsWith ( tag ) ) {
192
+ const assertMsg = errMsg . slice ( tag . length )
193
+ return { assertMsg , showVikeVersion }
194
+ }
195
195
}
196
-
197
- const showVikeVersion = isBug
198
- return { assertMsg, showVikeVersion }
199
- }
200
-
201
- function removeErrMsg ( stack : unknown ) : string {
202
- if ( typeof stack !== 'string' ) return String ( stack )
203
- const [ firstLine , ...stackLines ] = stack . split ( '\n' )
204
- if ( ! firstLine ! . startsWith ( 'Error: ' ) ) return stack
205
- return stackLines . join ( '\n' )
196
+ return null
206
197
}
207
198
208
199
function overwriteAssertProductionLogger ( logger : Logger ) : void {
0 commit comments