Starting with ChromeDriver 127, if your application displays a beforeunload confirmation dialog, ChromeDriver will immediately close it. In consequence, any...

esbuild comes with a minifier that is good enough for most cases. If you're looking to squeeze out as...

Terser is a really good minifier ("compressor") for JavaScript code. I'm often surprised by the thoughtfulness of its compressed...

testing-library are widely used testing utilities libraries for javascript dependent frontend testing. The main utilities provided are query methods...

Reacting on a class getting added can be done with a mutation observer. Example: const items = document.querySelectorAll('.item') const expectedClass...

I recently stumbled over a quirk in the way Ruby handles local variables that I find somewhat dangerous. Consider:

makandra dev
unpoly.com

Unpoly enhances your HTML with new attributes to build dynamic UI on the server. It works with any language and...

Modern JavaScript includes Intl.NumberFormat to format numbers in different formats and locales. In this card, we describe a wrapper for...

This card shows an uncommon way to retrieve a file using selenium where JavaScript is used to return a binary...

Debouncing a method call delays its execution until after a specified time has passed. If it's called again before...

As we're switching from PT to Linear, I've updated the existing bash script to work for commits that...

Your commit messages should include the ID of the issue your code belongs to. Our preferred syntax prefixes the issue...

This card describes two variants, that add a more intuitive workflow when working with nested attributes in Rails + Unpoly.

open-ui.org

tl;dr When browsers start to adapt proposals from Open UI, it might not be necessary to use any 3rd...

You can chain multiple Capybara matchers on the page or any element: expect(page) .to have_content('Example Course')

developer.mozilla.org

A common cause of non-accessible web pages are elements that were made interactive via JavaScript but cannot be focused...

I recently built a screen with a very high and wide table in the center. This posed some challenges:

The Web Animations API has great browser support, and you should be using it to animate DOM elements from JavaScript...

makandra dev

All browsers implement an event named beforeunload. It is fired when the active window is closed and can be used...

Up until Chrome 120, scrollbars could only be styled using the various -webkit-scrollbar-* pseudo elements, e.g. to make the...

Any form fields where users enter numbers should be an . Numeric inputs have several benefits over : On mobile or tablet...

tl;dr We recommend configuring Selenium's unhandled prompt behavior to "ignore". When running tests in a real browser, we...

sitepoint.com

Multiply by 1x the unit: $number = 13 $length = $number * 1px // => 13px Removing a unit

makandra dev

Getting CSS (and JS) live reloading to work in a esbuild / Rails project is a bit of a hassle, but...