sveltejs / cli

The Svelte CLI
MIT License
131 stars 2 forks source link

Rename 'adders' to something else #82

Open Rich-Harris opened 1 week ago

Rich-Harris commented 1 week ago

An adder is a type of snake. More generously, it's a thing that adds, not the thing being added.

'Plugins' is probably the right name, since it can cover both integrations with external libraries and things that affect the behaviour of an app without relying on libraries (like, idk, adding some logging middleware), which may become more relevant if we add plugin hooks to SvelteKit in future

benmccann commented 1 week ago

Adders are the things that add. Where do you see it used otherwise?

Plugins doesn't feel right to me at all. Integrations is probably fine

Rich-Harris commented 1 week ago

sv add is the adder (the thing doing the adding). The things we currently call 'adders' are the things being added. It's backwards.

'Integrations' is a more neutral/less scary word than 'plugins' but there are cases where it doesn't really make sense. If I sv add something that creates a robots.txt but doesn't install anything or even run any code inside my app then what am I 'integrating'?

Open to a secret third option if you have any good ideas. It just can't be 'adders'.

benmccann commented 1 week ago

The things we currently call 'adders' are the things being added.

What we call adders are the code that's executed when you run sv add that sets up whatever integration you want. I'm still not sure where you're seeing adder used in a way that's different than that

Rich-Harris commented 1 week ago

Just in a grammatical sense, in sv add <blank>, sv is the subject, add is the verb, and <blank> is the object. So while you can squint at the implementation and say that actually the <blank> is the thing that's modifying the package.json and whatnot (if you gloss over the fact that in fact it isn't, it's telling sv add to) it still doesn't make sense linguistically.

Put another way: you can imagine a YouTuber saying any of these...

but not 'so now I'm going to set up the Tailwind adder'. It just sounds weird!

Prior art: astro add <integration>. Though they take the concept of integrations to another level by having them be installed packages that you can later upgrade, which has definite pros and cons.

benmccann commented 1 week ago

I don't think we're really disagreeing.

I just noticed a couple places in https://github.com/sveltejs/cli/pull/71 where it said "install adders", which I completely agree is awkward and wrong. I've updated those to remove that language.

There's a header that says "Official adders" and "Community adders", which is arguably debatable, but I would be totally fine changing those to "Official integrations" and "Community integrations".

There's also a bunch of places where we're talking to developers of community adders. E.g. we have a https://github.com/sveltejs/cli/tree/main/community-adder-template. I think those usages are more acceptable as we're talking about the code that's actually doing the adding. Are you okay with those or are you suggesting they should be changed as well?

Rich-Harris commented 1 week ago

I'm suggesting we nuke 'adder' from orbit, it's not a real word. I mean it's in the dictionary but it's not, like, a word word

benmccann commented 1 week ago

Where's your sense of fun? I always thought it'd be enjoyable to be Dr. Seuss :laughing:

Users are probably going to be searching for "integrations", so from that standpoint it'd help with discoverability.

I think "plugins" could be confusing - e.g. part of running add tailwind is setting up various Tailwind plugins within the integration.

There's tons of code references to adder and I'm less enthused about changing those than changing how we talk about it publicly

Rich-Harris commented 1 week ago

We can change the code references at the same time as we get rid of all the camelCase

manuel3108 commented 1 week ago

I think "plugins" could be confusing - e.g. part of running add tailwind is setting up various Tailwind plugins within the integration.

Agree, I can align with integrations, plugins has a different meaning for me aswell

benmccann commented 1 week ago

One thing that I think is somewhat confusing about integrations compared to adders is that it's an overloaded term. E.g. how do we refer to these integrations vs what's listed at https://www.sveltesociety.dev/packages?category=integrations?

I liked that Adder very clearly referred to a specific thing and the more I think about it the less I want to lose that. Maybe we could call these Svelte Enhancements added by running Svelte Enhancers?

Rich-Harris commented 1 week ago

What about 'extension'? sv add <extension> makes sense and is neutral

manuel3108 commented 1 week ago

extensions does make a lot of sense to me, because that's what it is

benmccann commented 3 hours ago

I really don't like "extension". Everywhere I've heard that term, it's synonymous with plugin. These aren't extensions in the sense of browser extensions or VS Code extensions since there's no SvelteKit extension API that these are leveraging.

Back to the thesaurus game: sweetners, additions, renovations