* Copyright (c) 2024-2025 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import type * as ts from 'typescript';
import type { IncrementalLintInfo } from './IncrementalLintInfo';
import type { IsEtsFileCallback } from './IsEtsFileCallback';
import type { IsFileFromModuleCallback } from './IsFileFromModuleCallback';
import type { ReportAutofixCallback } from './autofixes/ReportAutofixCallback';
export interface LinterOptions {
checkTsAsSource?: boolean;
ideInteractive?: boolean;
migratorMode?: boolean;
warningsAsErrors?: boolean;
enableAutofix?: boolean;
arkts2?: boolean;
useRtLogic?: boolean;
advancedClassChecks?: boolean;
useRelaxedRules?: boolean;
cancellationToken?: ts.CancellationToken;
incrementalLintInfo?: IncrementalLintInfo;
reportAutofixCb?: ReportAutofixCallback;
isFileFromModuleCb?: IsFileFromModuleCallback;
isEtsFileCb?: IsEtsFileCallback;
interopCheckMode?: boolean;
compatibleSdkVersion?: number;
compatibleSdkVersionStage?: string;
etsLoaderPath?: string;
migrationMaxPass?: number;
migrationFilePathMap?: Map<string, string>;
noMigrationBackupFile?: boolean;
migrationReport?: boolean;
wholeProjectPath?: string;
projectFolderList?: string[];
checkTsAndJs?: boolean;
inputFiles?: string[];
ruleConfigTags?: Set<number>;
autofixCheck?: boolean;
autofixRuleConfigTags?: Set<number>;
}