This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git


The following commit(s) were added to refs/heads/main by this push:
     new fb898bce2f Improve JS formatter script (#2720)
fb898bce2f is described below

commit fb898bce2f617dee3f68dd37fafd9f71db7c19c9
Author: Christopher Tubbs <ctubb...@apache.org>
AuthorDate: Mon May 23 18:56:02 2022 -0400

    Improve JS formatter script (#2720)
    
    Improve script that formats the JavaScript by echoing the command used
    to format, and falling back to formatting one file at a time to support
    formatting using older versions of npm/npx
    
    This fixes #2720 to support older versions of npm/npx
    
    Also limit the echo-ing of commands in run-shellcheck.sh to only the
    main command
---
 contrib/ci/run-shellcheck.sh                 |  3 ++-
 server/monitor/src/main/scripts/format-js.sh | 17 ++++++++++++++++-
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/contrib/ci/run-shellcheck.sh b/contrib/ci/run-shellcheck.sh
index f42122feb5..f69ebbddfb 100755
--- a/contrib/ci/run-shellcheck.sh
+++ b/contrib/ci/run-shellcheck.sh
@@ -21,7 +21,8 @@
 # Run ShellCheck on all bash scripts
 
 set -e
-set -x
 
 mapfile -t filestocheck < <(shfmt -f .)
+
+set -x
 shellcheck -P SCRIPTDIR -x "${filestocheck[@]}"
diff --git a/server/monitor/src/main/scripts/format-js.sh 
b/server/monitor/src/main/scripts/format-js.sh
index d5b4052f4d..c84954591e 100755
--- a/server/monitor/src/main/scripts/format-js.sh
+++ b/server/monitor/src/main/scripts/format-js.sh
@@ -20,8 +20,23 @@
 
 # This script will attempt to format JavaScript files
 
+jsDir='src/main/resources/org/apache/accumulo/monitor/resources/js'
+
+function beautify() {
+  set -x
+  npx js-beautify@^1.14 -r -q -n -j -s 2 -f "$@"
+  { set +x; } 2>/dev/null
+}
+
 if hash npx 2>/dev/null; then
-  npx js-beautify -r -n -j -s 2 
src/main/resources/org/apache/accumulo/monitor/resources/js/*.js
+  echo "Found 'npx'; formatting JavaScript files (if needed) in place"
+  if ! beautify "$jsDir"/*.js; then
+    echo "Error formatting files; you may be using an older version of npm/npx"
+    echo "Attempting to format files one at a time..."
+    for js in "$jsDir"/*.js; do
+      beautify "$js" || echo "Error formatting $js"
+    done
+  fi
 else
   echo "Skipping formatting of JavaScript files, since 'npx' is not present"
 fi

Reply via email to