From f7245e9ec6ba8f5138bb8b0934aaba88dfc73ad7 Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Fri, 1 Nov 2019 17:19:39 -0700 Subject: [PATCH] unminify: Update for webpack chunk splitting. Signed-off-by: Anders Kaseorg --- zerver/lib/unminify.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/zerver/lib/unminify.py b/zerver/lib/unminify.py index 182b1c736c..1a99cd56b9 100644 --- a/zerver/lib/unminify.py +++ b/zerver/lib/unminify.py @@ -29,22 +29,23 @@ class SourceMap: out = '' # type: str for ln in stacktrace.splitlines(): out += ln + '\n' - match = re.search(r'/static/webpack-bundles/(.+)(\.[\.0-9a-f]+\.js):(\d+):(\d+)', ln) + match = re.search(r'/static/webpack-bundles/([^:]+):(\d+):(\d+)', ln) if match: # Get the appropriate source map for the minified file. - minified_src = match.groups()[0] + match.groups()[1] + minified_src = match.groups()[0] index = self._index_for(minified_src) - gen_line, gen_col = list(map(int, match.groups()[2:4])) + gen_line, gen_col = list(map(int, match.groups()[1:3])) # The sourcemap lib is 0-based, so subtract 1 from line and col. try: result = index.lookup(line=gen_line-1, column=gen_col-1) display_src = result.src - webpack_prefix = "webpack:///" - if display_src.startswith(webpack_prefix): - display_src = display_src[len(webpack_prefix):] - out += (' = %s line %d column %d\n' % - (display_src, result.src_line+1, result.src_col+1)) + if display_src is not None: + webpack_prefix = "webpack:///" + if display_src.startswith(webpack_prefix): + display_src = display_src[len(webpack_prefix):] + out += (' = %s line %d column %d\n' % + (display_src, result.src_line+1, result.src_col+1)) except IndexError: out += ' [Unable to look up in source map]\n'