@backstage/plugin-scaffolder-backend 1.15.1-next.0 → 1.15.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 +50 -0
- package/alpha/package.json +1 -1
- package/dist/alpha.cjs.js +1 -1
- package/dist/alpha.cjs.js.map +1 -1
- package/dist/alpha.d.ts +2 -2
- package/dist/cjs/{ScaffolderEntitiesProcessor-d9bc7a90.cjs.js → ScaffolderEntitiesProcessor-b514f9e5.cjs.js} +50 -10
- package/dist/cjs/ScaffolderEntitiesProcessor-b514f9e5.cjs.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/package.json +19 -19
- package/dist/cjs/ScaffolderEntitiesProcessor-d9bc7a90.cjs.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,55 @@
|
|
|
1
1
|
# @backstage/plugin-scaffolder-backend
|
|
2
2
|
|
|
3
|
+
## 1.15.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 600be804927d: Indicate the name of the option that is being deprecated in task deprecation warning.
|
|
8
|
+
- ff45cb559e49: Updated dependency `esbuild` to `^0.18.0`.
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
- @backstage/errors@1.2.1
|
|
11
|
+
- @backstage/backend-common@0.19.1
|
|
12
|
+
- @backstage/plugin-catalog-backend@1.11.0
|
|
13
|
+
- @backstage/plugin-catalog-node@1.4.0
|
|
14
|
+
- @backstage/backend-plugin-api@0.5.4
|
|
15
|
+
- @backstage/backend-tasks@0.5.4
|
|
16
|
+
- @backstage/catalog-client@1.4.3
|
|
17
|
+
- @backstage/catalog-model@1.4.1
|
|
18
|
+
- @backstage/config@1.0.8
|
|
19
|
+
- @backstage/integration@1.5.1
|
|
20
|
+
- @backstage/types@1.1.0
|
|
21
|
+
- @backstage/plugin-auth-node@0.2.16
|
|
22
|
+
- @backstage/plugin-catalog-common@1.0.15
|
|
23
|
+
- @backstage/plugin-permission-common@0.7.7
|
|
24
|
+
- @backstage/plugin-permission-node@0.7.10
|
|
25
|
+
- @backstage/plugin-scaffolder-common@1.3.2
|
|
26
|
+
- @backstage/plugin-scaffolder-node@0.1.5
|
|
27
|
+
|
|
28
|
+
## 1.15.1-next.1
|
|
29
|
+
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- 600be804927d: Indicate the name of the option that is being deprecated in task deprecation warning.
|
|
33
|
+
- ff45cb559e49: Updated dependency `esbuild` to `^0.18.0`.
|
|
34
|
+
- Updated dependencies
|
|
35
|
+
- @backstage/backend-common@0.19.1-next.0
|
|
36
|
+
- @backstage/backend-plugin-api@0.5.4-next.0
|
|
37
|
+
- @backstage/backend-tasks@0.5.4-next.0
|
|
38
|
+
- @backstage/catalog-client@1.4.3-next.0
|
|
39
|
+
- @backstage/catalog-model@1.4.1-next.0
|
|
40
|
+
- @backstage/config@1.0.8
|
|
41
|
+
- @backstage/errors@1.2.1-next.0
|
|
42
|
+
- @backstage/integration@1.5.1-next.0
|
|
43
|
+
- @backstage/types@1.1.0
|
|
44
|
+
- @backstage/plugin-auth-node@0.2.16-next.0
|
|
45
|
+
- @backstage/plugin-catalog-backend@1.11.0-next.0
|
|
46
|
+
- @backstage/plugin-catalog-common@1.0.15-next.0
|
|
47
|
+
- @backstage/plugin-catalog-node@1.4.0-next.0
|
|
48
|
+
- @backstage/plugin-permission-common@0.7.7-next.0
|
|
49
|
+
- @backstage/plugin-permission-node@0.7.10-next.0
|
|
50
|
+
- @backstage/plugin-scaffolder-common@1.3.2-next.0
|
|
51
|
+
- @backstage/plugin-scaffolder-node@0.1.5-next.0
|
|
52
|
+
|
|
3
53
|
## 1.15.1-next.0
|
|
4
54
|
|
|
5
55
|
### Patch Changes
|
package/alpha/package.json
CHANGED
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-
|
|
7
|
+
var ScaffolderEntitiesProcessor = require('./cjs/ScaffolderEntitiesProcessor-b514f9e5.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');
|
package/dist/alpha.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alpha.cjs.js","sources":["../src/modules/catalogModuleTemplateKind.ts","../src/service/conditionExports.ts","../src/ScaffolderPlugin.ts"],"sourcesContent":["/*\n * Copyright 2022 The Backstage Authors\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 { createBackendModule } from '@backstage/backend-plugin-api';\nimport { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';\nimport { ScaffolderEntitiesProcessor } from '../processor';\n\n/**\n * Registers support for the Template kind to the catalog backend plugin.\n *\n * @alpha\n */\nexport const catalogModuleTemplateKind = createBackendModule({\n moduleId: 'scaffolder',\n pluginId: 'templateKind',\n register(env) {\n env.registerInit({\n deps: {\n catalog: catalogProcessingExtensionPoint,\n },\n async init({ catalog }) {\n catalog.addProcessor(new ScaffolderEntitiesProcessor());\n },\n });\n },\n});\n","/*\n * Copyright 2022 The Backstage Authors\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 {\n RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,\n RESOURCE_TYPE_SCAFFOLDER_ACTION,\n} from '@backstage/plugin-scaffolder-common/alpha';\nimport { createConditionExports } from '@backstage/plugin-permission-node';\nimport { scaffolderTemplateRules, scaffolderActionRules } from './rules';\n\nconst templateConditionExports = createConditionExports({\n pluginId: 'scaffolder',\n resourceType: RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,\n rules: scaffolderTemplateRules,\n});\n\nconst actionsConditionExports = createConditionExports({\n pluginId: 'scaffolder',\n resourceType: RESOURCE_TYPE_SCAFFOLDER_ACTION,\n rules: scaffolderActionRules,\n});\n\n/**\n * `createScaffolderTemplateConditionalDecision` can be used when authoring policies to\n * create conditional decisions. It requires a permission of type\n * `ResourcePermission<'scaffolder-template'>` to be passed as the first parameter.\n * It's recommended that you use the provided `isResourcePermission` and\n * `isPermission` helper methods to narrow the type of the permission passed to\n * the handle method as shown below.\n *\n * ```\n * // MyAuthorizationPolicy.ts\n * ...\n * import { createScaffolderPolicyDecision } from '@backstage/plugin-scaffolder-backend';\n * import { RESOURCE_TYPE_SCAFFOLDER_TEMPLATE } from '@backstage/plugin-scaffolder-common';\n *\n * class MyAuthorizationPolicy implements PermissionPolicy {\n * async handle(request, user) {\n * ...\n *\n * if (isResourcePermission(request.permission, RESOURCE_TYPE_SCAFFOLDER_TEMPLATE)) {\n * return createScaffolderConditionalDecision(\n * request.permission,\n * { anyOf: [...insert conditions here...] }\n * );\n * }\n *\n * ...\n * }\n *\n * ```\n *\n * @alpha\n */\nexport const createScaffolderTemplateConditionalDecision =\n templateConditionExports.createConditionalDecision;\n\n/**\n * These conditions are used when creating conditional decisions for scaffolder\n * templates that are returned by authorization policies.\n *\n * @alpha\n */\nexport const scaffolderTemplateConditions = templateConditionExports.conditions;\n\n/**\n * @alpha\n */\nexport const createScaffolderActionConditionalDecision =\n actionsConditionExports.createConditionalDecision;\n\n/**\n *\n * These conditions are used when creating conditional decisions for scaffolder\n * actions that are returned by authorization policies.\n *\n * @alpha\n */\nexport const scaffolderActionConditions = actionsConditionExports.conditions;\n","/*\n * Copyright 2022 The Backstage Authors\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 {\n createBackendPlugin,\n coreServices,\n} from '@backstage/backend-plugin-api';\nimport { loggerToWinstonLogger } from '@backstage/backend-common';\nimport { ScmIntegrations } from '@backstage/integration';\nimport { catalogServiceRef } from '@backstage/plugin-catalog-node/alpha';\nimport {\n scaffolderActionsExtensionPoint,\n ScaffolderActionsExtensionPoint,\n TemplateAction,\n} from '@backstage/plugin-scaffolder-node';\nimport {\n TemplateFilter,\n TemplateGlobal,\n TaskBroker,\n} from '@backstage/plugin-scaffolder-backend';\nimport { createBuiltinActions } from './scaffolder';\nimport { createRouter } from './service/router';\n\n/**\n * Catalog plugin options\n *\n * @alpha\n */\nexport type ScaffolderPluginOptions = {\n actions?: TemplateAction<any, any>[];\n taskWorkers?: number;\n taskBroker?: TaskBroker;\n additionalTemplateFilters?: Record<string, TemplateFilter>;\n additionalTemplateGlobals?: Record<string, TemplateGlobal>;\n};\n\nclass ScaffolderActionsExtensionPointImpl\n implements ScaffolderActionsExtensionPoint\n{\n #actions = new Array<TemplateAction<any, any>>();\n\n addActions(...actions: TemplateAction<any>[]): void {\n this.#actions.push(...actions);\n }\n\n get actions() {\n return this.#actions;\n }\n}\n\n/**\n * Catalog plugin\n *\n * @alpha\n */\nexport const scaffolderPlugin = createBackendPlugin(\n (options?: ScaffolderPluginOptions) => ({\n pluginId: 'scaffolder',\n register(env) {\n const actionsExtensions = new ScaffolderActionsExtensionPointImpl();\n\n env.registerExtensionPoint(\n scaffolderActionsExtensionPoint,\n actionsExtensions,\n );\n\n env.registerInit({\n deps: {\n logger: coreServices.logger,\n config: coreServices.config,\n reader: coreServices.urlReader,\n permissions: coreServices.permissions,\n database: coreServices.database,\n httpRouter: coreServices.httpRouter,\n catalogClient: catalogServiceRef,\n },\n async init({\n logger,\n config,\n reader,\n database,\n httpRouter,\n catalogClient,\n permissions,\n }) {\n const {\n additionalTemplateFilters,\n taskBroker,\n taskWorkers,\n additionalTemplateGlobals,\n } = options ?? {};\n const log = loggerToWinstonLogger(logger);\n\n const actions = options?.actions || [\n ...actionsExtensions.actions,\n ...createBuiltinActions({\n integrations: ScmIntegrations.fromConfig(config),\n catalogClient,\n reader,\n config,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n }),\n ];\n\n const actionIds = actions.map(action => action.id).join(', ');\n log.info(\n `Starting scaffolder with the following actions enabled ${actionIds}`,\n );\n\n const router = await createRouter({\n logger: log,\n config,\n database,\n catalogClient,\n reader,\n actions,\n taskBroker,\n taskWorkers,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n permissions,\n });\n httpRouter.use(router);\n },\n });\n },\n }),\n);\n"],"names":["createBackendModule","catalogProcessingExtensionPoint","ScaffolderEntitiesProcessor","createConditionExports","RESOURCE_TYPE_SCAFFOLDER_TEMPLATE","scaffolderTemplateRules","RESOURCE_TYPE_SCAFFOLDER_ACTION","scaffolderActionRules","createBackendPlugin","scaffolderActionsExtensionPoint","coreServices","catalogServiceRef","loggerToWinstonLogger","createBuiltinActions","ScmIntegrations","createRouter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"alpha.cjs.js","sources":["../src/modules/catalogModuleTemplateKind.ts","../src/service/conditionExports.ts","../src/ScaffolderPlugin.ts"],"sourcesContent":["/*\n * Copyright 2022 The Backstage Authors\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 { createBackendModule } from '@backstage/backend-plugin-api';\nimport { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';\nimport { ScaffolderEntitiesProcessor } from '../processor';\n\n/**\n * Registers support for the Template kind to the catalog backend plugin.\n *\n * @alpha\n */\nexport const catalogModuleTemplateKind = createBackendModule({\n moduleId: 'scaffolder',\n pluginId: 'templateKind',\n register(env) {\n env.registerInit({\n deps: {\n catalog: catalogProcessingExtensionPoint,\n },\n async init({ catalog }) {\n catalog.addProcessor(new ScaffolderEntitiesProcessor());\n },\n });\n },\n});\n","/*\n * Copyright 2022 The Backstage Authors\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 {\n RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,\n RESOURCE_TYPE_SCAFFOLDER_ACTION,\n} from '@backstage/plugin-scaffolder-common/alpha';\nimport { createConditionExports } from '@backstage/plugin-permission-node';\nimport { scaffolderTemplateRules, scaffolderActionRules } from './rules';\n\nconst templateConditionExports = createConditionExports({\n pluginId: 'scaffolder',\n resourceType: RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,\n rules: scaffolderTemplateRules,\n});\n\nconst actionsConditionExports = createConditionExports({\n pluginId: 'scaffolder',\n resourceType: RESOURCE_TYPE_SCAFFOLDER_ACTION,\n rules: scaffolderActionRules,\n});\n\n/**\n * `createScaffolderTemplateConditionalDecision` can be used when authoring policies to\n * create conditional decisions. It requires a permission of type\n * `ResourcePermission<'scaffolder-template'>` to be passed as the first parameter.\n * It's recommended that you use the provided `isResourcePermission` and\n * `isPermission` helper methods to narrow the type of the permission passed to\n * the handle method as shown below.\n *\n * ```\n * // MyAuthorizationPolicy.ts\n * ...\n * import { createScaffolderPolicyDecision } from '@backstage/plugin-scaffolder-backend';\n * import { RESOURCE_TYPE_SCAFFOLDER_TEMPLATE } from '@backstage/plugin-scaffolder-common';\n *\n * class MyAuthorizationPolicy implements PermissionPolicy {\n * async handle(request, user) {\n * ...\n *\n * if (isResourcePermission(request.permission, RESOURCE_TYPE_SCAFFOLDER_TEMPLATE)) {\n * return createScaffolderConditionalDecision(\n * request.permission,\n * { anyOf: [...insert conditions here...] }\n * );\n * }\n *\n * ...\n * }\n *\n * ```\n *\n * @alpha\n */\nexport const createScaffolderTemplateConditionalDecision =\n templateConditionExports.createConditionalDecision;\n\n/**\n * These conditions are used when creating conditional decisions for scaffolder\n * templates that are returned by authorization policies.\n *\n * @alpha\n */\nexport const scaffolderTemplateConditions = templateConditionExports.conditions;\n\n/**\n * @alpha\n */\nexport const createScaffolderActionConditionalDecision =\n actionsConditionExports.createConditionalDecision;\n\n/**\n *\n * These conditions are used when creating conditional decisions for scaffolder\n * actions that are returned by authorization policies.\n *\n * @alpha\n */\nexport const scaffolderActionConditions = actionsConditionExports.conditions;\n","/*\n * Copyright 2022 The Backstage Authors\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 {\n createBackendPlugin,\n coreServices,\n} from '@backstage/backend-plugin-api';\nimport { loggerToWinstonLogger } from '@backstage/backend-common';\nimport { ScmIntegrations } from '@backstage/integration';\nimport { catalogServiceRef } from '@backstage/plugin-catalog-node/alpha';\nimport {\n scaffolderActionsExtensionPoint,\n ScaffolderActionsExtensionPoint,\n TemplateAction,\n} from '@backstage/plugin-scaffolder-node';\nimport {\n TemplateFilter,\n TemplateGlobal,\n TaskBroker,\n} from '@backstage/plugin-scaffolder-backend';\nimport { createBuiltinActions } from './scaffolder';\nimport { createRouter } from './service/router';\n\n/**\n * Catalog plugin options\n *\n * @alpha\n */\nexport type ScaffolderPluginOptions = {\n actions?: TemplateAction<any, any>[];\n taskWorkers?: number;\n taskBroker?: TaskBroker;\n additionalTemplateFilters?: Record<string, TemplateFilter>;\n additionalTemplateGlobals?: Record<string, TemplateGlobal>;\n};\n\nclass ScaffolderActionsExtensionPointImpl\n implements ScaffolderActionsExtensionPoint\n{\n #actions = new Array<TemplateAction<any, any>>();\n\n addActions(...actions: TemplateAction<any>[]): void {\n this.#actions.push(...actions);\n }\n\n get actions() {\n return this.#actions;\n }\n}\n\n/**\n * Catalog plugin\n *\n * @alpha\n */\nexport const scaffolderPlugin = createBackendPlugin(\n (options?: ScaffolderPluginOptions) => ({\n pluginId: 'scaffolder',\n register(env) {\n const actionsExtensions = new ScaffolderActionsExtensionPointImpl();\n\n env.registerExtensionPoint(\n scaffolderActionsExtensionPoint,\n actionsExtensions,\n );\n\n env.registerInit({\n deps: {\n logger: coreServices.logger,\n config: coreServices.config,\n reader: coreServices.urlReader,\n permissions: coreServices.permissions,\n database: coreServices.database,\n httpRouter: coreServices.httpRouter,\n catalogClient: catalogServiceRef,\n },\n async init({\n logger,\n config,\n reader,\n database,\n httpRouter,\n catalogClient,\n permissions,\n }) {\n const {\n additionalTemplateFilters,\n taskBroker,\n taskWorkers,\n additionalTemplateGlobals,\n } = options ?? {};\n const log = loggerToWinstonLogger(logger);\n\n const actions = options?.actions || [\n ...actionsExtensions.actions,\n ...createBuiltinActions({\n integrations: ScmIntegrations.fromConfig(config),\n catalogClient,\n reader,\n config,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n }),\n ];\n\n const actionIds = actions.map(action => action.id).join(', ');\n log.info(\n `Starting scaffolder with the following actions enabled ${actionIds}`,\n );\n\n const router = await createRouter({\n logger: log,\n config,\n database,\n catalogClient,\n reader,\n actions,\n taskBroker,\n taskWorkers,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n permissions,\n });\n httpRouter.use(router);\n },\n });\n },\n }),\n);\n"],"names":["createBackendModule","catalogProcessingExtensionPoint","ScaffolderEntitiesProcessor","createConditionExports","RESOURCE_TYPE_SCAFFOLDER_TEMPLATE","scaffolderTemplateRules","RESOURCE_TYPE_SCAFFOLDER_ACTION","scaffolderActionRules","createBackendPlugin","scaffolderActionsExtensionPoint","coreServices","catalogServiceRef","loggerToWinstonLogger","createBuiltinActions","ScmIntegrations","createRouter"],"mappings":"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"}
|
package/dist/alpha.d.ts
CHANGED
|
@@ -45,7 +45,7 @@ declare const catalogModuleTemplateKind: () => _backstage_backend_plugin_api.Bac
|
|
|
45
45
|
*
|
|
46
46
|
* @alpha
|
|
47
47
|
*/
|
|
48
|
-
declare const createScaffolderTemplateConditionalDecision: (permission: _backstage_plugin_permission_common.ResourcePermission<"scaffolder-template">, conditions: _backstage_plugin_permission_common.PermissionCriteria<_backstage_plugin_permission_common.PermissionCondition<"scaffolder-template">>) => _backstage_plugin_permission_common.ConditionalPolicyDecision;
|
|
48
|
+
declare const createScaffolderTemplateConditionalDecision: (permission: _backstage_plugin_permission_common.ResourcePermission<"scaffolder-template">, conditions: _backstage_plugin_permission_common.PermissionCriteria<_backstage_plugin_permission_common.PermissionCondition<"scaffolder-template", _backstage_plugin_permission_common.PermissionRuleParams>>) => _backstage_plugin_permission_common.ConditionalPolicyDecision;
|
|
49
49
|
/**
|
|
50
50
|
* These conditions are used when creating conditional decisions for scaffolder
|
|
51
51
|
* templates that are returned by authorization policies.
|
|
@@ -60,7 +60,7 @@ declare const scaffolderTemplateConditions: _backstage_plugin_permission_node.Co
|
|
|
60
60
|
/**
|
|
61
61
|
* @alpha
|
|
62
62
|
*/
|
|
63
|
-
declare const createScaffolderActionConditionalDecision: (permission: _backstage_plugin_permission_common.ResourcePermission<"scaffolder-action">, conditions: _backstage_plugin_permission_common.PermissionCriteria<_backstage_plugin_permission_common.PermissionCondition<"scaffolder-action">>) => _backstage_plugin_permission_common.ConditionalPolicyDecision;
|
|
63
|
+
declare const createScaffolderActionConditionalDecision: (permission: _backstage_plugin_permission_common.ResourcePermission<"scaffolder-action">, conditions: _backstage_plugin_permission_common.PermissionCriteria<_backstage_plugin_permission_common.PermissionCondition<"scaffolder-action", _backstage_plugin_permission_common.PermissionRuleParams>>) => _backstage_plugin_permission_common.ConditionalPolicyDecision;
|
|
64
64
|
/**
|
|
65
65
|
*
|
|
66
66
|
* These conditions are used when creating conditional decisions for scaffolder
|
|
@@ -1025,7 +1025,7 @@ function createFetchTemplateAction(options) {
|
|
|
1025
1025
|
let renderFilename;
|
|
1026
1026
|
if (ctx.input.copyWithoutRender) {
|
|
1027
1027
|
ctx.logger.warn(
|
|
1028
|
-
"[Deprecated] Please use copyWithoutTemplating instead."
|
|
1028
|
+
"[Deprecated] copyWithoutRender is deprecated Please use copyWithoutTemplating instead."
|
|
1029
1029
|
);
|
|
1030
1030
|
copyOnlyPatterns = ctx.input.copyWithoutRender;
|
|
1031
1031
|
renderFilename = false;
|
|
@@ -4968,9 +4968,15 @@ const createBuiltinActions = (options) => {
|
|
|
4968
4968
|
return actions;
|
|
4969
4969
|
};
|
|
4970
4970
|
|
|
4971
|
+
var __defProp$5 = Object.defineProperty;
|
|
4972
|
+
var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4973
|
+
var __publicField$5 = (obj, key, value) => {
|
|
4974
|
+
__defNormalProp$5(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4975
|
+
return value;
|
|
4976
|
+
};
|
|
4971
4977
|
class TemplateActionRegistry {
|
|
4972
4978
|
constructor() {
|
|
4973
|
-
this
|
|
4979
|
+
__publicField$5(this, "actions", /* @__PURE__ */ new Map());
|
|
4974
4980
|
}
|
|
4975
4981
|
register(action) {
|
|
4976
4982
|
if (this.actions.has(action.id)) {
|
|
@@ -4994,6 +5000,12 @@ class TemplateActionRegistry {
|
|
|
4994
5000
|
}
|
|
4995
5001
|
}
|
|
4996
5002
|
|
|
5003
|
+
var __defProp$4 = Object.defineProperty;
|
|
5004
|
+
var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
5005
|
+
var __publicField$4 = (obj, key, value) => {
|
|
5006
|
+
__defNormalProp$4(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5007
|
+
return value;
|
|
5008
|
+
};
|
|
4997
5009
|
const migrationsDir = backendCommon.resolvePackagePath(
|
|
4998
5010
|
"@backstage/plugin-scaffolder-backend",
|
|
4999
5011
|
"migrations"
|
|
@@ -5008,6 +5020,10 @@ const parseSqlDateToIsoString = (input) => {
|
|
|
5008
5020
|
return input;
|
|
5009
5021
|
};
|
|
5010
5022
|
class DatabaseTaskStore {
|
|
5023
|
+
constructor(client) {
|
|
5024
|
+
__publicField$4(this, "db");
|
|
5025
|
+
this.db = client;
|
|
5026
|
+
}
|
|
5011
5027
|
static async create(options) {
|
|
5012
5028
|
const { database } = options;
|
|
5013
5029
|
const client = await this.getClient(database);
|
|
@@ -5034,9 +5050,6 @@ class DatabaseTaskStore {
|
|
|
5034
5050
|
});
|
|
5035
5051
|
}
|
|
5036
5052
|
}
|
|
5037
|
-
constructor(client) {
|
|
5038
|
-
this.db = client;
|
|
5039
|
-
}
|
|
5040
5053
|
async list(options) {
|
|
5041
5054
|
const queryBuilder = this.db("tasks");
|
|
5042
5055
|
if (options.createdBy) {
|
|
@@ -5276,6 +5289,12 @@ class DatabaseTaskStore {
|
|
|
5276
5289
|
}
|
|
5277
5290
|
}
|
|
5278
5291
|
|
|
5292
|
+
var __defProp$3 = Object.defineProperty;
|
|
5293
|
+
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
5294
|
+
var __publicField$3 = (obj, key, value) => {
|
|
5295
|
+
__defNormalProp$3(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5296
|
+
return value;
|
|
5297
|
+
};
|
|
5279
5298
|
class TaskManager {
|
|
5280
5299
|
// Runs heartbeat internally
|
|
5281
5300
|
constructor(task, storage, signal, logger) {
|
|
@@ -5283,7 +5302,8 @@ class TaskManager {
|
|
|
5283
5302
|
this.storage = storage;
|
|
5284
5303
|
this.signal = signal;
|
|
5285
5304
|
this.logger = logger;
|
|
5286
|
-
this
|
|
5305
|
+
__publicField$3(this, "isDone", false);
|
|
5306
|
+
__publicField$3(this, "heartbeatTimeoutId");
|
|
5287
5307
|
}
|
|
5288
5308
|
static create(task, storage, abortSignal, logger) {
|
|
5289
5309
|
const agent = new TaskManager(task, storage, abortSignal, logger);
|
|
@@ -5355,7 +5375,7 @@ class StorageTaskBroker {
|
|
|
5355
5375
|
constructor(storage, logger) {
|
|
5356
5376
|
this.storage = storage;
|
|
5357
5377
|
this.logger = logger;
|
|
5358
|
-
this
|
|
5378
|
+
__publicField$3(this, "deferredDispatch", defer());
|
|
5359
5379
|
}
|
|
5360
5380
|
async list(options) {
|
|
5361
5381
|
if (!this.storage.list) {
|
|
@@ -5624,6 +5644,12 @@ const scaffolderActionRules = {
|
|
|
5624
5644
|
hasStringProperty
|
|
5625
5645
|
};
|
|
5626
5646
|
|
|
5647
|
+
var __defProp$2 = Object.defineProperty;
|
|
5648
|
+
var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
5649
|
+
var __publicField$2 = (obj, key, value) => {
|
|
5650
|
+
__defNormalProp$2(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5651
|
+
return value;
|
|
5652
|
+
};
|
|
5627
5653
|
const isValidTaskSpec = (taskSpec) => {
|
|
5628
5654
|
return taskSpec.apiVersion === "scaffolder.backstage.io/v1beta3";
|
|
5629
5655
|
};
|
|
@@ -5656,7 +5682,8 @@ const isActionAuthorized = pluginPermissionNode.createConditionAuthorizer(
|
|
|
5656
5682
|
class NunjucksWorkflowRunner {
|
|
5657
5683
|
constructor(options) {
|
|
5658
5684
|
this.options = options;
|
|
5659
|
-
this
|
|
5685
|
+
__publicField$2(this, "defaultTemplateFilters");
|
|
5686
|
+
__publicField$2(this, "tracker", scaffoldingTracker());
|
|
5660
5687
|
this.defaultTemplateFilters = createDefaultFilters({
|
|
5661
5688
|
integrations: this.options.integrations
|
|
5662
5689
|
});
|
|
@@ -6004,9 +6031,16 @@ function scaffoldingTracker() {
|
|
|
6004
6031
|
};
|
|
6005
6032
|
}
|
|
6006
6033
|
|
|
6034
|
+
var __defProp$1 = Object.defineProperty;
|
|
6035
|
+
var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6036
|
+
var __publicField$1 = (obj, key, value) => {
|
|
6037
|
+
__defNormalProp$1(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
6038
|
+
return value;
|
|
6039
|
+
};
|
|
6007
6040
|
class TaskWorker {
|
|
6008
6041
|
constructor(options) {
|
|
6009
6042
|
this.options = options;
|
|
6043
|
+
__publicField$1(this, "taskQueue");
|
|
6010
6044
|
this.taskQueue = new PQueue__default["default"]({
|
|
6011
6045
|
concurrency: options.concurrentTasksLimit
|
|
6012
6046
|
});
|
|
@@ -6673,9 +6707,15 @@ data: ${JSON.stringify(event)}
|
|
|
6673
6707
|
return app;
|
|
6674
6708
|
}
|
|
6675
6709
|
|
|
6710
|
+
var __defProp = Object.defineProperty;
|
|
6711
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6712
|
+
var __publicField = (obj, key, value) => {
|
|
6713
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
6714
|
+
return value;
|
|
6715
|
+
};
|
|
6676
6716
|
class ScaffolderEntitiesProcessor {
|
|
6677
6717
|
constructor() {
|
|
6678
|
-
this
|
|
6718
|
+
__publicField(this, "validators", [pluginScaffolderCommon.templateEntityV1beta3Validator]);
|
|
6679
6719
|
}
|
|
6680
6720
|
getProcessorName() {
|
|
6681
6721
|
return "ScaffolderEntitiesProcessor";
|
|
@@ -6765,4 +6805,4 @@ exports.executeShellCommand = executeShellCommand;
|
|
|
6765
6805
|
exports.fetchContents = fetchContents;
|
|
6766
6806
|
exports.scaffolderActionRules = scaffolderActionRules;
|
|
6767
6807
|
exports.scaffolderTemplateRules = scaffolderTemplateRules;
|
|
6768
|
-
//# sourceMappingURL=ScaffolderEntitiesProcessor-
|
|
6808
|
+
//# sourceMappingURL=ScaffolderEntitiesProcessor-b514f9e5.cjs.js.map
|