From b681275e6988773994162dba44b53f3dac802eb2 Mon Sep 17 00:00:00 2001 From: Axel Hecht Date: Fri, 23 Sep 2022 18:54:48 +0200 Subject: [PATCH] Ignore .git store on Template uploads for editor and increase payload size to 10MB (fixes #12561) Signed-off-by: Axel Hecht --- .changeset/wild-weeks-live.md | 6 ++++++ plugins/scaffolder-backend/src/service/router.ts | 3 ++- .../scaffolder/src/lib/filesystem/WebFileSystemAccess.ts | 4 ++++ 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 .changeset/wild-weeks-live.md diff --git a/.changeset/wild-weeks-live.md b/.changeset/wild-weeks-live.md new file mode 100644 index 0000000000..e66b3193d0 --- /dev/null +++ b/.changeset/wild-weeks-live.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-scaffolder': patch +'@backstage/plugin-scaffolder-backend': patch +--- + +Ignore .git directories in Template Editor, increase upload limit for dry-runs to 10MB. diff --git a/plugins/scaffolder-backend/src/service/router.ts b/plugins/scaffolder-backend/src/service/router.ts index 28dd1ca413..46fdcbe806 100644 --- a/plugins/scaffolder-backend/src/service/router.ts +++ b/plugins/scaffolder-backend/src/service/router.ts @@ -148,7 +148,8 @@ export async function createRouter( options: RouterOptions, ): Promise { const router = Router(); - router.use(express.json()); + // Be generous in upload size to support a wide rande of templates in dry-run mode. + router.use(express.json({ limit: '10MB' })); const { logger: parentLogger, diff --git a/plugins/scaffolder/src/lib/filesystem/WebFileSystemAccess.ts b/plugins/scaffolder/src/lib/filesystem/WebFileSystemAccess.ts index 36e7b11de2..8d325e4bfb 100644 --- a/plugins/scaffolder/src/lib/filesystem/WebFileSystemAccess.ts +++ b/plugins/scaffolder/src/lib/filesystem/WebFileSystemAccess.ts @@ -71,6 +71,10 @@ class WebDirectoryAccess implements TemplateDirectoryAccess { if (handle.kind === 'file') { yield new WebFileAccess([...basePath, handle.name].join('/'), handle); } else if (handle.kind === 'directory') { + // Skip git storage directory + if (handle.name === '.git') { + continue; + } yield* this.listDirectoryContents(handle, [...basePath, handle.name]); } }