minify-html/nodejs/build.sh

45 lines
1.1 KiB
Bash

#!/usr/bin/env bash
set -e
# Builds hyperbuild-nodejs with native module for local testing.
# Built package will only run current platform and Node.js version.
pushd "$(dirname "$0")"
npm install
rm -rf dist
npx tsc
if [ -f native/Cargo.toml.orig ]; then
echo 'Not altering Node.js Cargo.toml file'
else
cp native/Cargo.toml native/Cargo.toml.orig
# Don't use -i as macOS requires '' argument but then Ubuntu will treat as pattern.
sed 's%^hyperbuild = .*$%hyperbuild = { path = "../.." }%' native/Cargo.toml.orig > native/Cargo.toml
fi
npx neon build --release
mv native/Cargo.toml.orig native/Cargo.toml
if [[ "$OSTYPE" == "linux-gnu" ]]; then
os_name="linux"
elif [[ "$OSTYPE" == "darwin"* ]]; then
os_name="macos"
elif [[ "$OSTYPE" == "cygwin" ]]; then
os_name="windows"
elif [[ "$OSTYPE" == "msys" ]]; then
os_name="windows"
elif [[ "$OSTYPE" == "win32" ]]; then
os_name="windows"
else
echo "Unknown OS"
exit 1
fi
node_version=$(node -e 'console.log(process.versions.node.split(".")[0])')
mv native/index.node "dist/$os_name-x86_64-node$node_version.node"
popd