@backstage/plugin-scaffolder-backend 1.22.0 → 1.22.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @backstage/plugin-scaffolder-backend
2
2
 
3
+ ## 1.22.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+ - @backstage/plugin-catalog-node@1.9.0
9
+ - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.12
10
+
3
11
  ## 1.22.0
4
12
 
5
13
  ### Minor Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/plugin-scaffolder-backend",
3
- "version": "1.22.0",
3
+ "version": "1.22.1",
4
4
  "main": "../dist/alpha.cjs.js",
5
5
  "types": "../dist/alpha.d.ts"
6
6
  }
package/dist/alpha.cjs.js CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var alpha = require('@backstage/plugin-scaffolder-common/alpha');
6
6
  var pluginPermissionNode = require('@backstage/plugin-permission-node');
7
- var router = require('./cjs/router-77345506.cjs.js');
7
+ var router = require('./cjs/router-B0mT63g8.cjs.js');
8
8
  var backendPluginApi = require('@backstage/backend-plugin-api');
9
9
  var backendCommon = require('@backstage/backend-common');
10
10
  var integration = require('@backstage/integration');
@@ -174,7 +174,7 @@ const scaffolderPlugin = backendPluginApi.createBackendPlugin({
174
174
 
175
175
  exports.createScaffolderActionConditionalDecision = createScaffolderActionConditionalDecision;
176
176
  exports.createScaffolderTemplateConditionalDecision = createScaffolderTemplateConditionalDecision;
177
- exports["default"] = scaffolderPlugin;
177
+ exports.default = scaffolderPlugin;
178
178
  exports.scaffolderActionConditions = scaffolderActionConditions;
179
179
  exports.scaffolderTemplateConditions = scaffolderTemplateConditions;
180
180
  //# sourceMappingURL=alpha.cjs.js.map
@@ -41,10 +41,10 @@ var pluginPermissionCommon = require('@backstage/plugin-permission-common');
41
41
  var url = require('url');
42
42
  var os = require('os');
43
43
 
44
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
44
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
45
45
 
46
- function _interopNamespace(e) {
47
- if (e && e.__esModule) return e;
46
+ function _interopNamespaceCompat(e) {
47
+ if (e && typeof e === 'object' && 'default' in e) return e;
48
48
  var n = Object.create(null);
49
49
  if (e) {
50
50
  Object.keys(e).forEach(function (k) {
@@ -57,28 +57,27 @@ function _interopNamespace(e) {
57
57
  }
58
58
  });
59
59
  }
60
- n["default"] = e;
60
+ n.default = e;
61
61
  return Object.freeze(n);
62
62
  }
63
63
 
64
- var express__default = /*#__PURE__*/_interopDefaultLegacy(express);
65
- var Router__default = /*#__PURE__*/_interopDefaultLegacy(Router);
66
- var yaml__default = /*#__PURE__*/_interopDefaultLegacy(yaml);
67
- var yaml__namespace = /*#__PURE__*/_interopNamespace(yaml);
68
- var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
69
- var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
70
- var globby__default = /*#__PURE__*/_interopDefaultLegacy(globby);
71
- var get__default = /*#__PURE__*/_interopDefaultLegacy(get);
72
- var ObservableImpl__default = /*#__PURE__*/_interopDefaultLegacy(ObservableImpl);
73
- var PQueue__default = /*#__PURE__*/_interopDefaultLegacy(PQueue);
74
- var winston__namespace = /*#__PURE__*/_interopNamespace(winston);
75
- var nunjucks__default = /*#__PURE__*/_interopDefaultLegacy(nunjucks);
76
- var os__default = /*#__PURE__*/_interopDefaultLegacy(os);
64
+ var express__default = /*#__PURE__*/_interopDefaultCompat(express);
65
+ var Router__default = /*#__PURE__*/_interopDefaultCompat(Router);
66
+ var yaml__namespace = /*#__PURE__*/_interopNamespaceCompat(yaml);
67
+ var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
68
+ var path__default = /*#__PURE__*/_interopDefaultCompat(path);
69
+ var globby__default = /*#__PURE__*/_interopDefaultCompat(globby);
70
+ var get__default = /*#__PURE__*/_interopDefaultCompat(get);
71
+ var ObservableImpl__default = /*#__PURE__*/_interopDefaultCompat(ObservableImpl);
72
+ var PQueue__default = /*#__PURE__*/_interopDefaultCompat(PQueue);
73
+ var winston__namespace = /*#__PURE__*/_interopNamespaceCompat(winston);
74
+ var nunjucks__default = /*#__PURE__*/_interopDefaultCompat(nunjucks);
75
+ var os__default = /*#__PURE__*/_interopDefaultCompat(os);
77
76
 
78
77
  const examples$9 = [
79
78
  {
80
79
  description: "Register with the catalog",
81
- example: yaml__default["default"].stringify({
80
+ example: yaml__namespace.default.stringify({
82
81
  steps: [
83
82
  {
84
83
  action: "catalog:register",
@@ -277,7 +276,7 @@ function createCatalogWriteAction() {
277
276
  ctx.logger.info(`Writing catalog-info.yaml`);
278
277
  const { filePath, entity } = ctx.input;
279
278
  const path = filePath != null ? filePath : "catalog-info.yaml";
280
- await fs__default["default"].writeFile(
279
+ await fs__default.default.writeFile(
281
280
  backendCommon.resolveSafeChildPath(ctx.workspacePath, path),
282
281
  yaml__namespace.stringify(entity)
283
282
  );
@@ -288,7 +287,7 @@ function createCatalogWriteAction() {
288
287
  const examples$7 = [
289
288
  {
290
289
  description: "Fetch entity by reference",
291
- example: yaml__default["default"].stringify({
290
+ example: yaml__namespace.default.stringify({
292
291
  steps: [
293
292
  {
294
293
  action: "catalog:fetch",
@@ -303,7 +302,7 @@ const examples$7 = [
303
302
  },
304
303
  {
305
304
  description: "Fetch multiple entities by reference",
306
- example: yaml__default["default"].stringify({
305
+ example: yaml__namespace.default.stringify({
307
306
  steps: [
308
307
  {
309
308
  action: "catalog:fetch",
@@ -406,7 +405,7 @@ function createFetchCatalogEntityAction(options) {
406
405
  const examples$6 = [
407
406
  {
408
407
  description: "Write a debug message",
409
- example: yaml__default["default"].stringify({
408
+ example: yaml__namespace.default.stringify({
410
409
  steps: [
411
410
  {
412
411
  action: "debug:log",
@@ -421,7 +420,7 @@ const examples$6 = [
421
420
  },
422
421
  {
423
422
  description: "List the workspace directory",
424
- example: yaml__default["default"].stringify({
423
+ example: yaml__namespace.default.stringify({
425
424
  steps: [
426
425
  {
427
426
  action: "debug:log",
@@ -491,7 +490,7 @@ async function recursiveReadDir(dir) {
491
490
  const examples$5 = [
492
491
  {
493
492
  description: "Waiting for 50 milliseconds",
494
- example: yaml__default["default"].stringify({
493
+ example: yaml__namespace.default.stringify({
495
494
  steps: [
496
495
  {
497
496
  action: "debug:wait",
@@ -506,7 +505,7 @@ const examples$5 = [
506
505
  },
507
506
  {
508
507
  description: "Waiting for 5 seconds",
509
- example: yaml__default["default"].stringify({
508
+ example: yaml__namespace.default.stringify({
510
509
  steps: [
511
510
  {
512
511
  action: "debug:wait",
@@ -521,7 +520,7 @@ const examples$5 = [
521
520
  },
522
521
  {
523
522
  description: "Waiting for 1 minutes",
524
- example: yaml__default["default"].stringify({
523
+ example: yaml__namespace.default.stringify({
525
524
  steps: [
526
525
  {
527
526
  action: "debug:wait",
@@ -599,7 +598,7 @@ function createWaitAction(options) {
599
598
  const examples$4 = [
600
599
  {
601
600
  description: "Downloads content and places it in the workspace.",
602
- example: yaml__default["default"].stringify({
601
+ example: yaml__namespace.default.stringify({
603
602
  steps: [
604
603
  {
605
604
  action: "fetch:plain",
@@ -614,7 +613,7 @@ const examples$4 = [
614
613
  },
615
614
  {
616
615
  description: "Optionally, if you would prefer the data to be downloaded to a subdirectory in the workspace you may specify the \u2018targetPath\u2019 input option.",
617
- example: yaml__default["default"].stringify({
616
+ example: yaml__namespace.default.stringify({
618
617
  steps: [
619
618
  {
620
619
  action: "fetch:plain",
@@ -681,7 +680,7 @@ function createFetchPlainAction(options) {
681
680
  const examples$3 = [
682
681
  {
683
682
  description: "Downloads a file and places it in the workspace.",
684
- example: yaml__default["default"].stringify({
683
+ example: yaml__namespace.default.stringify({
685
684
  steps: [
686
685
  {
687
686
  action: "fetch:plain:file",
@@ -840,7 +839,7 @@ class SecureTemplater {
840
839
  const isolate = new isolatedVm.Isolate({ memoryLimit: 128 });
841
840
  const context = await isolate.createContext();
842
841
  const contextGlobal = context.global;
843
- const nunjucksSource = await fs__default["default"].readFile(
842
+ const nunjucksSource = await fs__default.default.readFile(
844
843
  backendCommon.resolvePackagePath(
845
844
  "@backstage/plugin-scaffolder-backend",
846
845
  "assets/nunjucks.js.txt"
@@ -917,7 +916,7 @@ const createDefaultFilters = ({
917
916
  return {
918
917
  parseRepoUrl: (url) => pluginScaffolderNode.parseRepoUrl(url, integrations),
919
918
  parseEntityRef: (ref, context) => catalogModel.parseEntityRef(ref, context),
920
- pick: (obj, key) => get__default["default"](obj, key),
919
+ pick: (obj, key) => get__default.default(obj, key),
921
920
  projectSlug: (repoUrl) => {
922
921
  const { owner, repo } = pluginScaffolderNode.parseRepoUrl(repoUrl, integrations);
923
922
  return `${owner}/${repo}`;
@@ -928,7 +927,7 @@ const createDefaultFilters = ({
928
927
  const examples$2 = [
929
928
  {
930
929
  description: "Downloads a skeleton directory that lives alongside the template file and fill it out with values.",
931
- example: yaml__default["default"].stringify({
930
+ example: yaml__namespace.default.stringify({
932
931
  steps: [
933
932
  {
934
933
  action: "fetch:template",
@@ -1072,7 +1071,7 @@ function createFetchTemplateAction(options) {
1072
1071
  token: ctx.input.token
1073
1072
  });
1074
1073
  ctx.logger.info("Listing files and directories in template");
1075
- const allEntriesInTemplate = await globby__default["default"](`**/*`, {
1074
+ const allEntriesInTemplate = await globby__default.default(`**/*`, {
1076
1075
  cwd: templateDir,
1077
1076
  dot: true,
1078
1077
  onlyFiles: false,
@@ -1080,7 +1079,7 @@ function createFetchTemplateAction(options) {
1080
1079
  followSymbolicLinks: false
1081
1080
  });
1082
1081
  const nonTemplatedEntries = new Set(
1083
- await globby__default["default"](copyOnlyPatterns || [], {
1082
+ await globby__default.default(copyOnlyPatterns || [], {
1084
1083
  cwd: templateDir,
1085
1084
  dot: true,
1086
1085
  onlyFiles: false,
@@ -1129,7 +1128,7 @@ function createFetchTemplateAction(options) {
1129
1128
  continue;
1130
1129
  }
1131
1130
  const outputPath = backendCommon.resolveSafeChildPath(outputDir, localOutputPath);
1132
- if (fs__default["default"].existsSync(outputPath) && !ctx.input.replace) {
1131
+ if (fs__default.default.existsSync(outputPath) && !ctx.input.replace) {
1133
1132
  continue;
1134
1133
  }
1135
1134
  if (!renderContents && !extension) {
@@ -1141,22 +1140,22 @@ function createFetchTemplateAction(options) {
1141
1140
  ctx.logger.info(
1142
1141
  `Writing directory ${location} to template output path.`
1143
1142
  );
1144
- await fs__default["default"].ensureDir(outputPath);
1143
+ await fs__default.default.ensureDir(outputPath);
1145
1144
  } else {
1146
1145
  const inputFilePath = backendCommon.resolveSafeChildPath(templateDir, location);
1147
- const stats = await fs__default["default"].promises.lstat(inputFilePath);
1146
+ const stats = await fs__default.default.promises.lstat(inputFilePath);
1148
1147
  if (stats.isSymbolicLink() || await isbinaryfile.isBinaryFile(inputFilePath)) {
1149
1148
  ctx.logger.info(
1150
1149
  `Copying file binary or symbolic link at ${location}, to template output path.`
1151
1150
  );
1152
- await fs__default["default"].copy(inputFilePath, outputPath);
1151
+ await fs__default.default.copy(inputFilePath, outputPath);
1153
1152
  } else {
1154
- const statsObj = await fs__default["default"].stat(inputFilePath);
1153
+ const statsObj = await fs__default.default.stat(inputFilePath);
1155
1154
  ctx.logger.info(
1156
1155
  `Writing file ${location} to template output path with mode ${statsObj.mode}.`
1157
1156
  );
1158
- const inputFileContents = await fs__default["default"].readFile(inputFilePath, "utf-8");
1159
- await fs__default["default"].outputFile(
1157
+ const inputFileContents = await fs__default.default.readFile(inputFilePath, "utf-8");
1158
+ await fs__default.default.outputFile(
1160
1159
  outputPath,
1161
1160
  renderContents ? renderTemplate(inputFileContents, context) : inputFileContents,
1162
1161
  { mode: statsObj.mode }
@@ -1220,7 +1219,7 @@ const createFilesystemDeleteAction = () => {
1220
1219
  for (const file of ctx.input.files) {
1221
1220
  const filepath = backendCommon.resolveSafeChildPath(ctx.workspacePath, file);
1222
1221
  try {
1223
- await fs__default["default"].remove(filepath);
1222
+ await fs__default.default.remove(filepath);
1224
1223
  ctx.logger.info(`File ${filepath} deleted successfully`);
1225
1224
  } catch (err) {
1226
1225
  ctx.logger.error(`Failed to delete file ${filepath}:`, err);
@@ -1305,7 +1304,7 @@ const createFilesystemRenameAction = () => {
1305
1304
  );
1306
1305
  const destFilepath = backendCommon.resolveSafeChildPath(ctx.workspacePath, file.to);
1307
1306
  try {
1308
- await fs__default["default"].move(sourceFilepath, destFilepath, {
1307
+ await fs__default.default.move(sourceFilepath, destFilepath, {
1309
1308
  overwrite: (_b = file.overwrite) != null ? _b : false
1310
1309
  });
1311
1310
  ctx.logger.info(
@@ -2121,7 +2120,7 @@ class StorageTaskBroker {
2121
2120
  * {@inheritdoc TaskBroker.event$}
2122
2121
  */
2123
2122
  event$(options) {
2124
- return new ObservableImpl__default["default"]((observer) => {
2123
+ return new ObservableImpl__default.default((observer) => {
2125
2124
  const { taskId } = options;
2126
2125
  let after = options.after;
2127
2126
  let cancelled = false;
@@ -2469,7 +2468,7 @@ class NunjucksWorkflowRunner {
2469
2468
  }
2470
2469
  isSingleTemplateString(input) {
2471
2470
  var _a, _b;
2472
- const { parser, nodes } = nunjucks__default["default"];
2471
+ const { parser, nodes } = nunjucks__default.default;
2473
2472
  const parsed = parser.parse(
2474
2473
  input,
2475
2474
  {},
@@ -2660,7 +2659,7 @@ class NunjucksWorkflowRunner {
2660
2659
  }
2661
2660
  },
2662
2661
  createTemporaryDirectory: async () => {
2663
- const tmpDir = await fs__default["default"].mkdtemp(
2662
+ const tmpDir = await fs__default.default.mkdtemp(
2664
2663
  `${workspacePath}_step-${step.id}-`
2665
2664
  );
2666
2665
  tmpDirs.push(tmpDir);
@@ -2682,7 +2681,7 @@ class NunjucksWorkflowRunner {
2682
2681
  });
2683
2682
  }
2684
2683
  for (const tmpDir of tmpDirs) {
2685
- await fs__default["default"].remove(tmpDir);
2684
+ await fs__default.default.remove(tmpDir);
2686
2685
  }
2687
2686
  context.steps[step.id] = { output: stepOutput };
2688
2687
  if (task.cancelSignal.aborted) {
@@ -2701,7 +2700,7 @@ class NunjucksWorkflowRunner {
2701
2700
  "Wrong template version executed with the workflow engine"
2702
2701
  );
2703
2702
  }
2704
- const workspacePath = path__default["default"].join(
2703
+ const workspacePath = path__default.default.join(
2705
2704
  this.options.workingDirectory,
2706
2705
  await task.getWorkspaceName()
2707
2706
  );
@@ -2715,7 +2714,7 @@ class NunjucksWorkflowRunner {
2715
2714
  });
2716
2715
  try {
2717
2716
  const taskTrack = await this.tracker.taskStart(task);
2718
- await fs__default["default"].ensureDir(workspacePath);
2717
+ await fs__default.default.ensureDir(workspacePath);
2719
2718
  const context = {
2720
2719
  parameters: task.spec.parameters,
2721
2720
  steps: {},
@@ -2741,7 +2740,7 @@ class NunjucksWorkflowRunner {
2741
2740
  return { output };
2742
2741
  } finally {
2743
2742
  if (workspacePath) {
2744
- await fs__default["default"].remove(workspacePath);
2743
+ await fs__default.default.remove(workspacePath);
2745
2744
  }
2746
2745
  }
2747
2746
  }
@@ -2893,7 +2892,7 @@ class TaskWorker {
2893
2892
  __publicField(this, "stopWorkers");
2894
2893
  this.stopWorkers = false;
2895
2894
  this.logger = options.logger;
2896
- this.taskQueue = new PQueue__default["default"]({
2895
+ this.taskQueue = new PQueue__default.default({
2897
2896
  concurrency: options.concurrentTasksLimit
2898
2897
  });
2899
2898
  }
@@ -3077,18 +3076,18 @@ function createDryRunner(options) {
3077
3076
  output: result.output
3078
3077
  };
3079
3078
  } finally {
3080
- await fs__default["default"].remove(contentsPath);
3079
+ await fs__default.default.remove(contentsPath);
3081
3080
  }
3082
3081
  };
3083
3082
  }
3084
3083
 
3085
3084
  async function getWorkingDirectory(config, logger) {
3086
3085
  if (!config.has("backend.workingDirectory")) {
3087
- return os__default["default"].tmpdir();
3086
+ return os__default.default.tmpdir();
3088
3087
  }
3089
3088
  const workingDirectory = config.getString("backend.workingDirectory");
3090
3089
  try {
3091
- await fs__default["default"].access(workingDirectory, fs__default["default"].constants.F_OK | fs__default["default"].constants.W_OK);
3090
+ await fs__default.default.access(workingDirectory, fs__default.default.constants.F_OK | fs__default.default.constants.W_OK);
3092
3091
  logger.info(`using working directory: ${workingDirectory}`);
3093
3092
  } catch (err) {
3094
3093
  errors.assertError(err);
@@ -3191,8 +3190,8 @@ const readDuration = (config$1, key, defaultValue) => {
3191
3190
  };
3192
3191
  async function createRouter(options) {
3193
3192
  var _a;
3194
- const router = Router__default["default"]();
3195
- router.use(express__default["default"].json({ limit: "10MB" }));
3193
+ const router = Router__default.default();
3194
+ router.use(express__default.default.json({ limit: "10MB" }));
3196
3195
  const {
3197
3196
  logger: parentLogger,
3198
3197
  config,
@@ -3588,7 +3587,7 @@ data: ${JSON.stringify(event)}
3588
3587
  }))
3589
3588
  });
3590
3589
  });
3591
- const app = express__default["default"]();
3590
+ const app = express__default.default();
3592
3591
  app.set("logger", logger);
3593
3592
  app.use("/", router);
3594
3593
  async function authorizeTemplate(entityRef, token, credentials) {
@@ -3645,4 +3644,4 @@ exports.createRouter = createRouter;
3645
3644
  exports.createWaitAction = createWaitAction;
3646
3645
  exports.scaffolderActionRules = scaffolderActionRules;
3647
3646
  exports.scaffolderTemplateRules = scaffolderTemplateRules;
3648
- //# sourceMappingURL=router-77345506.cjs.js.map
3647
+ //# sourceMappingURL=router-B0mT63g8.cjs.js.map