As mobile developers using Expo and EAS, eas update has become an essential tool for delivering instant over-the-air (OTA) updates to our users. It’s incredibly powerful, allowing us to fix bugs or deploy new features without forcing a full app store submission. But sometimes, despite our best efforts, an update introduces a bug or causes unexpected behavior in production. That’s when the trusty eas update:rollback command comes to the rescue, letting us quickly revert users to a previous, stable version of our application code. Recently, you might have tried to execute a precise rollback command like this: Generated bash eas update:rollback --runtime-version=11.4.0 --branch=production --group=0cb959d5-8a7b-42c8-acbf-bd98813e2cab Expecting it to instantly jump back to a specific update group (0cb959d5…) on your production branch for a given runtime-version. Instead, you might have been met with a response like this: Generated code ★ eas-cli@ 16.14 .1 is now available. # (Option...
As web developers, we constantly work with objects. We receive data, manipulate it, pass it around, and often need to create new objects based on existing ones, perhaps adding, modifying, or, critically, omitting certain properties. You might get a user object from a database that includes a sensitive password field, but you only want to send the user’s public profile data to the frontend. Or you might have an internal configuration object with fields relevant only to server-side logic, which you want to strip before passing the config to a client-side context. So, how do you efficiently and cleanly create a new object that contains almost all the properties of an old one, except for a select few? If you’ve seen or used syntax like this: const userData = { id : 123 , username : 'developer' , email : 'dev@example.com' , password : 'hashedpassword123' , // Sensitive! createdAt : '...' , }; // We want a new object without 'password' co...