1.0.1 • Published 3 years ago

@qiwi/repocrawler-reporters v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

@qiwi/repocrawler-reporters

Reporters for analyzing results of crawling (@qiwi/repocrawler-gerrit or @qiwi/repocrawler-github)

API

All functions return reports as objects

getTreeReport(packageNamePattern, source, depType, cwd)

Tree report

import { getTreeReport } from '@qiwi/repocrawler-reporters'

const treeReport = getTreeReport('^typescript$', 'auto', 'all', 'temp')
{
    "packageNamePattern": "^typescript$",
    "depType": "dev",
    "source": "package",
    "totalProjectsCount": 42,
    "data": [
        {
            "name": "typescript",
            "usageCount": 3,
            "ratio": 0.0714,
            "minVersion": "2.0.3",
            "maxVersion": "4.0.3",
            "repos": [
                {
                    "vcs": "gerrit",
                    "repo": "gerrit%2Ffoo%bar-admin-node"
                },
                {
                    "vcs": "gerrit",
                    "repo": "gerrit%2Fbaz%2Fbaz-api"
                },
                {
                    "vcs": "gerrit",
                    "repo": "gerrit%2Fbat%2Fbat"
                }
            ]
        }
    ]
}

Arguments

NameDescriptionDefault
packageNamePatternpackage name patternmandatory
sourceauto, package, lockfile. auto - lockfiles are analyzed if exist or package.json insteadmandatory
depTypeall, dev, peer, optionalmandatory if source = package
cwdPath to folder with crawler metadatanode_modules/.cache/@qiwi%2Frepocrawler-reporter

getUsageReport(packageNamePattern, versionRange, source, depType, cwd)

Usage report

import { getUsageReport } from '@qiwi/repocrawler-reporters'

const usageReport = getUsageReport('^typescript$', '>=4.0.0', 'lock', 'all', 'temp')
{
	"packageNamePattern": "^typescript$",
	"depType": "all",
	"versionRange": ">=4.0.0",
	"source": "package",
	"usages": [
		{
			"project": "@qiwi-foo/js-bar",
			"package": "typescript",
			"versions": ["4.0.2"],
			"commitInfo": {
				"hash": "0c24c1881a516dcebb34b24bf921fb6012345678",
				"message": "chore: update deps"
			}
		}
	]
}

Arguments

NameDescriptionDefault
packageNamePatternpackage name patternmandatory
versionRangeValid semver range of package versions to analyzemandatory
sourceauto, package, lockfile. auto - lockfiles are analyzed if exist or package.json insteadmandatory
depTypeall, dev, peer, optionalmandatory if depsSource = package
cwdPath to folder with crawler metadatanode_modules/.cache/@qiwi%2Frepocrawler-reporter

getVersionsReport(packageNamePattern, versionRange, source, depType, cwd)

Versions report

import { getVersionsReport } from '@qiwi/repocrawler-reporters'

const versionsReport = getVersionsReport('^typescript$', '>=4.0.0', 'lock', 'all', 'temp')
{
	"packageNamePattern": "^typescript$",
	"depType": "all",
	"source": "lock",
	"versionRange": ">4.0.0",
	"data": [
		"3.9.7",
		"4.0.3"
	]
}

Arguments are the same as in getUsageReport