file

package
v1.9.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 25, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StrictAll          = 0
	StrictLockAndPairs = 1
	StrictPairs        = 2
)
View Source
const SupportedFormatsFallbackFilePath = "embedded/supported_formats.json"
View Source
const SupportedFormatsUri = "/api/1.0/open/files/supported-formats"

Variables

View Source
var EXCLUDED_DIRS_FINGERPRINT = []string{
	"nbproject", "nbbuild", "nbdist", "node_modules",
	"__pycache__", "_yardoc", "eggs",
	"wheels", "htmlcov", "__pypackages__", ".git"}
View Source
var EXCLUDED_DIRS_FINGERPRINT_RAW = []string{"**/*.egg-info/**", "**/*venv/**", "**/*venv3/**"}

Functions

func DefaultExclusions

func DefaultExclusions() []string

func DefaultExclusionsFingerprint added in v1.2.4

func DefaultExclusionsFingerprint() []string

func Excluded added in v1.2.4

func Excluded(exclusions []string, path string) bool

func Exclusions added in v1.2.5

func Exclusions() []string

Types

type CompiledFormat

type CompiledFormat struct {
	ManifestFileRegex *regexp.Regexp
	DocumentationUrl  *string
	LockFileRegexes   []*regexp.Regexp
	// contains filtered or unexported fields
}

func NewCompiledFormat

func NewCompiledFormat(format *Format) (*CompiledFormat, error)

func (*CompiledFormat) MatchFile

func (format *CompiledFormat) MatchFile(filename string) bool

func (*CompiledFormat) MatchLockFile

func (format *CompiledFormat) MatchLockFile(filename string) bool

type Finder

type Finder struct {
	// contains filtered or unexported fields
}

func NewFinder

func NewFinder(c client.IDebClient, fs ioFs.IFileSystem) (*Finder, error)

func (*Finder) GetConfigPath added in v1.8.15

func (finder *Finder) GetConfigPath(rootPath string, exclusions []string) string

func (*Finder) GetGroups

func (finder *Finder) GetGroups(rootPath string, exclusions []string, lockfileOnly bool, strictness int) (Groups, error)

GetGroups return all file groups in specified path recursively.

func (*Finder) GetSupportedFormats

func (finder *Finder) GetSupportedFormats() ([]*CompiledFormat, error)

GetSupportedFormats returns all supported dependency file formats

func (*Finder) GetSupportedFormatsFallbackJson added in v1.5.0

func (finder *Finder) GetSupportedFormatsFallbackJson() ([]byte, error)

func (*Finder) GetSupportedFormatsJson added in v1.5.0

func (finder *Finder) GetSupportedFormatsJson() ([]byte, error)

type Format

type Format struct {
	ManifestFileRegex string   `json:"regex"`
	DocumentationUrl  string   `json:"documentationUrl"`
	LockFileRegexes   []string `json:"lockFileRegexes"`
}

type Group

type Group struct {
	ManifestFile   string          `json:"manifestFile"`
	CompiledFormat *CompiledFormat `json:"-"`
	LockFiles      []string        `json:"lockFiles"`
}

func NewGroup

func NewGroup(manifestFile string, format *CompiledFormat, lockFiles []string) *Group

func (*Group) GetAllFiles

func (fileGroup *Group) GetAllFiles() []string

func (*Group) HasFile

func (fileGroup *Group) HasFile() bool

func (*Group) HasLockFiles

func (fileGroup *Group) HasLockFiles() bool

func (*Group) Print

func (fileGroup *Group) Print()

type Groups

type Groups struct {
	// contains filtered or unexported fields
}

func (*Groups) Add

func (gs *Groups) Add(g Group)

func (*Groups) FilterGroupsByStrictness

func (gs *Groups) FilterGroupsByStrictness(strictness int)

func (*Groups) GetFiles

func (gs *Groups) GetFiles() []string

func (*Groups) Match

func (gs *Groups) Match(format *CompiledFormat, path string, lockfileOnly bool) bool

Match `format` with `path` and append result to Groups

func (*Groups) Size

func (gs *Groups) Size() int

func (*Groups) ToSlice

func (gs *Groups) ToSlice() []Group

type IFinder

type IFinder interface {
	GetGroups(rootPath string, exclusions []string, lockfileOnly bool, strictness int) (Groups, error)
	GetSupportedFormats() ([]*CompiledFormat, error)
	GetConfigPath(rootPath string, exclusions []string) string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL