-
Notifications
You must be signed in to change notification settings - Fork 157
Open
Description
Recently, I did an overhaul of i18n in my org's large enterprise product. We were using react-intl-universal and I was happy to keep using it, but we ran into a number of problems and ended up switching to another library out of frustration. All of the issues that I found could have easily been avoided with a minimal amount of continual maintenance. I'm offering some feedback on my experience in the hopes that maybe it'll help this project move forward.
- The initial problem that kicked off everything was that I started running into
console-polyfillerrors in one of the tools in our org. When I tracked down why we even had that dependency, I found that it was coming fromreact-intl-universal. I have no idea why this library even needs to exist, sinceconsoleis present in both the browser and Node. I filed a bug (Can the console-polyfill dependency be removed? #182) and to the credit of the maintainers, the offending dependency was removed immediately. - While trying to debug the above issue myself (before it was fixed), I cloned the repo and started poking around the project. My initial experience was not good: trying to install dependencies caused npm to hang. I tried multiples times and the problem was 100% reproducible (with npm 8.6.0). I deleted the lockfile and ran
npm iand it finally worked, so it would appear something is wrong with the current lockfile. - When
npm ifinally worked, it printed out a lot of deprecation warnings. This project is not staying up to date with the rest of npm. You should consider a Renovate bot (https://github.com/renovatebot/renovate) or something similar. - After dependencies were installed, the unit tests ran, and they failed! I checked the issues and found that this is a known problem (Test case failed in date format #152). That issue was filed in 2020 and has zero comments.
All in all, my experience with poking around the project was not good and convinced me to migrate to a library that's better maintained. I hope this feedback helps you make your project better for others.
Metadata
Metadata
Assignees
Labels
No labels