> I’m totally in favour of using transpilers to support older platforms.
> What has happened though in JS land is developers started using them in reverse - writing to future standards that are not supported by the current underlying interpreter.
Why is that in reverse. A transpiler is, after all, and using a compiler to be able to write in a language more expressive than the language to which your code is compiled is rather normal.
Actually, that's not even “in reverse” compared to “to support older platforms”, that's how trabspilers are used to support older platforms.
If I'm using Babel to support, say, IE9 (an older platform), what I am doing is using it to compile JS not supported by IE9, largely because it's a newer standard than IE9 supported, and compiling it to what IE9 understands.
If there a difference between doing that with language features from ES6 on IE9 vs ES2019 on IE11 vs something that is a currently a Stage 3 proposal on current Chrome, sure, but none of those is the reverse of the other, they are all variations on a theme in the same direction.