WordPress Developer Ukraine, Kyiv
JavaScript Module Federation: Sharing Code Between WordPress Plugins

JavaScript Module Federation: Sharing Code Between WordPress Plugins

Module Federation (Webpack 5) allows JavaScript modules to be loaded from a remote URL at runtime — meaning one WordPress plugin can expose a React component, utility library, or data store, and another plugin can consume it without bundling a copy. This solves the classic WordPress “multiple jQuery / multiple React” problem for plugin ecosystems…
JavaScript AsyncContext: Propagating Context Through Async Operations

JavaScript AsyncContext: Propagating Context Through Async Operations

The TC39 AsyncContext proposal (Stage 3) solves a longstanding problem in JavaScript: how to propagate contextual information — request IDs, user sessions, performance timers — through asynchronous call chains without threading it manually through every function parameter. AsyncContext.Variable works like a thread-local variable in other languages, automatically propagating its value through await, Promise.then(), setTimeout, and…
JavaScript Explicit Resource Management: using and Symbol.dispose

JavaScript Explicit Resource Management: using and Symbol.dispose

ES2025 finalises the Explicit Resource Management proposal — the using declaration and Symbol.dispose / Symbol.asyncDispose protocol. using works like a try/finally block but at the variable declaration level: when the variable goes out of scope (or an exception is thrown), the object’s [Symbol.dispose]() method is called automatically. This eliminates entire classes of resource-leak bugs in…
JavaScript Observable: The Stage 2 Proposal for Event Streams

JavaScript Observable: The Stage 2 Proposal for Event Streams

The TC39 Observable proposal (Stage 2) brings a standardised reactive event-stream primitive to the browser — similar to RxJS Observable but built into the platform. The DOM is also gaining a EventTarget.prototype.on() method that returns an Observable, replacing the common pattern of converting DOM events to streams with external libraries. You can experiment today with…
JavaScript Signals: Reactive State Without a Framework

JavaScript Signals: Reactive State Without a Framework

The TC39 Signals proposal (Stage 1 as of 2025) brings a standardised reactive primitive to JavaScript — the same mental model behind Angular signals, Preact signals, Solid.js, and Vue’s reactivity system. A Signal holds a value; any computation that reads it is automatically re-run when the value changes. The @tc39/signal-polyfill package lets you experiment with…
JavaScript Set Methods: union, intersection, difference in ES2025

JavaScript Set Methods: union, intersection, difference in ES2025

ES2025 finalises a long-awaited addition to the Set prototype: seven new methods — union(), intersection(), difference(), symmetricDifference(), isSubsetOf(), isSupersetOf(), and isDisjointFrom(). All are available in Chrome 122+, Firefox 127+, and Safari 17+ without any polyfill. They replace verbose reduce/filter patterns and work on any Set-like object (anything with size, has(), and keys()).