Skip to content

DevT9/ECE461_Team11

Repository files navigation

A CLI Interface to score npm packages on specified metrics

Our code leverages the GitHub API to judge the code on these metrics:

  1. Bus Factor
  2. Correctness
  3. Ramp Up
  4. Responsiveness
  5. License

We evaluated the package on these metrics by obtaining valuable information about contributors, pull requests, issues, stars, forks etc.

There is an executable ./run file in the repository that lets the user run the following commands:

  1. ./run install: To install any dependencies in userland
  2. ./run URL_FILE: This takes in a list of URLs and produces a NDJSON ouptut with the fields “URL”, “NetScore”, “RampUp”, “Correctness”, “BusFactor”, “ResponsiveMaintainer”, and “License” and values in the range [0, 1] where 0 indicates total failure and 1 indicates perfection.
  3. ./run test: Runs the test cases for the given code outputs the number of tests passed and the code coverage obtained.

The metrics provided by this product can help ACME Corporation in its larger goal of establishing an internal package registry to reduce reliability on npm by providing ACME Corp employees with vital information regarding a particular package.

METRICS:

  1. Bus Factor:
    Identify and count key contributors
    Check the code ownership distribution
  2. Correctness:
    Run ESLint through .ts/.js files
    Check for test suite
    Check stars and forks
  3. Responsive Maintainer:
    Check time between submiting a PR/issue and that PR/issue getting merged
    Check the length of comments on PRs
  4. License:
    Check if license file exists and is compatible
  5. Ramp Up:
    Examine number of forks, stars, and contributors
    Time taken by a new contributor to make their first commit

Folder Structure: src/ - contains all the source code
src/index.ts - entry point for the application
src/controllers/ - contains api logic
src/config/ - contains all environment variables, database connection, etc.
src/models/ - defines the interfaces for api
src/routes/ - contains all the routes
src/utils/ - all general purpose functions that can be used anywhere in the application
dist/ - contains all compiled javascript code

Project Members:

  1. Dev Thakkar ([email protected])
  2. Jonathan Dow ([email protected])
  3. Rohan Sagar ([email protected])
  4. Dongwon Kim ([email protected])

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •