Comments (4)
Major version X (X.y.z | X > 0) MUST be incremented if any backwards incompatible changes are introduced to the public API
The words are part of the public API, and the word changes are backward incompatible.
from pluralize.
Any change to a pluralization is most definitely a major change. If this is used by a database and happens to use a word that has now change, it has broken their project. I'm going to keep using major versions for this reason, I'm not sure that I should do minor or patches lest it be used in a situation where it's assumed the change won't break for anyone.
from pluralize.
I'm going to close the issue, but feel free to continue the discussion. I would love to have more data. Since the words are part of the public API and any pluralization change can break a dependency (imagine deploying an update to your server and because of a plural change your app is broken - in the case of ORMs or auto-generated servers) I'm going to continue with major version changes (as defined by semver). If you disagree, feel free to lay out your arguments here - it's definitely not the end of the conversation.
Even things as innocuous as TypeScript interface generation that may be using a word that was changed in a major release, resulting in application compilation breaking.
from pluralize.
After I opened issue I thought about it more and came to a similar conclusion.
The most obvious comparison I can think of is ActiveSupport in Rails. If pluralization rules changed there, your application could start referencing differently named tables and therefore it is definitely a breaking change. I'll circle around if I find a good example in the ActiveSupport changelogs.
Thank you for your thoughtful response.
from pluralize.
Related Issues (20)
- "Sheet" is pluralized when the count is 1
- Plural of "mosquito" is "mosquitoes" HOT 3
- Plural of "pharmacy" is "pharmacies" HOT 1
- Plural of "person" is "people" HOT 2
- "men" suffix being treated as plural, fails with biospecimen, lumen
- ES6 modules HOT 6
- Singular of Hypnosis is Hypnosis HOT 1
- isPlural doesn't work for the word "Buffalo"
- pluralize.plural('person') doesn't work. HOT 3
- correction of module description HOT 2
- Singularize english words (R pluralize)
- Include types in project
- Plural of 'by' is 'bys', got 'bies' HOT 1
- Preserve case HOT 6
- singular of 'cookies' is not 'cooky' HOT 3
- Similar library but for articles HOT 4
- Add a pluralize.if(string, boolean) HOT 2
- Plural of "epoch" is "epochs"
- Plural of "feedback" is "feedback"
- Aegis should be singular HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pluralize.