@ui5/linter
Version:
A static code analysis tool for UI5
65 lines (64 loc) • 2.12 kB
TypeScript
import ts from "typescript";
import { Resource } from "@ui5/fs";
import LinterContext, { RawLintMessage, ResourcePath } from "../linter/LinterContext.js";
import { ModuleDeclaration } from "../linter/ui5Types/amdTranspiler/parseModuleDeclaration.js";
import { RequireExpression } from "../linter/ui5Types/amdTranspiler/parseRequire.js";
export interface AutofixResource {
resource: Resource;
messages: RawLintMessage[];
}
export interface AutofixOptions {
rootDir: string;
namespace?: string;
resources: Map<ResourcePath, AutofixResource>;
context: LinterContext;
}
export declare enum ChangeAction {
INSERT = "insert",
REPLACE = "replace",
DELETE = "delete"
}
export type ChangeSet = InsertChange | ReplaceChange | DeleteChange;
interface AbstractChangeSet {
action: ChangeAction;
start: number;
}
export interface InsertChange extends AbstractChangeSet {
action: ChangeAction.INSERT;
value: string;
}
export interface ReplaceChange extends AbstractChangeSet {
action: ChangeAction.REPLACE;
end: number;
value: string;
}
export interface DeleteChange extends AbstractChangeSet {
action: ChangeAction.DELETE;
end: number;
}
export type AutofixResult = Map<ResourcePath, string>;
export interface Position {
line: number;
column: number;
pos: number;
}
export interface DeprecatedApiAccessNode {
apiName: string;
position: Position;
node?: ts.CallExpression | ts.Identifier | ts.PropertyAccessExpression | ts.ElementAccessExpression;
}
export type ImportRequests = Map<string, {
nodeInfos?: DeprecatedApiAccessNode[];
identifier: string;
}>;
export interface ExistingModuleDeclarationInfo {
moduleDeclaration: ModuleDeclaration | RequireExpression;
importRequests: ImportRequests;
obsoleteModules: Set<string>;
}
export declare function getFactoryPosition(moduleDeclaration: ExistingModuleDeclarationInfo): {
start: number;
end: number;
};
export default function ({ rootDir: _unused1, namespace: _unused2, resources: autofixResources, context, }: AutofixOptions): Promise<AutofixResult>;
export {};