Closed hzoo closed 7 years ago
babel-minify
babili
I still like Babili. We can just clarify pronunciation — Babíli vs. Bábel.
don't care option - EDIT: maybe should be the bab option
Meh... No one what the hell a googol is at first. Stick to your guns, it'll work out
Lol, not implying that this will be worth billions of dollars though. Just an example
Haha we can hope
I would really prefer renaming it to babel-minify.
We should just have a name that tells people what it is. I don't see a need to hide the meaning behind a name.
@thejameskyle I'm not sure why babili is disliked so much. I would really prefer to keep it :) Unique-sounding codenames that don't mean much are pretty common and are usually not a problem — underscore, lodash, angular, ember, cheerio, mocha, gulp, etc.
@kangax
underscore, lodash, angular, ember, cheerio, mocha, gulp, etc.
underscore, angular, ember, mocha, gulp are common words (not really search friendly either).
Lodash is uniq though. It's a play on "low dash", which is an alternative to underscore. That said, being too clever with naming caused problems. It used to be Lo-Dash
which folks typed as LoDash
, lo-dash
, lo_dash
, or Lodash
. I eventually removed the -
to keep it simple.
Something like babel-minify
gives a pretty clear indication of what it is and avoids communication issues.
Unique-sounding codenames that don't mean much are pretty common and are usually not a problem — underscore, lodash, angular, ember, cheerio, mocha, gulp, etc.
Yeah but almost all of those are all umbrella projects. You then have underscore.string, angular-ui, ember-data, gulp-babel.
Having unique names for each individual thing within the projects just makes it confusing.
If everyone finds it confusing then sure, let's change it. I like Babili but I care more about what majority wants :)
Sent from my iPhone
On 29 Aug 2016, at 22:16, James Kyle notifications@github.com wrote:
Unique-sounding codenames that don't mean much are pretty common and are usually not a problem — underscore, lodash, angular, ember, cheerio, mocha, gulp, etc.
Yeah but almost all of those are all umbrella projects. You then have underscore.string, angular-ui, ember-data, gulp-babel.
Having unique names for each individual thing within the projects just makes it confusing.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
Let's also rename Babel to AST-Transformer
I vote for Babili. It's not immediately apparent what it is, sure, but at least you know you've found the droids you were looking for.
Babili is a cooler name for sure, but with the sheer amount of tools developers have to remember to include in their build it only makes sense to name it in a way that describes the use.
Since I can already tell this thread will blow up:
Please ensure that any comment you are making on this thread is actively contributing to the discussion of a name change. Please do not go on tangents, please be respectful of others (follow the Babel CoC), and don't just keep repeating something that has been said. Be aware of strawman arguments and other logical fallacies and don't do them. Dont assert your own opinions/experiences as the opinions and experiences of the entire community. Yada yada yada be constructive, be aware, don't be mean.
babelssor
i prefer the declarative nature of babel-minify
devs looking in the package json will know immediately what the package does and won't then have to run npm repo babili
😜
@jdalton Bambi, Pizza rolls, and Italy — are you kidding me?! Is there anything cuter, funner and yummier than this ridiculous, weirdly exciting combo? It's unpossible to not go with that... 🍕 🐴 🇮🇹
I have bab too: https://www.npmjs.com/package/bab
babelure
If it's supposed to represent something being minified, shouldn't it be bbl
?
Yeah bbl
is great, just don't have the npm name although we could always ask. cc @brianc
but babel-minify is the most clear still 😄
We thought about bbl
but it's a common abbreviation so would be even more difficult to find/differentiate.
As a concerned developer I'd like to mention that it's often refreshing to see a package in my dependencies file that describes what it does instead of having to recall what the hell it was for.
There are so many packages with a "tongue-in-cheek" name that I don't recall what half of them do and I often find myself referring to packages and tools by their description during conversations because I simply can't be bothered to memorize all of them 😞
Hey lemme know if you decide to go w/ bbl & it's yours! Much, much, much ❤️ for babel from me! Thanks a million to all the contributors!
We thought about bbl but it's a common abbreviation so would be even more difficult to find/differentiate.
Big Beautiful Language! 😄
But yeah, that makes total sense. Just suggesting it so there's an option. I think I'd prefer babel-minify personally.
I'd like to quickly make the vain attempt to argue for poetry in world of prose: An evocative name can, sometimes, bring a moment of levity, a hint of a smile in an otherwise dull day. It can help the project if it adds emotion to function, if only by being more easy to remember (which also helps users). My favorite example is "Plan B" for the morning-after pill. This naming agency (no connection) has a bunch of articles on it.
I'm on the fence if it makes sense here, and I'd say only "bbl" actually fits the idea. It's mostly a matter of size: a programming language can afford to have a non-descriptive name, leftpad should rebrand to 000001.js, but a project that isn't at the center of attention may just make life difficult for everyone by trying to be clever. Does a minifier have the mindshare it takes? I'd say "yes, but it's close".
Because I've frequently run into the what-does-this-package-do-again-problem cited above, I'd also like to share the following snippet. Maybe it should be used more often in install instructions to make it common practice?
"bbl": "minifier using the babel toolchain",
"bbl": "^1.0.0"
Whilst I myself upvoted 'babel-minify' earlier on in this thread, Matthias has some really powerful arguments here that I emphasise with. 000001.js is a no brainer in hindsight. (Brilliant Matthias. Is that your own original idea?) Likewise in hindsight, 'bbl' needs a second look.
Also, being a long time C/C++ veteran, accustomed to typing 'cc', I think I could easily get rather comfortable and cosy typing 'bb' when using a tool such as Babel which is rapidly becoming ubiquitous in the ECMAScript universe. Maybe in not so long time, Babel + the (its) minifier will be thought of one and the same, like a holy duo. Just an idea, perhaps the Bavel CLI itself could be envoked with just 'bb' and something like a '-m' option to invoke the minifier? Notice that another variant, 'bl', which is yet a further contraction of 'babel', is a play on 'cl' which some C/C++ compiler CLI's use.
One the other hand, one can envisage having different types of minifiers that play in concert with the Babel transpiler. 'Babili' might be the reference implementation, say, called babel-minify-babili. This could spawn a healthy cottage industry in Babel minifiers, say babel-minify-crockford, babel-minify-yui, etc. Just kidding with these names but it does give rise to some interesting possibilities for a 'bbl' command line with a '-m
Hope my comments are a positive contribution to the discussion, the underlying point being that one does not have to choose calling between calling it 'babel-minify' or 'babili' or other. We can have our cake and eat it too using 'babel-minify-' as stem words.
The fanciness of the name should roughly reflect the level of attention required of the developer. Since a precise, self-explanatory name is available and this is just a minifier, having a fancy name seems like unnecessary obfuscation, regardless how clever it is.
edit: thinking more on using it standalone, I can see merit in this perhaps having its own name.
Can the CLI be named Babili and use babel-minify/babel-preset-minification under the hood?
The name change would really only be for the preset/cli name. All the plugins are independent. We can always alias as well
What I like about "Babili" is that it gives project identity.
We can change the name to something more common and easier to pronounce but I really wish it wouldn't just be "babel-minify". That sounds boring, generic, repetitive/longer to pronounce (if you're talking to someone or giving a talk). It makes more sense for me to hear/say "Meet Babili, a Babel-based minifier" vs. "Meet babel-minify, a babel-based minifier" (what a nice tongue twister).
You can argue that "babel-minify" speaks for itself and then you don't really need to even explain it. But then it's still awkward — if "babel-minify" is a minifier then why isn't it "babel-minifier" or just "Babel Minifier". Is it something that minifies babel (as "babel-minify" would suggest?).
Codenames are good because they're memorable, recognizable, easier to reference. Even the ones that make no sense could work — anyone wondered what in the world "yeoman" is when it came out? We can get the best of both worlds by coming up with something relevant (aka uglify), yet unique. But please let's not do "babel-minify".
/end of bikeshed
@kangax You like the name - fine! Use it for some other project. But you don't need multiple brands for some little utility within Babel. From a marketing point of view, having more brands is worse than less ones. Focus on Babel and build on top of it - babel-min, if you wish, but don't ruin the main brand!
As a +1 for project identity argument, here is another one.
Not everyone uses Babel for their projects. In the future™ we all hope to not use Babel because we'll be able to write just modern JavaScript that does not require compilation step. However, we still need minifiers for a production environment. That's where Babili (as separate, recognizable project) steps in. While Uglify's maintainers are working on ES6+ support, Babili can do it by default.
@nikolay Why do you think it's a "little utility within Babel"? The minifier is a standalone tool on top Babel/Babylon. It's no smaller or different than, say, ESLint which is based on Esprima. I don't see how Babel is affected (ruined) by this at all.
My vote is for babel-minify, I've been waiting for it for ages and yet when I read your post on HN about it I had no clue it was just a minifier until I stumbled upon a link to this issue reading through the comments!
I believe there are enough things to worry about when creating a project as a newbie, struggling to find a minifier for babel because it's called a name you would never guess just adds to that.
Perhaps keep this name as a standalone project, but on babel website name it babel-minify
Good job btw guys :)
@alexeyraspopov So, your logic is: Keep a non-Babel-related name so people who don't like Babel could be stupid enough to use this instead of Uglify.
Don't get too emotionally attached to things that don't really matter!
In fact, if this is detached from the Babel's brand, being loyal to Babel will keep us using this as part of the ecosystem. Don't try to steal Uglify's "customers" - try to keep us instead.
You created a poll of sorts and a lot of people voted. But, yes, you have all the rights to ignore the feedback.
A project's developer spends orders of magnitude more time seeing the name, creating folders with that name, seeing their name in the same sentence as the project's name or giving presentations on
The user's interests are best served by keeping those guys/gals happy, especially regarding such subjective issues.
Personally, I'd argue that "naming your baby" is a sort of natural right of a creator, but I see how that's somewhat subjective.
So to those putting in the hard work: do what you're comfortable with; this project will be measured with yardsticks other than its name. And don't feel bound by on online poll – creative endeavors aren;t usually a good fit for "wisdom of the crowds".
This mostly seems like bike shedding to me (so naturally I'll jump in) and probably doesn't matter much in the end. Babili
is a fine name, so would probably most any other name be. Arguments that babel-minify
would more accurately describe what the preset does is not entirely on point, since minifying
is just the JS community's own term for optimizing
. Following that logic, you may as well call it babel-optimize
or something to that effect. My point being: for all consumer's sake it's probably less important what the thing is called, and more important that it does what it says on the tin.
I just did a search for babel-minify because I had forgotten this name.
I vote babel-minify
, especially for the preset name. Here's my .babelrc... one of these things is not like the other:
presets: [
"es2015",
"stage-3",
"babili"
]
If we want to resolve this incongruence, we can either: rename this to "minify", so the list of presets clearly express what they do. Or, rename all the other presets to "branded" terms like "TwonOneFive" and "StableTown" for es2015 and stage-3 respectively.
+1 for bab
over babili
/bbl
, because it matches its purpose (minifing things, including names), it hints people that it's related babel
, it's easy to read/pronounce/remember, and it's cool. babili
is doing the opposite and complicating things. bbl
is hard to read because of dropped vowels, and it hardly makes people think of babel
at first glance.
Though babel-minify
should be the necessary one.
For our own sanity, rename this to "minify"!
I only recently discovered babili
after removing my babel
build step (now that all desktop/mobile browsers have near complete ES2015 support, and I'm not using any ES2016+ yet), only to discover that uglify
doesn't support arrow functions (!?).
The very next day I wanted to read more about it, but promptly forgot if it was spelled babili
, babeli
, babilli
, babelli
, etc.
I took a (wrong) guess at babeli
(on the assumption that it was babel
+ i
) and found nothing on the first page of Google results.
I ended up googling "babel minifier" to find it.
So on that basis, I would personally vote for babel-minify
.
@scottohara Yup! Without any doubt, "uglify" is a more beautiful name than "babili"!
I can't imagine how browserify people will call babili transformer. Babiliify? 🤔
Take a look at the names of the tv characters for Transformers and give the name its own identity that people can relate to: https://www.wikiwand.com/en/List_of_The_Transformers_(TV_series)_characters
I like Babili because the suffix -li
is used as a diminutive in Swiss German.
It's used to make things small and cute. That's where the names for Google's new compression algorithms come from as well. Brotli
(should actually be Brötli) means small piece of bread, Brot
being the actual word for bread. Same thing with Zopfli
(Zöpfli), another type of bread called Zopf
. Lately they added Guetzli, a new JPEG encoder which means 'cookie'. Cookies are always small and cute so I'm not aware of the non-cute version. All in all a very Swiss thing, see my name.
Seen through this lens, the small version of Babel would have to be Babeli. Babeli is a cute version of the name Barbara. It sounds a bit old-fashioned though, I'm not using this word at all.
Ok well I didn't take that long to decide.. not
I wanted to change it to babel-minify
for a while and I don't think anyone on the team disagrees? It's clearly voted on 10x more, and makes more sense for anyone that is newer (babel-minify makes sense) and theres way too many changes people ask "what's that babel minify thing called".
The individual packages don't reference babili, so we'll just have to update the main pkg + integrations (webpack, rollup, cli, gulp, etc), and docs.
Ok it's changed (pkgs should be updated as of 0.2.0)
Change it back to
babel-minify
? Ref https://github.com/babel/babili/issues/8Given that it's just a preset + plugins it makes sense to just be
babel-minify
so everyone understands what it is and we don't have issues trying to explain it or it's pronunciation.And after talking with people about it (what's that?), I refer to it as the babel minifier anyway. Haven't met many people that liked the name 😛 .
cli:
babili
preset:babel-preset-babili
cli:
babel-minify
preset:babel-preset-minify
Message from @thejameskyle:
Since I can already tell this thread will blow up:
A couple notes before you comment in this thread
Please ensure that any comment you are making on this thread is actively contributing to the discussion of a name change. Please do not go on tangents, please be respectful of others (follow the Babel CoC), and don't just keep repeating something that has been said. Be aware of strawman arguments and other logical fallacies and don't do them. Dont assert your own opinions/experiences as the opinions and experiences of the entire community. Yada yada yada be constructive, be aware, don't be mean.