#!/usr/bin/env bash DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" components_dir="$DIR/../ng2-components" npm_opts="--loglevel=silent" function link_alfresco_ng2_deps() { cd $1 for dep in $( list-dependencies '^ng2-(alfresco|activiti)-' ); do npm link --ignore-scripts $npm_opts "$dep" done } npm install $npm_opts -g typings npm install $npm_opts -g @wabson/list-dependencies # First link each component into /usr/local/lib/node_modules for comp_dir in $( ls "$components_dir" ); do echo "Link $components_dir/$comp_dir" test -f "$components_dir/$comp_dir/package.json" && cd "$components_dir/$comp_dir" && npm link --ignore-scripts done # Now link inter-dependencies between components for comp_dir in $( ls "$components_dir" ); do echo "Link dependencies of $components_dir/$comp_dir" test -f "$components_dir/$comp_dir/package.json" && link_alfresco_ng2_deps "$components_dir/$comp_dir" done # Now run postinstall scripts for comp_dir in $( ls "$components_dir" ); do echo "Postinstall $components_dir/$comp_dir" test -f "$components_dir/$comp_dir/package.json" && cd "$components_dir/$comp_dir" && npm run postinstall done # LINK ALL THE COMPONENTS INSIDE THE DEMOSHELL link_alfresco_ng2_deps "$DIR/../demo-shell-ng2"