Skip to content

Add requests journal viewer, modernize build tooling, and fix persistence#32

Open
iquirino wants to merge 8 commits into
plouc:masterfrom
iquirino:master
Open

Add requests journal viewer, modernize build tooling, and fix persistence#32
iquirino wants to merge 8 commits into
plouc:masterfrom
iquirino:master

Conversation

@iquirino

Copy link
Copy Markdown

Hey @plouc! This PR brings a few improvements to wiremock-ui:

What's new

Requests Journal UI

  • New requests node in the explorer tree for each server
  • Grid/list view showing all recorded requests (method, URL, matched/unmatched status, timestamp)
  • Click any row to open a detail dialog showing full request headers, body, response headers, and response body
  • Refresh button + auto-refresh toggle (5s interval) to poll GET /__admin/requests

Server persistence

  • Servers are now saved to localStorage on creation, so they survive page refreshes

Mapping tab titles

  • Tabs now show the mapping name or METHOD /url instead of generic "mapping"

Modernization

Migrated the entire build toolchain from the deprecated react-scripts-ts (webpack 3) to Vite 6:

Package Before After
React 16 18 (createRoot API)
styled-components 3 6 (createGlobalStyle, StyleSheetManager)
redux-observable 1 2 (action$.pipe(ofType(...)))
rxjs 6 7
react-feather 1 2
react-redux 5 8
formik 1 2
react-ace 6 12 + ace-builds (replaces brace)

Other changes

  • Fixed deprecated createAction(type, resolve => ...) patterns from typesafe-actions
  • Removed redux-devtools-extension dep (uses inline __REDUX_DEVTOOLS_EXTENSION_COMPOSE__ check)
  • Added ESLint (flat config) + TypeScript type-checking scripts

Scripts

pnpm start          # Vite dev server
pnpm run build      # Production build
pnpm run lint       # ESLint (0 errors, 0 warnings)
pnpm run typecheck  # tsc --noEmit (passes clean)

All three pass without errors.

- Migrate build tooling from webpack to Vite for improved development experience
- Add pnpm workspace and lock file for dependency management
- Configure Vite with TypeScript and React support
- Add VS Code debug and workspace settings for development
- Implement new requests module with store, components, and middleware
- Add RequestsList, RequestDetail, and RequestsIcon components
- Update store configuration to include requests module integration
- Add notifications middleware for handling notification actions
- Add server middleware for server-related state management
- Update theme configurations (black, solarizedDark, white)
- Update mappings store epics to integrate with notifications
- Update core store epics and explorer container for module integration
- Generate optimized production build output in dist directory
- Improves build performance and provides better hot module replacement during development
- Regenerate bundled JavaScript with updated asset hash (index-0JnDvdLN.js)
- Update HTML entry point with new asset references
- Add TypeScript declarations for react-split-pane and styled-components
- Refactor notification epic to use destructured payload parameters
- Update store configuration and middleware chains across core, mappings, and requests modules
- Improve type definitions for theming system
- Migrate theme index exports for better module organization
- Enhance operation panes selector logic and content type handling
- Update tsconfig.json for improved build compatibility
- Add GitHub Pages deployment workflow triggered on pushes to main branch
- Configure workflow with build and deploy jobs for automated deployment
- Set up Node.js 22, pnpm 9, and install dependencies with frozen lockfile
- Build project with BASE_URL environment variable for GitHub Pages subpath
- Upload dist directory as Pages artifact and deploy using actions/deploy-pages
- Update vite.config.ts to support configurable BASE_URL for deployment paths
- Change default branch reference from main to master in GitHub Pages deployment workflow
- Ensures deployment pipeline targets correct branch for production releases
… pnpm caching

- Update default branch from master to main in deployment trigger
- Add run_install: false to pnpm/action-setup to prevent automatic installation
- Remove implicit pnpm caching from Node.js setup action
- Implement explicit pnpm store caching with dedicated step for better cache control
- Use hashFiles for cache key generation to invalidate cache on lock file changes
- Improves CI/CD reliability and reduces redundant installations
- Change deployment trigger branch from main to master
- Aligns workflow with repository's primary branch naming convention
- Ensures deployments are triggered from the correct branch
- Remove explicit pnpm store path caching configuration
- Rely on default pnpm caching behavior during dependency installation
- Reduce workflow complexity and maintenance overhead
- Upgrade pnpm from version 9 to version 11
- Remove --frozen-lockfile flag from pnpm install command
- Allow lockfile updates during dependency installation in CI pipeline
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants