@@ -102,6 +102,11 @@ export function getPrettierVersion(): string {
102102 return packageJson . version ;
103103}
104104
105+ function getEslintBinPath ( ) : string {
106+ const eslintPackageJsonPath = require . resolve ( 'eslint/package.json' ) ;
107+ return path . join ( path . dirname ( eslintPackageJsonPath ) , 'bin' , 'eslint.js' ) ;
108+ }
109+
105110function parseFormatterMode ( value : unknown ) : FormatterMode | undefined {
106111 if ( value === null || value === undefined ) {
107112 return undefined ;
@@ -200,11 +205,12 @@ export async function run(verb: string, files: string[]): Promise<boolean> {
200205 const resolvedEslintConfig =
201206 findNearestEslintConfig ( options . targetRootDir ) ||
202207 path . join ( options . mwtsRootDir , 'eslint.config.js' ) ;
208+ const eslintBinPath = getEslintBinPath ( ) ;
203209 if ( resolvedEslintConfig ) {
204210 eslintFlags . unshift ( '--config' , resolvedEslintConfig ) ;
205211 }
206212 try {
207- await execa ( 'eslint ' , eslintFlags , {
213+ await execa ( 'node ' , [ eslintBinPath , ... eslintFlags ] , {
208214 stdio : 'inherit' ,
209215 } ) ;
210216 return true ;
@@ -231,11 +237,12 @@ export async function run(verb: string, files: string[]): Promise<boolean> {
231237 const resolvedEslintConfig =
232238 findNearestEslintConfig ( options . targetRootDir ) ||
233239 path . join ( options . mwtsRootDir , 'eslint.config.js' ) ;
240+ const eslintBinPath = getEslintBinPath ( ) ;
234241 if ( resolvedEslintConfig ) {
235242 eslintFlags . unshift ( '--config' , resolvedEslintConfig ) ;
236243 }
237244 try {
238- await execa ( 'eslint ' , eslintFlags , {
245+ await execa ( 'node ' , [ eslintBinPath , ... eslintFlags ] , {
239246 stdio : 'inherit' ,
240247 } ) ;
241248 return true ;
0 commit comments