- Fix UI to load server-hosted sample data at startup as per specification
- Add one-time use security: server clears sample data after retrieval
- Ensure React app periodically checks for new sample data availability
- Remove complex same-origin protection in favor of simpler one-time use model
- Improve data security by preventing data persistence after consumption
- 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