npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

if-follow-package

v3.0.1

Published

if-follow-package is a JavaScript library that provides APIs for managing followers and followings on GitHub. This package allows you to find users who are not following you back, find users who are following you back, unfollow users who are not following

Downloads

129

Readme

if-follow-package

if-follow-package is a JavaScript library that provides APIs for managing followers and followings on GitHub.

if-follow-package allows you the following:

  • find users who are not following you back

  • find users who are following you back

  • unfollow users who are not following you back

  • check if a user is following you

  • check if you are following a user

  • get the exact total number of followings

  • get the exact total number of followers

  • and other follow control features

NPM Version npm-build-published github-build-published CI Codecov-report License LinkedIn

Table of Contents

Installation

Install from npm registry(Preference)


npm install if-follow-package

Install from Github Packages registry(require authentication)


npm install @farhan7reza7/if-follow-package
Steps to install from Github Packages registry:

See steps here

Include in html page from CDN

OR for version 2.1.3 and above

Can include in page using script tag from CDN

    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/axios.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/index.min.js"></script>

Get any supported version script tag

Usage

Initialize:

//const ifFollow = require('@farhan7reza7/if-follow-package'); //or

const ifFollow = require('if-follow-package'); // can use any if authenticated

OR for version 2.1.3 and above

Can include in html page using script tag from CDN

    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/axios.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/index.min.js"></script>

Create an instance:

const yourUsername = 'username';  // replace with your username
const yourToken = 'access-token' // replace with your access token

const followController = ifFollow(yourUsername, yourToken);

Note: For CDN based, only ifFollow function name creates an instance

See an example of using CDN based

Steps to generate access-token:

See steps here

Or if already know creating token

generate here

Use Methods to manage follow:

  • Get a list of users who are not following you back
const notFollowingBackList = followController.whoNotFollowingBack();
  • Get a list of users who are following you back
const followingBackList = followController.whoFollowingBack();
  • Check if a specific user is following you back
const isFollowingBackMessage = followController.isFollowingBack('username');
  • Unfollow a user who is not following you back
followController.unfollowNotFollowingBack('username');
  • Unfollow all users who are not following you back
followController.unfollowAllNotFollowingBack();
  • Check if a user is following you
const isFollowerMessage = followController.isFollower('username');
  • Check if you are following a user
const isFollowingMessage = followController.isFollowing('username');
  • Get the total number of followers
const totalFollowersMessage = followController.totalFollowers();
  • Get the total number of followings
const totalFollowingsMessage = followController.totalFollowings();

Get Built in codes for using if-follow-package any Method on created instance(followController)

Get Built in codes here

Managed Outputs (example user outputs):

isFollower(username)

// Test case: user is a follower
const result1 = followController.isFollower('farhan7reza7');

result1.then((result) => {
    console.log(result);  // Output: "Yes, farhan7reza7 follows you!"
});

// Test case: user is not a follower
const result2 = followController.isFollower('diff-ymd-package');

result2.then((result) => {
  console.log(result);  // Output: "No, diff-ymd-package does not follow you!"
});
isFollowing(username)

// Test case: user is followed
const result3 = followController.isFollowing('farhan7reza7');

result3.then((result) => {
  console.log(result); // Output: "Yes, you follow farhan7reza7!"
});

// Test case: user is not followed
const result4 = followController.isFollowing('anaseem80');

result4.then((result) => {
  console.log(result);  // Output: "No, you do not follow anaseem80!"
});
totalFollowers()

const result5 = followController.totalFollowers();

result5.then((result) => {
  console.log(result);  // Output: "Your total Followers: 1657"
});
totalFollowings()

const result6 = followController.totalFollowings();

result6.then((result) => {
  console.log(result);  // Output: "Your total Followings: 1067`
});
whoNotFollowingBack()

const result7 = followController.whoNotFollowingBack();

result7.then((result) => {
  console.log(result); // Output: ["diff-ymd-package", "Open-Sourced-Org", "username4", "usernameN"]
}); 
whoFollowingBack()

const result8 = followController.whoFollowingBack();

result8.then((result) => {
  console.log(result); // Output: ["farhan7reza7", "username2", "username3", "usernameN"]
}); 
isFollowingBack(username)

// Test case: user is following back
const result9 = followController.isFollowingBack('farhan7reza7');

result9.then((result) => {
  console.log(result); // Output: "Yes, farhan7reza7 following back!"
});  

// Test case: user is not following back
const result10 = followController.isFollowingBack('diff-ymd-package');

result10.then((result) => {
  console.log(result); // Output: "No, diff-ymd-package does not following back!"
}); 
unfollowNotFollowingBack(username)

// Test case: unfollow a user who is not following back
const result11 = followController.unfollowNotFollowingBack('diff-ymd-package');
                 //Console Output: "Unfollowed: diff-ymd-package"

// not needed to console, because internally log message, just only call
result11.then((result) => {
  console.log(result); // Output: "undefined"
}); 
unfollowAllNotFollowingBack()

// Test case: unfollow all users who are not following back
const result12 = followController.unfollowAllNotFollowingBack();
                 /* Console Output: "Unfollowed: Open-Sourced-Org"
                                    "Unfollowed: username2"
                                    "Unfollowed: username3"
                                    "Unfollowed: usernameN"*/
     
// not return anything, and internally log message, just only call
result12.then((result) => {
  console.log(result); // Output: "undefined"
});       
 

API References

if-follow-package

API Documentation

IfFollow

Represents a class for managing followers and followings on GitHub.

Initialize:


const ifFollow = require('if-follow-package');
ifFollow is a function which creates an instance of IfFollow

Create an instance of IfFollow:


const followController = ifFollow(yourUsername, yourToken);
  • yourUsername: Your GitHub username.

  • yourToken: Your GitHub personal access token.

  • Returns: An object containing functions to interact with followers and followings on Github.

Methods:

  • isFollower(username)

Check if a user is following you.


const isFollowerMessage = followController.isFollower('username');

username: The username of the user you want to check.

Returns: A message indicating if the user is following you.

  • isFollowing(username)

Check if you are following a user.


const isFollowingMessage = followController.isFollowing('username');

username: The username of the user you want to check.

Returns: A message indicating if you are following the user.

  • totalFollowers()

Get the total number of followers.


const totalFollowersMessage = followController.totalFollowers();

Returns: A message with the total number of followers.

  • totalFollowings()

Get the total number of followings.


const totalFollowingsMessage = followController.totalFollowings();

Returns: A message with the total number of followings.

  • whoNotFollowingBack()

Get a list of users who are not following you back.


const notFollowingBackList = followController.whoNotFollowingBack();

Returns: An array of usernames who are not following you back.

  • whoFollowingBack()

Get a list of users who are following you back.


const followingBackList = followController.whoFollowingBack();

Returns: An array of usernames who are following you back.

  • isFollowingBack(username)

Check if a specific user is following you back.


const isFollowingBackMessage = followController.isFollowingBack('username');

username: The username of the user you want to check.

Returns: A message indicating if the user is following you back.

  • unfollowNotFollowingBack(username)

Unfollow a user who is not following you back.


followController.unfollowNotFollowingBack('username');

username: The username of the user you want to unfollow.

Returns: {Promise} A promise that resolves once the user is unfollowed.

Special case: It outputs message in console/terminal indicating which user unfollowed

  • unfollowAllNotFollowingBack()

Unfollow all users who are not following you back.


followController.unfollowAllNotFollowingBack();

Returns: {Promise} A promise that resolves once all users are unfollowed.

Special case: It outputs messages in console/terminal indicating which users unfollowed

For more information:

See if-follow-package Documentation

Contributing

If you find any issues or have suggestions for improvement, please open an issue or create a pull request on the GitHub repository.

See CONTRIBUTING guidelines for more information.

Best Practices:

The code adheres to recommended practices for readability and maintainability, including:

  • Meaningful variable and function names for clarity.
  • Clear and concise comments to enhance understanding.
  • Proper indentation and formatting for visual organization.

See mdn guidelines for more information.

License

This project is licensed under the MIT License - see the LICENSE file for details.

See License

History

For more details about what has changed in each version of this project.

See CHANGELOG