- What libraries are you proud of?
- What did they seek to accomplish?
- How successful do you think they are?
- What did you learn?
Share the repository links below:
Share the repository links below:
For further actions, you may consider blocking this person and/or reporting abuse
Matteo Bruni -
Cath Leyson -
Opoku Isaiah Clifford -
Once suspended, tamb will not be able to comment or publish posts until their suspension is removed.
Once unsuspended, tamb will be able to comment and publish posts again.
Once unpublished, all posts by tamb will become hidden and only accessible to themselves.
If tamb is not suspended, they can still re-publish their posts from their dashboard.
Once unpublished, this post will become invisible to the public and only accessible to Tamb.
They can still re-publish the post if they are not suspended.
Thanks for keeping DEV Community safe. Here is what you can do to flag tamb:
Unflagging tamb will restore default visibility to their posts.
Top comments (13)
Currently the count is 26 in Non Org-scoped.
Some of my favourites are
liteorm A simple wrapper for sqlite; with typings based on TypeScript decorators and reflect-metadata.
@patarapolw/qsearch Search a database with a string. Designed for end-users.
@patarapolw/sql-easyquery Easily query SQL (currently only support SQLite), with a string or a mongo-like query.
hyperpug Pug for browser/Electron, based on Hyperscript. With Pug filters' support.
@patarapolw/deepfind Deep find a primitive or a plain Object inside an Array or a plain Object. Always return a Object (an Array or a plain Object), so that the Object (an Array or a plain Object) can be tweaked.
@patarapolw/prettyprint This project shows how we can prettyprint beyond JSON.stringify(obj, null, 2) in Node.js -- with colors and multiline strings
Not a big deal but something.
pagalprogrammer / funtabify
Licenced under GNU GPLv3
The first RFC compliant CSV parser for JS. My most popular lib w/ 500+ stars and 500k+ downloads.
ES Module Libs
A modern ESM rewrite of jquery-csv optimized for size/speed
Like lodash but every operator is implemented using reduce. Started out as sort of a joke but now it has 62 operators.
The rest can be found at VanillaES
Web Component Libs
Render markdown w/ syntax highlighting
Easily embed a Monaco editor. Monaco is the code editor used by VSCode.
The rest can be found at VanillaWC
All of them? They all address a specific need.
I kill off all my projects that don't see much use and/or are too much of a pain to maintian (ex framework-specific components).
Jquery-csv raised the bar for all CSV parsers in the JS ecosystem. I tried out dozens of half-baked CSV parsers before writing this one. The goal was to do one that is 100% spec compliant. Now the majority of CSV libs target spec compliance as a baseline.
The VanillaWC org demonstrates that you don't need any build tools (ex webpack) or libs (ex lit-html) to build web components. It has the potential to really lower the bar for develoment and adoption.
The VanillaES org will only become more relevant as the entire JS ecosystem shifts over to using ESM. The impact of JS becomes a LOT smaller when the code os 50% the size and 80% of that can be tree-shaken out. We have just barely started to see the full potential of ESM.
Not successful enough. If I put in a LOT more effort into promoting my projects they'd be much more successful.
But, I don't get paid to work on Open Source so the incentive isn't really there.
The CSV parser and other parsers I've written inspired me to learn advanced RegEx and Formal Language Theory. My approach is non-traditional but I write some of the fastest parsers in the entire JS ecosystem.
The ESM peojects helped me practice and develop really great workflows for working w/ bleeding-edge JS and participate on the node/modules team. I'm planning to write a whole series of articles about this soon.
The web component projects helped me really refine my understanding of the platform. There is a ridiculous amount of untapped potential in this space. I hope to build my career on this soon.
The CSV parser is something I wish I had looked up like a few months ago when I was scraping data. So cool!
IMO, CSV-ES is a good option but I've had to hold back on promoting the ESM stuff for the past 8 months until Node + ESM was no longer experimental.
The big shift to ESM in the Node ecosyste won't happen until Node 14.x hits LTS in October.
That's gonna be great. I've been fine with UMDing my libraries but ultimately it's annoying. TypeScript does cover that issue though, at least that's what I've found. Your markdown component is sick too! Nice stuff!
UMD is probably the best universal target until IE can be dropped.
I don't use TS for library dev but all my libs are TS compatible. I kinda hope TS overtakes Webpack for compilation b/c its output is a lot more faithful to the spec. ESM in webpack is pretty much just CommonJS w/ ESM syntax and a lot of Node-specific behavior.
Spec ESM is damn good. Tree-shaking to remove dead code works beautifully. The major downside is you can't use non-strict JS w/ modules so it'll obsolete a ton of older libraries. That and pre-ESM libs that yeet their namespace onto the global context are painful to integrate.
For lib dev I use JS to lower the barrier-to-entry for contributors, add JSDoc types that compile to TS typings for all the type checking/intellisense goodies, and ship CommonJS for Node backward compat. Tooling w/ ESM support (ex testing) is still lagging but that should get better as time goes on.
Thanks! The wc-markdown is my favorite of the collection. It's what loads all of the content on my personal website. Hopefullt, one day I'll finish that markdown-es parser so I can optimize the heck out of it.
Libraries or apps?
I'd say libraries. Something that can help out other devs
Is not exactly a library. It's a cli utility.
Replace a bunch of
bashscript with curl commands inside. It's an http client that reads data from a json file and makes the request. At first it was just a thing I did to replace
curlbut then I added other commands and I think it went well.
I'm the only known user so it's going great.
Nothing. But I did get to do some crazy stuff for no particular reason.
I was working on two small libraries earlier this year but I haven't had time to write some tests and do a final review, so I haven't published them yet. Some feedback would be great though!
First one is a re-write of JSBloom with LZ-String compression algorithm support. I did it because I wanted to understand how a bloom filter works and the module I found on Mozilla's repo had enough "holes" on it that it was fun to refactor.
Second on is the world's smallest Ethereum signer! It allows cryptographically signing and verifying messages as well as generating wallets from a given PK. Vitor Maia had gotten it down to 52k (compressed) while my version is 39K... uncompressed. I incorporated the noble-secp256k1's code because it uses the native BigInt type instead of the huge and messy BN module most commonly used in crypto libraries and it allowed me to refactor away more than 5000 LOC :-)
I've written tons over the years, the several I'm most proud of are things like 3d mesh decimation for both Unity and PlayCanvas. Github
I've just recently been building stuff for React including a very fast virtual dynamic list that has properties that make it ideal for circumstances other projects don't cover. Github
Just published a cool library for quickly writing async components in React, article here
One library I recently "finished" was github.com/vinaypillai/ac-colors. I wanted to solve some the issues with picking colors with HSL color pickers, like how changing the hue in HSL might make colors seem brighter or darker (read more about that here). The color library I wrote was meant to address these issues, and offer a few common utilities that developers often need, like contrast ratio checking and random color generation. I think as a whole I was pretty successful, but there are still more features I want to add, like additional support for the LUV and LCHuv color spaces.