Add node-red script

Needed to allow arguments to be passed to the node
engine, which isn't possible if red.js is run with
a #! line.
This commit is contained in:
Nick O'Leary 2015-02-25 22:36:56 +00:00
parent 71ff828947
commit 4d48c72146
3 changed files with 45 additions and 3 deletions

43
bin/node-red Executable file
View File

@ -0,0 +1,43 @@
#!/bin/bash
#
# Copyright 2015 IBM Corp.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Separate out node/v8 options from node-red ones
OPTIONS=""
ARGS=""
for arg in "$@"
do
case $arg in
--userDir|--settings|--help) ARGS="$ARGS $arg";;
--*) OPTIONS="$OPTIONS $arg";;
*) ARGS="$ARGS $arg";;
esac
done
# Find the real location of this script
CURRENT_PATH=`pwd`
SCRIPT_PATH="${BASH_SOURCE[0]}";
while([ -h "${SCRIPT_PATH}" ]); do
cd "`dirname "${SCRIPT_PATH}"`"
SCRIPT_PATH="$(readlink "`basename "${SCRIPT_PATH}"`")";
done
cd "`dirname "${SCRIPT_PATH}"`" > /dev/null
SCRIPT_PATH="`pwd`";
cd $CURRENT_PATH
# Run Node-RED
/usr/bin/env node $OPTIONS $SCRIPT_PATH/../red.js $ARGS

View File

@ -14,7 +14,7 @@
"test": "./node_modules/.bin/grunt"
},
"bin" : {
"node-red": "./red.js"
"node-red": "bin/node-red"
},
"contributors": [
{"name": "Nick O'Leary"},

3
red.js
View File

@ -1,4 +1,3 @@
#!/usr/bin/env node
/**
* Copyright 2013, 2015 IBM Corp.
*
@ -49,7 +48,7 @@ var parsedArgs = nopt(knownOpts,shortHands,process.argv,2)
if (parsedArgs.help) {
console.log("Node-RED v"+RED.version());
console.log("Usage: node red.js [-v] [-?] [--settings settings.js] [--userDir DIR] [flows.json]");
console.log("Usage: node-red [-v] [-?] [--settings settings.js] [--userDir DIR] [flows.json]");
console.log("");
console.log("Options:");
console.log(" -s, --settings FILE use specified settings file");