@backstage/plugin-scaffolder-backend 1.16.6-next.1 → 1.16.6-next.2

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,30 @@
1
1
  # @backstage/plugin-scaffolder-backend
2
2
 
3
+ ## 1.16.6-next.2
4
+
5
+ ### Patch Changes
6
+
7
+ - ded27b83ead2: Add examples for `publish:bitbucket` scaffolder actions.
8
+ - 814feeed7343: Update to handle invalid luxon values
9
+ - Updated dependencies
10
+ - @backstage/plugin-catalog-backend@1.13.0-next.2
11
+ - @backstage/config@1.1.0-next.1
12
+ - @backstage/backend-tasks@0.5.8-next.2
13
+ - @backstage/backend-common@0.19.5-next.2
14
+ - @backstage/plugin-auth-node@0.3.0-next.2
15
+ - @backstage/plugin-catalog-node@1.4.4-next.2
16
+ - @backstage/plugin-permission-node@0.7.14-next.2
17
+ - @backstage/integration@1.7.0-next.2
18
+ - @backstage/backend-plugin-api@0.6.3-next.2
19
+ - @backstage/catalog-model@1.4.2-next.1
20
+ - @backstage/plugin-permission-common@0.7.8-next.1
21
+ - @backstage/plugin-scaffolder-node@0.2.3-next.2
22
+ - @backstage/catalog-client@1.4.4-next.1
23
+ - @backstage/errors@1.2.1
24
+ - @backstage/types@1.1.0
25
+ - @backstage/plugin-catalog-common@1.0.16-next.1
26
+ - @backstage/plugin-scaffolder-common@1.4.1-next.1
27
+
3
28
  ## 1.16.6-next.1
4
29
 
5
30
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/plugin-scaffolder-backend",
3
- "version": "1.16.6-next.1",
3
+ "version": "1.16.6-next.2",
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 backendPluginApi = require('@backstage/backend-plugin-api');
6
6
  var alpha = require('@backstage/plugin-catalog-node/alpha');
7
- var ScaffolderEntitiesProcessor = require('./cjs/ScaffolderEntitiesProcessor-96675669.cjs.js');
7
+ var ScaffolderEntitiesProcessor = require('./cjs/ScaffolderEntitiesProcessor-519a7b88.cjs.js');
8
8
  var alpha$1 = require('@backstage/plugin-scaffolder-common/alpha');
9
9
  var pluginPermissionNode = require('@backstage/plugin-permission-node');
10
10
  var backendCommon = require('@backstage/backend-common');
@@ -81,7 +81,7 @@ var winston__namespace = /*#__PURE__*/_interopNamespace(winston);
81
81
  var nunjucks__default = /*#__PURE__*/_interopDefaultLegacy(nunjucks);
82
82
  var os__default = /*#__PURE__*/_interopDefaultLegacy(os);
83
83
 
84
- const examples$e = [
84
+ const examples$f = [
85
85
  {
86
86
  description: "Register with the catalog",
87
87
  example: yaml__default["default"].stringify({
@@ -105,7 +105,7 @@ function createCatalogRegisterAction(options) {
105
105
  return pluginScaffolderNode.createTemplateAction({
106
106
  id: id$4,
107
107
  description: "Registers entities from a catalog descriptor file in the workspace into the software catalog.",
108
- examples: examples$e,
108
+ examples: examples$f,
109
109
  schema: {
110
110
  input: {
111
111
  oneOf: [
@@ -229,7 +229,7 @@ function createCatalogRegisterAction(options) {
229
229
  });
230
230
  }
231
231
 
232
- const examples$d = [
232
+ const examples$e = [
233
233
  {
234
234
  description: "Write a catalog yaml file",
235
235
  example: yaml__namespace.stringify({
@@ -273,7 +273,7 @@ function createCatalogWriteAction() {
273
273
  )
274
274
  })
275
275
  },
276
- examples: examples$d,
276
+ examples: examples$e,
277
277
  supportsDryRun: true,
278
278
  async handler(ctx) {
279
279
  ctx.logStream.write(`Writing catalog-info.yaml`);
@@ -287,7 +287,7 @@ function createCatalogWriteAction() {
287
287
  });
288
288
  }
289
289
 
290
- const examples$c = [
290
+ const examples$d = [
291
291
  {
292
292
  description: "Fetch entity by reference",
293
293
  example: yaml__default["default"].stringify({
@@ -326,7 +326,7 @@ function createFetchCatalogEntityAction(options) {
326
326
  return pluginScaffolderNode.createTemplateAction({
327
327
  id: id$2,
328
328
  description: "Returns entity or entities from the catalog by entity reference(s)",
329
- examples: examples$c,
329
+ examples: examples$d,
330
330
  supportsDryRun: true,
331
331
  schema: {
332
332
  input: zod.z.object({
@@ -401,7 +401,7 @@ function createFetchCatalogEntityAction(options) {
401
401
  });
402
402
  }
403
403
 
404
- const examples$b = [
404
+ const examples$c = [
405
405
  {
406
406
  description: "Write a debug message",
407
407
  example: yaml__default["default"].stringify({
@@ -439,7 +439,7 @@ function createDebugLogAction() {
439
439
  return pluginScaffolderNode.createTemplateAction({
440
440
  id: id$1,
441
441
  description: "Writes a message into the log or lists all files in the workspace.",
442
- examples: examples$b,
442
+ examples: examples$c,
443
443
  schema: {
444
444
  input: {
445
445
  type: "object",
@@ -486,7 +486,7 @@ async function recursiveReadDir(dir) {
486
486
  return files.reduce((a, f) => a.concat(f), []);
487
487
  }
488
488
 
489
- const examples$a = [
489
+ const examples$b = [
490
490
  {
491
491
  description: "Waiting for 50 milliseconds",
492
492
  example: yaml__default["default"].stringify({
@@ -549,7 +549,7 @@ function createWaitAction(options) {
549
549
  return pluginScaffolderNode.createTemplateAction({
550
550
  id,
551
551
  description: "Waits for a certain period of time.",
552
- examples: examples$a,
552
+ examples: examples$b,
553
553
  schema: {
554
554
  input: {
555
555
  type: "object",
@@ -594,7 +594,7 @@ function createWaitAction(options) {
594
594
  });
595
595
  }
596
596
 
597
- const examples$9 = [
597
+ const examples$a = [
598
598
  {
599
599
  description: "Downloads content and places it in the workspace.",
600
600
  example: yaml__default["default"].stringify({
@@ -633,7 +633,7 @@ function createFetchPlainAction(options) {
633
633
  const { reader, integrations } = options;
634
634
  return pluginScaffolderNode.createTemplateAction({
635
635
  id: ACTION_ID,
636
- examples: examples$9,
636
+ examples: examples$a,
637
637
  description: "Downloads content and places it in the workspace, or optionally in a subdirectory specified by the `targetPath` input option.",
638
638
  schema: {
639
639
  input: {
@@ -670,7 +670,7 @@ function createFetchPlainAction(options) {
670
670
  });
671
671
  }
672
672
 
673
- const examples$8 = [
673
+ const examples$9 = [
674
674
  {
675
675
  description: "Downloads a file and places it in the workspace.",
676
676
  example: yaml__default["default"].stringify({
@@ -694,7 +694,7 @@ function createFetchPlainFileAction(options) {
694
694
  return pluginScaffolderNode.createTemplateAction({
695
695
  id: "fetch:plain:file",
696
696
  description: "Downloads single file and places it in the workspace.",
697
- examples: examples$8,
697
+ examples: examples$9,
698
698
  schema: {
699
699
  input: {
700
700
  type: "object",
@@ -962,7 +962,7 @@ const createDefaultFilters = ({
962
962
  };
963
963
  };
964
964
 
965
- const examples$7 = [
965
+ const examples$8 = [
966
966
  {
967
967
  description: "Downloads a skelaton directory that lives alongside the template file and fill it out with values.",
968
968
  example: yaml__default["default"].stringify({
@@ -998,7 +998,7 @@ function createFetchTemplateAction(options) {
998
998
  return pluginScaffolderNode.createTemplateAction({
999
999
  id: "fetch:template",
1000
1000
  description: "Downloads a skeleton, templates variables into file and directory names and content, and places the result in the workspace, or optionally in a subdirectory specified by the `targetPath` input option.",
1001
- examples: examples$7,
1001
+ examples: examples$8,
1002
1002
  schema: {
1003
1003
  input: {
1004
1004
  type: "object",
@@ -1203,7 +1203,7 @@ function containsSkippedContent(localOutputPath) {
1203
1203
  return localOutputPath === "" || localOutputPath.startsWith("/") || localOutputPath.includes("//");
1204
1204
  }
1205
1205
 
1206
- const examples$6 = [
1206
+ const examples$7 = [
1207
1207
  {
1208
1208
  description: "Delete specified files",
1209
1209
  example: yaml__namespace.stringify({
@@ -1225,7 +1225,7 @@ const createFilesystemDeleteAction = () => {
1225
1225
  return pluginScaffolderNode.createTemplateAction({
1226
1226
  id: "fs:delete",
1227
1227
  description: "Deletes files and directories from the workspace",
1228
- examples: examples$6,
1228
+ examples: examples$7,
1229
1229
  schema: {
1230
1230
  input: {
1231
1231
  required: ["files"],
@@ -1262,7 +1262,7 @@ const createFilesystemDeleteAction = () => {
1262
1262
  });
1263
1263
  };
1264
1264
 
1265
- const examples$5 = [
1265
+ const examples$6 = [
1266
1266
  {
1267
1267
  description: "Rename specified files ",
1268
1268
  example: yaml__namespace.stringify({
@@ -1288,7 +1288,7 @@ const createFilesystemRenameAction = () => {
1288
1288
  return pluginScaffolderNode.createTemplateAction({
1289
1289
  id: "fs:rename",
1290
1290
  description: "Renames files and directories within the workspace",
1291
- examples: examples$5,
1291
+ examples: examples$6,
1292
1292
  schema: {
1293
1293
  input: {
1294
1294
  required: ["files"],
@@ -1770,7 +1770,7 @@ async function validateAccessTeam(client, access) {
1770
1770
  }
1771
1771
  }
1772
1772
 
1773
- const examples$4 = [
1773
+ const examples$5 = [
1774
1774
  {
1775
1775
  description: "GitHub Action Workflow Without Inputs.",
1776
1776
  example: yaml__default["default"].stringify({
@@ -1831,7 +1831,7 @@ function createGithubActionsDispatchAction(options) {
1831
1831
  return pluginScaffolderNode.createTemplateAction({
1832
1832
  id: "github:actions:dispatch",
1833
1833
  description: "Dispatches a GitHub Action workflow for a given branch or tag",
1834
- examples: examples$4,
1834
+ examples: examples$5,
1835
1835
  schema: {
1836
1836
  input: {
1837
1837
  type: "object",
@@ -2227,7 +2227,7 @@ const commitHash = {
2227
2227
  type: "string"
2228
2228
  };
2229
2229
 
2230
- const examples$3 = [
2230
+ const examples$4 = [
2231
2231
  {
2232
2232
  description: "Creates a GitHub repository with default configuration.",
2233
2233
  example: yaml__default["default"].stringify({
@@ -2280,7 +2280,7 @@ function createGithubRepoCreateAction(options) {
2280
2280
  return pluginScaffolderNode.createTemplateAction({
2281
2281
  id: "github:repo:create",
2282
2282
  description: "Creates a GitHub repository.",
2283
- examples: examples$3,
2283
+ examples: examples$4,
2284
2284
  schema: {
2285
2285
  input: {
2286
2286
  type: "object",
@@ -2387,7 +2387,7 @@ function createGithubRepoCreateAction(options) {
2387
2387
  });
2388
2388
  }
2389
2389
 
2390
- const examples$2 = [
2390
+ const examples$3 = [
2391
2391
  {
2392
2392
  description: "Setup repo with no modifications to branch protection rules",
2393
2393
  example: yaml__default["default"].stringify({
@@ -2439,7 +2439,7 @@ function createGithubRepoPushAction(options) {
2439
2439
  return pluginScaffolderNode.createTemplateAction({
2440
2440
  id: "github:repo:push",
2441
2441
  description: "Initializes a git repository of contents in workspace and publishes it to GitHub.",
2442
- examples: examples$2,
2442
+ examples: examples$3,
2443
2443
  schema: {
2444
2444
  input: {
2445
2445
  type: "object",
@@ -3058,6 +3058,175 @@ function createPublishAzureAction(options) {
3058
3058
  });
3059
3059
  }
3060
3060
 
3061
+ const examples$2 = [
3062
+ {
3063
+ description: "Initializes a git repository of contents in workspace and publish it to Bitbucket with default configuration.",
3064
+ example: yaml__default["default"].stringify({
3065
+ steps: [
3066
+ {
3067
+ id: "publish",
3068
+ action: "publish:bitbucket",
3069
+ name: "Publish to Bitbucket",
3070
+ input: {
3071
+ repoUrl: "bitbucket.org?repo=repo&workspace=workspace&project=project"
3072
+ }
3073
+ }
3074
+ ]
3075
+ })
3076
+ },
3077
+ {
3078
+ description: "Add a description.",
3079
+ example: yaml__default["default"].stringify({
3080
+ steps: [
3081
+ {
3082
+ id: "publish",
3083
+ action: "publish:bitbucket",
3084
+ name: "Publish to Bitbucket",
3085
+ input: {
3086
+ repoUrl: "bitbucket.org?repo=repo&workspace=workspace&project=project",
3087
+ description: "Initialize a git repository"
3088
+ }
3089
+ }
3090
+ ]
3091
+ })
3092
+ },
3093
+ {
3094
+ description: "Change visibility of the repository.",
3095
+ example: yaml__default["default"].stringify({
3096
+ steps: [
3097
+ {
3098
+ id: "publish",
3099
+ action: "publish:bitbucket",
3100
+ name: "Publish to Bitbucket",
3101
+ input: {
3102
+ repoUrl: "bitbucket.org?repo=repo&workspace=workspace&project=project",
3103
+ description: "Initialize a git repository",
3104
+ repoVisibility: "public"
3105
+ }
3106
+ }
3107
+ ]
3108
+ })
3109
+ },
3110
+ {
3111
+ description: "Set the default branch.",
3112
+ example: yaml__default["default"].stringify({
3113
+ steps: [
3114
+ {
3115
+ id: "publish",
3116
+ action: "publish:bitbucket",
3117
+ name: "Publish to Bitbucket",
3118
+ input: {
3119
+ repoUrl: "bitbucket.org?repo=repo&workspace=workspace&project=project",
3120
+ description: "Initialize a git repository",
3121
+ repoVisibility: "public",
3122
+ defaultBranch: "main"
3123
+ }
3124
+ }
3125
+ ]
3126
+ })
3127
+ },
3128
+ {
3129
+ description: "Specify a source path within the workspace.",
3130
+ example: yaml__default["default"].stringify({
3131
+ steps: [
3132
+ {
3133
+ id: "publish",
3134
+ action: "publish:bitbucket",
3135
+ name: "Publish to Bitbucket",
3136
+ input: {
3137
+ repoUrl: "bitbucket.org?repo=repo&workspace=workspace&project=project",
3138
+ description: "Initialize a git repository",
3139
+ repoVisibility: "public",
3140
+ defaultBranch: "main",
3141
+ sourcePath: "./repoRoot"
3142
+ }
3143
+ }
3144
+ ]
3145
+ })
3146
+ },
3147
+ {
3148
+ description: "Enable LFS for the repository.",
3149
+ example: yaml__default["default"].stringify({
3150
+ steps: [
3151
+ {
3152
+ id: "publish",
3153
+ action: "publish:bitbucket",
3154
+ name: "Publish to Bitbucket",
3155
+ input: {
3156
+ repoUrl: "hosted.bitbucket.com?project=project&repo=repo",
3157
+ description: "Initialize a git repository",
3158
+ repoVisibility: "public",
3159
+ defaultBranch: "main",
3160
+ sourcePath: "./repoRoot",
3161
+ enableLFS: true
3162
+ }
3163
+ }
3164
+ ]
3165
+ })
3166
+ },
3167
+ {
3168
+ description: "Provide an authentication token for Bitbucket.",
3169
+ example: yaml__default["default"].stringify({
3170
+ steps: [
3171
+ {
3172
+ id: "publish",
3173
+ action: "publish:bitbucket",
3174
+ name: "Publish to Bitbucket",
3175
+ input: {
3176
+ repoUrl: "bitbucket.org?repo=repo&workspace=workspace&project=project",
3177
+ description: "Initialize a git repository",
3178
+ repoVisibility: "public",
3179
+ defaultBranch: "main",
3180
+ token: "your-auth-token"
3181
+ }
3182
+ }
3183
+ ]
3184
+ })
3185
+ },
3186
+ {
3187
+ description: "Set a custom commit message.",
3188
+ example: yaml__default["default"].stringify({
3189
+ steps: [
3190
+ {
3191
+ id: "publish",
3192
+ action: "publish:bitbucket",
3193
+ name: "Publish to Bitbucket",
3194
+ input: {
3195
+ repoUrl: "bitbucket.org?repo=repo&workspace=workspace&project=project",
3196
+ description: "Initialize a git repository",
3197
+ repoVisibility: "public",
3198
+ defaultBranch: "main",
3199
+ token: "your-auth-token",
3200
+ gitCommitMessage: "Initial commit with custom message"
3201
+ }
3202
+ }
3203
+ ]
3204
+ })
3205
+ },
3206
+ {
3207
+ description: "Set a custom author name and email for the commit.",
3208
+ example: yaml__default["default"].stringify({
3209
+ steps: [
3210
+ {
3211
+ id: "publish",
3212
+ action: "publish:bitbucket",
3213
+ name: "Publish to Bitbucket",
3214
+ input: {
3215
+ repoUrl: "bitbucket.org?repo=repo&workspace=workspace&project=project",
3216
+ description: "Initialize a git repository",
3217
+ repoVisibility: "public",
3218
+ defaultBranch: "main",
3219
+ token: "your-auth-token",
3220
+ gitCommitMessage: "Initial commit with custom message",
3221
+ gitAuthorName: "Your Name",
3222
+ gitAuthorEmail: "your.email@example.com"
3223
+ }
3224
+ }
3225
+ ]
3226
+ })
3227
+ }
3228
+ ];
3229
+
3061
3230
  const createBitbucketCloudRepository = async (opts) => {
3062
3231
  const {
3063
3232
  workspace,
@@ -3185,6 +3354,7 @@ function createPublishBitbucketAction(options) {
3185
3354
  return pluginScaffolderNode.createTemplateAction({
3186
3355
  id: "publish:bitbucket",
3187
3356
  description: "Initializes a git repository of the content in the workspace, and publishes it to Bitbucket.",
3357
+ examples: examples$2,
3188
3358
  schema: {
3189
3359
  input: {
3190
3360
  type: "object",
@@ -5331,7 +5501,13 @@ function isPluginDatabaseManager(opt) {
5331
5501
  }
5332
5502
  const parseSqlDateToIsoString = (input) => {
5333
5503
  if (typeof input === "string") {
5334
- return luxon.DateTime.fromSQL(input, { zone: "UTC" }).toISO();
5504
+ const parsed = luxon.DateTime.fromSQL(input, { zone: "UTC" });
5505
+ if (!parsed.isValid) {
5506
+ throw new Error(
5507
+ `Failed to parse database timestamp '${input}', ${parsed.invalidReason}: ${parsed.invalidExplanation}`
5508
+ );
5509
+ }
5510
+ return parsed.toISO();
5335
5511
  }
5336
5512
  return input;
5337
5513
  };
@@ -7161,4 +7337,4 @@ exports.createRouter = createRouter;
7161
7337
  exports.createWaitAction = createWaitAction;
7162
7338
  exports.scaffolderActionRules = scaffolderActionRules;
7163
7339
  exports.scaffolderTemplateRules = scaffolderTemplateRules;
7164
- //# sourceMappingURL=ScaffolderEntitiesProcessor-96675669.cjs.js.map
7340
+ //# sourceMappingURL=ScaffolderEntitiesProcessor-519a7b88.cjs.js.map