diff --git a/.editorconfig b/.editorconfig index 1a096400ce..ba48528bbf 100644 --- a/.editorconfig +++ b/.editorconfig @@ -9,3 +9,6 @@ end_of_line = lf [*.{js,json}] indent_style = space indent_size = 2 + +[*.{md,markdown}] +trim_trailing_whitespace = false diff --git a/README.md b/README.md index c9cdf0842f..dd208a6e29 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,10 @@ Mostly a handful of volunteers! Please check out our [team page](https://babeljs For questions and support please visit join our [Slack Community](https://slack.babeljs.io/), ask a question on [Stack Overflow](https://stackoverflow.com/questions/tagged/babeljs), or ping us on [Twitter](https://twitter.com/babeljs). +### Is there a Babel song? + +I'm so glad you asked: [Hallelujah —— In Praise of Babel](SONG.md) by [@angus-c](https://github.com/angus-c). Tweet us your recordings! + ### Where are the docs? Check out our website: [babeljs.io](https://babeljs.io/), and report issues/features at [babel/website](https://github.com/babel/website/issues). @@ -95,30 +99,30 @@ Support us with a monthly donation and help us continue our activities. [[Become - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + ## Sponsors @@ -130,30 +134,30 @@ Become a sponsor and get your logo on our README on Github with a link to your s - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + ## License diff --git a/SONG.md b/SONG.md new file mode 100644 index 0000000000..1ef939df3b --- /dev/null +++ b/SONG.md @@ -0,0 +1,67 @@ +## 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 etc. + +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 etc. + +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 etc. + +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 etc. + +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 etc. + +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 etc. + +[Angus Croll](https://github.com/angus-c)