@roadiehq/scaffolder-backend-module-utils 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -52,10 +52,18 @@ function createZipAction() {
52
52
  },
53
53
  async handler(ctx) {
54
54
  const zip = new AdmZip__default["default"]();
55
- const sourceFilepath = backendCommon.resolveSafeChildPath(ctx.workspacePath, ctx.input.path);
56
- const destFilepath = backendCommon.resolveSafeChildPath(ctx.workspacePath, ctx.input.outputPath);
55
+ const sourceFilepath = backendCommon.resolveSafeChildPath(
56
+ ctx.workspacePath,
57
+ ctx.input.path
58
+ );
59
+ const destFilepath = backendCommon.resolveSafeChildPath(
60
+ ctx.workspacePath,
61
+ ctx.input.outputPath
62
+ );
57
63
  if (!fs__default["default"].existsSync(sourceFilepath)) {
58
- throw new errors.InputError(`File ${ctx.input.path} does not exist. Can't zip it.`);
64
+ throw new errors.InputError(
65
+ `File ${ctx.input.path} does not exist. Can't zip it.`
66
+ );
59
67
  }
60
68
  if (fs__default["default"].lstatSync(sourceFilepath).isDirectory()) {
61
69
  zip.addLocalFolder(sourceFilepath);
@@ -100,7 +108,10 @@ function createWriteFileAction() {
100
108
  }
101
109
  },
102
110
  async handler(ctx) {
103
- const destFilepath = backendCommon.resolveSafeChildPath(ctx.workspacePath, ctx.input.path);
111
+ const destFilepath = backendCommon.resolveSafeChildPath(
112
+ ctx.workspacePath,
113
+ ctx.input.path
114
+ );
104
115
  fs__default["default"].outputFileSync(destFilepath, ctx.input.content);
105
116
  ctx.output("path", destFilepath);
106
117
  }
@@ -139,7 +150,10 @@ function createAppendFileAction() {
139
150
  }
140
151
  },
141
152
  async handler(ctx) {
142
- const sourceFilepath = backendCommon.resolveSafeChildPath(ctx.workspacePath, ctx.input.path);
153
+ const sourceFilepath = backendCommon.resolveSafeChildPath(
154
+ ctx.workspacePath,
155
+ ctx.input.path
156
+ );
143
157
  fs__default["default"].appendFileSync(sourceFilepath, ctx.input.content);
144
158
  ctx.output("path", sourceFilepath);
145
159
  }
@@ -184,13 +198,18 @@ function createParseFileAction() {
184
198
  }
185
199
  },
186
200
  async handler(ctx) {
187
- const sourceFilepath = backendCommon.resolveSafeChildPath(ctx.workspacePath, ctx.input.path);
201
+ const sourceFilepath = backendCommon.resolveSafeChildPath(
202
+ ctx.workspacePath,
203
+ ctx.input.path
204
+ );
188
205
  const parserName = ctx.input.parser;
189
206
  let parser = (content2) => content2;
190
207
  if (parserName) {
191
208
  parser = parsers[parserName];
192
209
  }
193
- const content = parser(fs__default["default"].readFileSync(sourceFilepath).toString());
210
+ const content = parser(
211
+ fs__default["default"].readFileSync(sourceFilepath).toString()
212
+ );
194
213
  ctx.output("content", content);
195
214
  }
196
215
  });
@@ -228,16 +247,26 @@ function createMergeJSONAction({ actionId }) {
228
247
  }
229
248
  },
230
249
  async handler(ctx) {
231
- const sourceFilepath = backendCommon.resolveSafeChildPath(ctx.workspacePath, ctx.input.path);
250
+ const sourceFilepath = backendCommon.resolveSafeChildPath(
251
+ ctx.workspacePath,
252
+ ctx.input.path
253
+ );
232
254
  let existingContent;
233
255
  if (fs__default["default"].existsSync(sourceFilepath)) {
234
- existingContent = JSON.parse(fs__default["default"].readFileSync(sourceFilepath).toString());
256
+ existingContent = JSON.parse(
257
+ fs__default["default"].readFileSync(sourceFilepath).toString()
258
+ );
235
259
  } else {
236
- ctx.logger.info(`The file ${sourceFilepath} does not exist, creating it.`);
260
+ ctx.logger.info(
261
+ `The file ${sourceFilepath} does not exist, creating it.`
262
+ );
237
263
  existingContent = {};
238
264
  }
239
265
  const content = typeof ctx.input.content === "string" ? JSON.parse(ctx.input.content) : ctx.input.content;
240
- fs__default["default"].writeFileSync(sourceFilepath, JSON.stringify(lodash.merge(existingContent, content), null, 2));
266
+ fs__default["default"].writeFileSync(
267
+ sourceFilepath,
268
+ JSON.stringify(lodash.merge(existingContent, content), null, 2)
269
+ );
241
270
  ctx.output("path", sourceFilepath);
242
271
  }
243
272
  });
@@ -274,7 +303,10 @@ function createMergeAction() {
274
303
  }
275
304
  },
276
305
  async handler(ctx) {
277
- const sourceFilepath = backendCommon.resolveSafeChildPath(ctx.workspacePath, ctx.input.path);
306
+ const sourceFilepath = backendCommon.resolveSafeChildPath(
307
+ ctx.workspacePath,
308
+ ctx.input.path
309
+ );
278
310
  if (!fs__default["default"].existsSync(sourceFilepath)) {
279
311
  ctx.logger.error(`The file ${sourceFilepath} does not exist.`);
280
312
  throw new Error(`The file ${sourceFilepath} does not exist.`);
@@ -284,13 +316,19 @@ function createMergeAction() {
284
316
  switch (path.extname(sourceFilepath)) {
285
317
  case ".json": {
286
318
  const newContent = typeof ctx.input.content === "string" ? JSON.parse(ctx.input.content) : ctx.input.content;
287
- mergedContent = JSON.stringify(lodash.merge(JSON.parse(originalContent), newContent), null, 2);
319
+ mergedContent = JSON.stringify(
320
+ lodash.merge(JSON.parse(originalContent), newContent),
321
+ null,
322
+ 2
323
+ );
288
324
  break;
289
325
  }
290
326
  case ".yml":
291
327
  case ".yaml": {
292
328
  const newContent = typeof ctx.input.content === "string" ? yaml__default["default"].load(ctx.input.content) : ctx.input.content;
293
- mergedContent = yaml__default["default"].dump(lodash.merge(yaml__default["default"].load(originalContent), newContent));
329
+ mergedContent = yaml__default["default"].dump(
330
+ lodash.merge(yaml__default["default"].load(originalContent), newContent)
331
+ );
294
332
  break;
295
333
  }
296
334
  }
@@ -325,7 +363,9 @@ function createSleepAction(options) {
325
363
  if (isNaN((_a = ctx.input) == null ? void 0 : _a.amount)) {
326
364
  throw new errors.InputError("amount must be a number");
327
365
  } else if ((options == null ? void 0 : options.maxSleep) && ctx.input.amount > options.maxSleep) {
328
- throw new errors.InputError(`sleep amount can not be greater than maxSleep. amount: ${ctx.input.amount}, maxSleep: ${options.maxSleep}`);
366
+ throw new errors.InputError(
367
+ `sleep amount can not be greater than maxSleep. amount: ${ctx.input.amount}, maxSleep: ${options.maxSleep}`
368
+ );
329
369
  }
330
370
  ctx.logger.info(`Waiting ${ctx.input.amount} seconds`);
331
371
  await new Promise((resolve) => {
@@ -347,7 +387,15 @@ function createJSONataAction() {
347
387
  data: {
348
388
  title: "Data",
349
389
  description: "Input data to perform JSONata expression.",
350
- type: "object"
390
+ type: [
391
+ "object",
392
+ "array",
393
+ "string",
394
+ "number",
395
+ "integer",
396
+ "boolean",
397
+ "null"
398
+ ]
351
399
  },
352
400
  expression: {
353
401
  title: "Expression",
@@ -416,7 +464,10 @@ function createYamlJSONataTransformAction() {
416
464
  }
417
465
  },
418
466
  async handler(ctx) {
419
- const sourceFilepath = backendCommon.resolveSafeChildPath(ctx.workspacePath, ctx.input.path);
467
+ const sourceFilepath = backendCommon.resolveSafeChildPath(
468
+ ctx.workspacePath,
469
+ ctx.input.path
470
+ );
420
471
  const data = yaml__default["default"].load(fs__default["default"].readFileSync(sourceFilepath).toString());
421
472
  const expression = jsonata__default["default"](ctx.input.expression);
422
473
  const result = yaml__default["default"].dump(expression.evaluate(data), ctx.input.options);
@@ -470,10 +521,17 @@ function createJsonJSONataTransformAction() {
470
521
  }
471
522
  },
472
523
  async handler(ctx) {
473
- const sourceFilepath = backendCommon.resolveSafeChildPath(ctx.workspacePath, ctx.input.path);
524
+ const sourceFilepath = backendCommon.resolveSafeChildPath(
525
+ ctx.workspacePath,
526
+ ctx.input.path
527
+ );
474
528
  const data = JSON.parse(fs__default["default"].readFileSync(sourceFilepath).toString());
475
529
  const expression = jsonata__default["default"](ctx.input.expression);
476
- const result = JSON.stringify(expression.evaluate(data), ctx.input.replacer, ctx.input.space);
530
+ const result = JSON.stringify(
531
+ expression.evaluate(data),
532
+ ctx.input.replacer,
533
+ ctx.input.space
534
+ );
477
535
  ctx.output("result", result);
478
536
  }
479
537
  });
@@ -519,7 +577,10 @@ function createSerializeJsonAction() {
519
577
  }
520
578
  },
521
579
  async handler(ctx) {
522
- ctx.output("serialized", JSON.stringify(ctx.input.data, ctx.input.replacer, ctx.input.space));
580
+ ctx.output(
581
+ "serialized",
582
+ JSON.stringify(ctx.input.data, ctx.input.replacer, ctx.input.space)
583
+ );
523
584
  }
524
585
  });
525
586
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/actions/zip.ts","../src/actions/fs/writeFile.ts","../src/actions/fs/appendFile.ts","../src/actions/fs/parseFile.ts","../src/actions/merge/merge.ts","../src/actions/sleep.ts","../src/actions/jsonata/jsonata.ts","../src/actions/jsonata/yaml.ts","../src/actions/jsonata/json.ts","../src/actions/serialize/json.ts","../src/actions/serialize/yaml.ts"],"sourcesContent":["/*\n * Copyright 2021 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { resolveSafeChildPath } from '@backstage/backend-common';\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport { InputError } from '@backstage/errors';\nimport AdmZip from 'adm-zip';\nimport fs from 'fs-extra';\n\nexport function createZipAction() {\n return createTemplateAction<{ path: string; outputPath: string }>({\n id: 'roadiehq:utils:zip',\n description: 'Zips the content of the path',\n schema: {\n input: {\n required: ['path'],\n type: 'object',\n properties: {\n path: {\n title: 'Path',\n description: 'Relative path you would like to zip',\n type: 'string',\n },\n\n outputPath: {\n title: 'Output Path',\n description: 'The name of the result of the zip command',\n type: 'string',\n },\n },\n },\n output: {\n type: 'object',\n properties: {\n outputPath: {\n title: 'Zip Path',\n type: 'string',\n },\n },\n },\n },\n async handler(ctx) {\n const zip = new AdmZip();\n const sourceFilepath = resolveSafeChildPath(\n ctx.workspacePath,\n ctx.input.path,\n );\n const destFilepath = resolveSafeChildPath(\n ctx.workspacePath,\n ctx.input.outputPath,\n );\n\n if (!fs.existsSync(sourceFilepath)) {\n throw new InputError(\n `File ${ctx.input.path} does not exist. Can't zip it.`,\n );\n }\n if (fs.lstatSync(sourceFilepath).isDirectory()) {\n zip.addLocalFolder(sourceFilepath);\n } else if (fs.lstatSync(sourceFilepath).isFile()) {\n zip.addLocalFile(sourceFilepath);\n }\n zip.writeZip(destFilepath);\n ctx.output('outputPath', ctx.input.outputPath);\n },\n });\n}\n","/*\n * Copyright 2021 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport { resolveSafeChildPath } from '@backstage/backend-common';\nimport fs from 'fs-extra';\n\nexport function createWriteFileAction() {\n return createTemplateAction<{ path: string; content: string }>({\n id: 'roadiehq:utils:fs:write',\n description: 'Creates a file with the content on the given path',\n schema: {\n input: {\n required: ['path', 'content'],\n type: 'object',\n properties: {\n path: {\n title: 'Path',\n description: 'Relative path',\n type: 'string',\n },\n content: {\n title: 'Content',\n description: 'This will be the content of the file',\n type: 'string',\n },\n },\n },\n output: {\n type: 'object',\n properties: {\n path: {\n title: 'Path',\n type: 'string',\n },\n },\n },\n },\n async handler(ctx) {\n const destFilepath = resolveSafeChildPath(\n ctx.workspacePath,\n ctx.input.path,\n );\n\n fs.outputFileSync(destFilepath, ctx.input.content);\n ctx.output('path', destFilepath);\n },\n });\n}\n","/*\n * Copyright 2021 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport { resolveSafeChildPath } from '@backstage/backend-common';\nimport fs from 'fs-extra';\n\nexport function createAppendFileAction() {\n return createTemplateAction<{ path: string; content: string }>({\n id: 'roadiehq:utils:fs:append',\n description:\n 'Append content to the end of the given file, it will create the file if it does not exist.',\n schema: {\n input: {\n type: 'object',\n required: ['content', 'path'],\n properties: {\n path: {\n title: 'Path',\n description: 'Path to existing file to append.',\n type: 'string',\n },\n content: {\n title: 'Content',\n description: 'This will be appended to the file',\n type: 'string',\n },\n },\n },\n output: {\n type: 'object',\n properties: {\n path: {\n title: 'Path',\n type: 'string',\n },\n },\n },\n },\n async handler(ctx) {\n const sourceFilepath = resolveSafeChildPath(\n ctx.workspacePath,\n ctx.input.path,\n );\n\n fs.appendFileSync(sourceFilepath, ctx.input.content);\n ctx.output('path', sourceFilepath);\n },\n });\n}\n","/*\n * Copyright 2022 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport { resolveSafeChildPath } from '@backstage/backend-common';\nimport fs from 'fs-extra';\nimport yaml from 'js-yaml';\n\nconst parsers: Record<'yaml' | 'json' | 'multiyaml', (cnt: string) => any> = {\n yaml: (cnt: string) => yaml.load(cnt),\n json: (cnt: string) => JSON.parse(cnt),\n multiyaml: (cnt: string) => yaml.loadAll(cnt),\n};\n\nexport function createParseFileAction() {\n return createTemplateAction<{\n path: string;\n parser?: 'yaml' | 'json' | 'multiyaml';\n }>({\n id: 'roadiehq:utils:fs:parse',\n description: 'Reads a file from the workspace and optionally parses it',\n schema: {\n input: {\n type: 'object',\n required: ['path'],\n properties: {\n path: {\n title: 'Path',\n description: 'Path to the file to read.',\n type: 'string',\n },\n parser: {\n title: 'Parse',\n description: 'Optionally parse the content to an object.',\n type: 'string',\n enum: ['yaml', 'json', 'multiyaml'],\n },\n },\n },\n output: {\n type: 'object',\n properties: {\n content: {\n title: 'Content of the file',\n type: ['string', 'object'],\n },\n },\n },\n },\n async handler(ctx) {\n const sourceFilepath = resolveSafeChildPath(\n ctx.workspacePath,\n ctx.input.path,\n );\n const parserName = ctx.input.parser;\n let parser = (content: string) => content;\n\n if (parserName) {\n parser = parsers[parserName];\n }\n\n const content: string | object = parser(\n fs.readFileSync(sourceFilepath).toString(),\n );\n\n ctx.output('content', content);\n },\n });\n}\n","/*\n * Copyright 2021 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport { resolveSafeChildPath } from '@backstage/backend-common';\nimport fs from 'fs-extra';\nimport { extname } from 'path';\nimport { merge } from 'lodash';\nimport yaml from 'js-yaml';\n\nexport function createMergeJSONAction({ actionId }: { actionId?: string }) {\n return createTemplateAction<{ path: string; content: any }>({\n id: actionId || 'roadiehq:utils:json:merge',\n description: 'Merge new data into an existing JSON file.',\n schema: {\n input: {\n type: 'object',\n required: ['content', 'path'],\n properties: {\n path: {\n title: 'Path',\n description: 'Path to existing file to append.',\n type: 'string',\n },\n content: {\n description:\n 'This will be merged into to the file. Can be either an object or a string.',\n title: 'Content',\n type: ['string', 'object'],\n },\n },\n },\n output: {\n type: 'object',\n properties: {\n path: {\n title: 'Path',\n type: 'string',\n },\n },\n },\n },\n async handler(ctx) {\n const sourceFilepath = resolveSafeChildPath(\n ctx.workspacePath,\n ctx.input.path,\n );\n\n let existingContent;\n\n if (fs.existsSync(sourceFilepath)) {\n existingContent = JSON.parse(\n fs.readFileSync(sourceFilepath).toString(),\n );\n } else {\n ctx.logger.info(\n `The file ${sourceFilepath} does not exist, creating it.`,\n );\n existingContent = {};\n }\n const content =\n typeof ctx.input.content === 'string'\n ? JSON.parse(ctx.input.content)\n : ctx.input.content;\n\n fs.writeFileSync(\n sourceFilepath,\n JSON.stringify(merge(existingContent, content), null, 2),\n );\n ctx.output('path', sourceFilepath);\n },\n });\n}\n\nexport function createMergeAction() {\n return createTemplateAction<{ path: string; content: any }>({\n id: 'roadiehq:utils:merge',\n description: 'Merges data into an existing structured file.',\n schema: {\n input: {\n type: 'object',\n required: ['content', 'path'],\n properties: {\n path: {\n title: 'Path',\n description: 'Path to existing file to append.',\n type: 'string',\n },\n content: {\n description:\n 'This will be merged into to the file. Can be either an object or a string.',\n title: 'Content',\n type: ['string', 'object'],\n },\n },\n },\n output: {\n type: 'object',\n properties: {\n path: {\n title: 'Path',\n type: 'string',\n },\n },\n },\n },\n async handler(ctx) {\n const sourceFilepath = resolveSafeChildPath(\n ctx.workspacePath,\n ctx.input.path,\n );\n\n if (!fs.existsSync(sourceFilepath)) {\n ctx.logger.error(`The file ${sourceFilepath} does not exist.`);\n throw new Error(`The file ${sourceFilepath} does not exist.`);\n }\n const originalContent = fs.readFileSync(sourceFilepath).toString();\n let mergedContent;\n\n switch (extname(sourceFilepath)) {\n case '.json': {\n const newContent =\n typeof ctx.input.content === 'string'\n ? JSON.parse(ctx.input.content)\n : ctx.input.content; // This supports the case where dynamic keys are required\n mergedContent = JSON.stringify(\n merge(JSON.parse(originalContent), newContent),\n null,\n 2,\n );\n break;\n }\n case '.yml':\n case '.yaml': {\n const newContent =\n typeof ctx.input.content === 'string'\n ? yaml.load(ctx.input.content)\n : ctx.input.content; // This supports the case where dynamic keys are required\n mergedContent = yaml.dump(\n merge(yaml.load(originalContent), newContent),\n );\n break;\n }\n default:\n break;\n }\n if (!mergedContent) {\n return;\n }\n fs.writeFileSync(sourceFilepath, mergedContent);\n ctx.output('path', sourceFilepath);\n },\n });\n}\n","/*\n * Copyright 2021 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport { InputError } from '@backstage/errors';\n\nexport function createSleepAction(options?: { maxSleep?: number }) {\n return createTemplateAction<{ amount: number }>({\n id: 'roadiehq:utils:sleep',\n description: 'Halts the scaffolding for the given amount of seconds',\n schema: {\n input: {\n type: 'object',\n required: ['amount'],\n properties: {\n amount: {\n title: 'Sleep Amount',\n description: 'How much seconds should this step take.',\n type: 'number',\n },\n },\n },\n },\n async handler(ctx) {\n if (isNaN(ctx.input?.amount)) {\n throw new InputError('amount must be a number');\n } else if (options?.maxSleep && ctx.input.amount > options.maxSleep) {\n throw new InputError(\n `sleep amount can not be greater than maxSleep. amount: ${ctx.input.amount}, maxSleep: ${options.maxSleep}`,\n );\n }\n ctx.logger.info(`Waiting ${ctx.input.amount} seconds`);\n\n await new Promise(resolve => {\n setTimeout(resolve, ctx.input.amount * 1000);\n });\n },\n });\n}\n","/*\n * Copyright 2022 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport jsonata from 'jsonata';\n\nexport function createJSONataAction() {\n return createTemplateAction<{\n data: any;\n expression: string;\n }>({\n id: 'roadiehq:utils:jsonata',\n description:\n 'Allows performing jsonata opterations and transformations on input objects and produces the output result as a step output.',\n schema: {\n input: {\n type: 'object',\n required: ['data', 'expression'],\n properties: {\n data: {\n title: 'Data',\n description: 'Input data to perform JSONata expression.',\n type: 'object',\n },\n expression: {\n title: 'Expression',\n description: 'JSONata expression to perform on the input',\n type: 'string',\n },\n },\n },\n output: {\n type: 'object',\n properties: {\n result: {\n title: 'Output result from JSONata',\n type: 'object',\n },\n },\n },\n },\n async handler(ctx) {\n const expression = jsonata(ctx.input.expression);\n const result = expression.evaluate(ctx.input.data);\n\n ctx.output('result', result);\n },\n });\n}\n","/*\n * Copyright 2022 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport jsonata from 'jsonata';\nimport { resolveSafeChildPath } from '@backstage/backend-common';\nimport fs from 'fs-extra';\nimport yaml from 'js-yaml';\n\nexport function createYamlJSONataTransformAction() {\n return createTemplateAction<{\n path: string;\n expression: string;\n options?: {\n indent: number;\n };\n }>({\n id: 'roadiehq:utils:jsonata:yaml:transform',\n description:\n 'Allows performing jsonata opterations and transformations on a YAML file in the workspace. The result can be read from the `result` step output.',\n schema: {\n input: {\n type: 'object',\n required: ['path', 'expression'],\n properties: {\n path: {\n title: 'Path',\n description: 'Input path to read yaml file.',\n type: 'string',\n },\n expression: {\n title: 'Expression',\n description: 'JSONata expression to perform on the input',\n type: 'string',\n },\n options: {\n title: 'Options',\n description: 'YAML stringify options',\n type: 'object',\n properties: {\n indent: {\n type: 'number',\n },\n },\n },\n },\n },\n output: {\n type: 'object',\n properties: {\n result: {\n title: 'Output result from JSONata',\n type: 'object',\n },\n },\n },\n },\n async handler(ctx) {\n const sourceFilepath = resolveSafeChildPath(\n ctx.workspacePath,\n ctx.input.path,\n );\n\n const data = yaml.load(fs.readFileSync(sourceFilepath).toString());\n const expression = jsonata(ctx.input.expression);\n const result = yaml.dump(expression.evaluate(data), ctx.input.options);\n\n ctx.output('result', result);\n },\n });\n}\n","/*\n * Copyright 2022 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport jsonata from 'jsonata';\nimport { resolveSafeChildPath } from '@backstage/backend-common';\nimport fs from 'fs-extra';\n\nexport function createJsonJSONataTransformAction() {\n return createTemplateAction<{\n path: string;\n expression: string;\n replacer?: string[];\n space?: string;\n }>({\n id: 'roadiehq:utils:jsonata:json:transform',\n description:\n 'Allows performing jsonata opterations and transformations on a JSON file in the workspace. The result can be read from the `result` step output.',\n schema: {\n input: {\n type: 'object',\n required: ['path', 'expression'],\n properties: {\n path: {\n title: 'Path',\n description: 'Input path to read json file.',\n type: 'string',\n },\n expression: {\n title: 'Expression',\n description: 'JSONata expression to perform on the input',\n type: 'string',\n },\n replacer: {\n title: 'Replacer',\n description: 'Replacer array',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n space: {\n title: 'Space',\n description: 'Space character',\n type: 'string',\n },\n },\n },\n output: {\n type: 'object',\n properties: {\n result: {\n title: 'Output result from JSONata',\n type: 'object',\n },\n },\n },\n },\n async handler(ctx) {\n const sourceFilepath = resolveSafeChildPath(\n ctx.workspacePath,\n ctx.input.path,\n );\n\n const data = JSON.parse(fs.readFileSync(sourceFilepath).toString());\n const expression = jsonata(ctx.input.expression);\n const result = JSON.stringify(\n expression.evaluate(data),\n ctx.input.replacer,\n ctx.input.space,\n );\n\n ctx.output('result', result);\n },\n });\n}\n","/*\n * Copyright 2022 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\n\nexport function createSerializeJsonAction() {\n return createTemplateAction<{\n data: any;\n replacer?: string[];\n space?: string;\n }>({\n id: 'roadiehq:utils:serialize:json',\n description: 'Allows performing serialization on an object',\n schema: {\n input: {\n type: 'object',\n required: ['data'],\n properties: {\n data: {\n title: 'Data',\n description: 'Input data to perform seriazation on.',\n type: 'object',\n },\n replacer: {\n title: 'Replacer',\n description: 'Replacer array',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n space: {\n title: 'Space',\n description: 'Space character',\n type: 'string',\n },\n },\n },\n output: {\n type: 'string',\n properties: {\n serialized: {\n title: 'Output result from serialization',\n type: 'string',\n },\n },\n },\n },\n\n async handler(ctx) {\n ctx.output(\n 'serialized',\n JSON.stringify(ctx.input.data, ctx.input.replacer, ctx.input.space),\n );\n },\n });\n}\n","/*\n * Copyright 2022 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport yaml from 'js-yaml';\n\nexport function createSerializeYamlAction() {\n return createTemplateAction<{\n data: any;\n options?: {\n indent: number;\n };\n }>({\n id: 'roadiehq:utils:serialize:yaml',\n description: 'Allows performing serialization on an object',\n schema: {\n input: {\n type: 'object',\n required: ['data'],\n properties: {\n data: {\n title: 'Data',\n description: 'Input data to perform seriazation on.',\n type: 'object',\n },\n replacer: {\n title: 'Replacer',\n description: 'Replacer array',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n options: {\n title: 'Options',\n description: 'YAML stringify options',\n type: 'object',\n properties: {\n indent: {\n type: 'number',\n },\n },\n },\n },\n },\n output: {\n type: 'string',\n properties: {\n serialized: {\n title: 'Output result from serialization',\n type: 'string',\n },\n },\n },\n },\n\n async handler(ctx) {\n ctx.output('serialized', yaml.dump(ctx.input.data, ctx.input.options));\n },\n });\n}\n"],"names":["createTemplateAction","AdmZip","resolveSafeChildPath","fs","InputError","yaml","merge","extname","jsonata"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/actions/zip.ts","../src/actions/fs/writeFile.ts","../src/actions/fs/appendFile.ts","../src/actions/fs/parseFile.ts","../src/actions/merge/merge.ts","../src/actions/sleep.ts","../src/actions/jsonata/jsonata.ts","../src/actions/jsonata/yaml.ts","../src/actions/jsonata/json.ts","../src/actions/serialize/json.ts","../src/actions/serialize/yaml.ts"],"sourcesContent":["/*\n * Copyright 2021 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { resolveSafeChildPath } from '@backstage/backend-common';\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport { InputError } from '@backstage/errors';\nimport AdmZip from 'adm-zip';\nimport fs from 'fs-extra';\n\nexport function createZipAction() {\n return createTemplateAction<{ path: string; outputPath: string }>({\n id: 'roadiehq:utils:zip',\n description: 'Zips the content of the path',\n schema: {\n input: {\n required: ['path'],\n type: 'object',\n properties: {\n path: {\n title: 'Path',\n description: 'Relative path you would like to zip',\n type: 'string',\n },\n\n outputPath: {\n title: 'Output Path',\n description: 'The name of the result of the zip command',\n type: 'string',\n },\n },\n },\n output: {\n type: 'object',\n properties: {\n outputPath: {\n title: 'Zip Path',\n type: 'string',\n },\n },\n },\n },\n async handler(ctx) {\n const zip = new AdmZip();\n const sourceFilepath = resolveSafeChildPath(\n ctx.workspacePath,\n ctx.input.path,\n );\n const destFilepath = resolveSafeChildPath(\n ctx.workspacePath,\n ctx.input.outputPath,\n );\n\n if (!fs.existsSync(sourceFilepath)) {\n throw new InputError(\n `File ${ctx.input.path} does not exist. Can't zip it.`,\n );\n }\n if (fs.lstatSync(sourceFilepath).isDirectory()) {\n zip.addLocalFolder(sourceFilepath);\n } else if (fs.lstatSync(sourceFilepath).isFile()) {\n zip.addLocalFile(sourceFilepath);\n }\n zip.writeZip(destFilepath);\n ctx.output('outputPath', ctx.input.outputPath);\n },\n });\n}\n","/*\n * Copyright 2021 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport { resolveSafeChildPath } from '@backstage/backend-common';\nimport fs from 'fs-extra';\n\nexport function createWriteFileAction() {\n return createTemplateAction<{ path: string; content: string }>({\n id: 'roadiehq:utils:fs:write',\n description: 'Creates a file with the content on the given path',\n schema: {\n input: {\n required: ['path', 'content'],\n type: 'object',\n properties: {\n path: {\n title: 'Path',\n description: 'Relative path',\n type: 'string',\n },\n content: {\n title: 'Content',\n description: 'This will be the content of the file',\n type: 'string',\n },\n },\n },\n output: {\n type: 'object',\n properties: {\n path: {\n title: 'Path',\n type: 'string',\n },\n },\n },\n },\n async handler(ctx) {\n const destFilepath = resolveSafeChildPath(\n ctx.workspacePath,\n ctx.input.path,\n );\n\n fs.outputFileSync(destFilepath, ctx.input.content);\n ctx.output('path', destFilepath);\n },\n });\n}\n","/*\n * Copyright 2021 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport { resolveSafeChildPath } from '@backstage/backend-common';\nimport fs from 'fs-extra';\n\nexport function createAppendFileAction() {\n return createTemplateAction<{ path: string; content: string }>({\n id: 'roadiehq:utils:fs:append',\n description:\n 'Append content to the end of the given file, it will create the file if it does not exist.',\n schema: {\n input: {\n type: 'object',\n required: ['content', 'path'],\n properties: {\n path: {\n title: 'Path',\n description: 'Path to existing file to append.',\n type: 'string',\n },\n content: {\n title: 'Content',\n description: 'This will be appended to the file',\n type: 'string',\n },\n },\n },\n output: {\n type: 'object',\n properties: {\n path: {\n title: 'Path',\n type: 'string',\n },\n },\n },\n },\n async handler(ctx) {\n const sourceFilepath = resolveSafeChildPath(\n ctx.workspacePath,\n ctx.input.path,\n );\n\n fs.appendFileSync(sourceFilepath, ctx.input.content);\n ctx.output('path', sourceFilepath);\n },\n });\n}\n","/*\n * Copyright 2022 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport { resolveSafeChildPath } from '@backstage/backend-common';\nimport fs from 'fs-extra';\nimport yaml from 'js-yaml';\n\nconst parsers: Record<'yaml' | 'json' | 'multiyaml', (cnt: string) => any> = {\n yaml: (cnt: string) => yaml.load(cnt),\n json: (cnt: string) => JSON.parse(cnt),\n multiyaml: (cnt: string) => yaml.loadAll(cnt),\n};\n\nexport function createParseFileAction() {\n return createTemplateAction<{\n path: string;\n parser?: 'yaml' | 'json' | 'multiyaml';\n }>({\n id: 'roadiehq:utils:fs:parse',\n description: 'Reads a file from the workspace and optionally parses it',\n schema: {\n input: {\n type: 'object',\n required: ['path'],\n properties: {\n path: {\n title: 'Path',\n description: 'Path to the file to read.',\n type: 'string',\n },\n parser: {\n title: 'Parse',\n description: 'Optionally parse the content to an object.',\n type: 'string',\n enum: ['yaml', 'json', 'multiyaml'],\n },\n },\n },\n output: {\n type: 'object',\n properties: {\n content: {\n title: 'Content of the file',\n type: ['string', 'object'],\n },\n },\n },\n },\n async handler(ctx) {\n const sourceFilepath = resolveSafeChildPath(\n ctx.workspacePath,\n ctx.input.path,\n );\n const parserName = ctx.input.parser;\n let parser = (content: string) => content;\n\n if (parserName) {\n parser = parsers[parserName];\n }\n\n const content: string | object = parser(\n fs.readFileSync(sourceFilepath).toString(),\n );\n\n ctx.output('content', content);\n },\n });\n}\n","/*\n * Copyright 2021 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport { resolveSafeChildPath } from '@backstage/backend-common';\nimport fs from 'fs-extra';\nimport { extname } from 'path';\nimport { merge } from 'lodash';\nimport yaml from 'js-yaml';\n\nexport function createMergeJSONAction({ actionId }: { actionId?: string }) {\n return createTemplateAction<{ path: string; content: any }>({\n id: actionId || 'roadiehq:utils:json:merge',\n description: 'Merge new data into an existing JSON file.',\n schema: {\n input: {\n type: 'object',\n required: ['content', 'path'],\n properties: {\n path: {\n title: 'Path',\n description: 'Path to existing file to append.',\n type: 'string',\n },\n content: {\n description:\n 'This will be merged into to the file. Can be either an object or a string.',\n title: 'Content',\n type: ['string', 'object'],\n },\n },\n },\n output: {\n type: 'object',\n properties: {\n path: {\n title: 'Path',\n type: 'string',\n },\n },\n },\n },\n async handler(ctx) {\n const sourceFilepath = resolveSafeChildPath(\n ctx.workspacePath,\n ctx.input.path,\n );\n\n let existingContent;\n\n if (fs.existsSync(sourceFilepath)) {\n existingContent = JSON.parse(\n fs.readFileSync(sourceFilepath).toString(),\n );\n } else {\n ctx.logger.info(\n `The file ${sourceFilepath} does not exist, creating it.`,\n );\n existingContent = {};\n }\n const content =\n typeof ctx.input.content === 'string'\n ? JSON.parse(ctx.input.content)\n : ctx.input.content;\n\n fs.writeFileSync(\n sourceFilepath,\n JSON.stringify(merge(existingContent, content), null, 2),\n );\n ctx.output('path', sourceFilepath);\n },\n });\n}\n\nexport function createMergeAction() {\n return createTemplateAction<{ path: string; content: any }>({\n id: 'roadiehq:utils:merge',\n description: 'Merges data into an existing structured file.',\n schema: {\n input: {\n type: 'object',\n required: ['content', 'path'],\n properties: {\n path: {\n title: 'Path',\n description: 'Path to existing file to append.',\n type: 'string',\n },\n content: {\n description:\n 'This will be merged into to the file. Can be either an object or a string.',\n title: 'Content',\n type: ['string', 'object'],\n },\n },\n },\n output: {\n type: 'object',\n properties: {\n path: {\n title: 'Path',\n type: 'string',\n },\n },\n },\n },\n async handler(ctx) {\n const sourceFilepath = resolveSafeChildPath(\n ctx.workspacePath,\n ctx.input.path,\n );\n\n if (!fs.existsSync(sourceFilepath)) {\n ctx.logger.error(`The file ${sourceFilepath} does not exist.`);\n throw new Error(`The file ${sourceFilepath} does not exist.`);\n }\n const originalContent = fs.readFileSync(sourceFilepath).toString();\n let mergedContent;\n\n switch (extname(sourceFilepath)) {\n case '.json': {\n const newContent =\n typeof ctx.input.content === 'string'\n ? JSON.parse(ctx.input.content)\n : ctx.input.content; // This supports the case where dynamic keys are required\n mergedContent = JSON.stringify(\n merge(JSON.parse(originalContent), newContent),\n null,\n 2,\n );\n break;\n }\n case '.yml':\n case '.yaml': {\n const newContent =\n typeof ctx.input.content === 'string'\n ? yaml.load(ctx.input.content)\n : ctx.input.content; // This supports the case where dynamic keys are required\n mergedContent = yaml.dump(\n merge(yaml.load(originalContent), newContent),\n );\n break;\n }\n default:\n break;\n }\n if (!mergedContent) {\n return;\n }\n fs.writeFileSync(sourceFilepath, mergedContent);\n ctx.output('path', sourceFilepath);\n },\n });\n}\n","/*\n * Copyright 2021 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport { InputError } from '@backstage/errors';\n\nexport function createSleepAction(options?: { maxSleep?: number }) {\n return createTemplateAction<{ amount: number }>({\n id: 'roadiehq:utils:sleep',\n description: 'Halts the scaffolding for the given amount of seconds',\n schema: {\n input: {\n type: 'object',\n required: ['amount'],\n properties: {\n amount: {\n title: 'Sleep Amount',\n description: 'How much seconds should this step take.',\n type: 'number',\n },\n },\n },\n },\n async handler(ctx) {\n if (isNaN(ctx.input?.amount)) {\n throw new InputError('amount must be a number');\n } else if (options?.maxSleep && ctx.input.amount > options.maxSleep) {\n throw new InputError(\n `sleep amount can not be greater than maxSleep. amount: ${ctx.input.amount}, maxSleep: ${options.maxSleep}`,\n );\n }\n ctx.logger.info(`Waiting ${ctx.input.amount} seconds`);\n\n await new Promise(resolve => {\n setTimeout(resolve, ctx.input.amount * 1000);\n });\n },\n });\n}\n","/*\n * Copyright 2022 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport jsonata from 'jsonata';\n\nexport function createJSONataAction() {\n return createTemplateAction<{\n data: any;\n expression: string;\n }>({\n id: 'roadiehq:utils:jsonata',\n description:\n 'Allows performing jsonata opterations and transformations on input objects and produces the output result as a step output.',\n schema: {\n input: {\n type: 'object',\n required: ['data', 'expression'],\n properties: {\n data: {\n title: 'Data',\n description: 'Input data to perform JSONata expression.',\n type: [\n 'object',\n 'array',\n 'string',\n 'number',\n 'integer',\n 'boolean',\n 'null',\n ],\n },\n expression: {\n title: 'Expression',\n description: 'JSONata expression to perform on the input',\n type: 'string',\n },\n },\n },\n output: {\n type: 'object',\n properties: {\n result: {\n title: 'Output result from JSONata',\n type: 'object',\n },\n },\n },\n },\n async handler(ctx) {\n const expression = jsonata(ctx.input.expression);\n const result = expression.evaluate(ctx.input.data);\n\n ctx.output('result', result);\n },\n });\n}\n","/*\n * Copyright 2022 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport jsonata from 'jsonata';\nimport { resolveSafeChildPath } from '@backstage/backend-common';\nimport fs from 'fs-extra';\nimport yaml from 'js-yaml';\n\nexport function createYamlJSONataTransformAction() {\n return createTemplateAction<{\n path: string;\n expression: string;\n options?: {\n indent: number;\n };\n }>({\n id: 'roadiehq:utils:jsonata:yaml:transform',\n description:\n 'Allows performing jsonata opterations and transformations on a YAML file in the workspace. The result can be read from the `result` step output.',\n schema: {\n input: {\n type: 'object',\n required: ['path', 'expression'],\n properties: {\n path: {\n title: 'Path',\n description: 'Input path to read yaml file.',\n type: 'string',\n },\n expression: {\n title: 'Expression',\n description: 'JSONata expression to perform on the input',\n type: 'string',\n },\n options: {\n title: 'Options',\n description: 'YAML stringify options',\n type: 'object',\n properties: {\n indent: {\n type: 'number',\n },\n },\n },\n },\n },\n output: {\n type: 'object',\n properties: {\n result: {\n title: 'Output result from JSONata',\n type: 'object',\n },\n },\n },\n },\n async handler(ctx) {\n const sourceFilepath = resolveSafeChildPath(\n ctx.workspacePath,\n ctx.input.path,\n );\n\n const data = yaml.load(fs.readFileSync(sourceFilepath).toString());\n const expression = jsonata(ctx.input.expression);\n const result = yaml.dump(expression.evaluate(data), ctx.input.options);\n\n ctx.output('result', result);\n },\n });\n}\n","/*\n * Copyright 2022 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport jsonata from 'jsonata';\nimport { resolveSafeChildPath } from '@backstage/backend-common';\nimport fs from 'fs-extra';\n\nexport function createJsonJSONataTransformAction() {\n return createTemplateAction<{\n path: string;\n expression: string;\n replacer?: string[];\n space?: string;\n }>({\n id: 'roadiehq:utils:jsonata:json:transform',\n description:\n 'Allows performing jsonata opterations and transformations on a JSON file in the workspace. The result can be read from the `result` step output.',\n schema: {\n input: {\n type: 'object',\n required: ['path', 'expression'],\n properties: {\n path: {\n title: 'Path',\n description: 'Input path to read json file.',\n type: 'string',\n },\n expression: {\n title: 'Expression',\n description: 'JSONata expression to perform on the input',\n type: 'string',\n },\n replacer: {\n title: 'Replacer',\n description: 'Replacer array',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n space: {\n title: 'Space',\n description: 'Space character',\n type: 'string',\n },\n },\n },\n output: {\n type: 'object',\n properties: {\n result: {\n title: 'Output result from JSONata',\n type: 'object',\n },\n },\n },\n },\n async handler(ctx) {\n const sourceFilepath = resolveSafeChildPath(\n ctx.workspacePath,\n ctx.input.path,\n );\n\n const data = JSON.parse(fs.readFileSync(sourceFilepath).toString());\n const expression = jsonata(ctx.input.expression);\n const result = JSON.stringify(\n expression.evaluate(data),\n ctx.input.replacer,\n ctx.input.space,\n );\n\n ctx.output('result', result);\n },\n });\n}\n","/*\n * Copyright 2022 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\n\nexport function createSerializeJsonAction() {\n return createTemplateAction<{\n data: any;\n replacer?: string[];\n space?: string;\n }>({\n id: 'roadiehq:utils:serialize:json',\n description: 'Allows performing serialization on an object',\n schema: {\n input: {\n type: 'object',\n required: ['data'],\n properties: {\n data: {\n title: 'Data',\n description: 'Input data to perform seriazation on.',\n type: 'object',\n },\n replacer: {\n title: 'Replacer',\n description: 'Replacer array',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n space: {\n title: 'Space',\n description: 'Space character',\n type: 'string',\n },\n },\n },\n output: {\n type: 'string',\n properties: {\n serialized: {\n title: 'Output result from serialization',\n type: 'string',\n },\n },\n },\n },\n\n async handler(ctx) {\n ctx.output(\n 'serialized',\n JSON.stringify(ctx.input.data, ctx.input.replacer, ctx.input.space),\n );\n },\n });\n}\n","/*\n * Copyright 2022 Larder Software Limited\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createTemplateAction } from '@backstage/plugin-scaffolder-backend';\nimport yaml from 'js-yaml';\n\nexport function createSerializeYamlAction() {\n return createTemplateAction<{\n data: any;\n options?: {\n indent: number;\n };\n }>({\n id: 'roadiehq:utils:serialize:yaml',\n description: 'Allows performing serialization on an object',\n schema: {\n input: {\n type: 'object',\n required: ['data'],\n properties: {\n data: {\n title: 'Data',\n description: 'Input data to perform seriazation on.',\n type: 'object',\n },\n replacer: {\n title: 'Replacer',\n description: 'Replacer array',\n type: 'array',\n items: {\n type: 'string',\n },\n },\n options: {\n title: 'Options',\n description: 'YAML stringify options',\n type: 'object',\n properties: {\n indent: {\n type: 'number',\n },\n },\n },\n },\n },\n output: {\n type: 'string',\n properties: {\n serialized: {\n title: 'Output result from serialization',\n type: 'string',\n },\n },\n },\n },\n\n async handler(ctx) {\n ctx.output('serialized', yaml.dump(ctx.input.data, ctx.input.options));\n },\n });\n}\n"],"names":["createTemplateAction","AdmZip","resolveSafeChildPath","fs","InputError","yaml","merge","extname","jsonata"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@roadiehq/scaffolder-backend-module-utils",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "main": "dist/index.cjs.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "license": "Apache-2.0",
@@ -31,10 +31,10 @@
31
31
  "clean": "backstage-cli clean"
32
32
  },
33
33
  "dependencies": {
34
- "@backstage/backend-common": "^0.15.2",
35
- "@backstage/config": "^1.0.3",
36
- "@backstage/errors": "^1.1.2",
37
- "@backstage/plugin-scaffolder-backend": "^1.7.0",
34
+ "@backstage/backend-common": "^0.16.0",
35
+ "@backstage/config": "^1.0.4",
36
+ "@backstage/errors": "^1.1.3",
37
+ "@backstage/plugin-scaffolder-backend": "^1.8.0",
38
38
  "adm-zip": "^0.5.9",
39
39
  "cross-fetch": "^3.1.4",
40
40
  "fs-extra": "^10.0.0",
@@ -44,7 +44,7 @@
44
44
  "winston": "^3.2.1"
45
45
  },
46
46
  "devDependencies": {
47
- "@backstage/cli": "^0.20.0",
47
+ "@backstage/cli": "^0.21.1",
48
48
  "@types/adm-zip": "^0.4.34",
49
49
  "@types/fs-extra": "^9.0.13",
50
50
  "@types/jest": "^26.0.7",
@@ -55,5 +55,5 @@
55
55
  "files": [
56
56
  "dist"
57
57
  ],
58
- "gitHead": "74a0dc67316a5828d764fedcb0f77b2fc24ff979"
58
+ "gitHead": "64ec99ac65616ddccb1fa0b25c0b8a70e3f90b98"
59
59
  }