Google Closure Compiler
sudo wget -c https://dl.google.com\
/closure-compiler/compiler-20200719.zip -P /opt/cli/
sudo mkdir -p /opt/cli/closure-compiler-20200719
sudo unzip -q /opt/cli/compiler-20200719.zip -d /opt/cli/closure-compiler-20200719
sudo rm -rf /opt/cli/compiler-20200719.zip
sudo chmod 644 /opt/cli/closure-compiler-20200719/closure-compiler-v20200719.jar
sudo mkdir -p /opt/cli/closure-compiler-20200719/bin
sudo touch /opt/cli/closure-compiler-20200719/bin/closure-compiler
sudo chmod +x /opt/cli/closure-compiler-20200719/bin/closure-compiler
sudo tee -a /opt/cli/closure-compiler-20200719/bin/closure-compiler >/dev/null <<'EOF'
#!/bin/bash
: '
@vendor Chorke Academia, Inc.
@web https://cdn.chorke.org/docs/academia
@version 1.0.00
@since 1.0.00
'
export CLOSURE_COMPILER_HOME='/opt/cli/closure-compiler-20200719'
export CLOSURE_COMPILER_EXEC="java -jar ${CLOSURE_COMPILER_HOME}/closure-compiler-v20200719.jar"
if [[ "${@}/arg/is/empty" != '/arg/is/empty' ]];then export CLOSURE_COMPILER_EXEC="${CLOSURE_COMPILER_EXEC} ${@}";fi
if [ -f "${JAVA_HOME}/bin/java" ];then ${JAVA_HOME}/bin/${CLOSURE_COMPILER_EXEC}
elif [ -x "$(command -v java)" ];then ${CLOSURE_COMPILER_EXEC}
else printf '\njava \033[0;31mnot found! \033[0m:(\n';fi
EOF
sudo update-alternatives --install /usr/bin/closure-compiler closure-compiler\
/opt/cli/closure-compiler-20200719/bin/closure-compiler 1983
Web Install
sudo apt -qq update;\
bash <(curl -s 'https://cdn.chorke.org/exec/cli/bash/install/closure-compiler/20200719.sh.txt')
Examples
closure-compiler
:'
The compiler is waiting for input via stdin.
function greeting(name){return 'Hi '+name+', Eid Mubarak';};
function greeting(a){return"Hi "+a+", Eid Mubarak"};
'
|
closure-compiler
:'
The compiler is waiting for input via stdin.
var greeting=(name)=>'Hi '+name+', Eid Mubarak';
var greeting=function(a){return"Hi "+a+", Eid Mubarak"};
'
|
| |
closure-compiler --language_out STABLE|ECMASCRIPT3|ECMASCRIPT5
:'
The compiler is waiting for input via stdin.
var greeting=(name)=>'Hi '+name+', Eid Mubarak';
var greeting=function(a){return"Hi "+a+", Eid Mubarak"};
'
|
closure-compiler --language_out ECMASCRIPT5_STRICT
:'
The compiler is waiting for input via stdin.
var greeting=(name)=>'Hi '+name+', Eid Mubarak';
'use strict';var greeting=function(a){return"Hi "+a+", Eid Mubarak"};
'
|
| |
closure-compiler --language_out ECMASCRIPT_2015|ECMASCRIPT_2016|ECMASCRIPT_2017|ECMASCRIPT_2018|ECMASCRIPT_2019
:'
The compiler is waiting for input via stdin.
var greeting=(name)=>'Hi '+name+', Eid Mubarak';
'use strict';var greeting=a=>"Hi "+a+", Eid Mubarak";
'
| |
| |
closure-compiler --js ./handlebars.js --js_output_file ./handlebars.min.js --language_out ECMASCRIPT_2015
closure-compiler --js ./mustache.js --js_output_file ./mustache.min.js --language_out ECMASCRIPT_2015
closure-compiler --js ./moment.js --js_output_file ./moment.min.js --language_out ECMASCRIPT_2015
closure-compiler --js ./ajv7.js --js_output_file ./ajv7.min.js --language_out ECMASCRIPT_2015
|
Knowledge
sudo chmod +x /opt/cli/closure-compiler-20200719/closure-compiler-v20200719.jar
stat -c '%a' /opt/cli/closure-compiler-20200719/closure-compiler-v20200719.jar
stat /opt/cli/closure-compiler-20200719/closure-compiler-v20200719.jar
References
| ||