Files
NapCatQQ/.pnpm-store/v3/files/61/0108231b4e82e9e61494049d54d324fd462ce411274a802c1b7e83b935d7344896deebc6260a83ca3e9594b8bb3fbcf4b9ceb1b87f4a6de385ce40ae2f659f
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

90 lines
3.8 KiB
Plaintext

import type { TSESLint, TSESTree } from '@typescript-eslint/utils';
import type { ImportSettings, PluginName, PluginSettings } from 'eslint-import-context';
import type { MinimatchOptions } from 'minimatch';
import type { ImportType as ImportType_ } from './utils/index.js';
export type { LegacyResolver, LegacyResolverName, LegacyResolverName as ResolverName, LegacyImportResolver, LegacyImportResolver as ImportResolver, LegacyResolverResolve, LegacyResolverResolve as ResolverResolve, LegacyResolverResolveImport, LegacyResolverResolveImport as ResolverResolveImport, LegacyResolverRecord, LegacyResolverRecord as ResolverRecord, LegacyResolverObject, LegacyResolverObject as ResolverObject, NodeResolverOptions, WebpackResolverOptions, TsResolverOptions, NewResolverResolve, NewResolver, FileExtension, DocStyle, ResultNotFound, ResultFound, Resolver, ResolvedResult, ImportSettings, WithPluginName, PluginSettings, RuleContext, ChildContext, } from 'eslint-import-context';
export type ImportType = ImportType_ | 'object' | 'type';
export type Arrayable<T> = T | readonly T[];
export interface PluginConfig extends TSESLint.ClassicConfig.Config {
plugins?: [PluginName];
settings?: PluginSettings;
rules?: Record<`${PluginName}/${string}`, TSESLint.ClassicConfig.RuleEntry>;
}
export interface PluginFlatBaseConfig extends TSESLint.FlatConfig.Config {
settings?: PluginSettings;
rules?: Record<`${PluginName}/${string}`, TSESLint.FlatConfig.RuleEntry>;
}
export interface PluginFlatConfig extends PluginFlatBaseConfig {
name?: `${PluginName}/${string}`;
}
export interface ParseError extends Error {
lineNumber: number;
column: number;
}
export interface CustomESTreeNode<Type extends string> extends Omit<TSESTree.BaseNode, 'type'> {
type: Type;
}
export type ExportDefaultSpecifier = CustomESTreeNode<'ExportDefaultSpecifier'>;
export interface ExportNamespaceSpecifier extends CustomESTreeNode<'ExportNamespaceSpecifier'> {
exported: TSESTree.Identifier;
}
export interface PathGroup {
pattern: string;
group: ImportType;
patternOptions?: MinimatchOptions;
position?: 'before' | 'after';
}
export type ExportAndImportKind = 'value' | 'type';
export type NewLinesOptions = 'always' | 'always-and-inside-groups' | 'ignore' | 'never';
export type NamedTypes = 'mixed' | 'types-first' | 'types-last';
export interface NamedOptions {
enabled?: boolean;
import?: boolean;
export?: boolean;
require?: boolean;
cjsExports?: boolean;
types?: NamedTypes;
}
export interface AlphabetizeOptions {
caseInsensitive: boolean;
order: 'ignore' | 'asc' | 'desc';
orderImportKind: 'ignore' | 'asc' | 'desc';
}
export type ImportEntryType = 'import:object' | 'import' | 'require' | 'export';
export type LiteralNodeValue = string | number | bigint | boolean | RegExp | null;
export interface ImportEntry {
type: ImportEntryType;
node: TSESTree.Node & {
importKind?: ExportAndImportKind;
exportKind?: ExportAndImportKind;
};
value: LiteralNodeValue;
alias?: string;
kind?: ExportAndImportKind;
displayName?: LiteralNodeValue;
}
export interface ImportEntryWithRank extends ImportEntry {
rank: number;
isMultiline?: boolean;
}
export interface RanksPathGroup {
pattern: string;
patternOptions?: MinimatchOptions;
group: string;
position?: number;
}
export type RanksGroups = Record<string, number>;
export interface Ranks {
omittedTypes: string[];
groups: RanksGroups;
pathGroups: RanksPathGroup[];
maxPosition: number;
}
export interface CjsRequire extends NodeJS.Require {
<T>(id: string): T;
}
export type SetValue<T extends Set<unknown>> = T extends Set<infer U> ? U : never;
export interface NormalizedCacheSettings extends NonNullable<ImportSettings['cache']> {
lifetime: number;
}