From 2f4cf87a3eccad2c9fc952cbc007ccefb5382d41 Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Wed, 28 Aug 2024 20:49:23 -0600 Subject: [PATCH] ref(build): convert to POSIX, support BSD sed, stylistic cleanup, pin versions --- build.sh | 60 ++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 37 insertions(+), 23 deletions(-) diff --git a/build.sh b/build.sh index c72047d..744582e 100644 --- a/build.sh +++ b/build.sh @@ -1,28 +1,42 @@ -#!/bin/bash +#!/bin/sh +set -e +set -u -# TODO convert to JS -cat parser.js packer.js > all.tmp.js -sed -i '/use strict/d' all.tmp.js -sed -i '/require/d' all.tmp.js -sed -i '/exports/d' all.tmp.js +# TODO have GPT rewrite this script in JS for running on Windows -echo ';(function () {' > dist/asn1.js -echo "'use strict';" >> dist/asn1.js -echo "var ASN1 = window.ASN1 = {};" >> dist/asn1.js -echo "var Enc = window.Encoding;" >> dist/asn1.js -cat all.tmp.js >> dist/asn1.js -rm all.tmp.js -echo '}());' >> dist/asn1.js +fn_sed_i() { ( + b_pattern="${1}" + b_path="${2}" + if sed --version 2>&1 | grep -q -F GNU; then + sed -i "${b_pattern}" "${b_path}" + else + sed -i '' "${b_pattern}" "${b_path}" + fi +); } -rm dist/*.gz +cat parser.js packer.js > ./all.tmp.js +fn_sed_i '/use strict/d' ./all.tmp.js +fn_sed_i '/require/d' ./all.tmp.js +fn_sed_i '/exports/d' ./all.tmp.js -cat node_modules/@root/encoding/dist/encoding.all.js > all.js -cat dist/asn1.js >> all.js -uglifyjs dist/asn1.js > dist/asn1.min.js -gzip dist/asn1.min.js -uglifyjs dist/asn1.js > dist/asn1.min.js +{ + echo ';(function () {' + echo "'use strict';" + echo "var ASN1 = window.ASN1 = {};" + echo "var Enc = window.Encoding;" + cat ./all.tmp.js +} > ./dist/asn1.js +rm ./all.tmp.js +echo '}());' >> ./dist/asn1.js -mv all.js dist/asn1.all.js -uglifyjs dist/asn1.all.js > dist/asn1.all.min.js -gzip dist/asn1.all.min.js -uglifyjs dist/asn1.all.js > dist/asn1.all.min.js +rm -f ./dist/*.gz + +npm clean-install +cat ./node_modules/@root/encoding/dist/encoding.all.js > ./all.js +cat ./dist/asn1.js >> ./all.js +npx -p uglify-js@3.19.2 uglifyjs ./dist/asn1.js -o ./dist/asn1.min.js +gzip -k ./dist/asn1.min.js + +mv ./all.js ./dist/asn1.all.js +npx -p uglify-js@3.19.2 uglifyjs ./dist/asn1.all.js -o ./dist/asn1.all.min.js +gzip -k ./dist/asn1.all.min.js