diff --git a/packages/admin/admin-generator/src/commands/generate/utils/writeGenerated.ts b/packages/admin/admin-generator/src/commands/generate/utils/writeGenerated.ts index e3b284cf3f..73ddd545b7 100644 --- a/packages/admin/admin-generator/src/commands/generate/utils/writeGenerated.ts +++ b/packages/admin/admin-generator/src/commands/generate/utils/writeGenerated.ts @@ -11,10 +11,24 @@ export async function writeGenerated(filePath: string, contents: string): Promis cwd: process.cwd(), fix: true, }); + + // Write not linted generated code into file. This is necessary to avoid linting errors like: Parsing error: file/path/file.tsx was not found by the project service. + await fs.writeFile(filePath, contents); + const lintResult = await eslint.lintText(header + contents, { filePath, }); + if (lintResult[0].errorCount > 0 || lintResult[0].fatalErrorCount > 0) { + const errorMessage = lintResult[0].messages + .map((message) => { + return message.message; + }) + .join("."); + + console.log(`❌ Linting error in ${filePath}: \n${errorMessage}`); + } + const output = lintResult[0] && lintResult[0].output ? lintResult[0].output : lintResult[0].source; await fs.writeFile(filePath, output ?? contents); console.log(`generated ${filePath}`);