Giter Site home page Giter Site logo

credits's Introduction

Build Status npm version npm downloads Coverage Status Uses greenkeeper.io All Contributors

credits

We all use a lot of open source projects. Really often we don't even know who is responsible for all the well done projects. You want to see who to thank for hard work?

Use credits and find out on whose work your projects are based on.

Install

$ npm i --save credits

Basic usage

credits will check node_modules, bower_components, and jspm_packages to evaluate the Author and Maintainers of the installed dependencies included in the set path.

In case you want to use it over the command line, there is also credits-cli.

credits( path )

Description : Evaluate persons responsible for your dependencies.

credits returns a Promise which will be resolved with an Array containing a lot of great people. The Array will be sorted according to the numbers of projects they are working on.

var credits    = require( 'credits' );
var creditPath = '/Users/you/your-awesome-project';

/**
 * @param {String} creditPath path to the project you want to analyze
 *
 * @return {Promise}
 */
credits( creditPath )
  .then( function( credits ) {
    console.log( credits );
  } )
  .catch( function( error ) {
    console.log( error );

    process.exit( 1 );
  } );

/*
  Will print:
  {
    npm:
      [ { name     : 'Some person',
          email    : '[email protected]',
          packages : [ 'package1', 'package2', 'package3', 'package4', 'package5'] },
        { name     : 'Some other great person',
          email    : '[email protected]',
          packages : [ 'package6', 'package7', 'package8' ] },
        ...
        ...
        ...
      ],
    jspm: [...],
    bower: [...]
  }
 */

I want to thank all these people for their great work!!!

Contributors

Thanks goes to these wonderful people (emoji key):


Jayson Harshbarger

๐Ÿ“– ๐Ÿ’ป

Radimir Bitsov

๐Ÿ“– ๐Ÿ’ป

Allain Lalonde

๐Ÿ’ป

Andrew Goode

๐Ÿ’ป

This project follows the all-contributors specification. Contributions of any kind welcome!

credits's People

Contributors

allain avatar caligone avatar greenkeeperio-bot avatar hypercubed avatar nexdrew avatar radibit avatar stefanjudis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

credits's Issues

Please consider the following

A few suggestions I think we can consider:

  • Use eslint-plugin-node to ensure post node v4 features are not accidentally added. (see #97)
  • Get the package name from the name attribute instead of the folder name. (see wip)
  • Each analyzer should return a promise. (see wip)
  • Migrate from eslint with custom rules to xo.
  • Migrate from ava to jest. (For snapshot feature).
  • Support component.json

Increase jspm search.

Currently, jspm analyzer only searches for package.json under jspm_packages/npm and jspm_packages/github/components. It should:

  1. Search all directories under jspm_packages/github (i.e. jspm_packages/github/**/**/)
  2. Examine bower.json if package.json is missing.

Use all-stars to reduce duplicates and provide more author info

Based on conversation here and similar idea here, I created all-stars which contains pre-fetched author data for the maintainers of the top depended packages on npm. Credits could leverage this to achieve the following, without hitting the network or sacrificing speed:

  1. Remove duplicate listings of some popular authors

    So that, e.g., the following can be identified as the same person and grouped/listed once:

    jonschlinkert [email protected] (12 packages)
    Jon Schlinkert (12 packages)
    ...
    Isaac Z. Schlueter [email protected] (19 packages)
    isaacs [email protected] (7 packages)
    ...
    juliangruber [email protected] (4 packages)
    Julian Gruber [email protected] (4 packages)
    ...
    jonathanong [email protected] (3 packages)
    Jonathan Ong [email protected] (2 packages)
    
  2. Provide more info, like GitHub username, for several authors

    E.g. something like this (or credits-cli could just use a different style for GitHub usernames):

    Isaac Z. Schlueter [email protected] [GitHub: isaacs] (26 packages)
    Jon Schlinkert [email protected] [GitHub: jonschlinkert] (24 packages)
    Julian Gruber [email protected] [GitHub: juliangruber] (8 packages)
    Jonathan Ong [email protected] [GitHub: jonathanong] (5 packages)
    

The initial release of all-stars includes data for 251 authors of the top 150 depended packages.

Please take a look and let me know what you think. Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.