Thank every dependency you use inside your Javascript projects. Yes, all of them. With thanc🤘 tl;tr 😏 thanc is a Node.js program that lets you to star the whole dependency tree of a given project containing a package.json manifest or a package-lock.json file.It helps to say thanks to every dependency you’ve used in your projects by starring it on Github. Preamble A couple of days before Christmas, a friend of mine told me about , a Symfony package to: thanks Give thanks (in the form of a GitHub ⭐) to your fellow PHP package maintainers (not limited to Symfony components)! That was a gorgeous idea and I wanted to have it for as well.The only problem was that two packages, named and , already exist on NPM and I needed to find something else because, you know, .Well, it turned out that the ancient word in English to say thank is ): I liked it, so I chose it. Javascript thank thanks naming things is actually important thanc (or thancian Hack-a-thanc It was Saturday, December 23, few minutes past midnight when I started coding.Firstly, I designed the workflow of thanc, step by step: request Github user credentials (basic auth) read package-lock.json dependencies list retrieve the package info for each dependency by querying the NPM registry star Github repos It was quite simple and at 4:00 am I was able to commit the very **.**I didn’t expect that: I missed those wonderful nights, spent working on pet projects, when I was studying at the university. Great times!But suddenly, it happened! I was thrilled and galvanised! first working prototype ⭐️ Introducing thanc ⭐️ Now that I’m writing, it’s the 31st of December, 8 days, 53 commits, 19 releases later. evolved quickly but the workflow is quite the same.It supports both and authentications and it continues to rely on if it doesn’t exist, thanc generates a temporary one on the fly, so even older projects built with Node.js 0.10 can be thanked.thanc is also to ES5 so it can be ran with older versions of Node.js: in fact, the source code is written in plain ES6+. has been used to make it more user friendly and funny, like the vast usage of emojis: inspired me a lot 👊 thanc basic user token package-lock.json: transpiled chalk elm-thanks I think the most important characteristic of thanc is the capability to thank and not just the first level defined inside the package.json manifest.In fact, when thanc is launched against a project, it scans the package-lock.json file, parsing every dependency, eventually reaching the tree leaves (those nodes without dependencies). the whole dependency tree ⚙️ Using thanc The very first user of thanc was me and not just for testing but also because I needed it.I’ve been working with Node.js and I’ve accumulated so many projects that it would be impossible for me starring all the dependencies and sub-dependencies listed inside the many package.json files.Before starting with thanc, I’ve had starred repos on Github (collected in ): then, . since version 0.10 1291 several years 3294 … astonishing 😲I think you’ll notice how many packages your repos are using and maybe just for a very tiny part: yep, sometimes is just . 2000 stars in few days our fault Anyway, thanc is quite simple to use 🙌Just install it with NPM: $ npm i -g thanc on your Github account, then put it into an environment variable called and you’re done: Create a new user token GITHUB_TOKEN $ export GITHUB_TOKEN=<your_github_token>$ thanc Thank, share and contribute 💛 The very first thing you can do to contribute is to thank thanc itself: $ thanc --me thanc is open source and I’m sure you’ve plenty of great ideas to share and to propose: so, don’t forget to PR and to raise new issues! If you enjoyed this article, please 👏 and share it with your mates 🤘