From 8b57a0d971701655db4449d86921b158be9659cf Mon Sep 17 00:00:00 2001 From: Chris Duncan Date: Fri, 21 Mar 2025 13:10:50 -0700 Subject: [PATCH] Update bin to call shell script which starts server if specified or CLI as usual if not. --- package-lock.json | 2 +- package.json | 7 +++---- src/bin/nano-pow.sh | 16 ++++++++++++++++ 3 files changed, 20 insertions(+), 5 deletions(-) create mode 100755 src/bin/nano-pow.sh diff --git a/package-lock.json b/package-lock.json index 48c489e..8ce79b1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "4.0.0", "license": "(GPL-3.0-or-later AND MIT)", "bin": { - "nano-pow": "dist/bin/cli.js" + "nano-pow": "dist/bin/nano-pow.sh" }, "devDependencies": { "@types/node": "^22.13.11", diff --git a/package.json b/package.json index 656a375..aacd557 100644 --- a/package.json +++ b/package.json @@ -37,8 +37,7 @@ "./dist/main.min.js": true }, "bin": { - "nano-pow": "dist/bin/cli.js", - "nano-pow-server": "dist/bin/server.js" + "nano-pow": "dist/bin/nano-pow.sh" }, "man": "./docs/nano-pow.1", "repository": { @@ -46,8 +45,8 @@ "url": "git+https://zoso.dev/nano-pow.git" }, "scripts": { - "build": "rm -rf {dist,types} && tsc && node esbuild.mjs", - "start": "mkdir -p logs; node ./dist/bin/server.js > ./logs/nano-pow-server-$(date +%s).log 2>&1 & echo $! > server.pid", + "build": "rm -rf {dist,types} && tsc && node esbuild.mjs && cp -p src/bin/nano-pow.sh dist/bin", + "start": "./dist/bin/nano-pow.sh --server", "test": "./test/script.sh" }, "devDependencies": { diff --git a/src/bin/nano-pow.sh b/src/bin/nano-pow.sh new file mode 100755 index 0000000..e95b9d8 --- /dev/null +++ b/src/bin/nano-pow.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +# SPDX-FileCopyrightText: 2025 Chris Duncan +# SPDX-License-Identifier: GPL-3.0-or-later + +SCRIPT_LINK=$(readlink -f $0); +SCRIPT_DIR=$(dirname $SCRIPT_LINK); +NANO_POW_HOME=$HOME/.nano-pow; +NANO_POW_LOGS=$NANO_POW_HOME/logs; + +mkdir -p $NANO_POW_LOGS; +if [ $1 = '--server' ]; then + shift; + node $SCRIPT_DIR/server.js $@ > $NANO_POW_LOGS/nano-pow-server-$(date +%s).log 2>&1 & echo $! > $NANO_POW_HOME/server.pid; +else + node $SCRIPT_DIR/cli.js $@; +fi; -- 2.34.1