@backstage/plugin-scaffolder-backend 1.21.2 → 1.22.0-next.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
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var router = require('./cjs/router-f392ade6.cjs.js');
5
+ var router = require('./cjs/router-ae706822.cjs.js');
6
6
  var github = require('@backstage/plugin-scaffolder-backend-module-github');
7
7
  var gitlab = require('@backstage/plugin-scaffolder-backend-module-gitlab');
8
8
  var azure = require('@backstage/plugin-scaffolder-backend-module-azure');
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as _backstage_plugin_scaffolder_node from '@backstage/plugin-scaffolder-node';
2
2
  import { TemplateFilter as TemplateFilter$1, TemplateGlobal as TemplateGlobal$1, TemplateAction as TemplateAction$1, TaskStatus as TaskStatus$1, TaskCompletionState as TaskCompletionState$1, SerializedTask as SerializedTask$1, TaskEventType as TaskEventType$1, SerializedTaskEvent as SerializedTaskEvent$1, TaskBrokerDispatchResult as TaskBrokerDispatchResult$1, TaskBrokerDispatchOptions as TaskBrokerDispatchOptions$1, TaskContext as TaskContext$1, TaskBroker as TaskBroker$1, TaskSecrets as TaskSecrets$1, ActionContext as ActionContext$1, ExecuteShellCommandOptions, executeShellCommand as executeShellCommand$1, fetchContents as fetchContents$1 } from '@backstage/plugin-scaffolder-node';
3
3
  import * as _backstage_types from '@backstage/types';
4
- import { HumanDuration, JsonObject } from '@backstage/types';
4
+ import { HumanDuration, JsonObject, JsonValue } from '@backstage/types';
5
5
  import * as _backstage_integration from '@backstage/integration';
6
6
  import { ScmIntegrations } from '@backstage/integration';
7
7
  import { CatalogApi } from '@backstage/catalog-client';
@@ -482,6 +482,15 @@ interface TaskStore {
482
482
  tasks: SerializedTask[];
483
483
  }>;
484
484
  emitLogEvent(options: TaskStoreEmitOptions): Promise<void>;
485
+ getTaskState?({ taskId }: {
486
+ taskId: string;
487
+ }): Promise<{
488
+ state: JsonObject;
489
+ } | undefined>;
490
+ saveTaskState?(options: {
491
+ taskId: string;
492
+ state?: JsonObject;
493
+ }): Promise<void>;
485
494
  listEvents(options: TaskStoreListEventsOptions): Promise<{
486
495
  events: SerializedTaskEvent[];
487
496
  }>;
@@ -535,6 +544,15 @@ declare class DatabaseTaskStore implements TaskStore {
535
544
  emitLogEvent(options: TaskStoreEmitOptions<{
536
545
  message: string;
537
546
  } & JsonObject>): Promise<void>;
547
+ getTaskState({ taskId }: {
548
+ taskId: string;
549
+ }): Promise<{
550
+ state: JsonObject;
551
+ } | undefined>;
552
+ saveTaskState(options: {
553
+ taskId: string;
554
+ state?: JsonObject;
555
+ }): Promise<void>;
538
556
  listEvents(options: TaskStoreListEventsOptions): Promise<{
539
557
  events: SerializedTaskEvent$1[];
540
558
  }>;
@@ -568,6 +586,18 @@ declare class TaskManager implements TaskContext$1 {
568
586
  getWorkspaceName(): Promise<string>;
569
587
  get done(): boolean;
570
588
  emitLog(message: string, logMetadata?: JsonObject): Promise<void>;
589
+ getTaskState?(): Promise<{
590
+ state?: JsonObject;
591
+ } | undefined>;
592
+ updateCheckpoint?(options: {
593
+ key: string;
594
+ status: 'success';
595
+ value: JsonValue;
596
+ } | {
597
+ key: string;
598
+ status: 'failed';
599
+ reason: string;
600
+ }): Promise<void>;
571
601
  complete(result: TaskCompletionState$1, metadata?: JsonObject): Promise<void>;
572
602
  private startTimeout;
573
603
  }
@@ -589,6 +619,10 @@ interface CurrentClaimedTask {
589
619
  * The secrets that are stored with the task.
590
620
  */
591
621
  secrets?: TaskSecrets$1;
622
+ /**
623
+ * The state of checkpoints of the task.
624
+ */
625
+ state?: JsonObject;
592
626
  /**
593
627
  * The creator of the task.
594
628
  */
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Copyright 2020 The Backstage Authors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ // @ts-check
18
+
19
+ /**
20
+ * @param {import('knex').Knex} knex
21
+ */
22
+ exports.up = async function up(knex) {
23
+ await knex.schema.alterTable('tasks', table => {
24
+ table.text('state').nullable().comment('A state of the checkpoints');
25
+ });
26
+ };
27
+
28
+ /**
29
+ * @param {import('knex').Knex} knex
30
+ */
31
+ exports.down = async function down(knex) {
32
+ await knex.schema.alterTable('tasks', table => {
33
+ table.dropColumn('state');
34
+ });
35
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@backstage/plugin-scaffolder-backend",
3
3
  "description": "The Backstage backend plugin that helps you create new things",
4
- "version": "1.21.2",
4
+ "version": "1.22.0-next.0",
5
5
  "main": "./dist/index.cjs.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "license": "Apache-2.0",
@@ -44,29 +44,29 @@
44
44
  "build:assets": "node scripts/build-nunjucks.js"
45
45
  },
46
46
  "dependencies": {
47
- "@backstage/backend-common": "^0.21.2",
48
- "@backstage/backend-plugin-api": "^0.6.12",
49
- "@backstage/backend-tasks": "^0.5.17",
50
- "@backstage/catalog-client": "^1.6.0",
51
- "@backstage/catalog-model": "^1.4.4",
52
- "@backstage/config": "^1.1.1",
53
- "@backstage/errors": "^1.2.3",
54
- "@backstage/integration": "^1.9.0",
55
- "@backstage/plugin-auth-node": "^0.4.7",
56
- "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "^0.1.9",
57
- "@backstage/plugin-catalog-node": "^1.7.2",
58
- "@backstage/plugin-permission-common": "^0.7.12",
59
- "@backstage/plugin-permission-node": "^0.7.23",
60
- "@backstage/plugin-scaffolder-backend-module-azure": "^0.1.4",
61
- "@backstage/plugin-scaffolder-backend-module-bitbucket": "^0.2.2",
62
- "@backstage/plugin-scaffolder-backend-module-bitbucket-cloud": "^0.1.2",
63
- "@backstage/plugin-scaffolder-backend-module-bitbucket-server": "^0.1.2",
64
- "@backstage/plugin-scaffolder-backend-module-gerrit": "^0.1.4",
65
- "@backstage/plugin-scaffolder-backend-module-gitea": "^0.1.2",
66
- "@backstage/plugin-scaffolder-backend-module-github": "^0.2.2",
67
- "@backstage/plugin-scaffolder-backend-module-gitlab": "^0.2.15",
68
- "@backstage/plugin-scaffolder-common": "^1.5.0",
69
- "@backstage/plugin-scaffolder-node": "^0.3.2",
47
+ "@backstage/backend-common": "^0.21.3-next.0",
48
+ "@backstage/backend-plugin-api": "^0.6.13-next.0",
49
+ "@backstage/backend-tasks": "^0.5.18-next.0",
50
+ "@backstage/catalog-client": "^1.6.1-next.0",
51
+ "@backstage/catalog-model": "^1.4.5-next.0",
52
+ "@backstage/config": "^1.1.2-next.0",
53
+ "@backstage/errors": "^1.2.4-next.0",
54
+ "@backstage/integration": "^1.9.1-next.0",
55
+ "@backstage/plugin-auth-node": "^0.4.8-next.0",
56
+ "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "^0.1.10-next.0",
57
+ "@backstage/plugin-catalog-node": "^1.8.0-next.0",
58
+ "@backstage/plugin-permission-common": "^0.7.13-next.0",
59
+ "@backstage/plugin-permission-node": "^0.7.24-next.0",
60
+ "@backstage/plugin-scaffolder-backend-module-azure": "^0.1.5-next.0",
61
+ "@backstage/plugin-scaffolder-backend-module-bitbucket": "^0.2.3-next.0",
62
+ "@backstage/plugin-scaffolder-backend-module-bitbucket-cloud": "^0.1.3-next.0",
63
+ "@backstage/plugin-scaffolder-backend-module-bitbucket-server": "^0.1.3-next.0",
64
+ "@backstage/plugin-scaffolder-backend-module-gerrit": "^0.1.5-next.0",
65
+ "@backstage/plugin-scaffolder-backend-module-gitea": "^0.1.3-next.0",
66
+ "@backstage/plugin-scaffolder-backend-module-github": "^0.2.3-next.0",
67
+ "@backstage/plugin-scaffolder-backend-module-gitlab": "^0.2.16-next.0",
68
+ "@backstage/plugin-scaffolder-common": "^1.5.1-next.0",
69
+ "@backstage/plugin-scaffolder-node": "^0.3.3-next.0",
70
70
  "@backstage/types": "^1.1.1",
71
71
  "@types/express": "^4.17.6",
72
72
  "@types/luxon": "^3.0.0",
@@ -84,15 +84,16 @@
84
84
  "p-limit": "^3.1.0",
85
85
  "p-queue": "^6.6.2",
86
86
  "prom-client": "^15.0.0",
87
- "uuid": "^8.2.0",
87
+ "uuid": "^9.0.0",
88
88
  "winston": "^3.2.1",
89
89
  "yaml": "^2.0.0",
90
90
  "zen-observable": "^0.10.0",
91
91
  "zod": "^3.22.4"
92
92
  },
93
93
  "devDependencies": {
94
- "@backstage/backend-test-utils": "^0.3.2",
95
- "@backstage/cli": "^0.25.2",
94
+ "@backstage/backend-test-utils": "^0.3.3-next.0",
95
+ "@backstage/cli": "^0.25.3-next.0",
96
+ "@backstage/plugin-scaffolder-node-test-utils": "^0.1.0-next.0",
96
97
  "@types/fs-extra": "^11.0.0",
97
98
  "@types/nunjucks": "^3.1.4",
98
99
  "@types/supertest": "^2.0.8",