mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-02 18:11:04 +08:00
After converting the `ui/` folder to ESM, there was a significant performance regression in terms of file size of the `resources.pak`. It turns out that we were not minifying ESM files, but we did do that before with Closure. Update the `copy_devtools_modules` to also invoke rjsmin to minify the JavaScript source code. Before: $ du -h -B K out/Default/resources.pak 12096K out/Default/resources.pak After: $ du -h -B K out/Default/resources.pak 11752K out/Default/resources.pak Before the original CL transforming `ui/` landed: $ du -h -B K out/Default/resources.pak 11860K out/Default/resources.pak This means that after converting `ui/` to ESM, we saved 90KB. We suspect this is because we are no longer transpiling to ES5, but instead serve source ES6. Bug: 1010910 Change-Id: I7dd07ff788d014e9f9a8e25e168c58c010cd00af Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1837814 Commit-Queue: Tim Van der Lippe <tvanderlippe@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#702500} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 8d2021d8394b9a248436fb6976070629cdffd961
39 lines
1.1 KiB
Python
Executable File
39 lines
1.1 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# -*- coding: UTF-8 -*-
|
|
#
|
|
# Copyright 2019 The Chromium Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
"""
|
|
Copies the modules into the resources folder
|
|
"""
|
|
|
|
from os.path import join, relpath
|
|
import shutil
|
|
import sys
|
|
|
|
import rjsmin
|
|
|
|
from modular_build import read_file, write_file
|
|
|
|
|
|
def main(argv):
|
|
try:
|
|
input_path_flag_index = argv.index('--input_path')
|
|
input_path = argv[input_path_flag_index + 1]
|
|
output_path_flag_index = argv.index('--output_path')
|
|
output_path = argv[output_path_flag_index + 1]
|
|
devtools_modules = argv[1:input_path_flag_index]
|
|
except:
|
|
print('Usage: %s module_1 module_2 ... module_N --input_path <input_path> --output_path <output_path>' % argv[0])
|
|
raise
|
|
|
|
for file_name in devtools_modules:
|
|
file_content = read_file(join(input_path, file_name))
|
|
minified = rjsmin.jsmin(file_content)
|
|
write_file(join(output_path, relpath(file_name, 'front_end')), minified)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main(sys.argv))
|