diff options
-rw-r--r-- | tools/js_optimizer.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/tools/js_optimizer.py b/tools/js_optimizer.py index 4e7d5474..acb87460 100644 --- a/tools/js_optimizer.py +++ b/tools/js_optimizer.py @@ -74,7 +74,7 @@ class Minifier: f = open(temp_file, 'w') f.write(shell) f.write('\n') - f.write('// EXTRA_INFO:' + self.serialize()) + f.write('// EXTRA_INFO:' + json.dumps(self.serialize())) f.close() output = subprocess.Popen(self.js_engine + @@ -91,10 +91,10 @@ class Minifier: def serialize(self): - return json.dumps({ + return { 'names': self.names, 'globals': self.globs - }) + } start_funcs_marker = '// EMSCRIPTEN_START_FUNCS\n' end_funcs_marker = '// EMSCRIPTEN_END_FUNCS\n' @@ -256,9 +256,12 @@ EMSCRIPTEN_FUNCS(); f.write(chunk) f.write(suffix_marker) if minify_globals: - assert not extra_info + if extra_info: + for key, value in extra_info.iteritems(): + assert key not in minify_info or value == minify_info[key], [key, value, minify_info[key]] + minify_info[key] = value f.write('\n') - f.write('// EXTRA_INFO:' + minify_info) + f.write('// EXTRA_INFO:' + json.dumps(minify_info)) elif extra_info: f.write('\n') f.write('// EXTRA_INFO:' + json.dumps(extra_info)) |