@@ -254,8 +254,9 @@ function generateHTMLReport(report, detailedDiffs, originalTargetData, sourceDat
254
254
htmlReport += `<li>${ change . path . join ( '.' ) } extended with ${ JSON . stringify ( change . item . rhs ) } </li>` ;
255
255
const arrayValueToHighlight = JSON . stringify ( change . item . rhs ) . replace ( / / g, ' ' ) ;
256
256
const escapedArrayValueToHighlight = escapeRegExp ( arrayValueToHighlight ) ;
257
- afterStr = afterStr . replace ( new RegExp ( escapedArrayValueToHighlight , "g" ) , `<strong>${ arrayValueToHighlight } </strong>` ) ;
258
- } else if ( change . kind === 'E' || change . kind === 'N' ) {
257
+ const RE2 = require ( 're2' ) ;
258
+
259
+ afterStr = afterStr . replace ( new RE2 ( escapedArrayValueToHighlight ) , `<strong>${ arrayValueToHighlight } </strong>` ) ; } else if ( change . kind === 'E' || change . kind === 'N' ) {
259
260
try {
260
261
const lhsObj = JSON . parse ( change . lhs ) ;
261
262
const rhsObj = JSON . parse ( change . rhs ) ;
@@ -269,22 +270,25 @@ function generateHTMLReport(report, detailedDiffs, originalTargetData, sourceDat
269
270
270
271
const diffValue = diff . rhs . replace ( / / g, ' ' ) ;
271
272
const escapedDiffValue = escapeRegExp ( diffValue ) ;
272
- afterStr = afterStr . replace ( new RegExp ( escapedDiffValue , "g" ) , `<strong>${ diffValue } </strong>` ) ;
273
- } ) ;
273
+ const RE2 = require ( 're2' ) ;
274
+
275
+ afterStr = afterStr . replace ( new RE2 ( escapedDiffValue ) , `<strong>${ diffValue } </strong>` ) ; } ) ;
274
276
} else {
275
277
// Handle primitive types or non-JSON strings
276
278
htmlReport += `<li>${ change . path . join ( '.' ) } changed from ${ JSON . stringify ( change . lhs ) } to ${ JSON . stringify ( change . rhs ) } </li>` ;
277
279
let valueToHighlight = JSON . stringify ( change . rhs ) . replace ( / / g, ' ' ) ;
278
280
const escapedValueToHighlight = escapeRegExp ( valueToHighlight ) ;
279
- afterStr = afterStr . replace ( new RegExp ( escapedValueToHighlight , "g" ) , `<strong>${ valueToHighlight } </strong>` ) ;
280
- }
281
+ const RE2 = require ( 're2' ) ;
282
+
283
+ afterStr = afterStr . replace ( new RE2 ( String ( escapedValueToHighlight ) ) , `<strong>${ valueToHighlight } </strong>` ) ; }
281
284
} catch ( e ) {
282
285
// Handle primitive types or non-JSON strings
283
286
htmlReport += `<li>${ change . path . join ( '.' ) } changed from ${ JSON . stringify ( change . lhs ) } to ${ JSON . stringify ( change . rhs ) } </li>` ;
284
287
let valueToHighlight = JSON . stringify ( change . rhs ) . replace ( / / g, ' ' ) ;
285
288
const escapedValueToHighlight = escapeRegExp ( valueToHighlight ) ;
286
- afterStr = afterStr . replace ( new RegExp ( escapedValueToHighlight , "g" ) , `<strong>${ valueToHighlight } </strong>` ) ;
287
- }
289
+ const RE2 = require ( 're2' ) ;
290
+
291
+ afterStr = afterStr . replace ( new RE2 ( escapedValueToHighlight ) , `<strong>${ valueToHighlight } </strong>` ) ; }
288
292
}
289
293
}
290
294
} ) ;
0 commit comments