Merge pull request #6078 from backstage/fix/fixing-undefined-issue

Don't make `inputs` `undefined` when they are `""`
This commit is contained in:
Ben Lambert
2021-06-17 13:03:02 +02:00
committed by GitHub
2 changed files with 9 additions and 5 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Keep the empty string as empty string in `input` rather than replacing with `undefined` to make empty values ok for `cookiecutter`
@@ -170,11 +170,6 @@ export class TaskWorker {
preventIndent: true,
})(templateCtx);
// If it's just an empty string, treat it as undefined
if (templated === '') {
return undefined;
}
// If it smells like a JSON object then give it a parse as an object and if it fails return the string
if (
(templated.startsWith('"') && templated.endsWith('"')) ||
@@ -213,6 +208,10 @@ export class TaskWorker {
// Keep track of all tmp dirs that are created by the action so we can remove them after
const tmpDirs = new Array<string>();
this.options.logger.debug(`Running ${action.id} with input`, {
input: JSON.stringify(input, null, 2),
});
await action.handler({
baseUrl: task.spec.baseUrl,
logger: taskLogger,