Skip to content

Commit f71e827

Browse files
committed
Remove deprecated CLIEngine
1 parent 1cbc80a commit f71e827

File tree

2 files changed

+10
-15
lines changed

2 files changed

+10
-15
lines changed

server/src/modes/template/htmlMode.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ export class HTMLMode implements LanguageMode {
8080
}
8181
if (this.config.vetur.validation.template) {
8282
const embedded = this.embeddedDocuments.refreshAndGet(document);
83-
diagnostics.push(...doESLintValidation(embedded, this.lintEngine));
83+
diagnostics.push(...(await doESLintValidation(embedded, this.lintEngine)));
8484
}
8585

8686
return diagnostics;
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { CLIEngine, Linter } from 'eslint';
1+
import { ESLint, Linter } from 'eslint';
22
import { configs } from 'eslint-plugin-vue';
33
import { Diagnostic, Range, DiagnosticSeverity } from 'vscode-languageserver-types';
44
import type { TextDocument } from 'vscode-languageserver-textdocument';
@@ -18,32 +18,27 @@ function toDiagnostic(error: Linter.LintMessage): Diagnostic {
1818
};
1919
}
2020

21-
export function doESLintValidation(document: TextDocument, engine: CLIEngine): Diagnostic[] {
21+
export async function doESLintValidation(document: TextDocument, engine: ESLint): Promise<Diagnostic[]> {
2222
const rawText = document.getText();
2323
// skip checking on empty template
2424
if (rawText.replace(/\s/g, '') === '') {
2525
return [];
2626
}
2727
const text = rawText.replace(/ {10}/, '<template>') + '</template>';
28-
const report = engine.executeOnText(text, document.uri);
28+
const report = await engine.lintText(text, { filePath: document.uri });
2929

30-
return report.results[0] ? report.results[0].messages.map(toDiagnostic) : [];
30+
return report?.[0].messages.map(toDiagnostic) ?? [];
3131
}
3232

3333
export function createLintEngine(vueVersion: VueVersion) {
3434
const SERVER_ROOT = resolve(__dirname, '../../../../');
3535

36-
const basicConfig = {
37-
useEslintrc: false,
38-
// So ESLint can find the bundled eslint-plugin-vue
39-
cwd: SERVER_ROOT,
40-
...configs.base
41-
};
42-
4336
const versionSpecificConfig = vueVersion === VueVersion.V30 ? configs['vue3-essential'] : configs.essential;
4437

45-
return new CLIEngine({
46-
...basicConfig,
47-
...versionSpecificConfig
38+
return new ESLint({
39+
useEslintrc: false,
40+
cwd: SERVER_ROOT,
41+
baseConfig: configs.base,
42+
overrideConfig: versionSpecificConfig
4843
});
4944
}

0 commit comments

Comments
 (0)