Page 11 - Monthly Archives: June 2025
-
Maxim Mironjuk
-
June 16, 2025
Modeling TypeScript types purely with any or loosely shaped objects gives away the strength of the type system. Union types describe one of several possible shapes, intersection types combine multiple shapes into one. Used correctly, they produce API models and compositions that the compiler actually enforces.
-
Maxim Mironjuk
-
June 16, 2025
A barcode scanner right in the browser sounds like a native app feature, yet it can be fully built for the web with the MediaDevices API and a lean Alpine component. Using a barcode-driven product search as the running example, this article shows how camera access gets requested, how the native BarcodeDetector API and a JS library complement each other as a fallback, and how denied permissions get handled cleanly.
-
Maxim Mironjuk
-
June 16, 2025
A cookie banner that enables Google Tag Manager through an inline script immediately violates the Content-Security-Policy in a Hyvä theme and gets silently blocked by the browser. This article shows how to build a cookie consent module in the Hyvä theme that satisfies both GDPR requirements and CSP restrictions at once, without nonce violations and without loading third-party scripts before consent is given.
-
Maxim Mironjuk
-
June 16, 2025
Hono RPC produces a fully typed API client directly from the return type of the server routes, with no separate code generation step and no duplicated schema. The server itself becomes the single source of truth for endpoint, payload and response.
-
Maxim Mironjuk
-
June 15, 2025
Vue Router is far more than a URL switcher. Anyone who applies nested routes, navigation guards and deliberate scroll behavior correctly builds single-page applications that feel like real web applications, with controlled access, clean loading behavior and not a single unexpected scroll position.
-
Maxim Mironjuk
-
June 15, 2025
Anyone running TypeScript in Node.js projects quickly runs into conflicting advice about tsc, ts-node, ESM, and CommonJS. This article covers the practical options for running TypeScript in Node, clears up the module interop pitfalls between ESM and CommonJS, and gives you a minimal, working tsconfig for CLI and build-script projects, including the native type-stripping support in recent Node versions.
-
Maxim Mironjuk
-
June 15, 2025
An async generator delivers values one at a time, on demand, instead of holding a complete result list in memory. For paginated APIs, large exports and live data streams, async function* together with for await...of replaces error prone loop constructs with readable, composable code.
-
Maxim Mironjuk
-
June 15, 2025
The standard filters that ship with admin UI components cover most grids well, but they hit their limits fast once you need value ranges, dynamically populated option lists, or business-specific edge cases. Understanding how filter declaration, the frontend component, and the collection modifier interact lets you add any filter type cleanly instead of hacking around the grid with client-side JavaScript.
-
Maxim Mironjuk
-
June 15, 2025
AI-assisted test generation promises to automatically turn a recorded user flow or a plain, natural-language description into runnable, syntactically correct test code, considerably speeding up the tedious, manual writing of test cases for many standard scenarios. That promise holds up reasonably well for obvious, repetitive UI interactions, but it hides a central problem: a generated test that runs syntactically correctly doesn't automatically check what's actually relevant from a business standpoint.
-
Maxim Mironjuk
-
June 15, 2025
Whether Magento Cloud or Self Hosted is the right choice depends less on trends than on concrete numbers: total cost of ownership, traffic patterns, existing DevOps competence and how flexible a team needs to stay for deployment and scaling. This decision guide provides the criteria for a well founded choice.
-