resolver

package
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package resolver defines the interface for mapping imports to repository files.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DirExists

func DirExists(path string) bool

DirExists returns true if path exists and is a directory.

func FileExists

func FileExists(path string) bool

FileExists returns true if path exists and is a regular file (not a directory).

Types

type MultiResolver

type MultiResolver interface {
	Resolver
	// ResolveAll returns all files that a single import resolves to.
	ResolveAll(srcFile string, fact model.ImportFact, repoRoot string) ([]model.ResolveResult, error)
}

MultiResolver extends Resolver for languages where one import resolves to multiple files (e.g., Go imports target packages/directories, not files).

type NullResolver

type NullResolver struct{}

NullResolver marks all imports as unresolved. Used for languages that don't have a resolver implementation yet (e.g., TypeScript before the TS resolver is built).

func (*NullResolver) Resolve

func (r *NullResolver) Resolve(_ string, fact model.ImportFact, _ string) (model.ResolveResult, error)

type Resolver

type Resolver interface {
	// Resolve attempts to map an import to a repo-relative file path.
	Resolve(srcFile string, fact model.ImportFact, repoRoot string) (model.ResolveResult, error)
}

Resolver maps import specifiers to repository files.

type SamePackageResolver

type SamePackageResolver interface {
	Resolver
	// ResolveSamePackageEdges returns sibling files in the same package as srcFile.
	ResolveSamePackageEdges(srcFile, repoRoot string) []model.ResolveResult
}

SamePackageResolver extends Resolver for languages where files in the same directory/package implicitly depend on each other (e.g., Go same-package visibility).

Directories

Path Synopsis
Package golang implements import resolution for Go source files.
Package golang implements import resolution for Go source files.
Package java implements import resolution for Java source files.
Package java implements import resolution for Java source files.
Package python implements import resolution for Python source files.
Package python implements import resolution for Python source files.
Package rust implements import resolution for Rust source files.
Package rust implements import resolution for Rust source files.
Package typescript implements import resolution for TypeScript and JavaScript source files.
Package typescript implements import resolution for TypeScript and JavaScript source files.

Jump to

Keyboard shortcuts

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