- Skip prebuild step in Docker when VERSION build arg is provided
- Prevent version-check.js from overwriting pre-generated version.js in Docker
- Fix Docker containers showing incorrect '-dev' suffix for release builds
- Use direct react-scripts build when version is pre-generated
- Create build-image.sh for dedicated Docker image building
- Remove Docker build logic from build.sh to focus on Node.js app only
- Add comprehensive instructions for running and pushing Docker images
- Improve build script modularity and separation of concerns
- Update all Docker image references to use skoszewski/jmespath-playground
- Fix build.sh to create properly namespaced Docker images for Docker Hub
- Update Docker run command examples with correct repository name
- Fix version-check.js to use git tag version for releases
- Add new-version.js script for proper version/tag synchronization
- Update package.json to correct version 1.1.0
The new-version.js script ensures package.json and git tags are always synchronized by:
1. Updating package.json with new version
2. Committing the change
3. Tagging the commit
This prevents version mismatches and git dirty states.
- Add -u/--url option to specify API URL via command line
- Refactor usage messages into centralized show_usage() function
- Remove environment variable fallback for API_URL
- Use curl's native file handling with --data @file
- Add JavaScript version (upload.js) with identical functionality
- Both scripts support same command-line interface and options
- Build stage: Has scripts/ for version generation, all dependencies
- Production stage: Only production deps, built artifacts, server.js
- Eliminates build scripts and dev dependencies from final image
- Maintains proper version.js generation during build process
- Replace package.json modification with generated src/version.js
- App imports VERSION from ./version instead of package.json
- version.js is auto-generated during prebuild and git-ignored
- Provides VERSION, IS_RELEASE, and BUILD_TIME constants
- No more dirty git status from version changes
Development builds show 1.0.4-dev, tagged releases show 1.0.4
The build/ directory doesn't exist in Docker context, so we need to
build the React app inside the container. This approach:
- Installs all deps, builds app, then removes dev deps
- Works for remote deployments without requiring pre-built artifacts
- Maintains lean final image size
Major changes:
- Move server.js to project root for cleaner architecture
- Remove server tests due to CRA Jest configuration conflicts
- Fix React component tests (clipboard API and user interaction issues)
- Optimize Dockerfile to copy only essential files (server.js, build/)
- Fix upload script to only upload JSON data (no JMESPath expression)
- Improve reload button UI to avoid layout shifts
- Update demo script with accurate commands and Docker support
All 17 React tests now pass. Server structure simplified and consistent.
- Fixed theme class application from html to body element for proper CSS inheritance
- Removed CSS conflicts between base styles and error/success states
- Fixed focus state interference with error/success background colors
- Changed error message panel to fixed placement (no more UI jumping)
- Added theme-consistent styling for alert-success in all theme modes
- Expression textbox now properly shows red/green backgrounds in manual themes
- Status message now shows Expression is correct vs error message consistently
- Introduced comprehensive CSS custom properties for colors, fonts, and transitions
- Eliminated 40+ hardcoded color values with centralized variables
- Consolidated duplicate font family definitions
- Removed redundant button styles and input styling
- Optimized theme system with consistent property usage
- Fixed accessibility issue with MIT license link
- Reduced code redundancy while maintaining full functionality
- All themes (auto/light/dark) now use unified variable system
- Add theme switcher widget with Auto/Light/Dark options in header
- Implement manual theme override system with localStorage persistence
- Add complete button theme overrides for all variants (primary, outline-*)
- Fix missing focus states and placeholder colors for light theme
- Add proper alert styling for both themes
- Fix expression input error state colors in dark theme
- Complete comprehensive theme coverage for all UI elements
- Theme switcher overrides CSS media queries when manually selected
- All buttons, inputs, and surfaces now properly adapt to theme changes
- Add automatic dark/light theme detection via prefers-color-scheme
- Add smooth transitions between theme changes
- Fix color contrast issues with explicit text colors
- Make JSON Data and Query Result boxes static (no color changes)
- Keep only Expression input with error indication (red styling)
- Remove dynamic success/error styling from data input/output areas
- Add proper placeholder and focus state colors for both themes
- Ensure all text remains visible in both light and dark modes
- Clean up unused CSS classes
- Remove unsupported --host flag from serve command
- The serve package with -l option binds to 0.0.0.0 by default in containers
- Container will now start properly without ArgError
- Install all dependencies with 'npm ci' instead of production-only
- Install 'serve' package globally in container
- Use direct serve command with proper host binding (0.0.0.0)
- Fix container service accessibility for production deployment
- Replace docker-compose.yml with compose.yaml (modern standard)
- Remove obsolete 'version' field (deprecated in Docker Compose)
- Remove development service configuration
- Add proper image tagging with skoszewski/jmespath-playground
- Keep build context for local development flexibility
- Simplify to production-only service configuration
- Restructure layout to match copilot instructions exactly
- Add proper footer section with author and license information
- Fix header size - make it more compact and appropriate
- Move app description from header to regular paragraph text
- Optimize layout to fit within 1080p viewport without overflow
- Add Google Noto fonts for modern typography (Noto Sans + Noto Sans Mono)
- Improve responsive design and visual spacing
- Remove unnecessary gaps and improve overall UX
- Application now properly follows all architectural specifications
- Remove Dockerfile.dev and CI/CD workflow
- Remove Docker-specific npm scripts from package.json
- Update README to prioritize local Node.js development
- Make Docker containerization optional rather than required
- Update build scripts to treat Docker as optional
- Remove GitHub Actions and CI/CD references from documentation
- Add Format JSON button to JMESPath toolbar per copilot instructions
- Simplify development workflow for better accessibility
- Add 'Load an Object' button for standard JSON files (.json)
- Add 'Load a Log File' button for JSON Lines files (.log)
- Each button has specific file type filter and handling logic
- Improved user experience with clear separation of functionality
- Add styling for the new info button (log files)
- Update documentation to reflect the two-button approach
- Handle .log files as sequences of JSON objects (JSON Lines/NDJSON format)
- Convert each line to JSON object and combine into array (like jq -s)
- Maintain existing .json file handling for standard JSON format
- Add detailed error messages for invalid JSON lines
- Update documentation to explain both file format supports
- Support .json and .log file formats for load from disk
- Better suited for log filtering expression prototyping
- Remove .txt as it's not commonly used for JSON data
- Add 'Load from Disk' button to toolbar in middle section
- Implement file selection dialog with JSON validation
- Support .json and .txt file formats
- Display error messages for invalid JSON files
- Update README to document the new file upload capability
- Add styling for the new upload button
- Feature matches requirement in copilot-instructions.md
- Remove Containerfile and .containerignore (Apple container specific)
- Update package.json to remove Apple container scripts
- Replace macOS-specific build scripts with Docker-focused versions
- Update README to prioritize Docker over Apple container
- Update DEVELOPMENT.md to remove macOS-first approach
- Update demo script to remove Apple container references
- Update workflow to remove Containerfile path triggers
- Simplify project to be Docker-first for cross-platform compatibility
- Add 'load: true' to docker/build-push-action to ensure image is available in local Docker daemon
- Improve container testing with retry logic and better error handling
- Add container logs output on test failure for better debugging
- 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