DEV Community

Cover image for Maintaining FakerJS - Blaver
Conrad Reeves
Conrad Reeves

Posted on

Maintaining FakerJS - Blaver

Warning: Self Promotion in Place, but for good reasons.

What happened?

As you all might be aware that FakerJS' developer (Marak) decided to remove all the code and take down the repository. Soon enough, people started reviving FakerJS - however the code which was propagating was a code from 6 months ago – all test cases failed and a few parts were incomplete - seemed like the code was in progress. Everyone forked the same code and published on NPM. Packages like withshepherd/faker and community-faker started getting traction.

What is Blaver? Why a new Fork?

Blaver has the same ideology of reviving and maintaining FakerJS. To be honest, I started working on Blaver before I could look at those community forks – there is no other reason to explain this. However, I noticed the incomplete code, so I detached the repository fork which I had and started fixing the library. I had to go through all (exaggerated - I meant “a lot”) of the contributors of Faker, looked at their latest fixes and fixed the code to a working state. I rolled out my own fixes too (Took me almost 100 commits, Never did so many commits in a day).

What makes it different from other community versions?

  • Easy to remember unique short name.
  • Added bigInt() function (missing from other repos) and fixed bitcoinAddress() function (as found in contributor repos).
  • Fixed all linting errors.
  • Fixed all unit test cases (0 tests were passing at the time of the fork, all tests pass now).
  • Remove old public API from vendor/mersenne.js.
  • Replaced jshint with eslint. Removed jshint specific files: jshintrc and jshintignore.
  • Updated all locales to include new random data and added a new Urdu (UR) locale.
  • FakerCloud (service used to generate random profile pictures) is also taken down. Replaced it with Pravatar. Also fixed test cases for the random pictures function.
  • Fixed coverage script with working coveralls code coverage.
  • Added GitHub Actions script to run lint and test scripts.
  • Update all faker instances to blaver.

Where to find it?

GitHub: https://github.com/luciferreeves/blaver

NPM: https://npmjs.com/package/blaver

Hope you like this work. I am determined to maintain this repository from now on. If you have some time, consider adding yourself to the stargazers list on the GitHub page. If you like to see any extra functionality, consider raising an Issue.

Thanks for reading this much.

Top comments (2)

Collapse
 
liftoffstudios profile image
Liftoff Studios

Nice to see someone try to revive his legacy !

Collapse
 
mistval profile image
Randall

It looks like you're doing good work. Good luck. I starred it :)