Initial commit: JMESPath Testing Tool

- React-based web application for testing JMESPath expressions
- macOS-first containerization with Apple container command
- Bootstrap UI with real-time evaluation
- GitHub Actions CI/CD pipeline
- Docker fallback support
- Comprehensive documentation and development scripts
This commit is contained in:
2026-01-18 13:19:07 +01:00
commit c09e545637
26 changed files with 19427 additions and 0 deletions

57
scripts/build.sh Executable file
View File

@@ -0,0 +1,57 @@
#!/bin/bash
# JMESPath Testing Tool - Build Script
# Targets macOS with Apple container command as first-class environment
set -e
echo "🍎 JMESPath Testing Tool - macOS Build Script"
echo "============================================="
echo ""
# Check Node.js version
if command -v node &> /dev/null; then
NODE_VERSION=$(node --version | sed 's/v//')
MAJOR_VERSION=$(echo $NODE_VERSION | cut -d. -f1)
if [ "$MAJOR_VERSION" -ge 24 ]; then
echo "✅ Node.js $NODE_VERSION (compatible with v24+ requirement)"
else
echo "❌ Node.js $NODE_VERSION found, but v24+ is required"
exit 1
fi
else
echo "❌ Node.js not found. Please install Node.js 24 LTS or higher."
exit 1
fi
# Build the React application
echo "📦 Installing dependencies..."
npm install
echo "🔨 Building production bundle..."
npm run build
# Container build - prioritize Apple container command
if command -v container &> /dev/null; then
echo "🍎 Building container with Apple container command..."
container build -t jmespath-playground .
else
# Fallback to Docker if available
if command -v docker &> /dev/null; then
echo "🐳 Apple container command not found, falling back to Docker..."
docker build -t jmespath-playground .
else
echo "⚠️ No container runtime found. Skipping container build."
echo " Install Apple container command or Docker to build containers."
fi
fi
echo "✅ Build completed successfully!"
echo ""
echo "To run the application:"
echo " npm run serve # Serve production build locally"
if command -v container &> /dev/null; then
echo " container run -p 3000:3000 jmespath-playground # Run with Apple container"
elif command -v docker &> /dev/null; then
echo " docker run -p 3000:3000 jmespath-playground # Run with Docker"
fi

38
scripts/dev.sh Executable file
View File

@@ -0,0 +1,38 @@
#!/bin/bash
# JMESPath Testing Tool - Development Script
# Optimized for macOS development environment
set -e
echo "🍎 JMESPath Testing Tool - macOS Development"
echo "==========================================="
echo ""
# Check environment
if [[ "$OSTYPE" == "darwin"* ]]; then
echo "✅ Running on macOS"
else
echo "⚠️ This script is optimized for macOS but will attempt to run anyway."
fi
# Check Node.js
if command -v node &> /dev/null; then
echo "✅ Node.js version: $(node --version)"
else
echo "❌ Node.js not found. Please install Node.js 24 LTS."
exit 1
fi
# Install dependencies if needed
if [ ! -d "node_modules" ]; then
echo "📦 Installing dependencies..."
npm install
fi
# Start development server
echo "🚀 Starting development server..."
echo " The app will open at http://localhost:3000"
echo " Press Ctrl+C to stop the server"
echo ""
npm start