BuGlessRB/remixml

View on GitHub
prepfiles

Summary

Maintainability
Test Coverage
#!/bin/sh

basename=remixml

stripdebug='/^[     ]*\/\/ DEBUG_START/,/^[     ]*\/\/ DEBUG_END/ d'
stripcomments='/^[     ]*\/\// d'

 sed -e '/ Cut BEGIN for externs/,/ Cut END for externs/ d' \
  -e '/ Cut BEGIN for prepend/,/ Cut END for prepend/ d' \
   <$basename.master.js >$basename.meat.tmp
 sed -e '/ Cut BEGIN for externs/,/ Cut END for externs/ !d' \
     -e '/ Cut [BE]/ d' <$basename.master.js >externs.tmp
 sed -e '/ Cut BEGIN for prepend/,/ Cut END for prepend/ !d' \
     -e 's/^  *//g' -e 's%/\*.*\*/%%g' \
     -e '/ Cut [BE]/ d' <$basename.master.js >$basename.prep.tmp

( sed -e '/ Cut END delete/,$ d' \
      -e '/ Cut [BE]/ d' <$basename.meat.tmp
  echo ""
  sed -e 's/^/  /' $basename.prep.tmp
  sed -e '/ Cut END delete/,$ !d' \
      -e '/ Cut [BE]/ d' <$basename.meat.tmp
) >$basename.js

google-closure-compiler \
 --strict_mode_input --assume_function_wrapper \
 --compilation_level ADVANCED \
 --language_in ECMASCRIPT_NEXT \
 --language_out ECMASCRIPT_2018 \
 --use_types_for_optimization \
 --rewrite_polyfills=false \
 --source_map_format V3 \
 --source_map_include_content \
 --externs externs.h \
 --externs externs.tmp \
 --warning_level VERBOSE \
 --create_source_map $basename.js.map \
 -D DEBUG=0 \
 --js_output_file $basename.min.tmp \
  $basename.meat.tmp &&
  ( echo '(function(){"use strict";'
    cat $basename.prep.tmp $basename.min.tmp
    echo '}).call(this);'
  ) >$basename.min.js