1
0
mirror of https://github.com/node-red/node-red.git synced 2023-10-10 13:36:53 +02:00

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" "test": "./node_modules/.bin/grunt"
}, },
"bin" : { "bin" : {
"node-red": "./red.js" "node-red": "bin/node-red"
}, },
"contributors": [ "contributors": [
{"name": "Nick O'Leary"}, {"name": "Nick O'Leary"},

3
red.js
View File

@ -1,4 +1,3 @@
#!/usr/bin/env node
/** /**
* Copyright 2013, 2015 IBM Corp. * Copyright 2013, 2015 IBM Corp.
* *
@ -49,7 +48,7 @@ var parsedArgs = nopt(knownOpts,shortHands,process.argv,2)
if (parsedArgs.help) { if (parsedArgs.help) {
console.log("Node-RED v"+RED.version()); 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("");
console.log("Options:"); console.log("Options:");
console.log(" -s, --settings FILE use specified settings file"); console.log(" -s, --settings FILE use specified settings file");