From 4d48c72146b0ec69028734f8b73a90263ee0e9d8 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Wed, 25 Feb 2015 22:36:56 +0000 Subject: [PATCH] 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. --- bin/node-red | 43 +++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- red.js | 3 +-- 3 files changed, 45 insertions(+), 3 deletions(-) create mode 100755 bin/node-red diff --git a/bin/node-red b/bin/node-red new file mode 100755 index 000000000..81a36f9d4 --- /dev/null +++ b/bin/node-red @@ -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 diff --git a/package.json b/package.json index 4ff3f9c00..f7e7a3d7f 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "test": "./node_modules/.bin/grunt" }, "bin" : { - "node-red": "./red.js" + "node-red": "bin/node-red" }, "contributors": [ {"name": "Nick O'Leary"}, diff --git a/red.js b/red.js index b4358022d..69032b73d 100755 --- a/red.js +++ b/red.js @@ -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");