diff --git a/packages/eslint/src/generators/convert-to-flat-config/generator.ts b/packages/eslint/src/generators/convert-to-flat-config/generator.ts index 8e6cb309ba..5537762372 100644 --- a/packages/eslint/src/generators/convert-to-flat-config/generator.ts +++ b/packages/eslint/src/generators/convert-to-flat-config/generator.ts @@ -1,7 +1,9 @@ import { addDependenciesToPackageJson, formatFiles, + GeneratorCallback, getProjects, + installPackagesTask, NxJsonConfiguration, ProjectConfiguration, readJson, @@ -17,10 +19,12 @@ import { eslintrcVersion, eslintVersion } from '../../utils/versions'; import { ESLint } from 'eslint'; import { convertEslintJsonToFlatConfig } from './converters/json-converter'; +let shouldInstallDeps = false; + export async function convertToFlatConfigGenerator( tree: Tree, options: ConvertToFlatConfigGeneratorSchema -) { +): Promise { const eslintFile = findEslintFile(tree); if (!eslintFile) { throw new Error('Could not find root eslint file'); @@ -60,6 +64,10 @@ export async function convertToFlatConfigGenerator( if (!options.skipFormat) { await formatFiles(tree); } + + if (shouldInstallDeps) { + return () => installPackagesTask(tree); + } } export default convertToFlatConfigGenerator; @@ -215,6 +223,7 @@ function processConvertedConfig( // add missing packages if (addESLintRC) { + shouldInstallDeps = true; addDependenciesToPackageJson( tree, {}, @@ -224,6 +233,7 @@ function processConvertedConfig( ); } if (addESLintJS) { + shouldInstallDeps = true; addDependenciesToPackageJson( tree, {},