diff --git a/src/parser/gjs-gts-parser.js b/src/parser/gjs-gts-parser.js index ce9702f..b9b662a 100644 --- a/src/parser/gjs-gts-parser.js +++ b/src/parser/gjs-gts-parser.js @@ -159,7 +159,7 @@ module.exports = { let result = null; const filePath = options.filePath; - if (options.project) { + if (options.project || options.projectService) { jsCode = replaceExtensions(jsCode); } diff --git a/test-projects/configs/flat-ts/eslint.config.mjs b/test-projects/configs/flat-ts/eslint.config.mjs index a7c9d80..e4bffd9 100644 --- a/test-projects/configs/flat-ts/eslint.config.mjs +++ b/test-projects/configs/flat-ts/eslint.config.mjs @@ -21,6 +21,13 @@ import n from 'eslint-plugin-n'; import globals from 'globals'; import ts from 'typescript-eslint'; + +import { createRequire } from 'node:module'; +const require = createRequire(import.meta.url); +const manifestPath = require.resolve('@typescript-eslint/parser/package.json'); +const manifest = require(manifestPath); +const isV8 = parseInt(manifest.version[0]) >= 8; + const parserOptions = { esm: { js: { @@ -29,7 +36,7 @@ const parserOptions = { }, ts: { projectService: true, - project: true, + ...(isV8 ? {} : { project: true }), tsconfigRootDir: import.meta.dirname, }, }, diff --git a/test-projects/configs/flat-ts/tsconfig.json b/test-projects/configs/flat-ts/tsconfig.json index 48ae5f1..f940e9c 100644 --- a/test-projects/configs/flat-ts/tsconfig.json +++ b/test-projects/configs/flat-ts/tsconfig.json @@ -1,6 +1,5 @@ { "extends": "@tsconfig/ember/tsconfig.json", - "include": ["src/**/*", "unpublished-development-types/**/*"], "compilerOptions": { "allowJs": true, "declarationDir": "declarations", diff --git a/test-projects/gjs-types/.eslintrc.cjs b/test-projects/gjs-types/.eslintrc.cjs index 679a698..1e4a766 100644 --- a/test-projects/gjs-types/.eslintrc.cjs +++ b/test-projects/gjs-types/.eslintrc.cjs @@ -3,16 +3,24 @@ const path = require('path'); const parserOptions = {}; -if (process.env.PROJECT_SERVICE) { +// if (process.env.PROJECT_SERVICE) { parserOptions.projectService = { - defaultProject: process.env.DEFAULT_PROJECT || 'tsconfig.json', + defaultProject: process.env.DEFAULT_PROJECT || process.env.PROJECT || 'tsconfig.json', allowDefaultProject: process.env.ALLOW_DEFAULT_PROJECT === 'true' ? ['**/*.js'] : [] }; -} +// } parserOptions.tsconfigRootDir = process.env.TSCONFIG_ROOT_DIR || __dirname; parserOptions.project = process.env.PROJECT === undefined ? true : process.env.PROJECT; +const manifestPath = require.resolve('@typescript-eslint/parser/package.json'); +const manifest = require(manifestPath); +const isV8 = parseInt(manifest.version[0]) >= 8; + +if (isV8) { + delete parserOptions.project; +} + module.exports = { root: true, parserOptions, diff --git a/test-projects/gts/.eslintrc.cjs b/test-projects/gts/.eslintrc.cjs index 7b71c38..1226ced 100644 --- a/test-projects/gts/.eslintrc.cjs +++ b/test-projects/gts/.eslintrc.cjs @@ -1,9 +1,13 @@ 'use strict'; +const manifestPath = require.resolve('@typescript-eslint/parser/package.json'); +const manifest = require(manifestPath); +const isV8 = parseInt(manifest.version[0]) >= 8; + module.exports = { root: true, parserOptions: { - project: true, + ...(isV8 ? {} : { project: true }), projectService: true, tsconfigRootDir: __dirname },