@@ -9,7 +9,8 @@ interface IParsedMessage {
99 filePath ?: string ;
1010 line ?: number ;
1111 column ?: number ;
12- message : string ;
12+ messagePrefix : string ;
13+ messageSuffix : string ;
1314}
1415
1516interface IFileLocation {
@@ -46,7 +47,7 @@ export class LogSourceMapService implements Mobile.ILogSourceMapService {
4647
4748 if ( originalLocation && originalLocation . sourceFile ) {
4849 const { sourceFile, line, column} = originalLocation ;
49- outputData = `${ outputData } ${ parsedLine . message } ${ LogSourceMapService . FILE_PREFIX } ${ sourceFile } :${ line } :${ column } \n` ;
50+ outputData = `${ outputData } ${ parsedLine . messagePrefix } ${ LogSourceMapService . FILE_PREFIX } ${ sourceFile } :${ line } :${ column } ${ parsedLine . messageSuffix } \n` ;
5051 } else if ( rawLine !== "" ) {
5152 outputData = `${ outputData } ${ rawLine } \n` ;
5253 }
@@ -85,13 +86,14 @@ export class LogSourceMapService implements Mobile.ILogSourceMapService {
8586 // "System.err: File: "file:///data/data/org.nativescript.sourceMap/files/app/bundle.js, line: 304, column: 8"
8687 const fileIndex = rawMessage . lastIndexOf ( LogSourceMapService . FILE_PREFIX ) ;
8788 const deviceProjectPath = util . format ( ANDROID_DEVICE_APP_ROOT_TEMPLATE , projectData . projectIdentifiers . android ) ;
88- let message = rawMessage ;
89- let parts , filePath , line , column ;
89+ let separator = "," ;
90+ let messageSuffix = "" ;
91+ let parts , filePath , line , column , messagePrefix ;
9092
9193 if ( fileIndex >= 0 ) {
9294 const fileSubstring = rawMessage . substring ( fileIndex + LogSourceMapService . FILE_PREFIX . length ) ;
9395 //"data/data/org.nativescript.sourceMap/files/app/bundle.js, line: 304, column: 8"
94- parts = fileSubstring . split ( "," ) ;
96+ parts = fileSubstring . split ( separator ) ;
9597 if ( parts . length >= 3 ) {
9698 // "data/data/org.nativescript.sourceMap/files/app/bundle.js"
9799 parts [ 0 ] = parts [ 0 ] . replace ( "'" , "" ) ;
@@ -101,7 +103,8 @@ export class LogSourceMapService implements Mobile.ILogSourceMapService {
101103 parts [ 2 ] = parts [ 2 ] . replace ( " column: " , "" ) ;
102104 } else {
103105 // "data/data/org.nativescript.sourceMap/files/app/bundle.js:303:17)"
104- parts = fileSubstring . split ( ":" ) ;
106+ separator = ":" ;
107+ parts = fileSubstring . split ( separator ) ;
105108 }
106109
107110 if ( parts . length >= 3 ) {
@@ -111,24 +114,23 @@ export class LogSourceMapService implements Mobile.ILogSourceMapService {
111114 filePath = path . relative ( devicePath , `${ "/" } ${ parts [ 0 ] } ` ) ;
112115 line = parseInt ( parts [ 1 ] ) ;
113116 column = parseInt ( parts [ 2 ] ) ;
114- message = rawMessage . substring ( 0 , fileIndex ) ;
117+ messagePrefix = rawMessage . substring ( 0 , fileIndex ) ;
115118 for ( let i = 3 ; i < parts . length ; i ++ ) {
116- message += parts [ i ] ;
119+ messageSuffix += ` ${ parts [ i ] } ${ i === ( parts . length - 1 ) ? "" : separator } ` ;
117120 }
118121 // "JS: at module.exports.push../main-view-model.ts.HelloWorldModel.onTap ("
119- message = _ . trimEnd ( message , "(" ) ;
120- message = message . trim ( ) ;
122+ messagePrefix = _ . trimEnd ( messagePrefix , "(" ) ;
121123 }
122124 }
123125
124- return { filePath, line, column, message } ;
126+ return { filePath, line, column, messagePrefix , messageSuffix } ;
125127 }
126128
127129 private parseIosLog ( rawMessage : string ) : IParsedMessage {
128130 // "CONSOLE INFO file:///app/vendor.js:131:36: HMR: Hot Module Replacement Enabled. Waiting for signal."
129131 const fileIndex = rawMessage . lastIndexOf ( LogSourceMapService . FILE_PREFIX ) ;
130- let message = rawMessage ;
131- let parts , filePath , line , column ;
132+ let messageSuffix = "" ;
133+ let parts , filePath , line , column , messagePrefix ;
132134
133135 if ( fileIndex >= 0 ) {
134136 // "app/vendor.js:131:36: HMR: Hot Module Replacement Enabled. Waiting for signal."
@@ -144,15 +146,14 @@ export class LogSourceMapService implements Mobile.ILogSourceMapService {
144146 line = parseInt ( parts [ 1 ] ) ;
145147 column = parseInt ( parts [ 2 ] ) ;
146148
147- message = rawMessage . substring ( 0 , fileIndex ) . trim ( ) ;
149+ messagePrefix = rawMessage . substring ( 0 , fileIndex ) ;
148150 for ( let i = 3 ; i < parts . length ; i ++ ) {
149- message += parts [ i ] ;
151+ messageSuffix += ` ${ parts [ i ] } ${ i === ( parts . length - 1 ) ? "" : ":" } ` ;
150152 }
151- message = message . trim ( ) ;
152153 }
153154 }
154155
155- return { filePath, line, column, message } ;
156+ return { filePath, line, column, messagePrefix , messageSuffix } ;
156157 }
157158
158159 private getFilesLocation ( platform : string , projectData : IProjectData ) : string {
0 commit comments