← back to Factory Floor

inventory-missing.sh

30 lines

#!/bin/bash
PROJECTS=(
  1890swallpaper 1900swallpaper 1940swallpaper 1950swallpaper 1970swallpaper
  1980swallpaper apartmentwallpaper architecturalwallcoverings bestwallpaperplace
  blockprintedwallpaper chinoiseriewallpaper designerwallcoverings flockedwallpaper
  glassbeadedwallpaper goldleafwallpaper grassclothwallpaper greenwallcoverings
  healthcarewallpaper hollywood-wallcoverings hospitalitywallcoverings hotelwallcoverings
  madagascarwallpaper micawallpaper mylarwallpaper naturaltextilewallpaper
  naturalwallcoverings raffiawallcoverings raffiawalls retrowalls saloonwallpaper
  screenprintedwallpaper silkwallcoverings silkwallpaper stringwallpaper textilewallpaper
  vinylwallpaper wallpapercanada wallpapercontractor wallpaperdefinitions
  wallpaperdictionary wallpaperdistributors wallpaperestimator wallpaperglossary
  wallpaperhistory wallpapersback wallpaperwednesday wallsandfabrics
)
for name in "${PROJECTS[@]}"; do
  dir="$HOME/Projects/$name"
  [ ! -d "$dir" ] && { echo "$name|NO_DIR"; continue; }
  entry=""
  for f in server.js app.js index.js; do
    [ -f "$dir/$f" ] && { entry="$f"; break; }
  done
  [ -z "$entry" ] && { echo "$name|NO_ENTRY"; continue; }
  [ ! -f "$dir/package.json" ] && { echo "$name|NO_PKG|$entry"; continue; }
  has_nm="N"
  [ -d "$dir/node_modules" ] && has_nm="Y"
  port=$(grep -oE "process\.env\.PORT \|\| [0-9]+" "$dir/$entry" 2>/dev/null | head -1 | grep -oE "[0-9]+$")
  [ -z "$port" ] && port=$(grep -oE "\.listen\([0-9]+" "$dir/$entry" 2>/dev/null | head -1 | grep -oE "[0-9]+")
  echo "$name|OK|$entry|port=$port|nm=$has_nm"
done