Resizing is like a style change. As such it can be observed with a MutationObserver. The more specific ResizeObserver
is probably even better:
let observer = new ResizeObserver(function(mutations) {
console.log('mutations:', mutations);
});
let child = document.querySelector('textarea');
observer.observe(child, { attributes: true });
<textarea></textarea>