2.2 KiB
Hallelujah—In Praise of Babel
I heard there was a clever trick
That rewrote all your JavaScript
But you don’t really care for magic, do you
Well it goes like this: the source, the dist
The ES five, the ES six
The sacred script transforming Hallelujah
Hallelujah, Hallelujah
Hallelujah, Hallelujah
So I added all the shiny things
Classes, spreads and template strings
Through syntax sugared code I tried to woo you
Generators, const and let
I used them all without regret
And it’s a terse and a destructured Hallelujah
Hallelujah, Hallelujah
Hallelujah, Hallelujah
Well my faith was strong but I needed proof
The standard was my source of truth
But TC39 meant nothing to you
So even though you weren’t impressed
I checked the build against the spec
And it’s a more-or-less compliant Hallelujah
Hallelujah, Hallelujah
Hallelujah, Hallelujah
Now you say the build step’s too complex
And you claim no need for ES Next
Well I used to think that way before I knew you
But your code grows older with each line
It’s a joyless dirge on a withered vine
It’s a threnody for a bygone Hallelujah
Hallelujah, Hallelujah
Hallelujah, Hallelujah
Yes I learned about the danger signs
How they’d polyfilled a thousand lines
The cost of using Maps and Symbols threw you
Still I disregarded common sense
Now my source is small but the build’s immense
And it’s a slow and unresponsive Hallelujah
Hallelujah, Hallelujah
Hallelujah, Hallelujah
There was a time when they let me know
What’s really going on below
But now there’s only source maps there to school you
And debugging’s not a progress march
It’s a frenzied fumble in the dark
It’s a labyrinthine search for Hallelujah
Hallelujah, Hallelujah
Hallelujah, Hallelujah
Well, maybe there’s a god up there
But all I ever got from prayers
Was broken builds and errors that would spook you
And that anguished cry you hear at night
Is the plugin I forgot to write
It’s a cold and it’s a broken Hallelujah
Hallelujah, Hallelujah
Hallelujah, Hallelujah