30 open-source projects similar to browserstate/history.js, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best History.js alternative.
nuqs is a TypeScript library for managing React component state through the browser's URL query string. It provides a type-safe hook-based approach that synchronizes component state with the address bar, enabling shareable and bookmarkable application states. The library handles parsing and serializing URL query parameters into typed JavaScript values, supporting integers, floats, booleans, dates, and custom types with bijectivity verification. The library distinguishes itself through its comprehensive approach to URL state management, combining batch URL updates that merge multiple parameter
html5shiv is a JavaScript compatibility polyfill and legacy browser shim that enables the use of HTML5 sectioning elements in outdated versions of Internet Explorer. It provides a compatibility layer that ensures modern HTML5 tags are recognized and rendered correctly by overriding element creation methods. The library ensures that HTML5 sectioning elements contain their child elements in old web engines by applying basic styles. It specifically addresses layout and styling discrepancies for both screen and print media to prevent layout collapse. The project includes a programmable configura
es5-shim is an ECMAScript 5 polyfill library and standard library shim. It serves as a JavaScript compatibility layer that adds missing ES5 standard library methods and language features to legacy JavaScript engines. The project functions by implementing the ECMAScript 5 specification for non-compliant engines to ensure consistent behavior and prevent runtime errors. It provides a bridge for older browser environments, allowing modern JavaScript code to execute in legacy environments. The library covers cross-browser API standardization and polyfill management. It specifically handles the em
prefixfree is a runtime CSS processor and polyfill library designed to ensure cross-browser visual consistency. It functions as a client-side script that automatically detects browser requirements and injects necessary vendor prefixes into CSS properties and values at runtime. The project utilizes a system that intercepts stylesheets and modifies style rules in browser memory. It includes a DOM mutation style monitor that observes the document tree for new elements to apply prefixing logic to dynamic content and attributes. The library provides polyfilling for modern CSS standards in legacy
re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized, immutable database that serves as the single source of truth for the entire application state, enforcing a strict unidirectional data flow where events trigger state transitions and subsequent view updates. The framework distinguishes itself through a reactive signal graph and an interceptor-based middleware pipeline. By treating application logic as a sequence of data-driven events and declarative side effects, it decouples business logic from the view layer. This architectur
Codeception is a full-stack testing framework for PHP applications that provides a unified interface for unit, functional, and acceptance testing. It serves as a tool for automating real desktop and mobile browsers via the WebDriver protocol and acts as a client for testing REST and SOAP APIs. The framework is distinguished by its support for Behavior-Driven Development, allowing users to write human-readable test specifications in Gherkin language to align technical tests with business requirements. It implements actor-based action mapping to connect these natural language steps to executabl
This library is a browser history API wrapper and client-side routing state manager. It provides a programmatic interface for managing the browser session history stack and synchronizing application state changes with the URL. The project functions as a JavaScript session history manager that enables custom navigation and routing control. It handles the synchronization of client-side routing state to ensure consistent back and forward movements within the browser. The system covers broader capabilities including browser session history management and general JavaScript navigation control.
This project is a jQuery plugin that provides HTML5 placeholder emulation for input and textarea fields. It functions as a compatibility library to ensure consistent placeholder behavior across different web browsers, specifically those that do not natively support the HTML5 placeholder attribute. The utility extends the functionality of DOM input fields by modifying how form elements display hint text before a user provides input. It integrates as a browser compatibility layer to provide legacy browser support for modern HTML5 form features. The implementation covers browser feature detecti
Swup is a page transition library and AJAX page loader designed to create seamless, animated transitions between pages on server-rendered websites. It functions as a DOM content orchestrator and browser history manager, intercepting navigation to replace page content dynamically and simulate a single-page application experience. The project differentiates itself through a hook-based lifecycle system and a plugin architecture that allows for the injection of custom logic and animation effects. It supports advanced visual methods including DOM content morphing, parallel-DOM rendering for overla
Respond is a legacy browser compatibility layer and adaptive asset delivery tool. It functions as a CSS3 media query polyfill and responsive image loader, providing the necessary mechanisms to emulate modern responsive design features in outdated web browsers. The project differentiates itself by combining stylesheet parsing with dynamic style application to emulate minimum and maximum width media queries. It employs a system for selecting and serving the most appropriate image sources based on viewport width, aspect ratio, and resolution. The tool covers broad capability areas including res
jquery-pjax is a client-side library that combines Ajax requests with the HTML5 History API to replace page content without triggering a full browser reload. It fetches HTML fragments from the server and updates the browser URL using pushState, preserving the page layout and assets while only swapping a designated container's content. The library emits custom JavaScript events at each stage of the request lifecycle, enabling external handlers to respond to loading, success, and error states. The project distinguishes itself through its event-driven navigation model and server-side integration
This project is a functional programming compiler and JavaScript transpiler that transforms a statically typed language into optimized JavaScript for web browsers. It serves as a frontend architecture framework, providing a static type system and a package manager that enforces semantic versioning. The compiler uses a type-checking engine with automatic type inference to prevent runtime errors and guide code refactoring. It implements a structural pattern for managing application state and rendering user interfaces through a virtual DOM, utilizing immutable data and purity-based state transit
This project is a JavaScript optimizer, minifier, module bundler, transpiler, and static analysis tool. It provides a compilation pipeline designed to shrink file sizes and improve runtime performance. The system utilizes a multi-pass compilation process to perform dead code elimination, global name mangling, and static type inference. It identifies unreachable functions and unused variables to reduce the final output size and detects potential runtime errors without executing the code. The tool manages assets through dependency resolution, code chunking, and bundle management. It ensures co
Leptos is a full-stack Rust web framework designed for building reactive applications that share logic and types between the server and the browser. It provides a comprehensive toolkit for developing web interfaces where specific DOM nodes update automatically in response to changes in underlying reactive signals, rather than re-rendering entire component trees. The framework distinguishes itself through a fine-grained reactivity model that tracks dependencies at the individual data point level. It utilizes compile-time template transformation to convert declarative HTML-like syntax into opti
page.js is a client-side JavaScript router for single-page applications that maps URL patterns to executable functions. It functions as a navigation engine and browser history manager, implementing a middleware-based path-mapping system similar to the Express web framework. The library distinguishes itself through an Express-style router model, utilizing a middleware callback chain and a shared context object to pass data between navigation handlers. It supports advanced window management, allowing for multiple router instances to handle navigation independently across different windows or em
Flexibility is a JavaScript library and layout engine designed to polyfill CSS Flexbox capabilities. It ensures consistent element alignment and distribution across different browser versions, specifically targeting legacy environments that lack native support for the flexible box specification. The project provides cross-browser layout compatibility by simulating flexible container behavior. It manages dynamic flexbox properties to maintain a stable and predictable user interface regardless of the visitor's browser version. The system covers DOM traversal, manual coordinate calculation, and
Intercooler-js is a declarative AJAX framework and server-driven UI library. It functions as a hypermedia web framework that enables the creation of single-page experiences by replacing specific DOM elements with HTML fragments delivered from a server. The library distinguishes itself by using HTML attributes to map DOM elements to server endpoints, allowing for asynchronous HTTP requests and DOM updates without manual scripting. It supports a hypermedia-driven architecture where the server controls the client state through response headers and the delivery of annotated HTML fragments. The p
TanStack Router is a type-safe routing library for web applications that provides full type safety for paths, search parameters, and data loaders across the entire application stack. It functions as a comprehensive framework for server-side rendering, enabling the generation of complete HTML pages to improve initial load performance and search engine optimization. By integrating declarative data fetching, the library manages asynchronous information at the route level, supporting preloading, caching, and parallel request execution to ensure data is ready before components render. The project
Argon Theme is a WordPress blog theme featuring a block-based page builder and a switchable dark mode interface. It includes an asynchronous page loader that utilizes browser APIs to enable animated transitions between views without full page refreshes. The theme provides a specialized discussion system that supports Markdown formatting, Ajax-driven submissions, and private whispers. It also incorporates a block-based layout system for arranging structured sections and content without relying on shortcodes. The project covers a broad range of content management and rendering capabilities, in
TanStack Table is a headless, framework-agnostic engine designed for building complex data grids and managing tabular state. By decoupling data processing logic from the visual rendering layer, it allows developers to implement custom user interfaces while offloading sophisticated operations like sorting, filtering, grouping, and pagination to a unified, performant core. The library distinguishes itself through its commitment to type safety and environment flexibility. It leverages strict type definitions to ensure data integrity across the entire application and utilizes an adapter pattern t
chromedp is a browser automation framework and driver that controls web browsers via the Chrome DevTools Protocol. It functions as a headless browser automation tool and web browser controller, enabling the programmatic management of browser sessions, targets, and network responses through a remote debugging interface. The project provides specialized capabilities for Chrome DevTools Protocol automation, including headless browser testing, web scraping and data extraction, and mobile device emulation. It also supports browser-based visual regression by capturing precise screenshots of web pag
This project provides a pre-configured frontend template for building single-page applications with integrated routing, unidirectional state management, and component-scoped style isolation. It includes command-line tooling to automatically generate boilerplate components, containers, routes, and associated test files to accelerate feature development. The development environment incorporates static type enforcement, automated code formatting and linting, and hot module replacement to maintain code quality and preserve application state during updates. Additional capabilities include dynamic
This project is a browser-based developer toolkit that provides a collection of offline-first utilities for common data transformations and encoding tasks. It functions as a static web application, bundling multiple independent productivity tools into a single-page interface designed for rapid technical task execution. The suite operates entirely on the client side, ensuring that all data processing occurs locally within the user browser without requiring a backend server or external service dependencies. This architecture prioritizes privacy and security by keeping sensitive information off
This project is a command-line tool and build toolchain used to bootstrap React web applications. It serves as a project bootstrapper and single-page application scaffold, providing a pre-configured development environment, folder structure, and build pipeline. The toolchain integrates a frontend development server with live reloading and error overlays to accelerate the iterative coding process. It handles production asset bundling by minifying code and generating hashed assets for deployment, and it includes a configuration suite for generating the service workers and web manifests required
This project is a client-side tool that fetches a GitHub user’s entire contribution history and renders it as a single, continuous timeline chart. It operates entirely in the browser as a single-page application, using the HTML5 Canvas API to draw a pixel-level heatmap where color intensity reflects contribution frequency across every day from account creation to the present. The tool retrieves data through authenticated requests to the GitHub API, then aggregates daily counts into a date-range timeline without requiring any server-side processing. Its output serves as a comprehensive visual
Reach Router is a client-side routing library for React applications that maps URL patterns to components without full page reloads. It defines navigation rules and component rendering through declarative route configuration, using nested React component trees instead of separate configuration files. The library supports parent-child route hierarchies so shared UI elements persist across page transitions, and provides a declarative Navigate component that triggers URL changes and view updates when rendered. It extracts dynamic segments from URL patterns and passes them as props to matched rou
Nerv is an isomorphic JavaScript framework and virtual DOM library used for component-based user interface development. It functions as a React-compatible library that maintains compatibility with the React 16 API. The framework is specifically designed as a legacy browser UI framework, providing the internal logic necessary to maintain consistent behavior in older environments, including Internet Explorer 8. Its capabilities cover isomorphic web rendering through server-side HTML generation and client-side hydration. The library also includes frontend error handling to intercept component c
Blazor is a .NET framework for building interactive web user interfaces using C# instead of JavaScript. It provides a component-based UI composition model where reusable, self-contained UI elements are built with C# logic and Razor markup, supporting nesting, parameters, and lifecycle events. The framework offers two primary rendering models: a client-side runtime that compiles C# to WebAssembly and executes directly in the browser, and a server-side model that renders UI on the server and sends incremental DOM updates over a persistent SignalR connection. A central capability of Blazor is it
Backbone Fundamentals is an introductory guide to building structured client-side JavaScript applications using Backbone.js. It covers the core concepts of model-view-controller architecture, including models, views, collections, and routers, to compose maintainable single-page applications. The book explores event-driven state propagation, where model changes broadcast through custom events to decouple updates from view re-rendering, and a RESTful JSON sync layer that maps CRUD operations to HTTP endpoints. It also covers template-based view rendering, modular script loading for managing cod
Metro UI is a progressive front-end framework for building reactive single-page applications with a Metro-style design language. It provides a component-based UI library with over 150 prebuilt interface elements, a reactive state model that automatically updates the DOM when application data changes, and a responsive grid layout system for mobile-first web development. The framework uses an HTML-first approach where interactive interfaces are assembled by adding custom HTML attributes to elements, eliminating the need for manual JavaScript glue code. It includes a hash-based SPA router for na