Hello folks,
I'm thrilled to share something really exciting with you all – my very first open-source Node.js package, Json Flex DB! It's a fantas...
Some comments have been hidden by the post's author - find out more
For further actions, you may consider blocking this person and/or reporting abuse
Firstly congratulations on publishing a package! I think it would be worth documenting that this is an in-memory database.
Thinking about the actual database code:
save
method - it's going to kill performance stringifying and writing files all the time, especially in high data processing environments when there are a lot of changes.Math.random()
isn't very random. Personally, I usenanoid
to do this, but even a function based onDate.now()
would be more likely to be unique over any significant number of records.Agree with your points, thanks for sharing.
Congratulations on your first npm package 🙂
Npm packages are a great way to learn how to develop tools.
The concept is also great for a first package, wrapping your head around the basics of how a database works is knowledge that will give you edge over other developers.
A suggestion for improvement: the native json stringify and parse methods are very limited and do not scale. If you will try to parse or stringify a json file that is larger than 500 megabytes in size, it will fail. I suggest finding a scalable solution or implementing your own.
Thank you for your suggestion, Lev. I'll look into it soon.
Hello, my 2 cents would be to move away from CommonJS and re-write it to be ES modules. This is particularly important when working with async/await syntax, as CommonJS only allows this in functions. ES modules allow it everywhere. Every modern package should just move to ESM and never CJS.
Also, since you're entering this area, you might be intersted in this article:
Are You in the NPM Package Business? Some Facts I Learned on the Road
José Pablo Ramírez Vargas ・ Dec 1 '23
Yeah, that sounds like a good plan! I'm all for rewriting it as an ES Module. Thanks for bringing it up. I wasn't even aware of the differences between CJS and ESM before.😅
Hi @rizmyabdulla ,
Congratulations for your Achievements, but it would be better if explain what it does and how it does in your post too!
Overall, gg, keep up the good work!
Thanks 💫 I edited the Post !
👀 nice work @rizmyabdulla, quick response, really appreciate itA
Congratulations and as a lightweight package it's really great and ppl already mentioned the improvement opportunities but overall it's Good
I have used it for POC and worked awesome.
Thank you for using my package😊. I'm still working on implementing the awesome improvements that ppl have mentioned.🚀
Don't forget to star my GitHub repository!😅