hardhat
Version:
Hardhat is an extensible developer tool that helps smart contract developers increase productivity by reliably bringing together the tools they want.
269 lines • 10.3 kB
TypeScript
import type { ResolvedFileType } from "./resolved-file.js";
export declare enum RootResolutionErrorType {
/**
* Trying to resolve a project file as root, but it's not part of the project.
*/
PROJECT_ROOT_FILE_NOT_IN_PROJECT = "PROJECT_ROOT_FILE_NOT_IN_PROJECT",
/**
* Trying to resolve a project file as root, but it doesn't exist.
*/
PROJECT_ROOT_FILE_DOES_NOT_EXIST = "PROJECT_ROOT_FILE_DOES_NOT_EXIST",
/**
* Trying to resolve a project file as root, but it's in a node_modules
* directory.
*/
PROJECT_ROOT_FILE_IN_NODE_MODULES = "PROJECT_ROOT_FILE_IN_NODE_MODULES",
/**
* Trying to resolve an npm file as root, but it's module name has an invalid
* format.
*/
NPM_ROOT_FILE_NAME_WITH_INVALID_FORMAT = "NPM_ROOT_FILE_NAME_WITH_INVALID_FORMAT",
/**
* Trying to resolve an npm file as root resolves into a project file
* because a direct local import was provided (e.g. "contracts/A.sol"), or
* because its being affected by a user remapping which resolves into a
* project file.
*/
NPM_ROOT_FILE_RESOLVES_TO_PROJECT_FILE = "NPM_ROOT_FILE_RESOLVES_TO_PROJECT_FILE",
/**
* Trying to resolve an npm file as root, but it's package is not installed.
*/
NPM_ROOT_FILE_OF_UNINSTALLED_PACKAGE = "NPM_ROOT_FILE_OF_UNINSTALLED_PACKAGE",
/**
* Trying to resolve an npm file as root, but remapping errors were found.
*/
NPM_ROOT_FILE_RESOLUTION_WITH_REMAPPING_ERRORS = "NPM_ROOT_FILE_RESOLUTION_WITH_REMAPPING_ERRORS",
/**
* Trying to resolve an npm file as root, but it doesn't exist within its
* package.
*/
NPM_ROOT_FILE_DOES_NOT_EXIST_WITHIN_ITS_PACKAGE = "NPM_ROOT_FILE_DOES_NOT_EXIST_WITHIN_ITS_PACKAGE",
/**
* Trying to resolve an npm file as root, but the casing you are using is
* incorrect.
*/
NPM_ROOT_FILE_WITH_INCORRECT_CASING = "NPM_ROOT_FILE_WITH_INCORRECT_CASING",
/**
* Trying to resolve an npm file as root, but the file is not exported by the
* package.
*/
NPM_ROOT_FILE_NON_EXPORTED_FILE = "NPM_ROOT_FILE_NON_EXPORTED_FILE"
}
export interface ProjectRootFileNotInProjectError {
type: RootResolutionErrorType.PROJECT_ROOT_FILE_NOT_IN_PROJECT;
absoluteFilePath: string;
}
export interface ProjectRootFileDoesNotExistError {
type: RootResolutionErrorType.PROJECT_ROOT_FILE_DOES_NOT_EXIST;
absoluteFilePath: string;
}
export interface ProjectRootFileInNodeModulesError {
type: RootResolutionErrorType.PROJECT_ROOT_FILE_IN_NODE_MODULES;
absoluteFilePath: string;
}
export interface NpmRootFileNameWithInvalidFormatError {
type: RootResolutionErrorType.NPM_ROOT_FILE_NAME_WITH_INVALID_FORMAT;
npmModule: string;
}
export interface NpmRootFileResolvesToProjectFileError {
type: RootResolutionErrorType.NPM_ROOT_FILE_RESOLVES_TO_PROJECT_FILE;
npmModule: string;
userRemapping?: UserRemappingReference;
resolvedFileFsPath: string;
}
export interface NpmRootFileOfUninstalledPackageError {
type: RootResolutionErrorType.NPM_ROOT_FILE_OF_UNINSTALLED_PACKAGE;
npmModule: string;
installationName: string;
}
export interface NpmRootResolutionWithRemappingErrors {
type: RootResolutionErrorType.NPM_ROOT_FILE_RESOLUTION_WITH_REMAPPING_ERRORS;
npmModule: string;
remappingErrors: UserRemappingError[];
}
export interface NpmRootFileDoesNotExistWithinPackageError extends ResolvedFileReference {
type: RootResolutionErrorType.NPM_ROOT_FILE_DOES_NOT_EXIST_WITHIN_ITS_PACKAGE;
npmModule: string;
}
export interface NpmRootFileWithIncorrectCasingError extends ResolvedFileReference {
type: RootResolutionErrorType.NPM_ROOT_FILE_WITH_INCORRECT_CASING;
npmModule: string;
correctCasing: string;
}
export interface NpmRootFileNonExportedFileError extends ResolvedFileReference {
type: RootResolutionErrorType.NPM_ROOT_FILE_NON_EXPORTED_FILE;
npmModule: string;
}
export type ProjectRootResolutionError = ProjectRootFileNotInProjectError | ProjectRootFileDoesNotExistError | ProjectRootFileInNodeModulesError;
export type NpmRootResolutionError = NpmRootFileNameWithInvalidFormatError | NpmRootFileResolvesToProjectFileError | NpmRootFileOfUninstalledPackageError | NpmRootResolutionWithRemappingErrors | NpmRootFileDoesNotExistWithinPackageError | NpmRootFileWithIncorrectCasingError | NpmRootFileNonExportedFileError;
export type RootResolutionError = ProjectRootResolutionError | NpmRootResolutionError;
/**
* The different types of errors that can happen when resolving an import.
*/
export declare enum ImportResolutionErrorType {
/**
* An import has windows path separators.
*/
IMPORT_WITH_WINDOWS_PATH_SEPARATORS = "IMPORT_WITH_WINDOWS_PATH_SEPARATORS",
/**
* A relative import gets outside of its package/project.
*/
ILLEGAL_RELATIVE_IMPORT = "ILLEGAL_RELATIVE_IMPORT",
/**
* A relative import gets into node_modules instead of just using the
* npm module name.
*/
RELATIVE_IMPORT_INTO_NODE_MODULES = "RELATIVE_IMPORT_INTO_NODE_MODULES",
/**
* The imported file doesn't exist.
*/
IMPORT_DOES_NOT_EXIST = "IMPORT_DOES_NOT_EXIST",
/**
* The imported file exists, but the casing you are using is incorrect.
*/
IMPORT_INVALID_CASING = "IMPORT_INVALID_CASING",
/**
* Trying to import a file via npm, but the import syntax is invalid.
*/
IMPORT_WITH_INVALID_NPM_SYNTAX = "IMPORT_WITH_INVALID_NPM_SYNTAX",
/**
* Importing an uninstalled npm package.
*/
IMPORT_OF_UNINSTALLED_PACKAGE = "IMPORT_OF_UNINSTALLED_PACKAGE",
/**
* Processing an import lead to loading remappings with errors.
*/
IMPORT_WITH_REMAPPING_ERRORS = "WITH_REMAPPING_ERRORS",
/**
* Importing a file that is not exported by the npm package' package.exports.
*/
IMPORT_OF_NON_EXPORTED_NPM_FILE = "IMPORT_OF_NON_EXPORTED_NPM_FILE",
/**
* A relative import is affected by a user remapping, which we forbid.
*/
RELATIVE_IMPORT_CLASHES_WITH_USER_REMAPPING = "RELATIVE_IMPORT_CLASHES_WITH_USER_REMAPPING",
/**
* A direct import to a local file was found, which we forbid.
*/
DIRECT_IMPORT_TO_LOCAL_FILE = "DIRECT_IMPORT_TO_LOCAL_FILE"
}
export interface ImportWithWindowsPathSeparatorsError {
type: ImportResolutionErrorType.IMPORT_WITH_WINDOWS_PATH_SEPARATORS;
fromFsPath: string;
importPath: string;
}
export interface IllegalRelativeImportError {
type: ImportResolutionErrorType.ILLEGAL_RELATIVE_IMPORT;
fromFsPath: string;
importPath: string;
}
export interface RelativeImportIntoNodeModulesError {
type: ImportResolutionErrorType.RELATIVE_IMPORT_INTO_NODE_MODULES;
fromFsPath: string;
importPath: string;
}
export interface ImportDoesNotExistError extends ResolvedFileReference {
type: ImportResolutionErrorType.IMPORT_DOES_NOT_EXIST;
fromFsPath: string;
importPath: string;
}
export interface ImportInvalidCasingError extends ResolvedFileReference {
type: ImportResolutionErrorType.IMPORT_INVALID_CASING;
fromFsPath: string;
importPath: string;
correctCasing: string;
}
export interface ImportWithInvalidNpmSyntaxError {
type: ImportResolutionErrorType.IMPORT_WITH_INVALID_NPM_SYNTAX;
fromFsPath: string;
importPath: string;
}
export interface ImportOfUninstalledPackageError {
type: ImportResolutionErrorType.IMPORT_OF_UNINSTALLED_PACKAGE;
fromFsPath: string;
importPath: string;
installationName: string;
}
export interface ImportWithRemappingErrorsError {
type: ImportResolutionErrorType.IMPORT_WITH_REMAPPING_ERRORS;
fromFsPath: string;
importPath: string;
remappingErrors: UserRemappingError[];
}
export interface ImportOfNonExportedNpmFileError extends ResolvedFileReference {
type: ImportResolutionErrorType.IMPORT_OF_NON_EXPORTED_NPM_FILE;
fromFsPath: string;
importPath: string;
}
export interface RelativeImportClashesWithUserRemappingError {
type: ImportResolutionErrorType.RELATIVE_IMPORT_CLASHES_WITH_USER_REMAPPING;
fromFsPath: string;
importPath: string;
directImport: string;
userRemapping: UserRemappingReference;
}
export interface DirectImportToLocalFileError {
type: ImportResolutionErrorType.DIRECT_IMPORT_TO_LOCAL_FILE;
fromFsPath: string;
importPath: string;
suggestedRemapping: string;
}
export type ImportResolutionError = ImportWithWindowsPathSeparatorsError | IllegalRelativeImportError | RelativeImportIntoNodeModulesError | ImportDoesNotExistError | ImportInvalidCasingError | ImportWithInvalidNpmSyntaxError | ImportOfUninstalledPackageError | ImportWithRemappingErrorsError | ImportOfNonExportedNpmFileError | RelativeImportClashesWithUserRemappingError | DirectImportToLocalFileError;
/**
* The different types of errors that can happen when processing a user
* remapping.
*/
export declare enum UserRemappingErrorType {
/**
* The syntax of the remapping is invalid.
*/
REMAPPING_WITH_INVALID_SYNTAX = "REMAPPING_WITH_INVALID_SYNTAX",
/**
* Remapping into an uninstalled npm package.
*/
REMAPPING_TO_UNINSTALLED_PACKAGE = "REMAPPING_TO_UNINSTALLED_PACKAGE"
}
export interface UserRemappingError {
type: UserRemappingErrorType;
remapping: string;
source: UserRemappingSource;
}
/**
* The source where a user remapping was originally read from. i.e. The absolute
* path to a remappings.txt.
*/
export type UserRemappingSource = string;
/**
* A reference to a user remapping.
*/
export interface UserRemappingReference {
originalUserRemapping: string;
actualUserRemapping: string;
remappingSource: string;
}
/**
* A reference to an npm package.
*/
export interface NpmPackageReference {
name: string;
version: string;
rootFsPath: string;
}
/**
* A shared base interface for errors that refer to the expected target of a
* resolution.
*/
export interface ResolvedFileReference {
/**
* The type of file.
*/
resolvedFileType: ResolvedFileType;
/**
* Its npm package.
*/
npmPackage: NpmPackageReference;
userRemapping?: UserRemappingReference;
subpath: string;
packageExportsResolvedSubpath?: string;
}
//# sourceMappingURL=errors.d.ts.map