1/*
2 * Copyright (c) 2023-2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16import type * as ts from 'typescript';
17import type { CommandLineOptions } from './CommandLineOptions';
18import type { IncrementalLintInfo } from './IncrementalLintInfo';
19import type { ReportAutofixCallback } from './autofixes/ReportAutofixCallback';
20import type { IsFileFromModuleCallback } from './IsFileFromModuleCallback';
21import type { IsEtsFileCallback } from './IsEtsFileCallback';
22import type { TSCCompiledProgram } from './ts-diagnostics/TSCCompiledProgram';
23
24// common options interface, additional fields may be used by plugins
25export interface LintOptions {
26  cmdOptions: CommandLineOptions;
27  tscCompiledProgram: TSCCompiledProgram;
28  cancellationToken?: ts.CancellationToken;
29  incrementalLintInfo?: IncrementalLintInfo;
30  reportAutofixCb?: ReportAutofixCallback;
31  isFileFromModuleCb?: IsFileFromModuleCallback;
32  isEtsFileCb?: IsEtsFileCallback;
33  isEtsFile?: boolean;
34  compatibleSdkVersion?: string;
35  compatibleSdkVersionStage?: string;
36}
37