
Security News
PHP Foundation Says Chainguard Broke Security Embargo Ahead of Emergency Patches
The PHP Foundation says Chainguard broke a security embargo ahead of critical RCE patches, as leaks disrupted the coordinated release.
use-web-kit
Advanced tools
A zero-cost performance toolkit for React 19. Global singletons, RAF-batched updates, and perfect hydration without external dependencies.
A zero-cost performance toolkit for React 19.
A compact collection of zero-runtime-dependency, TypeScript-first React hooks for common browser interactions.
npm install use-web-kit
import { useStorage, usePermission, useMediaControls } from "use-web-kit";
function App() {
const [theme, setTheme] = useStorage("theme", "light");
const { state: camState } = usePermission("camera");
const { ref, state, controls } = useMediaControls();
return (
<>
<button
onClick={() => setTheme((t) => (t === "light" ? "dark" : "light"))}
>
Theme: {theme}
</button>
<p>Camera permission: {camState}</p>
<video ref={ref} src="/clip.mp4" />
<button onClick={state.paused ? controls.play : controls.pause}>
{state.paused ? "Play" : "Pause"}
</button>
</>
);
}
| Hook | Description | Docs |
|---|---|---|
useIdleQueue | Schedule non-critical tasks during browser idle time | API → |
useBroadcastState | Sync state across browser tabs via BroadcastChannel | API → |
useAdaptivePolling | Run a callback at an interval; slows/pauses when backgrounded | API → |
useNetworkStatus | Reactive navigator.onLine + Network Information API | API → |
useIntersection | Pooled IntersectionObserver with a ref-callback interface | API → |
usePageLifecycle | Track page visibility, focus, and freeze state | API → |
| Hook | Description | Docs |
|---|---|---|
useStorage | localStorage / sessionStorage with cross-tab sync | API → |
usePermission | Query and watch Web Permissions API state | API → |
useMediaControls | Attach to <audio>/<video> with reactive state + controls | API → |
Full API reference:
window / navigator accesscad53af05773fcc07c4594153dc696afa10f531f
<<<<<<< HEAD ```bash npm install use-web-kit ```
Traditional React hook libraries often introduce significant overhead by instantiating new browser APIs (like IntersectionObserver or Worker) for every component instance. use-web-kit solves this using a zero-cost abstraction model:
useSmartIntersection and useWorkerPool share a single module-level instance. Observing 1,000 DOM nodes incurs the exact same memory footprint as observing 1.requestAnimationFrame cycle, ensuring React reconciliation happens exactly once per frame.useSyncExternalStore internally to guarantee perfect matching between server-rendered HTML and the initial client pass.The toolkit is divided into five architectural domains:
useSmartIntersection: Zero-overhead intersection observation via global singletons.usePageLifecycle: Hook into visibility state and page freeze events.useWorkerPool: Thread-pool abstraction over Web Workers that dynamically scales to navigator.hardwareConcurrency.useIdleQueue: Defer non-critical analytics and cache writes to requestIdleCallback.useBroadcastState: O(1) cross-tab state synchronization that bypasses React Context.useDebouncedStorage: SSR-safe localStorage wrapper with integrated debounce and cross-tab sync.useNetworkStatus: Comprehensive network connection monitoring (RTT, downlink, effective type).useAdaptivePolling: Polling intervals that dynamically slow down on poor connections or hidden tabs.useMediaControls: Abstracted media element state without native DOM event listener bloat.useEventPipeline: Compose asynchronous event handlers with built-in retry and rollback logic.use-web-kit goes beyond standard NPM packages by scaffolding its architectural best practices directly into your repository.
```bash npx use-web-kit init ```
This command generates a skills/ directory containing copy-paste ready recipes, performance guidelines, and optimized prompts for AI coding assistants.
Every hook tests for window, navigator, and the relevant API before accessing it. In a server render:
useStorage returns initialValueusePermission returns { state: "unavailable", loading: false }useNetworkStatus returns { online: true }useIntersection returns { isIntersecting: false, entry: undefined }usePageLifecycle returns { visible: false, focused: false, frozen: false }useMediaControls returns default state with a no-op refAll hooks are named exports at the package root:
import { useIdleQueue } from "use-web-kit"; // only useIdleQueue bundled
import { useStorage, usePermission } from "use-web-kit"; // two hooks bundled
The package ships both ESM (dist/index.mjs) and CJS (dist/index.js) builds via tsup.
npm test # run all tests once
npm test -- --watch # watch mode
All hooks are thoroughly tested with Jest and @testing-library/react.
npm install to set up dependencies.npm test passes with no failures.cad53af05773fcc07c4594153dc696afa10f531f
FAQs
A zero-cost performance toolkit for React 19. Global singletons, RAF-batched updates, and perfect hydration without external dependencies.
The npm package use-web-kit receives a total of 9 weekly downloads. As such, use-web-kit popularity was classified as not popular.
We found that use-web-kit demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
The PHP Foundation says Chainguard broke a security embargo ahead of critical RCE patches, as leaks disrupted the coordinated release.

Security News
PHP releases emergency patches for two critical RCE vulnerabilities as agencies urge organizations to take unpatched sites offline.

Threat Research
/Security News
A supply chain attack compromised LiteLLM 1.107.0 on PyPI and Docker, spreading malware that steals cloud credentials, developer secrets, and AI provider keys.