From 2fe5440ced6780a1ed4ada7090e23d025c414fb0 Mon Sep 17 00:00:00 2001 From: Julian Rosse Date: Fri, 3 Jan 2020 15:11:51 -0700 Subject: [PATCH] use espree for expressions --- src/script/index.ts | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/script/index.ts b/src/script/index.ts index c5d9e2f8..7d388bc3 100644 --- a/src/script/index.ts +++ b/src/script/index.ts @@ -233,9 +233,14 @@ function parseScriptFragment( code: string, locationCalculator: LocationCalculator, parserOptions: any, + useSpecifiedParser?: boolean, ): ESLintExtendedProgram { try { - const result = parseScript(code, parserOptions) + const result = parseScript( + code, + parserOptions, + Boolean(useSpecifiedParser), + ) postprocess(result, locationCalculator) return result } catch (err) { @@ -563,9 +568,10 @@ export type ESLintCustomParserResult = ESLintProgram | ESLintExtendedProgram export function parseScript( code: string, parserOptions: any, + useSpecifiedParser = true, ): ESLintExtendedProgram { const parser: ESLintCustomParser = - typeof parserOptions.parser === "string" + typeof parserOptions.parser === "string" && useSpecifiedParser ? // eslint-disable-next-line @mysticatea/ts/no-require-imports require(parserOptions.parser) : // eslint-disable-next-line @mysticatea/ts/no-require-imports @@ -603,7 +609,12 @@ export function parseScriptElement( const locationCalculator = globalLocationCalculator.getSubCalculatorAfter( offset, ) - const result = parseScriptFragment(code, locationCalculator, parserOptions) + const result = parseScriptFragment( + code, + locationCalculator, + parserOptions, + true, + ) // Needs the tokens of start/end tags for `lines-around-*` rules to work // correctly.