Skip to content

Instantly share code, notes, and snippets.

@bakins
Last active December 16, 2015 21:58
Show Gist options
  • Select an option

  • Save bakins/5503176 to your computer and use it in GitHub Desktop.

Select an option

Save bakins/5503176 to your computer and use it in GitHub Desktop.
Horrible node.js "omnibus"
#!/bin/bash
#some defaults
PROJECT_VERSION=0.1.0
NODE_VERSION=0.10.5
PROJECT=$(basename $(pwd))
if [ -r .node_version ]; then
. .node_version
fi
OS=$(uname -s|tr '[:upper:]' '[:lower:]')
if [ \( ! -x embedded/bin/node \) -a \( "v$NODE_VERSION" != "$(embedded/bin/node -v)" \) ]; then
NODE_MIRROR=http://nodejs.org/dist/v$NODE_VERSION
NODE_FILE=node-v$NODE_VERSION-$OS-x64.tar.gz
wget --timestamping --directory-prefix=/tmp $NODE_MIRROR/$NODE_FILE
mkdir -p embedded
tar -zxf /tmp/$NODE_FILE --strip-components=1 --no-same-owner -C embedded
fi
embedded/bin/npm install
PACKAGE_VERSION=$(embedded/bin/node -e "console.log(require('./package.json').version)")
if [ \( -n "$PACKAGE_VERSION" \) -a \( $PACKAGE_VERSION != undefined \) ]; then
PROJECT_VERSION=$PACKAGE_VERSION
fi
PACKAGE_NAME=$(embedded/bin/node -e "console.log(require('./package.json').name)")
if [ \( -n "$PACKAGE_VERSION" \) -a \( $PACKAGE_NAME != undefined \) ]; then
PROJECT=$PACKAGE_NAME
fi
TARBALL=/tmp/$PROJECT-$OS-$PROJECT_VERSION.tar.gz
pax -z -wf $TARBALL -s ",^.,$PROJECT-$PROJECT_VERSION," .
echo tarball: $TARBALL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment