All Projects → wilk → Thanc

wilk / Thanc

Licence: mit
⭐ Thanc: a smarty way to thank NPM packages authors by starring their repos

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Thanc

Node Thermal Printer
This npm package was made to control epson and star thermal printers
Stars: ✭ 424 (+1015.79%)
Mutual labels:  npm, star
Nasa Cli
🚀 Download NASA Picture of the Day from your terminal!
Stars: ✭ 45 (+18.42%)
Mutual labels:  npm, star
Docker Npmrc Security
.npmrc files are often used insecurely in Docker images. Use multi-stage builds or Docker build secrets to protect your .nrpmc files.
Stars: ✭ 29 (-23.68%)
Mutual labels:  npm
Droply
Stars: ✭ 35 (-7.89%)
Mutual labels:  npm
Itt
Iteration tools.
Stars: ✭ 32 (-15.79%)
Mutual labels:  npm
Luna
Manage npm dependencies through a modern UI.
Stars: ✭ 948 (+2394.74%)
Mutual labels:  npm
Dependency Land
Find the npm modules that depend on a specific module and semver range.
Stars: ✭ 34 (-10.53%)
Mutual labels:  npm
Overwatch Js
Overwatch NodeJS API : Retrieve informations about heroes/players from Overwatch Official Website
Stars: ✭ 27 (-28.95%)
Mutual labels:  npm
Fritzbox.js
☎️ The leading AVM Fritz!Box API for NodeJS and JavaScript.
Stars: ✭ 36 (-5.26%)
Mutual labels:  npm
Npm Build Boilerplate
A collection of packages that build a website using npm scripts.
Stars: ✭ 963 (+2434.21%)
Mutual labels:  npm
Angular Library Starter Kit
Angular 5 Library Starter Kit based on Angular-CLI
Stars: ✭ 35 (-7.89%)
Mutual labels:  npm
Gub
CLI tool for create an npm package from any repos. 🐳
Stars: ✭ 31 (-18.42%)
Mutual labels:  npm
Sa Token
这可能是史上功能最全的Java权限认证框架!目前已集成——登录验证、权限验证、Session会话、踢人下线、分布式会话、单点登录、OAuth2.0、记住我模式、模拟他人账号、临时身份切换、集成Redis、多账号认证体系、前后台分离模式、注解式鉴权、路由拦截式鉴权、花式token生成、自动续签、同端互斥登录、会话治理、密码加密、jwt集成、Spring集成...
Stars: ✭ 935 (+2360.53%)
Mutual labels:  star
React Gettext Parser
Extracts translatable strings from JS(X) source code to POT files
Stars: ✭ 34 (-10.53%)
Mutual labels:  npm
Typac
install npm packages along with corresponding typings
Stars: ✭ 29 (-23.68%)
Mutual labels:  npm
Actions Package Update
keeps npm dependencies up-to-date by making pull requests from GitHub Actions or CI.
Stars: ✭ 36 (-5.26%)
Mutual labels:  npm
Nlm
Lifecycle manager for node projects
Stars: ✭ 27 (-28.95%)
Mutual labels:  npm
Lucidcv
CV Maker 🚀
Stars: ✭ 30 (-21.05%)
Mutual labels:  npm
Ibooks
VuePress记录技术开发笔记
Stars: ✭ 33 (-13.16%)
Mutual labels:  npm
Bootstrap Star Rating
A simple yet powerful JQuery star rating plugin with fractional rating support.
Stars: ✭ 985 (+2492.11%)
Mutual labels:  star

thanc

Thanks to @julietjul for thanc's logo

thanc: a smarty way to thank the authors of NPM packages by starring their repos on Github ❤️

With thanc you'll thank every dependency and sub-dependency (literally the whole dependencies tree) of a given project provided with a package.json (or better a package-lock.json) manifest. So yes, it works also with yarn 😺

This is what thanc looks like:

start

and then, after too many repos:

end

Inspired by:

🤔 Why thanc and not just thank?!?

Basically, because the thank (and also thanks) package already exists on NPM registry.

Thanc (or thancian) is the ancient english word to say thank, so that's why

🛠 Installation

thanc can be installed locally, globally or used with npx.

With NPX

If you've NPM 5.2+, then you can go ahead with npx:

$ npx thanc --me

Install locally

$ npm i -D thanc

Then, under the scripts section of your package.json:

"thanc": "thanc ."

And then:

$ npm run thanc

Install globally

$ npm i -g thanc

Then:

$ thanc

⚙ Usage

Thanking current folder:

$ thanc

Thanking an online Github repo:

$ thanc https://github.com/wilk/thanc

Thanking a specific folder:

$ thanc myProject

Thanking the thanc project:

$ thanc --me

Thanking without seeing the repos list but a progress bar instead:

$ thanc --quite .

Explicit credentials

Basic Auth

$ thanc -u <your_github_username> -p <your_github_password> .

User Token

Explicit:

$ thanc -t <your_github_token> .

Via GITHUB_TOKEN env var:

$ export GITHUB_TOKEN=<your_github_token>; thanc .

🔒 Authentication Types Supported

thanc supports two types of authentication:

  • Basic: it requires your Github username and password
  • Token: it requires one of your Github user token (just create a new token here with public_repo permission)

📖 Help

thanc has several options you can check through --help:

$ thanc --help

  Usage: thanc [options] <project_path>


  Options:

    -V, --version              output the version number
    --me                       thank thanc package and all of its dependencies
    -u, --username <username>  your Github username
    -p, --password <password>  your Github password
    -t, --token <password>     your Github token
    -q, --quite                Show only the progress bar instead of the repos list
    -h, --help                 output usage information

🔑 Build Verification

thanc is published as a transpiled lib and so, for each new tag, a new build is performed, generating the dist.js file.

To verify if dist.js is exactly the transpiled version of thanc, a md5 checksum has been provided (and always up-to-date) inside the package.json (checksums):

$ md5sum dist.js

The result must be equal to checksums listed inside the package.json.

The build verification process can be done as follows:

$ git clone https://github.com/wilk/thanc
$ cd thanc
$ npm i
$ npm run build
# replace md5sum with your favourite md5 program
$ md5sum dist.js

✋ Limitations

Github APIs have some limitations:

  1. rate limiting: each user can perform 5000 requests per hour, so if you're using thanc intensively, you may encounter the rate limit error. Don't panic, take a coffee with a friend, and then start back starring repos 💪
  2. abuse rate limit: Github prevents making lots of rapidly requests for a single user (they want to guarantee the quality of service) so thanc stars chunks of 35 repos at a time.

💥 Known Issues

Some repos cannot be starred, due to:

  • missing repository property on package.json manifest
  • missing package on NPM registry (thanc relies on that)
  • missing repository on Github (thanc uses NPM registry info)

Sometimes, some repos can be starred twice because they might have a very similar url but different, pointing to the same github repo

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].