Skip to content

A tool for collecting historical metrics about a project's dependencies

License

Notifications You must be signed in to change notification settings

corgibytes/freshli-lib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

.NET Core Docker Image CI EditorConfig Lint Maintainability Test Coverage

freshli

A tool for collecting historical metrics about a project's dependencies

The freshli tool captures historical metrics about a project's dependencies. In it's current form, the only metric that it computes is libyear.

For each language that the tool supports, the libyear metric is computed for each month in the past where dependency information is available.

Supported Tools

Languages and Dependency Frameworks

Freshli reads dependency information from special files called "dependency manifests". Each language community has a different format and some lanugage communities have multiple ones. These are the ones that we support. If you don't see one that's important to you, please create an issue for us to add support for it.

  • Ruby
    • bundler - reads information from Gemfile.lock
  • Perl
    • carton - reads information from cpanfile
  • PHP
    • composer - reads information from composer.json and composer.lock
  • Python
    • pip - reads information from requirements.txt
  • .NET
    • NuGet - reads information from *.csproj

Source Code Repositories

Freshli reads source code repository history to access previous version of each dependency manifest. These are the source code repositories that it currently works with. If you don't see your favorite, create an issue for us to add support for it.

  • Git

Using Freshli in a Project

To use Freshli in a project, you have two options:

Beta & Alpha Releases

To use a beta or alpha release, you'll need to set up a GitHub personal access token and then create a nuget.config file in your project root with the following contents:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="GithubPackages" value="https://nuget.pkg.github.com/corgibytes/index.json" />
    </packageSources>
    <packageSourceCredentials>
        <GithubPackages>
            <add key="Username" value="GITHUB_USERNAME" />
            <add key="ClearTextPassword" value="PERSONAL_ACCESS_TOKEN" />
        </GithubPackages>
    </packageSourceCredentials>
</configuration>

You can then view the listing of alpha packages, and add the desired alpha package:

dotnet add package Freshli -v 0.3.0-alpha0030

Contributing to freshli

More information can be found at the Contributing Guide