minify_lottie.py 956 B

12345678910111213141516171819202122232425262728293031
  1. #!/usr/bin/env python
  2. # Copyright 2021 The Chromium Authors. All rights reserved.
  3. # Use of this source code is governed by a BSD-style license that can be
  4. # found in the LICENSE file.
  5. import argparse
  6. import os
  7. import sys
  8. _HERE_PATH = os.path.dirname(__file__)
  9. _SRC_PATH = os.path.normpath(os.path.join(_HERE_PATH, '..', '..'))
  10. sys.path.append(os.path.join(_SRC_PATH, 'third_party', 'node'))
  11. import node
  12. import node_modules
  13. def main(argv):
  14. parser = argparse.ArgumentParser()
  15. parser.add_argument('--out_folder', required=True)
  16. args = parser.parse_args(argv)
  17. node.RunNode([node_modules.PathToTerser(),
  18. os.path.join(_HERE_PATH, 'lottie_worker.js'),
  19. '--ascii_only=true',
  20. '-b', 'beautify=false',
  21. '--compress',
  22. '--mangle', 'reserved=[\'$\',\'onmessage\',\'postMessage\']',
  23. '--output', os.path.join(args.out_folder, 'lottie_worker.min.js')])
  24. if __name__ == '__main__':
  25. main(sys.argv[1:])