diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.test.ts index c870d9a6b7..0b90db54e1 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.test.ts @@ -226,6 +226,12 @@ describe('fetch:template', () => { ).resolves.toEqual(false); }); + it('skips empty filename inside directory', async () => { + await expect( + fs.pathExists(`${workspacePath}/target/subdir3/fileSkippedInsideDirectory.txt`), + ).resolves.toEqual(false); + }); + it('skips content of empty subdirectory', async () => { await expect( fs.pathExists( diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.ts index 119c870002..25457f4775 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.ts @@ -217,6 +217,9 @@ export function createFetchTemplateAction(options: { } const outputPath = resolveSafeChildPath(outputDir, localOutputPath); + if (fs.existsSync(outputPath)) { + continue; + } if (!renderContents && !extension) { ctx.logger.info(