diff --git a/lib/options-manager.js b/lib/options-manager.js index 0c81dc46..3c0759bb 100644 --- a/lib/options-manager.js +++ b/lib/options-manager.js @@ -511,6 +511,7 @@ const buildTSConfig = options => config => { config.baseConfig.extends = config.baseConfig.extends.concat('xo-typescript'); config.baseConfig.parser = require.resolve('@typescript-eslint/parser'); config.baseConfig.parserOptions = { + ...config.baseConfig.parserOptions, warnOnUnsupportedTypeScriptVersion: false, ecmaFeatures: {jsx: true}, project: options.tsConfigPath, diff --git a/test/options-manager.js b/test/options-manager.js index b9054e89..b22bc1d9 100644 --- a/test/options-manager.js +++ b/test/options-manager.js @@ -436,14 +436,19 @@ test('buildConfig: typescript', t => { }); test('buildConfig: typescript with parserOption', t => { - const config = manager.buildConfig({ts: true, parserOptions: {projectFolderIgnoreList: []}, tsConfigPath: 'path/to/tmp-tsconfig.json'}, {}); + const config = manager.buildConfig({ + ts: true, + parserOptions: {projectFolderIgnoreList: [], sourceType: 'script'}, + tsConfigPath: 'path/to/tmp-tsconfig.json' + }, {}); t.is(config.baseConfig.parser, require.resolve('@typescript-eslint/parser')); t.deepEqual(config.baseConfig.parserOptions, { warnOnUnsupportedTypeScriptVersion: false, ecmaFeatures: {jsx: true}, projectFolderIgnoreList: [], - project: 'path/to/tmp-tsconfig.json' + project: 'path/to/tmp-tsconfig.json', + sourceType: 'script' }); });