@backstage/plugin-scaffolder 1.35.5-next.2 → 1.36.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 +36 -0
- package/README.md +61 -53
- package/dist/alpha/components/EditorSubPage.esm.js +71 -0
- package/dist/alpha/components/EditorSubPage.esm.js.map +1 -0
- package/dist/alpha/components/TasksSubPage.esm.js +21 -0
- package/dist/alpha/components/TasksSubPage.esm.js.map +1 -0
- package/dist/alpha/components/TemplateWizardPage/TemplateWizardPage.esm.js +54 -4
- package/dist/alpha/components/TemplateWizardPage/TemplateWizardPage.esm.js.map +1 -1
- package/dist/alpha/components/TemplatesSubPage.esm.js +128 -0
- package/dist/alpha/components/TemplatesSubPage.esm.js.map +1 -0
- package/dist/alpha/extensions.esm.js +55 -14
- package/dist/alpha/extensions.esm.js.map +1 -1
- package/dist/alpha/formFieldsApi.esm.js +25 -8
- package/dist/alpha/formFieldsApi.esm.js.map +1 -1
- package/dist/alpha/plugin.esm.js +7 -2
- package/dist/alpha/plugin.esm.js.map +1 -1
- package/dist/alpha.d.ts +316 -185
- package/dist/alpha.esm.js +5 -1
- package/dist/alpha.esm.js.map +1 -1
- package/dist/components/ActionsPage/index.esm.js +2 -0
- package/dist/components/ActionsPage/index.esm.js.map +1 -0
- package/dist/components/ListTasksPage/ListTasksPage.esm.js +1 -1
- package/dist/components/ListTasksPage/ListTasksPage.esm.js.map +1 -1
- package/dist/components/OngoingTask/OngoingTask.esm.js +283 -101
- package/dist/components/OngoingTask/OngoingTask.esm.js.map +1 -1
- package/dist/components/OngoingTask/OngoingTaskContextMenu.esm.js +97 -0
- package/dist/components/OngoingTask/OngoingTaskContextMenu.esm.js.map +1 -0
- package/dist/components/TemplatingExtensionsPage/index.esm.js +2 -0
- package/dist/components/TemplatingExtensionsPage/index.esm.js.map +1 -0
- package/dist/components/fields/EntityPicker/schema.esm.js.map +1 -1
- package/dist/components/fields/MultiEntityPicker/schema.esm.js +1 -1
- package/dist/components/fields/MultiEntityPicker/schema.esm.js.map +1 -1
- package/dist/components/fields/utils.esm.js.map +1 -1
- package/dist/index.d.ts +189 -3
- package/dist/index.esm.js +1 -1
- package/dist/packages/scaffolder-internal/src/wiring/InternalFormDecorator.esm.js.map +1 -1
- package/dist/packages/scaffolder-internal/src/wiring/InternalFormField.esm.js.map +1 -1
- package/dist/plugins/scaffolder/package.json.esm.js +4 -2
- package/dist/plugins/scaffolder/package.json.esm.js.map +1 -1
- package/dist/translation.esm.js +1 -0
- package/dist/translation.esm.js.map +1 -1
- package/package.json +28 -26
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { Header, MenuTrigger, ButtonIcon, Menu, MenuItem } from '@backstage/ui';
|
|
3
|
+
import { RiMore2Line, RiFileListLine, RiAddCircleLine, RiRepeatLine, RiReplay10Line, RiCloseCircleLine } from '@remixicon/react';
|
|
4
|
+
import { usePermission } from '@backstage/plugin-permission-react';
|
|
5
|
+
import { taskReadPermission, taskCreatePermission } from '@backstage/plugin-scaffolder-common/alpha';
|
|
6
|
+
import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
|
|
7
|
+
import { scaffolderTranslationRef } from '../../translation.esm.js';
|
|
8
|
+
|
|
9
|
+
function OngoingTaskContextMenu(props) {
|
|
10
|
+
const {
|
|
11
|
+
title,
|
|
12
|
+
cancelEnabled,
|
|
13
|
+
canRetry,
|
|
14
|
+
isRetryableTask,
|
|
15
|
+
logsVisible,
|
|
16
|
+
buttonBarVisible,
|
|
17
|
+
onRetry,
|
|
18
|
+
onStartOver,
|
|
19
|
+
onToggleLogs,
|
|
20
|
+
onToggleButtonBar,
|
|
21
|
+
taskId
|
|
22
|
+
} = props;
|
|
23
|
+
const { t } = useTranslationRef(scaffolderTranslationRef);
|
|
24
|
+
const { allowed: canReadTask } = usePermission({
|
|
25
|
+
permission: taskReadPermission,
|
|
26
|
+
resourceRef: taskId
|
|
27
|
+
});
|
|
28
|
+
const { allowed: canCreateTask } = usePermission({
|
|
29
|
+
permission: taskCreatePermission
|
|
30
|
+
});
|
|
31
|
+
const canStartOver = canReadTask && canCreateTask;
|
|
32
|
+
return /* @__PURE__ */ jsx(
|
|
33
|
+
Header,
|
|
34
|
+
{
|
|
35
|
+
title,
|
|
36
|
+
customActions: /* @__PURE__ */ jsxs(MenuTrigger, { children: [
|
|
37
|
+
/* @__PURE__ */ jsx(
|
|
38
|
+
ButtonIcon,
|
|
39
|
+
{
|
|
40
|
+
variant: "tertiary",
|
|
41
|
+
icon: /* @__PURE__ */ jsx(RiMore2Line, {}),
|
|
42
|
+
"aria-label": t("ongoingTask.contextMenu.moreOptions")
|
|
43
|
+
}
|
|
44
|
+
),
|
|
45
|
+
/* @__PURE__ */ jsxs(Menu, { placement: "bottom end", children: [
|
|
46
|
+
/* @__PURE__ */ jsx(
|
|
47
|
+
MenuItem,
|
|
48
|
+
{
|
|
49
|
+
onAction: () => onToggleLogs?.(!logsVisible),
|
|
50
|
+
iconStart: /* @__PURE__ */ jsx(RiFileListLine, { size: 16 }),
|
|
51
|
+
children: logsVisible ? t("ongoingTask.contextMenu.hideLogs") : t("ongoingTask.contextMenu.showLogs")
|
|
52
|
+
}
|
|
53
|
+
),
|
|
54
|
+
/* @__PURE__ */ jsx(
|
|
55
|
+
MenuItem,
|
|
56
|
+
{
|
|
57
|
+
onAction: () => onToggleButtonBar?.(!buttonBarVisible),
|
|
58
|
+
iconStart: /* @__PURE__ */ jsx(RiAddCircleLine, { size: 16 }),
|
|
59
|
+
children: buttonBarVisible ? t("ongoingTask.contextMenu.hideButtonBar") : t("ongoingTask.contextMenu.showButtonBar")
|
|
60
|
+
}
|
|
61
|
+
),
|
|
62
|
+
/* @__PURE__ */ jsx(
|
|
63
|
+
MenuItem,
|
|
64
|
+
{
|
|
65
|
+
onAction: onStartOver,
|
|
66
|
+
isDisabled: cancelEnabled || !canStartOver,
|
|
67
|
+
iconStart: /* @__PURE__ */ jsx(RiRepeatLine, { size: 16 }),
|
|
68
|
+
children: t("ongoingTask.contextMenu.startOver")
|
|
69
|
+
}
|
|
70
|
+
),
|
|
71
|
+
isRetryableTask && /* @__PURE__ */ jsx(
|
|
72
|
+
MenuItem,
|
|
73
|
+
{
|
|
74
|
+
onAction: onRetry,
|
|
75
|
+
isDisabled: cancelEnabled || !canRetry,
|
|
76
|
+
iconStart: /* @__PURE__ */ jsx(RiReplay10Line, { size: 16 }),
|
|
77
|
+
children: t("ongoingTask.contextMenu.retry")
|
|
78
|
+
}
|
|
79
|
+
),
|
|
80
|
+
/* @__PURE__ */ jsx(
|
|
81
|
+
MenuItem,
|
|
82
|
+
{
|
|
83
|
+
onAction: props.onCancel,
|
|
84
|
+
isDisabled: props.isCancelButtonDisabled,
|
|
85
|
+
iconStart: /* @__PURE__ */ jsx(RiCloseCircleLine, { size: 16 }),
|
|
86
|
+
color: "danger",
|
|
87
|
+
children: t("ongoingTask.contextMenu.cancel")
|
|
88
|
+
}
|
|
89
|
+
)
|
|
90
|
+
] })
|
|
91
|
+
] })
|
|
92
|
+
}
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export { OngoingTaskContextMenu };
|
|
97
|
+
//# sourceMappingURL=OngoingTaskContextMenu.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OngoingTaskContextMenu.esm.js","sources":["../../../src/components/OngoingTask/OngoingTaskContextMenu.tsx"],"sourcesContent":["/*\n * Copyright 2026 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 { Header, MenuTrigger, ButtonIcon, Menu, MenuItem } from '@backstage/ui';\nimport {\n RiMore2Line,\n RiFileListLine,\n RiAddCircleLine,\n RiRepeatLine,\n RiReplay10Line,\n RiCloseCircleLine,\n} from '@remixicon/react';\nimport { usePermission } from '@backstage/plugin-permission-react';\nimport {\n taskReadPermission,\n taskCreatePermission,\n} from '@backstage/plugin-scaffolder-common/alpha';\nimport { useTranslationRef } from '@backstage/core-plugin-api/alpha';\nimport { scaffolderTranslationRef } from '../../translation';\n\ntype OngoingTaskContextMenuProps = {\n title: string;\n cancelEnabled?: boolean;\n canRetry: boolean;\n isRetryableTask: boolean;\n logsVisible?: boolean;\n buttonBarVisible?: boolean;\n onRetry?: () => void;\n onStartOver?: () => void;\n onToggleLogs?: (state: boolean) => void;\n onToggleButtonBar?: (state: boolean) => void;\n taskId?: string;\n isCancelButtonDisabled: boolean;\n onCancel: () => void;\n};\n\nexport function OngoingTaskContextMenu(props: OngoingTaskContextMenuProps) {\n const {\n title,\n cancelEnabled,\n canRetry,\n isRetryableTask,\n logsVisible,\n buttonBarVisible,\n onRetry,\n onStartOver,\n onToggleLogs,\n onToggleButtonBar,\n taskId,\n } = props;\n const { t } = useTranslationRef(scaffolderTranslationRef);\n\n const { allowed: canReadTask } = usePermission({\n permission: taskReadPermission,\n resourceRef: taskId,\n });\n\n const { allowed: canCreateTask } = usePermission({\n permission: taskCreatePermission,\n });\n\n const canStartOver = canReadTask && canCreateTask;\n\n return (\n <Header\n title={title}\n customActions={\n <MenuTrigger>\n <ButtonIcon\n variant=\"tertiary\"\n icon={<RiMore2Line />}\n aria-label={t('ongoingTask.contextMenu.moreOptions')}\n />\n <Menu placement=\"bottom end\">\n <MenuItem\n onAction={() => onToggleLogs?.(!logsVisible)}\n iconStart={<RiFileListLine size={16} />}\n >\n {logsVisible\n ? t('ongoingTask.contextMenu.hideLogs')\n : t('ongoingTask.contextMenu.showLogs')}\n </MenuItem>\n <MenuItem\n onAction={() => onToggleButtonBar?.(!buttonBarVisible)}\n iconStart={<RiAddCircleLine size={16} />}\n >\n {buttonBarVisible\n ? t('ongoingTask.contextMenu.hideButtonBar')\n : t('ongoingTask.contextMenu.showButtonBar')}\n </MenuItem>\n <MenuItem\n onAction={onStartOver}\n isDisabled={cancelEnabled || !canStartOver}\n iconStart={<RiRepeatLine size={16} />}\n >\n {t('ongoingTask.contextMenu.startOver')}\n </MenuItem>\n {isRetryableTask && (\n <MenuItem\n onAction={onRetry}\n isDisabled={cancelEnabled || !canRetry}\n iconStart={<RiReplay10Line size={16} />}\n >\n {t('ongoingTask.contextMenu.retry')}\n </MenuItem>\n )}\n <MenuItem\n onAction={props.onCancel}\n isDisabled={props.isCancelButtonDisabled}\n iconStart={<RiCloseCircleLine size={16} />}\n color=\"danger\"\n >\n {t('ongoingTask.contextMenu.cancel')}\n </MenuItem>\n </Menu>\n </MenuTrigger>\n }\n />\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.esm.js","sources":["../../../../src/components/fields/EntityPicker/schema.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 */\nimport { z as zod } from 'zod';\nimport { makeFieldSchema } from '@backstage/plugin-scaffolder-react';\n\nexport const createEntityQueryFilterExpressionSchema = (z: typeof zod) =>\n z.record(\n z\n .string()\n .or(z.object({ exists: z.boolean().optional() }))\n .or(z.array(z.string())),\n );\n\n/**\n * @public\n */\nexport const EntityPickerFieldSchema = makeFieldSchema({\n output: z => z.string(),\n uiOptions: z =>\n z.object({\n /**\n * @deprecated Use `catalogFilter` instead.\n */\n allowedKinds: z\n .array(z.string())\n .optional()\n .describe(\n 'DEPRECATED: Use `catalogFilter` instead. List of kinds of entities to derive options from',\n ),\n defaultKind: z\n .string()\n .optional()\n .describe(\n 'The default entity kind. Options of this kind will not be prefixed.',\n ),\n allowArbitraryValues: z\n .boolean()\n .optional()\n .describe('Whether to allow arbitrary user input. Defaults to true'),\n defaultNamespace: z\n .union([z.string(), z.literal(false)])\n .optional()\n .describe(\n 'The default namespace. Options with this namespace will not be prefixed.',\n ),\n catalogFilter: (t => t.or(t.array()))(\n createEntityQueryFilterExpressionSchema(z),\n )\n .optional()\n .describe('List of key-value filter expression for entities'),\n autoSelect: z\n .boolean()\n .optional()\n .describe(\n 'Whether to automatically select an option on blur. Defaults to true.',\n ),\n }),\n});\n\n/**\n * The input props that can be specified under `ui:options` for the\n * `EntityPicker` field extension.\n *\n * @public\n */\nexport type EntityPickerUiOptions = NonNullable<\n (typeof EntityPickerFieldSchema.TProps.uiSchema)['ui:options']\n>;\n\nexport type EntityPickerProps = typeof EntityPickerFieldSchema.TProps;\n\nexport const EntityPickerSchema = EntityPickerFieldSchema.schema;\n\nexport type EntityPickerFilterQuery = zod.TypeOf<\n ReturnType<typeof createEntityQueryFilterExpressionSchema>\n>;\n\nexport type EntityPickerFilterQueryValue =\n EntityPickerFilterQuery[keyof EntityPickerFilterQuery];\n"],"names":[],"mappings":";;AAkBO,MAAM,uCAAA,GAA0C,CAAC,CAAA,KACtD,CAAA,CAAE,MAAA;AAAA,EACA,CAAA,CACG,QAAO,CACP,EAAA,CAAG,EAAE,MAAA,CAAO,EAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,EAAQ,CAAE,UAAS,EAAG,CAAC,CAAA,CAC/C,EAAA,CAAG,EAAE,KAAA,CAAM,CAAA,CAAE,MAAA,EAAQ,CAAC;AAC3B;AAKK,MAAM,0BAA0B,eAAA,CAAgB;AAAA,EACrD,MAAA,EAAQ,CAAA,CAAA,KAAK,CAAA,CAAE,MAAA,EAAO;AAAA,EACtB,SAAA,EAAW,CAAA,CAAA,KACT,CAAA,CAAE,MAAA,CAAO;AAAA;AAAA;AAAA;AAAA,IAIP,YAAA,EAAc,EACX,KAAA,CAAM,CAAA,CAAE,QAAQ,CAAA,CAChB,UAAS,CACT,QAAA;AAAA,MACC;AAAA,KACF;AAAA,IACF,WAAA,EAAa,CAAA,CACV,MAAA,EAAO,CACP,UAAS,CACT,QAAA;AAAA,MACC;AAAA,KACF;AAAA,IACF,sBAAsB,CAAA,CACnB,OAAA,GACA,QAAA,EAAS,CACT,SAAS,yDAAyD,CAAA;AAAA,IACrE,gBAAA,EAAkB,CAAA,CACf,KAAA,CAAM,CAAC,EAAE,MAAA,EAAO,EAAG,CAAA,CAAE,OAAA,CAAQ,KAAK,CAAC,CAAC,CAAA,CACpC,UAAS,CACT,QAAA;AAAA,MACC;AAAA,KACF;AAAA,IACF,gBAAgB,CAAA,CAAA,KAAK,CAAA,CAAE,EAAA,CAAG,CAAA,CAAE,OAAO,CAAA;AAAA,MACjC,wCAAwC,CAAC;AAAA,KAC3C,CACG,QAAA,EAAS,CACT,QAAA,CAAS,kDAAkD,CAAA;AAAA,IAC9D,UAAA,EAAY,CAAA,CACT,OAAA,EAAQ,CACR,UAAS,CACT,QAAA;AAAA,MACC;AAAA;AACF,GACH;AACL,CAAC;AAcM,MAAM,qBAAqB,uBAAA,CAAwB;;;;"}
|
|
1
|
+
{"version":3,"file":"schema.esm.js","sources":["../../../../src/components/fields/EntityPicker/schema.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 */\nimport { z as zod } from 'zod/v3';\nimport { makeFieldSchema } from '@backstage/plugin-scaffolder-react';\n\nexport const createEntityQueryFilterExpressionSchema = (z: typeof zod) =>\n z.record(\n z\n .string()\n .or(z.object({ exists: z.boolean().optional() }))\n .or(z.array(z.string())),\n );\n\n/**\n * @public\n */\nexport const EntityPickerFieldSchema = makeFieldSchema({\n output: z => z.string(),\n uiOptions: z =>\n z.object({\n /**\n * @deprecated Use `catalogFilter` instead.\n */\n allowedKinds: z\n .array(z.string())\n .optional()\n .describe(\n 'DEPRECATED: Use `catalogFilter` instead. List of kinds of entities to derive options from',\n ),\n defaultKind: z\n .string()\n .optional()\n .describe(\n 'The default entity kind. Options of this kind will not be prefixed.',\n ),\n allowArbitraryValues: z\n .boolean()\n .optional()\n .describe('Whether to allow arbitrary user input. Defaults to true'),\n defaultNamespace: z\n .union([z.string(), z.literal(false)])\n .optional()\n .describe(\n 'The default namespace. Options with this namespace will not be prefixed.',\n ),\n catalogFilter: (t => t.or(t.array()))(\n createEntityQueryFilterExpressionSchema(z),\n )\n .optional()\n .describe('List of key-value filter expression for entities'),\n autoSelect: z\n .boolean()\n .optional()\n .describe(\n 'Whether to automatically select an option on blur. Defaults to true.',\n ),\n }),\n});\n\n/**\n * The input props that can be specified under `ui:options` for the\n * `EntityPicker` field extension.\n *\n * @public\n */\nexport type EntityPickerUiOptions = NonNullable<\n (typeof EntityPickerFieldSchema.TProps.uiSchema)['ui:options']\n>;\n\nexport type EntityPickerProps = typeof EntityPickerFieldSchema.TProps;\n\nexport const EntityPickerSchema = EntityPickerFieldSchema.schema;\n\nexport type EntityPickerFilterQuery = zod.TypeOf<\n ReturnType<typeof createEntityQueryFilterExpressionSchema>\n>;\n\nexport type EntityPickerFilterQueryValue =\n EntityPickerFilterQuery[keyof EntityPickerFilterQuery];\n"],"names":[],"mappings":";;AAkBO,MAAM,uCAAA,GAA0C,CAAC,CAAA,KACtD,CAAA,CAAE,MAAA;AAAA,EACA,CAAA,CACG,QAAO,CACP,EAAA,CAAG,EAAE,MAAA,CAAO,EAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,EAAQ,CAAE,UAAS,EAAG,CAAC,CAAA,CAC/C,EAAA,CAAG,EAAE,KAAA,CAAM,CAAA,CAAE,MAAA,EAAQ,CAAC;AAC3B;AAKK,MAAM,0BAA0B,eAAA,CAAgB;AAAA,EACrD,MAAA,EAAQ,CAAA,CAAA,KAAK,CAAA,CAAE,MAAA,EAAO;AAAA,EACtB,SAAA,EAAW,CAAA,CAAA,KACT,CAAA,CAAE,MAAA,CAAO;AAAA;AAAA;AAAA;AAAA,IAIP,YAAA,EAAc,EACX,KAAA,CAAM,CAAA,CAAE,QAAQ,CAAA,CAChB,UAAS,CACT,QAAA;AAAA,MACC;AAAA,KACF;AAAA,IACF,WAAA,EAAa,CAAA,CACV,MAAA,EAAO,CACP,UAAS,CACT,QAAA;AAAA,MACC;AAAA,KACF;AAAA,IACF,sBAAsB,CAAA,CACnB,OAAA,GACA,QAAA,EAAS,CACT,SAAS,yDAAyD,CAAA;AAAA,IACrE,gBAAA,EAAkB,CAAA,CACf,KAAA,CAAM,CAAC,EAAE,MAAA,EAAO,EAAG,CAAA,CAAE,OAAA,CAAQ,KAAK,CAAC,CAAC,CAAA,CACpC,UAAS,CACT,QAAA;AAAA,MACC;AAAA,KACF;AAAA,IACF,gBAAgB,CAAA,CAAA,KAAK,CAAA,CAAE,EAAA,CAAG,CAAA,CAAE,OAAO,CAAA;AAAA,MACjC,wCAAwC,CAAC;AAAA,KAC3C,CACG,QAAA,EAAS,CACT,QAAA,CAAS,kDAAkD,CAAA;AAAA,IAC9D,UAAA,EAAY,CAAA,CACT,OAAA,EAAQ,CACR,UAAS,CACT,QAAA;AAAA,MACC;AAAA;AACF,GACH;AACL,CAAC;AAcM,MAAM,qBAAqB,uBAAA,CAAwB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.esm.js","sources":["../../../../src/components/fields/MultiEntityPicker/schema.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 */\nimport { z as zod } from 'zod';\nimport { makeFieldSchema } from '@backstage/plugin-scaffolder-react';\n\nexport const entityQueryFilterExpressionSchema = zod.record(\n zod\n .string()\n .or(zod.object({ exists: zod.boolean().optional() }))\n .or(zod.array(zod.string())),\n);\n\nexport const MultiEntityPickerFieldSchema = makeFieldSchema({\n output: z => z.array(z.string()),\n uiOptions: z =>\n z.object({\n defaultKind: z\n .string()\n .optional()\n .describe(\n 'The default entity kind. Options of this kind will not be prefixed.',\n ),\n allowArbitraryValues: z\n .boolean()\n .optional()\n .describe('Whether to allow arbitrary user input. Defaults to true'),\n defaultNamespace: z\n .union([z.string(), z.literal(false)])\n .optional()\n .describe(\n 'The default namespace. Options with this namespace will not be prefixed.',\n ),\n catalogFilter: z\n .array(entityQueryFilterExpressionSchema)\n .or(entityQueryFilterExpressionSchema)\n .optional()\n .describe('List of key-value filter expression for entities'),\n }),\n});\n\n/**\n * The input props that can be specified under `ui:options` for the\n * `EntityPicker` field extension.\n */\nexport type MultiEntityPickerUiOptions = NonNullable<\n (typeof MultiEntityPickerFieldSchema.TProps.uiSchema)['ui:options']\n>;\n\nexport type MultiEntityPickerProps = typeof MultiEntityPickerFieldSchema.TProps;\n\nexport const MultiEntityPickerSchema = MultiEntityPickerFieldSchema.schema;\n\nexport type MultiEntityPickerFilterQuery = zod.TypeOf<\n typeof entityQueryFilterExpressionSchema\n>;\n\nexport type MultiEntityPickerFilterQueryValue =\n MultiEntityPickerFilterQuery[keyof MultiEntityPickerFilterQuery];\n"],"names":["zod"],"mappings":";;;AAkBO,MAAM,oCAAoCA,CAAA,CAAI,MAAA;AAAA,EACnDA,CAAA,CACG,QAAO,CACP,EAAA,CAAGA,EAAI,MAAA,CAAO,EAAE,MAAA,EAAQA,CAAA,CAAI,OAAA,EAAQ,CAAE,UAAS,EAAG,CAAC,CAAA,CACnD,EAAA,CAAGA,EAAI,KAAA,CAAMA,CAAA,CAAI,MAAA,EAAQ,CAAC;AAC/B;AAEO,MAAM,+BAA+B,eAAA,CAAgB;AAAA,EAC1D,QAAQ,CAAA,CAAA,KAAK,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,QAAQ,CAAA;AAAA,EAC/B,SAAA,EAAW,CAAA,CAAA,KACT,CAAA,CAAE,MAAA,CAAO;AAAA,IACP,WAAA,EAAa,CAAA,CACV,MAAA,EAAO,CACP,UAAS,CACT,QAAA;AAAA,MACC;AAAA,KACF;AAAA,IACF,sBAAsB,CAAA,CACnB,OAAA,GACA,QAAA,EAAS,CACT,SAAS,yDAAyD,CAAA;AAAA,IACrE,gBAAA,EAAkB,CAAA,CACf,KAAA,CAAM,CAAC,EAAE,MAAA,EAAO,EAAG,CAAA,CAAE,OAAA,CAAQ,KAAK,CAAC,CAAC,CAAA,CACpC,UAAS,CACT,QAAA;AAAA,MACC;AAAA,KACF;AAAA,IACF,aAAA,EAAe,CAAA,CACZ,KAAA,CAAM,iCAAiC,CAAA,CACvC,EAAA,CAAG,iCAAiC,CAAA,CACpC,QAAA,EAAS,CACT,QAAA,CAAS,kDAAkD;AAAA,GAC/D;AACL,CAAC;AAYM,MAAM,0BAA0B,4BAAA,CAA6B;;;;"}
|
|
1
|
+
{"version":3,"file":"schema.esm.js","sources":["../../../../src/components/fields/MultiEntityPicker/schema.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 */\nimport { z as zod } from 'zod/v3';\nimport { makeFieldSchema } from '@backstage/plugin-scaffolder-react';\n\nexport const entityQueryFilterExpressionSchema = zod.record(\n zod\n .string()\n .or(zod.object({ exists: zod.boolean().optional() }))\n .or(zod.array(zod.string())),\n);\n\nexport const MultiEntityPickerFieldSchema = makeFieldSchema({\n output: z => z.array(z.string()),\n uiOptions: z =>\n z.object({\n defaultKind: z\n .string()\n .optional()\n .describe(\n 'The default entity kind. Options of this kind will not be prefixed.',\n ),\n allowArbitraryValues: z\n .boolean()\n .optional()\n .describe('Whether to allow arbitrary user input. Defaults to true'),\n defaultNamespace: z\n .union([z.string(), z.literal(false)])\n .optional()\n .describe(\n 'The default namespace. Options with this namespace will not be prefixed.',\n ),\n catalogFilter: z\n .array(entityQueryFilterExpressionSchema)\n .or(entityQueryFilterExpressionSchema)\n .optional()\n .describe('List of key-value filter expression for entities'),\n }),\n});\n\n/**\n * The input props that can be specified under `ui:options` for the\n * `EntityPicker` field extension.\n */\nexport type MultiEntityPickerUiOptions = NonNullable<\n (typeof MultiEntityPickerFieldSchema.TProps.uiSchema)['ui:options']\n>;\n\nexport type MultiEntityPickerProps = typeof MultiEntityPickerFieldSchema.TProps;\n\nexport const MultiEntityPickerSchema = MultiEntityPickerFieldSchema.schema;\n\nexport type MultiEntityPickerFilterQuery = zod.TypeOf<\n typeof entityQueryFilterExpressionSchema\n>;\n\nexport type MultiEntityPickerFilterQueryValue =\n MultiEntityPickerFilterQuery[keyof MultiEntityPickerFilterQuery];\n"],"names":["zod"],"mappings":";;;AAkBO,MAAM,oCAAoCA,CAAA,CAAI,MAAA;AAAA,EACnDA,CAAA,CACG,QAAO,CACP,EAAA,CAAGA,EAAI,MAAA,CAAO,EAAE,MAAA,EAAQA,CAAA,CAAI,OAAA,EAAQ,CAAE,UAAS,EAAG,CAAC,CAAA,CACnD,EAAA,CAAGA,EAAI,KAAA,CAAMA,CAAA,CAAI,MAAA,EAAQ,CAAC;AAC/B;AAEO,MAAM,+BAA+B,eAAA,CAAgB;AAAA,EAC1D,QAAQ,CAAA,CAAA,KAAK,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,QAAQ,CAAA;AAAA,EAC/B,SAAA,EAAW,CAAA,CAAA,KACT,CAAA,CAAE,MAAA,CAAO;AAAA,IACP,WAAA,EAAa,CAAA,CACV,MAAA,EAAO,CACP,UAAS,CACT,QAAA;AAAA,MACC;AAAA,KACF;AAAA,IACF,sBAAsB,CAAA,CACnB,OAAA,GACA,QAAA,EAAS,CACT,SAAS,yDAAyD,CAAA;AAAA,IACrE,gBAAA,EAAkB,CAAA,CACf,KAAA,CAAM,CAAC,EAAE,MAAA,EAAO,EAAG,CAAA,CAAE,OAAA,CAAQ,KAAK,CAAC,CAAC,CAAA,CACpC,UAAS,CACT,QAAA;AAAA,MACC;AAAA,KACF;AAAA,IACF,aAAA,EAAe,CAAA,CACZ,KAAA,CAAM,iCAAiC,CAAA,CACvC,EAAA,CAAG,iCAAiC,CAAA,CACpC,QAAA,EAAS,CACT,QAAA,CAAS,kDAAkD;AAAA,GAC/D;AACL,CAAC;AAYM,MAAM,0BAA0B,4BAAA,CAA6B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.esm.js","sources":["../../../src/components/fields/utils.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 */\nimport { JSONSchema7 } from 'json-schema';\nimport { z } from 'zod';\nimport zodToJsonSchema from 'zod-to-json-schema';\nimport { FieldSchema as FieldSchemaType } from '@backstage/plugin-scaffolder-react';\n\n/**\n * @public\n * @deprecated - import from {@link @backstage/plugin-scaffolder-react#FieldSchema} instead\n */\nexport interface FieldSchema<T, P> extends FieldSchemaType<T, P> {}\n\n/**\n * @public\n * @deprecated use `makeFieldSchema` instead\n * Utility function to convert zod return and UI options schemas to a\n * CustomFieldExtensionSchema with FieldExtensionComponentProps type inference\n */\n\nexport function makeFieldSchemaFromZod<\n TReturnSchema extends z.ZodType,\n TUiOptionsSchema extends z.ZodType = z.ZodType<any, any, {}>,\n>(\n returnSchema: TReturnSchema,\n uiOptionsSchema?: TUiOptionsSchema,\n): FieldSchema<\n TReturnSchema extends z.ZodType<any, any, infer IReturn> ? IReturn : never,\n TUiOptionsSchema extends z.ZodType<any, any, infer IUiOptions>\n ? IUiOptions\n : never\n> {\n return {\n schema: {\n returnValue: zodToJsonSchema(returnSchema) as JSONSchema7,\n uiOptions: uiOptionsSchema\n ? (zodToJsonSchema(uiOptionsSchema) as JSONSchema7)\n : undefined,\n },\n type: null as any,\n uiOptionsType: null as any,\n TProps: undefined as any,\n TOutput: undefined as any,\n };\n}\n"],"names":[],"mappings":";;AAiCO,SAAS,sBAAA,CAId,cACA,eAAA,EAMA;AACA,EAAA,OAAO;AAAA,IACL,MAAA,EAAQ;AAAA,MACN,WAAA,EAAa,gBAAgB,YAAY,CAAA;AAAA,MACzC,SAAA,EAAW,eAAA,GACN,eAAA,CAAgB,eAAe,CAAA,GAChC;AAAA,KACN;AAAA,IACA,IAAA,EAAM,IAAA;AAAA,IACN,aAAA,EAAe,IAAA;AAAA,IACf,MAAA,EAAQ,MAAA;AAAA,IACR,OAAA,EAAS;AAAA,GACX;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"utils.esm.js","sources":["../../../src/components/fields/utils.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 */\nimport { JSONSchema7 } from 'json-schema';\nimport { z } from 'zod/v3';\nimport zodToJsonSchema from 'zod-to-json-schema';\nimport { FieldSchema as FieldSchemaType } from '@backstage/plugin-scaffolder-react';\n\n/**\n * @public\n * @deprecated - import from {@link @backstage/plugin-scaffolder-react#FieldSchema} instead\n */\nexport interface FieldSchema<T, P> extends FieldSchemaType<T, P> {}\n\n/**\n * @public\n * @deprecated use `makeFieldSchema` instead\n * Utility function to convert zod return and UI options schemas to a\n * CustomFieldExtensionSchema with FieldExtensionComponentProps type inference\n */\n\nexport function makeFieldSchemaFromZod<\n TReturnSchema extends z.ZodType,\n TUiOptionsSchema extends z.ZodType = z.ZodType<any, any, {}>,\n>(\n returnSchema: TReturnSchema,\n uiOptionsSchema?: TUiOptionsSchema,\n): FieldSchema<\n TReturnSchema extends z.ZodType<any, any, infer IReturn> ? IReturn : never,\n TUiOptionsSchema extends z.ZodType<any, any, infer IUiOptions>\n ? IUiOptions\n : never\n> {\n return {\n schema: {\n returnValue: zodToJsonSchema(returnSchema) as JSONSchema7,\n uiOptions: uiOptionsSchema\n ? (zodToJsonSchema(uiOptionsSchema) as JSONSchema7)\n : undefined,\n },\n type: null as any,\n uiOptionsType: null as any,\n TProps: undefined as any,\n TOutput: undefined as any,\n };\n}\n"],"names":[],"mappings":";;AAiCO,SAAS,sBAAA,CAId,cACA,eAAA,EAMA;AACA,EAAA,OAAO;AAAA,IACL,MAAA,EAAQ;AAAA,MACN,WAAA,EAAa,gBAAgB,YAAY,CAAA;AAAA,MACzC,SAAA,EAAW,eAAA,GACN,eAAA,CAAgB,eAAe,CAAA,GAChC;AAAA,KACN;AAAA,IACA,IAAA,EAAM,IAAA;AAAA,IACN,aAAA,EAAe,IAAA;AAAA,IACf,MAAA,EAAQ,MAAA;AAAA,IACR,OAAA,EAAS;AAAA,GACX;AACF;;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export { ReviewStepProps } from '@backstage/plugin-scaffolder-react';
|
|
|
8
8
|
import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
|
|
9
9
|
import { ApiHolder } from '@backstage/core-plugin-api';
|
|
10
10
|
import { TemplateListPageProps, TemplateWizardPageProps } from '@backstage/plugin-scaffolder/alpha';
|
|
11
|
-
import { z } from 'zod';
|
|
11
|
+
import { z } from 'zod/v3';
|
|
12
12
|
import { FieldValidation } from '@rjsf/utils';
|
|
13
13
|
import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api';
|
|
14
14
|
|
|
@@ -431,7 +431,9 @@ declare const useTemplateSecrets: () => ScaffolderUseTemplateSecrets$1;
|
|
|
431
431
|
* @public
|
|
432
432
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-react#scaffolderApiRef} instead as this has now been moved.
|
|
433
433
|
*/
|
|
434
|
-
declare const scaffolderApiRef: _backstage_frontend_plugin_api.ApiRef<ScaffolderApi$1
|
|
434
|
+
declare const scaffolderApiRef: _backstage_frontend_plugin_api.ApiRef<ScaffolderApi$1> & {
|
|
435
|
+
readonly $$type: "@backstage/ApiRef";
|
|
436
|
+
};
|
|
435
437
|
/**
|
|
436
438
|
* @public
|
|
437
439
|
* @deprecated use import from {@link @backstage/plugin-scaffolder-common#ScaffolderApi} instead as this has now been moved.
|
|
@@ -568,5 +570,189 @@ type TaskPageProps = {
|
|
|
568
570
|
loadingText?: string;
|
|
569
571
|
};
|
|
570
572
|
|
|
571
|
-
|
|
573
|
+
/** @public */
|
|
574
|
+
declare const scaffolderTranslationRef: _backstage_frontend_plugin_api.TranslationRef<"scaffolder", {
|
|
575
|
+
readonly "fields.entityNamePicker.title": "Name";
|
|
576
|
+
readonly "fields.entityNamePicker.description": "Unique name of the component";
|
|
577
|
+
readonly "fields.entityPicker.title": "Entity";
|
|
578
|
+
readonly "fields.entityPicker.description": "An entity from the catalog";
|
|
579
|
+
readonly "fields.entityTagsPicker.title": "Tags";
|
|
580
|
+
readonly "fields.entityTagsPicker.description": "Add any relevant tags, hit 'Enter' to add new tags. Valid format: [a-z0-9+#] separated by [-], at most 63 characters";
|
|
581
|
+
readonly "fields.multiEntityPicker.title": "Entity";
|
|
582
|
+
readonly "fields.multiEntityPicker.description": "An entity from the catalog";
|
|
583
|
+
readonly "fields.myGroupsPicker.title": "Entity";
|
|
584
|
+
readonly "fields.myGroupsPicker.description": "An entity from the catalog";
|
|
585
|
+
readonly "fields.ownedEntityPicker.title": "Entity";
|
|
586
|
+
readonly "fields.ownedEntityPicker.description": "An entity from the catalog";
|
|
587
|
+
readonly "fields.ownerPicker.title": "Owner";
|
|
588
|
+
readonly "fields.ownerPicker.description": "The owner of the component";
|
|
589
|
+
readonly "fields.azureRepoPicker.organization.title": "Organization";
|
|
590
|
+
readonly "fields.azureRepoPicker.organization.description": "The Organization that this repo will belong to";
|
|
591
|
+
readonly "fields.azureRepoPicker.project.title": "Project";
|
|
592
|
+
readonly "fields.azureRepoPicker.project.description": "The Project that this repo will belong to";
|
|
593
|
+
readonly "fields.bitbucketRepoPicker.project.title": "Allowed Projects";
|
|
594
|
+
readonly "fields.bitbucketRepoPicker.project.description": "The Project that this repo will belong to";
|
|
595
|
+
readonly "fields.bitbucketRepoPicker.project.inputTitle": "Projects";
|
|
596
|
+
readonly "fields.bitbucketRepoPicker.workspaces.title": "Allowed Workspaces";
|
|
597
|
+
readonly "fields.bitbucketRepoPicker.workspaces.description": "The Workspace that this repo will belong to";
|
|
598
|
+
readonly "fields.bitbucketRepoPicker.workspaces.inputTitle": "Workspaces";
|
|
599
|
+
readonly "fields.gerritRepoPicker.parent.title": "Parent";
|
|
600
|
+
readonly "fields.gerritRepoPicker.parent.description": "The project parent that the repo will belong to";
|
|
601
|
+
readonly "fields.gerritRepoPicker.owner.title": "Owner";
|
|
602
|
+
readonly "fields.gerritRepoPicker.owner.description": "The owner of the project (optional)";
|
|
603
|
+
readonly "fields.giteaRepoPicker.owner.title": "Owner Available";
|
|
604
|
+
readonly "fields.giteaRepoPicker.owner.description": "Gitea namespace where this repository will belong to. It can be the name of organization, group, subgroup, user, or the project.";
|
|
605
|
+
readonly "fields.giteaRepoPicker.owner.inputTitle": "Owner";
|
|
606
|
+
readonly "fields.githubRepoPicker.owner.title": "Owner Available";
|
|
607
|
+
readonly "fields.githubRepoPicker.owner.description": "The organization, user or project that this repo will belong to";
|
|
608
|
+
readonly "fields.githubRepoPicker.owner.inputTitle": "Owner";
|
|
609
|
+
readonly "fields.gitlabRepoPicker.owner.title": "Owner Available";
|
|
610
|
+
readonly "fields.gitlabRepoPicker.owner.description": "GitLab namespace where this repository will belong to. It can be the name of organization, group, subgroup, user, or the project.";
|
|
611
|
+
readonly "fields.gitlabRepoPicker.owner.inputTitle": "Owner";
|
|
612
|
+
readonly "fields.repoUrlPicker.host.title": "Host";
|
|
613
|
+
readonly "fields.repoUrlPicker.host.description": "The host where the repository will be created";
|
|
614
|
+
readonly "fields.repoUrlPicker.repository.title": "Repositories Available";
|
|
615
|
+
readonly "fields.repoUrlPicker.repository.description": "The name of the repository";
|
|
616
|
+
readonly "fields.repoUrlPicker.repository.inputTitle": "Repository";
|
|
617
|
+
readonly "fields.repoOwnerPicker.title": "Owner";
|
|
618
|
+
readonly "fields.repoOwnerPicker.description": "The owner of the repository";
|
|
619
|
+
readonly "aboutCard.launchTemplate": "Launch Template";
|
|
620
|
+
readonly "actionsPage.content.emptyState.title": "No information to display";
|
|
621
|
+
readonly "actionsPage.content.emptyState.description": "There are no actions installed or there was an issue communicating with backend.";
|
|
622
|
+
readonly "actionsPage.content.searchFieldPlaceholder": "Search for an action";
|
|
623
|
+
readonly "actionsPage.title": "Installed actions";
|
|
624
|
+
readonly "actionsPage.action.input": "Input";
|
|
625
|
+
readonly "actionsPage.action.output": "Output";
|
|
626
|
+
readonly "actionsPage.action.examples": "Examples";
|
|
627
|
+
readonly "actionsPage.subtitle": "This is the collection of all installed actions";
|
|
628
|
+
readonly "actionsPage.pageTitle": "Create a New Component";
|
|
629
|
+
readonly "listTaskPage.content.emptyState.title": "No information to display";
|
|
630
|
+
readonly "listTaskPage.content.emptyState.description": "There are no tasks or there was an issue communicating with backend.";
|
|
631
|
+
readonly "listTaskPage.content.tableCell.template": "Template";
|
|
632
|
+
readonly "listTaskPage.content.tableCell.status": "Status";
|
|
633
|
+
readonly "listTaskPage.content.tableCell.owner": "Owner";
|
|
634
|
+
readonly "listTaskPage.content.tableCell.created": "Created";
|
|
635
|
+
readonly "listTaskPage.content.tableCell.taskID": "Task ID";
|
|
636
|
+
readonly "listTaskPage.content.tableTitle": "Tasks";
|
|
637
|
+
readonly "listTaskPage.title": "List template tasks";
|
|
638
|
+
readonly "listTaskPage.subtitle": "All tasks that have been started";
|
|
639
|
+
readonly "listTaskPage.pageTitle": "Templates Tasks";
|
|
640
|
+
readonly "ownerListPicker.title": "Task Owner";
|
|
641
|
+
readonly "ownerListPicker.options.all": "All";
|
|
642
|
+
readonly "ownerListPicker.options.owned": "Owned";
|
|
643
|
+
readonly "ongoingTask.title": "Run of";
|
|
644
|
+
readonly "ongoingTask.contextMenu.cancel": "Cancel";
|
|
645
|
+
readonly "ongoingTask.contextMenu.retry": "Retry";
|
|
646
|
+
readonly "ongoingTask.contextMenu.startOver": "Start Over";
|
|
647
|
+
readonly "ongoingTask.contextMenu.moreOptions": "More options";
|
|
648
|
+
readonly "ongoingTask.contextMenu.hideLogs": "Hide Logs";
|
|
649
|
+
readonly "ongoingTask.contextMenu.showLogs": "Show Logs";
|
|
650
|
+
readonly "ongoingTask.contextMenu.hideButtonBar": "Hide Button Bar";
|
|
651
|
+
readonly "ongoingTask.contextMenu.showButtonBar": "Show Button Bar";
|
|
652
|
+
readonly "ongoingTask.subtitle": "Task {{taskId}}";
|
|
653
|
+
readonly "ongoingTask.pageTitle.hasTemplateName": "Run of {{templateName}}";
|
|
654
|
+
readonly "ongoingTask.pageTitle.noTemplateName": "Scaffolder Run";
|
|
655
|
+
readonly "ongoingTask.cancelButtonTitle": "Cancel";
|
|
656
|
+
readonly "ongoingTask.retryButtonTitle": "Retry";
|
|
657
|
+
readonly "ongoingTask.startOverButtonTitle": "Start Over";
|
|
658
|
+
readonly "ongoingTask.hideLogsButtonTitle": "Hide Logs";
|
|
659
|
+
readonly "ongoingTask.showLogsButtonTitle": "Show Logs";
|
|
660
|
+
readonly "templateEditorForm.stepper.emptyText": "There are no spec parameters in the template to preview.";
|
|
661
|
+
readonly "renderSchema.undefined": "No schema defined";
|
|
662
|
+
readonly "renderSchema.tableCell.name": "Name";
|
|
663
|
+
readonly "renderSchema.tableCell.type": "Type";
|
|
664
|
+
readonly "renderSchema.tableCell.title": "Title";
|
|
665
|
+
readonly "renderSchema.tableCell.description": "Description";
|
|
666
|
+
readonly "templatingExtensions.content.values.title": "Values";
|
|
667
|
+
readonly "templatingExtensions.content.values.notAvailable": "There are no global template values defined.";
|
|
668
|
+
readonly "templatingExtensions.content.emptyState.title": "No information to display";
|
|
669
|
+
readonly "templatingExtensions.content.emptyState.description": "There are no templating extensions available or there was an issue communicating with the backend.";
|
|
670
|
+
readonly "templatingExtensions.content.filters.title": "Filters";
|
|
671
|
+
readonly "templatingExtensions.content.filters.schema.input": "Input";
|
|
672
|
+
readonly "templatingExtensions.content.filters.schema.output": "Output";
|
|
673
|
+
readonly "templatingExtensions.content.filters.schema.arguments": "Arguments";
|
|
674
|
+
readonly "templatingExtensions.content.filters.examples": "Examples";
|
|
675
|
+
readonly "templatingExtensions.content.filters.notAvailable": "There are no template filters defined.";
|
|
676
|
+
readonly "templatingExtensions.content.filters.metadataAbsent": "Filter metadata unavailable";
|
|
677
|
+
readonly "templatingExtensions.content.functions.title": "Functions";
|
|
678
|
+
readonly "templatingExtensions.content.functions.schema.output": "Output";
|
|
679
|
+
readonly "templatingExtensions.content.functions.schema.arguments": "Arguments";
|
|
680
|
+
readonly "templatingExtensions.content.functions.examples": "Examples";
|
|
681
|
+
readonly "templatingExtensions.content.functions.notAvailable": "There are no global template functions defined.";
|
|
682
|
+
readonly "templatingExtensions.content.functions.metadataAbsent": "Function metadata unavailable";
|
|
683
|
+
readonly "templatingExtensions.content.searchFieldPlaceholder": "Search for an extension";
|
|
684
|
+
readonly "templatingExtensions.title": "Templating Extensions";
|
|
685
|
+
readonly "templatingExtensions.subtitle": "This is the collection of available templating extensions";
|
|
686
|
+
readonly "templatingExtensions.pageTitle": "Templating Extensions";
|
|
687
|
+
readonly "templateTypePicker.title": "Categories";
|
|
688
|
+
readonly "templateIntroPage.title": "Manage Templates";
|
|
689
|
+
readonly "templateIntroPage.subtitle": "Edit, preview, and try out templates, forms, and custom fields";
|
|
690
|
+
readonly "templateFormPage.title": "Template Editor";
|
|
691
|
+
readonly "templateFormPage.subtitle": "Edit, preview, and try out templates forms";
|
|
692
|
+
readonly "templateCustomFieldPage.title": "Custom Field Explorer";
|
|
693
|
+
readonly "templateCustomFieldPage.subtitle": "Edit, preview, and try out custom fields";
|
|
694
|
+
readonly "templateEditorPage.title": "Template Editor";
|
|
695
|
+
readonly "templateEditorPage.subtitle": "Edit, preview, and try out templates and template forms";
|
|
696
|
+
readonly "templateEditorPage.dryRunResults.title": "Dry-run results";
|
|
697
|
+
readonly "templateEditorPage.dryRunResultsList.title": "Result {{resultId}}";
|
|
698
|
+
readonly "templateEditorPage.dryRunResultsList.deleteButtonTitle": "Delete result";
|
|
699
|
+
readonly "templateEditorPage.dryRunResultsList.downloadButtonTitle": "Download as .zip";
|
|
700
|
+
readonly "templateEditorPage.dryRunResultsView.tab.output": "Output";
|
|
701
|
+
readonly "templateEditorPage.dryRunResultsView.tab.log": "Log";
|
|
702
|
+
readonly "templateEditorPage.dryRunResultsView.tab.files": "Files";
|
|
703
|
+
readonly "templateEditorPage.taskStatusStepper.skippedStepTitle": "Skipped";
|
|
704
|
+
readonly "templateEditorPage.customFieldExplorer.preview.title": "Template Spec";
|
|
705
|
+
readonly "templateEditorPage.customFieldExplorer.fieldForm.title": "Field Options";
|
|
706
|
+
readonly "templateEditorPage.customFieldExplorer.fieldForm.applyButtonTitle": "Apply";
|
|
707
|
+
readonly "templateEditorPage.customFieldExplorer.selectFieldLabel": "Choose Custom Field Extension";
|
|
708
|
+
readonly "templateEditorPage.customFieldExplorer.fieldPreview.title": "Field Preview";
|
|
709
|
+
readonly "templateEditorPage.templateEditorBrowser.closeConfirmMessage": "Are you sure? Unsaved changes will be lost";
|
|
710
|
+
readonly "templateEditorPage.templateEditorBrowser.saveIconTooltip": "Save all files";
|
|
711
|
+
readonly "templateEditorPage.templateEditorBrowser.reloadIconTooltip": "Reload directory";
|
|
712
|
+
readonly "templateEditorPage.templateEditorBrowser.closeIconTooltip": "Close directory";
|
|
713
|
+
readonly "templateEditorPage.templateEditorIntro.title": "Get started by choosing one of the options below";
|
|
714
|
+
readonly "templateEditorPage.templateEditorIntro.loadLocal.title": "Load Template Directory";
|
|
715
|
+
readonly "templateEditorPage.templateEditorIntro.loadLocal.description": "Load a local template directory, allowing you to both edit and try executing your own template.";
|
|
716
|
+
readonly "templateEditorPage.templateEditorIntro.loadLocal.unsupportedTooltip": "Only supported in some Chromium-based browsers with the page loaded over HTTPS";
|
|
717
|
+
readonly "templateEditorPage.templateEditorIntro.createLocal.title": "Create New Template";
|
|
718
|
+
readonly "templateEditorPage.templateEditorIntro.createLocal.description": "Create a local template directory, allowing you to both edit and try executing your own template.";
|
|
719
|
+
readonly "templateEditorPage.templateEditorIntro.createLocal.unsupportedTooltip": "Only supported in some Chromium-based browsers with the page loaded over HTTPS";
|
|
720
|
+
readonly "templateEditorPage.templateEditorIntro.formEditor.title": "Template Form Playground";
|
|
721
|
+
readonly "templateEditorPage.templateEditorIntro.formEditor.description": "Preview and edit a template form, either using a sample template or by loading a template from the catalog.";
|
|
722
|
+
readonly "templateEditorPage.templateEditorIntro.fieldExplorer.title": "Custom Field Explorer";
|
|
723
|
+
readonly "templateEditorPage.templateEditorIntro.fieldExplorer.description": "View and play around with available installed custom field extensions.";
|
|
724
|
+
readonly "templateEditorPage.templateEditorTextArea.saveIconTooltip": "Save file";
|
|
725
|
+
readonly "templateEditorPage.templateEditorTextArea.refreshIconTooltip": "Reload file";
|
|
726
|
+
readonly "templateEditorPage.templateEditorTextArea.emptyStateParagraph": "Please select an action on the file menu.";
|
|
727
|
+
readonly "templateEditorPage.templateFormPreviewer.title": "Load Existing Template";
|
|
728
|
+
readonly "templateListPage.title": "Create a new component";
|
|
729
|
+
readonly "templateListPage.subtitle": "Create new software components using standard templates in your organization";
|
|
730
|
+
readonly "templateListPage.pageTitle": "Create a new component";
|
|
731
|
+
readonly "templateListPage.templateGroups.defaultTitle": "Templates";
|
|
732
|
+
readonly "templateListPage.templateGroups.otherTitle": "Other Templates";
|
|
733
|
+
readonly "templateListPage.contentHeader.supportButtonTitle": "Create new software components using standard templates. Different templates create different kinds of components (services, websites, documentation, ...).";
|
|
734
|
+
readonly "templateListPage.contentHeader.registerExistingButtonTitle": "Register Existing Component";
|
|
735
|
+
readonly "templateListPage.additionalLinksForEntity.viewTechDocsTitle": "View TechDocs";
|
|
736
|
+
readonly "templateWizardPage.title": "Create a new component";
|
|
737
|
+
readonly "templateWizardPage.subtitle": "Create new software components using standard templates in your organization";
|
|
738
|
+
readonly "templateWizardPage.pageTitle": "Create a new component";
|
|
739
|
+
readonly "templateWizardPage.templateWithTitle": "Create new {{templateTitle}}";
|
|
740
|
+
readonly "templateWizardPage.pageContextMenu.editConfigurationTitle": "Edit Configuration";
|
|
741
|
+
readonly "templateEditorToolbar.customFieldExplorerTooltip": "Custom Fields Explorer";
|
|
742
|
+
readonly "templateEditorToolbar.installedActionsDocumentationTooltip": "Installed Actions Documentation";
|
|
743
|
+
readonly "templateEditorToolbar.templatingExtensionsDocumentationTooltip": "Templating Extensions Documentation";
|
|
744
|
+
readonly "templateEditorToolbar.addToCatalogButton": "Publish";
|
|
745
|
+
readonly "templateEditorToolbar.addToCatalogDialogTitle": "Publish changes";
|
|
746
|
+
readonly "templateEditorToolbar.addToCatalogDialogContent.stepsIntroduction": "Follow the instructions below to create or update a template:";
|
|
747
|
+
readonly "templateEditorToolbar.addToCatalogDialogContent.stepsListItems": "Save the template files in a local directory\nCreate a pull request to a new or existing git repository\nIf the template already exists, the changes will be reflected in the software catalog once the pull request gets merged\nBut if you are creating a new template, follow the documentation linked below to register the new template repository in software catalog";
|
|
748
|
+
readonly "templateEditorToolbar.addToCatalogDialogActions.documentationUrl": "https://backstage.io/docs/features/software-templates/adding-templates/";
|
|
749
|
+
readonly "templateEditorToolbar.addToCatalogDialogActions.documentationButton": "Go to the documentation";
|
|
750
|
+
readonly "templateEditorToolbarFileMenu.button": "File";
|
|
751
|
+
readonly "templateEditorToolbarFileMenu.options.openDirectory": "Open template directory";
|
|
752
|
+
readonly "templateEditorToolbarFileMenu.options.createDirectory": "Create template directory";
|
|
753
|
+
readonly "templateEditorToolbarFileMenu.options.closeEditor": "Close template editor";
|
|
754
|
+
readonly "templateEditorToolbarTemplatesMenu.button": "Templates";
|
|
755
|
+
}>;
|
|
756
|
+
|
|
757
|
+
export { EntityNamePickerFieldExtension, EntityPickerFieldExtension, EntityPickerFieldSchema, EntityTagsPickerFieldExtension, EntityTagsPickerFieldSchema, MultiEntityPickerFieldExtension, MyGroupsPickerFieldExtension, MyGroupsPickerFieldSchema, MyGroupsPickerSchema, OwnedEntityPickerFieldExtension, OwnedEntityPickerFieldSchema, OwnerPickerFieldExtension, OwnerPickerFieldSchema, RepoBranchPickerFieldExtension, RepoOwnerPickerFieldExtension, RepoUrlPickerFieldExtension, RepoUrlPickerFieldSchema, ScaffolderClient, ScaffolderFieldExtensions, ScaffolderLayouts, ScaffolderPage, OngoingTask as TaskPage, TemplateTypePicker, createScaffolderFieldExtension, createScaffolderLayout, makeFieldSchemaFromZod, repoPickerValidation, rootRouteRef, scaffolderApiRef, scaffolderPlugin, scaffolderTranslationRef, useTemplateSecrets };
|
|
572
758
|
export type { CustomFieldExtensionSchema, CustomFieldValidator, EntityPickerUiOptions, EntityTagsPickerUiOptions, FieldExtensionComponent, FieldExtensionComponentProps, FieldExtensionOptions, FieldSchema, LayoutOptions, LayoutTemplate, ListActionsResponse, LogEvent, MyGroupsPickerUiOptions, OwnedEntityPickerUiOptions, OwnerPickerUiOptions, RepoUrlPickerUiOptions, RouterProps, ScaffolderApi, ScaffolderDryRunOptions, ScaffolderDryRunResponse, ScaffolderGetIntegrationsListOptions, ScaffolderGetIntegrationsListResponse, ScaffolderOutputlink, ScaffolderScaffoldOptions, ScaffolderScaffoldResponse, ScaffolderStreamLogsOptions, ScaffolderTask, ScaffolderTaskOutput, ScaffolderTaskStatus, ScaffolderUseTemplateSecrets, TaskPageProps, TemplateParameterSchema };
|
package/dist/index.esm.js
CHANGED
|
@@ -12,7 +12,7 @@ import 'react';
|
|
|
12
12
|
import 'react-use/esm/useAsync';
|
|
13
13
|
import './components/fields/VirtualizedListbox.esm.js';
|
|
14
14
|
import '@backstage/core-plugin-api/alpha';
|
|
15
|
-
|
|
15
|
+
export { scaffolderTranslationRef } from './translation.esm.js';
|
|
16
16
|
import '@backstage/plugin-scaffolder-react/alpha';
|
|
17
17
|
export { EntityPickerFieldSchema } from './components/fields/EntityPicker/schema.esm.js';
|
|
18
18
|
import 'react-use/esm/useEffectOnce';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalFormDecorator.esm.js","sources":["../../../../../../../packages/scaffolder-internal/src/wiring/InternalFormDecorator.ts"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport { OpaqueType } from '@internal/opaque';\nimport { z } from 'zod';\n\nimport {\n ScaffolderFormDecorator,\n ScaffolderFormDecoratorContext,\n} from '@backstage/plugin-scaffolder-react/alpha';\nimport { AnyApiRef } from '@backstage/frontend-plugin-api';\n\n/** @alpha */\nexport const OpaqueFormDecorator = OpaqueType.create<{\n public: ScaffolderFormDecorator;\n versions: {\n readonly version: 'v1';\n readonly id: string;\n readonly schema?: {\n input?: {\n [key in string]: (zImpl: typeof z) => z.ZodType;\n };\n };\n readonly deps?: { [key in string]: AnyApiRef };\n readonly decorator: (\n ctx: ScaffolderFormDecoratorContext,\n deps: { [depName in string]: AnyApiRef['T'] },\n ) => Promise<void>;\n };\n}>({ type: '@backstage/scaffolder/FormDecorator', versions: ['v1'] });\n"],"names":[],"mappings":";;AAyBO,MAAM,mBAAA,GAAsB,UAAA,CAAW,MAAA,CAgB3C,EAAE,IAAA,EAAM,uCAAuC,QAAA,EAAU,CAAC,IAAI,CAAA,EAAG;;;;"}
|
|
1
|
+
{"version":3,"file":"InternalFormDecorator.esm.js","sources":["../../../../../../../packages/scaffolder-internal/src/wiring/InternalFormDecorator.ts"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport { OpaqueType } from '@internal/opaque';\nimport { z } from 'zod/v3';\n\nimport {\n ScaffolderFormDecorator,\n ScaffolderFormDecoratorContext,\n} from '@backstage/plugin-scaffolder-react/alpha';\nimport { AnyApiRef } from '@backstage/frontend-plugin-api';\n\n/** @alpha */\nexport const OpaqueFormDecorator = OpaqueType.create<{\n public: ScaffolderFormDecorator;\n versions: {\n readonly version: 'v1';\n readonly id: string;\n readonly schema?: {\n input?: {\n [key in string]: (zImpl: typeof z) => z.ZodType;\n };\n };\n readonly deps?: { [key in string]: AnyApiRef };\n readonly decorator: (\n ctx: ScaffolderFormDecoratorContext,\n deps: { [depName in string]: AnyApiRef['T'] },\n ) => Promise<void>;\n };\n}>({ type: '@backstage/scaffolder/FormDecorator', versions: ['v1'] });\n"],"names":[],"mappings":";;AAyBO,MAAM,mBAAA,GAAsB,UAAA,CAAW,MAAA,CAgB3C,EAAE,IAAA,EAAM,uCAAuC,QAAA,EAAU,CAAC,IAAI,CAAA,EAAG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalFormField.esm.js","sources":["../../../../../../../packages/scaffolder-internal/src/wiring/InternalFormField.ts"],"sourcesContent":["/*\n * Copyright 2024 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 { OpaqueType } from '@internal/opaque';\nimport { z } from 'zod';\n\nimport {\n FormFieldExtensionData,\n FormField,\n} from '@backstage/plugin-scaffolder-react/alpha';\n\n/** @alpha */\nexport const OpaqueFormField = OpaqueType.create<{\n public: FormField;\n versions: FormFieldExtensionData<z.ZodType, z.ZodType> & {\n readonly version: 'v1';\n };\n}>({ type: '@backstage/scaffolder/FormField', versions: ['v1'] });\n"],"names":[],"mappings":";;AAyBO,MAAM,eAAA,GAAkB,UAAA,CAAW,MAAA,CAKvC,EAAE,IAAA,EAAM,mCAAmC,QAAA,EAAU,CAAC,IAAI,CAAA,EAAG;;;;"}
|
|
1
|
+
{"version":3,"file":"InternalFormField.esm.js","sources":["../../../../../../../packages/scaffolder-internal/src/wiring/InternalFormField.ts"],"sourcesContent":["/*\n * Copyright 2024 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 { OpaqueType } from '@internal/opaque';\nimport { z } from 'zod/v3';\n\nimport {\n FormFieldExtensionData,\n FormField,\n} from '@backstage/plugin-scaffolder-react/alpha';\n\n/** @alpha */\nexport const OpaqueFormField = OpaqueType.create<{\n public: FormField;\n versions: FormFieldExtensionData<z.ZodType, z.ZodType> & {\n readonly version: 'v1';\n };\n}>({ type: '@backstage/scaffolder/FormField', versions: ['v1'] });\n"],"names":[],"mappings":";;AAyBO,MAAM,eAAA,GAAkB,UAAA,CAAW,MAAA,CAKvC,EAAE,IAAA,EAAM,mCAAmC,QAAA,EAAU,CAAC,IAAI,CAAA,EAAG;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var name = "@backstage/plugin-scaffolder";
|
|
2
|
-
var version = "1.
|
|
2
|
+
var version = "1.36.1";
|
|
3
3
|
var description = "The Backstage plugin that helps you create new things";
|
|
4
4
|
var backstage = {
|
|
5
5
|
role: "frontend-plugin",
|
|
@@ -73,6 +73,7 @@ var dependencies = {
|
|
|
73
73
|
"@backstage/plugin-techdocs-common": "workspace:^",
|
|
74
74
|
"@backstage/plugin-techdocs-react": "workspace:^",
|
|
75
75
|
"@backstage/types": "workspace:^",
|
|
76
|
+
"@backstage/ui": "workspace:^",
|
|
76
77
|
"@codemirror/language": "^6.0.0",
|
|
77
78
|
"@codemirror/legacy-modes": "^6.1.0",
|
|
78
79
|
"@codemirror/view": "^6.0.0",
|
|
@@ -80,6 +81,7 @@ var dependencies = {
|
|
|
80
81
|
"@material-ui/icons": "^4.9.1",
|
|
81
82
|
"@material-ui/lab": "4.0.0-alpha.61",
|
|
82
83
|
"@react-hookz/web": "^24.0.0",
|
|
84
|
+
"@remixicon/react": "^4.6.0",
|
|
83
85
|
"@rjsf/core": "5.24.13",
|
|
84
86
|
"@rjsf/material-ui": "5.24.13",
|
|
85
87
|
"@rjsf/utils": "5.24.13",
|
|
@@ -100,7 +102,7 @@ var dependencies = {
|
|
|
100
102
|
"react-use": "^17.2.4",
|
|
101
103
|
"react-window": "^1.8.10",
|
|
102
104
|
yaml: "^2.0.0",
|
|
103
|
-
zod: "^3.25.76",
|
|
105
|
+
zod: "^3.25.76 || ^4.0.0",
|
|
104
106
|
"zod-to-json-schema": "^3.25.1"
|
|
105
107
|
};
|
|
106
108
|
var devDependencies = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.json.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package.json.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/translation.esm.js
CHANGED
|
@@ -160,6 +160,7 @@ const scaffolderTranslationRef = createTranslationRef({
|
|
|
160
160
|
hideLogsButtonTitle: "Hide Logs",
|
|
161
161
|
showLogsButtonTitle: "Show Logs",
|
|
162
162
|
contextMenu: {
|
|
163
|
+
moreOptions: "More options",
|
|
163
164
|
hideLogs: "Hide Logs",
|
|
164
165
|
showLogs: "Show Logs",
|
|
165
166
|
hideButtonBar: "Hide Button Bar",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translation.esm.js","sources":["../src/translation.ts"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport { createTranslationRef } from '@backstage/core-plugin-api/alpha';\n\n/** @alpha */\nexport const scaffolderTranslationRef = createTranslationRef({\n id: 'scaffolder',\n messages: {\n aboutCard: {\n launchTemplate: 'Launch Template',\n },\n actionsPage: {\n title: 'Installed actions',\n pageTitle: 'Create a New Component',\n subtitle: 'This is the collection of all installed actions',\n content: {\n emptyState: {\n title: 'No information to display',\n description:\n 'There are no actions installed or there was an issue communicating with backend.',\n },\n searchFieldPlaceholder: 'Search for an action',\n },\n action: {\n input: 'Input',\n output: 'Output',\n examples: 'Examples',\n },\n },\n fields: {\n entityNamePicker: {\n title: 'Name',\n description: 'Unique name of the component',\n },\n entityPicker: {\n title: 'Entity',\n description: 'An entity from the catalog',\n },\n entityTagsPicker: {\n title: 'Tags',\n description:\n \"Add any relevant tags, hit 'Enter' to add new tags. Valid format: [a-z0-9+#] separated by [-], at most 63 characters\",\n },\n multiEntityPicker: {\n title: 'Entity',\n description: 'An entity from the catalog',\n },\n myGroupsPicker: {\n title: 'Entity',\n description: 'An entity from the catalog',\n },\n ownedEntityPicker: {\n title: 'Entity',\n description: 'An entity from the catalog',\n },\n ownerPicker: {\n title: 'Owner',\n description: 'The owner of the component',\n },\n azureRepoPicker: {\n organization: {\n title: 'Organization',\n description: 'The Organization that this repo will belong to',\n },\n project: {\n title: 'Project',\n description: 'The Project that this repo will belong to',\n },\n },\n bitbucketRepoPicker: {\n workspaces: {\n title: 'Allowed Workspaces',\n inputTitle: 'Workspaces',\n description: 'The Workspace that this repo will belong to',\n },\n project: {\n title: 'Allowed Projects',\n inputTitle: 'Projects',\n description: 'The Project that this repo will belong to',\n },\n },\n gerritRepoPicker: {\n owner: {\n title: 'Owner',\n description: 'The owner of the project (optional)',\n },\n parent: {\n title: 'Parent',\n description: 'The project parent that the repo will belong to',\n },\n },\n giteaRepoPicker: {\n owner: {\n title: 'Owner Available',\n inputTitle: 'Owner',\n description:\n 'Gitea namespace where this repository will belong to. It can be the name of organization, group, subgroup, user, or the project.',\n },\n },\n githubRepoPicker: {\n owner: {\n title: 'Owner Available',\n inputTitle: 'Owner',\n description:\n 'The organization, user or project that this repo will belong to',\n },\n },\n gitlabRepoPicker: {\n owner: {\n title: 'Owner Available',\n inputTitle: 'Owner',\n description:\n 'GitLab namespace where this repository will belong to. It can be the name of organization, group, subgroup, user, or the project.',\n },\n },\n repoUrlPicker: {\n host: {\n title: 'Host',\n description: 'The host where the repository will be created',\n },\n repository: {\n title: 'Repositories Available',\n inputTitle: 'Repository',\n description: 'The name of the repository',\n },\n },\n repoOwnerPicker: {\n title: 'Owner',\n description: 'The owner of the repository',\n },\n },\n listTaskPage: {\n title: 'List template tasks',\n pageTitle: 'Templates Tasks',\n subtitle: 'All tasks that have been started',\n content: {\n emptyState: {\n title: 'No information to display',\n description:\n 'There are no tasks or there was an issue communicating with backend.',\n },\n tableTitle: 'Tasks',\n tableCell: {\n taskID: 'Task ID',\n template: 'Template',\n created: 'Created',\n owner: 'Owner',\n status: 'Status',\n },\n },\n },\n ownerListPicker: {\n title: 'Task Owner',\n options: {\n owned: 'Owned',\n all: 'All',\n },\n },\n ongoingTask: {\n title: 'Run of',\n pageTitle: {\n hasTemplateName: 'Run of {{templateName}}',\n noTemplateName: 'Scaffolder Run',\n },\n subtitle: 'Task {{taskId}}',\n cancelButtonTitle: 'Cancel',\n retryButtonTitle: 'Retry',\n startOverButtonTitle: 'Start Over',\n hideLogsButtonTitle: 'Hide Logs',\n showLogsButtonTitle: 'Show Logs',\n contextMenu: {\n hideLogs: 'Hide Logs',\n showLogs: 'Show Logs',\n hideButtonBar: 'Hide Button Bar',\n retry: 'Retry',\n showButtonBar: 'Show Button Bar',\n startOver: 'Start Over',\n cancel: 'Cancel',\n },\n },\n templateEditorForm: {\n stepper: {\n emptyText: 'There are no spec parameters in the template to preview.',\n },\n },\n renderSchema: {\n tableCell: {\n name: 'Name',\n title: 'Title',\n description: 'Description',\n type: 'Type',\n },\n undefined: 'No schema defined',\n },\n templatingExtensions: {\n title: 'Templating Extensions',\n pageTitle: 'Templating Extensions',\n subtitle: 'This is the collection of available templating extensions',\n content: {\n emptyState: {\n title: 'No information to display',\n description:\n 'There are no templating extensions available or there was an issue communicating with the backend.',\n },\n searchFieldPlaceholder: 'Search for an extension',\n filters: {\n title: 'Filters',\n notAvailable: 'There are no template filters defined.',\n metadataAbsent: 'Filter metadata unavailable',\n schema: {\n input: 'Input',\n arguments: 'Arguments',\n output: 'Output',\n },\n examples: 'Examples',\n },\n functions: {\n title: 'Functions',\n notAvailable: 'There are no global template functions defined.',\n metadataAbsent: 'Function metadata unavailable',\n schema: {\n arguments: 'Arguments',\n output: 'Output',\n },\n examples: 'Examples',\n },\n values: {\n title: 'Values',\n notAvailable: 'There are no global template values defined.',\n },\n },\n },\n templateTypePicker: {\n title: 'Categories',\n },\n templateIntroPage: {\n title: 'Manage Templates',\n subtitle:\n 'Edit, preview, and try out templates, forms, and custom fields',\n },\n templateFormPage: {\n title: 'Template Editor',\n subtitle: 'Edit, preview, and try out templates forms',\n },\n templateCustomFieldPage: {\n title: 'Custom Field Explorer',\n subtitle: 'Edit, preview, and try out custom fields',\n },\n templateEditorPage: {\n title: 'Template Editor',\n subtitle: 'Edit, preview, and try out templates and template forms',\n dryRunResults: {\n title: 'Dry-run results',\n },\n dryRunResultsList: {\n title: 'Result {{resultId}}',\n downloadButtonTitle: 'Download as .zip',\n deleteButtonTitle: 'Delete result',\n },\n dryRunResultsView: {\n tab: {\n files: 'Files',\n log: 'Log',\n output: 'Output',\n },\n },\n taskStatusStepper: {\n skippedStepTitle: 'Skipped',\n },\n customFieldExplorer: {\n selectFieldLabel: 'Choose Custom Field Extension',\n fieldForm: {\n title: 'Field Options',\n applyButtonTitle: 'Apply',\n },\n fieldPreview: {\n title: 'Field Preview',\n },\n preview: {\n title: 'Template Spec',\n },\n },\n templateEditorBrowser: {\n closeConfirmMessage: 'Are you sure? Unsaved changes will be lost',\n saveIconTooltip: 'Save all files',\n reloadIconTooltip: 'Reload directory',\n closeIconTooltip: 'Close directory',\n },\n templateEditorIntro: {\n title: 'Get started by choosing one of the options below',\n loadLocal: {\n title: 'Load Template Directory',\n description:\n 'Load a local template directory, allowing you to both edit and try executing your own template.',\n unsupportedTooltip:\n 'Only supported in some Chromium-based browsers with the page loaded over HTTPS',\n },\n createLocal: {\n title: 'Create New Template',\n description:\n 'Create a local template directory, allowing you to both edit and try executing your own template.',\n unsupportedTooltip:\n 'Only supported in some Chromium-based browsers with the page loaded over HTTPS',\n },\n formEditor: {\n title: 'Template Form Playground',\n description:\n 'Preview and edit a template form, either using a sample template or by loading a template from the catalog.',\n },\n fieldExplorer: {\n title: 'Custom Field Explorer',\n description:\n 'View and play around with available installed custom field extensions.',\n },\n },\n templateEditorTextArea: {\n saveIconTooltip: 'Save file',\n refreshIconTooltip: 'Reload file',\n emptyStateParagraph: 'Please select an action on the file menu.',\n },\n templateFormPreviewer: {\n title: 'Load Existing Template',\n },\n },\n templateListPage: {\n title: 'Create a new component',\n subtitle:\n 'Create new software components using standard templates in your organization',\n pageTitle: 'Create a new component',\n templateGroups: {\n defaultTitle: 'Templates',\n otherTitle: 'Other Templates',\n },\n contentHeader: {\n registerExistingButtonTitle: 'Register Existing Component',\n supportButtonTitle:\n 'Create new software components using standard templates. Different templates create different kinds of components (services, websites, documentation, ...).',\n },\n additionalLinksForEntity: {\n viewTechDocsTitle: 'View TechDocs',\n },\n },\n templateWizardPage: {\n title: 'Create a new component',\n subtitle:\n 'Create new software components using standard templates in your organization',\n pageTitle: 'Create a new component',\n templateWithTitle: 'Create new {{templateTitle}}',\n pageContextMenu: {\n editConfigurationTitle: 'Edit Configuration',\n },\n },\n templateEditorToolbar: {\n customFieldExplorerTooltip: 'Custom Fields Explorer',\n installedActionsDocumentationTooltip: 'Installed Actions Documentation',\n templatingExtensionsDocumentationTooltip:\n 'Templating Extensions Documentation',\n addToCatalogButton: 'Publish',\n addToCatalogDialogTitle: 'Publish changes',\n addToCatalogDialogContent: {\n stepsIntroduction:\n 'Follow the instructions below to create or update a template:',\n stepsListItems:\n 'Save the template files in a local directory\\nCreate a pull request to a new or existing git repository\\nIf the template already exists, the changes will be reflected in the software catalog once the pull request gets merged\\nBut if you are creating a new template, follow the documentation linked below to register the new template repository in software catalog',\n },\n addToCatalogDialogActions: {\n documentationButton: 'Go to the documentation',\n documentationUrl:\n 'https://backstage.io/docs/features/software-templates/adding-templates/',\n },\n },\n templateEditorToolbarFileMenu: {\n button: 'File',\n options: {\n openDirectory: 'Open template directory',\n createDirectory: 'Create template directory',\n closeEditor: 'Close template editor',\n },\n },\n templateEditorToolbarTemplatesMenu: {\n button: 'Templates',\n },\n },\n});\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"translation.esm.js","sources":["../src/translation.ts"],"sourcesContent":["/*\n * Copyright 2024 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 */\nimport { createTranslationRef } from '@backstage/core-plugin-api/alpha';\n\n/** @public */\nexport const scaffolderTranslationRef = createTranslationRef({\n id: 'scaffolder',\n messages: {\n aboutCard: {\n launchTemplate: 'Launch Template',\n },\n actionsPage: {\n title: 'Installed actions',\n pageTitle: 'Create a New Component',\n subtitle: 'This is the collection of all installed actions',\n content: {\n emptyState: {\n title: 'No information to display',\n description:\n 'There are no actions installed or there was an issue communicating with backend.',\n },\n searchFieldPlaceholder: 'Search for an action',\n },\n action: {\n input: 'Input',\n output: 'Output',\n examples: 'Examples',\n },\n },\n fields: {\n entityNamePicker: {\n title: 'Name',\n description: 'Unique name of the component',\n },\n entityPicker: {\n title: 'Entity',\n description: 'An entity from the catalog',\n },\n entityTagsPicker: {\n title: 'Tags',\n description:\n \"Add any relevant tags, hit 'Enter' to add new tags. Valid format: [a-z0-9+#] separated by [-], at most 63 characters\",\n },\n multiEntityPicker: {\n title: 'Entity',\n description: 'An entity from the catalog',\n },\n myGroupsPicker: {\n title: 'Entity',\n description: 'An entity from the catalog',\n },\n ownedEntityPicker: {\n title: 'Entity',\n description: 'An entity from the catalog',\n },\n ownerPicker: {\n title: 'Owner',\n description: 'The owner of the component',\n },\n azureRepoPicker: {\n organization: {\n title: 'Organization',\n description: 'The Organization that this repo will belong to',\n },\n project: {\n title: 'Project',\n description: 'The Project that this repo will belong to',\n },\n },\n bitbucketRepoPicker: {\n workspaces: {\n title: 'Allowed Workspaces',\n inputTitle: 'Workspaces',\n description: 'The Workspace that this repo will belong to',\n },\n project: {\n title: 'Allowed Projects',\n inputTitle: 'Projects',\n description: 'The Project that this repo will belong to',\n },\n },\n gerritRepoPicker: {\n owner: {\n title: 'Owner',\n description: 'The owner of the project (optional)',\n },\n parent: {\n title: 'Parent',\n description: 'The project parent that the repo will belong to',\n },\n },\n giteaRepoPicker: {\n owner: {\n title: 'Owner Available',\n inputTitle: 'Owner',\n description:\n 'Gitea namespace where this repository will belong to. It can be the name of organization, group, subgroup, user, or the project.',\n },\n },\n githubRepoPicker: {\n owner: {\n title: 'Owner Available',\n inputTitle: 'Owner',\n description:\n 'The organization, user or project that this repo will belong to',\n },\n },\n gitlabRepoPicker: {\n owner: {\n title: 'Owner Available',\n inputTitle: 'Owner',\n description:\n 'GitLab namespace where this repository will belong to. It can be the name of organization, group, subgroup, user, or the project.',\n },\n },\n repoUrlPicker: {\n host: {\n title: 'Host',\n description: 'The host where the repository will be created',\n },\n repository: {\n title: 'Repositories Available',\n inputTitle: 'Repository',\n description: 'The name of the repository',\n },\n },\n repoOwnerPicker: {\n title: 'Owner',\n description: 'The owner of the repository',\n },\n },\n listTaskPage: {\n title: 'List template tasks',\n pageTitle: 'Templates Tasks',\n subtitle: 'All tasks that have been started',\n content: {\n emptyState: {\n title: 'No information to display',\n description:\n 'There are no tasks or there was an issue communicating with backend.',\n },\n tableTitle: 'Tasks',\n tableCell: {\n taskID: 'Task ID',\n template: 'Template',\n created: 'Created',\n owner: 'Owner',\n status: 'Status',\n },\n },\n },\n ownerListPicker: {\n title: 'Task Owner',\n options: {\n owned: 'Owned',\n all: 'All',\n },\n },\n ongoingTask: {\n title: 'Run of',\n pageTitle: {\n hasTemplateName: 'Run of {{templateName}}',\n noTemplateName: 'Scaffolder Run',\n },\n subtitle: 'Task {{taskId}}',\n cancelButtonTitle: 'Cancel',\n retryButtonTitle: 'Retry',\n startOverButtonTitle: 'Start Over',\n hideLogsButtonTitle: 'Hide Logs',\n showLogsButtonTitle: 'Show Logs',\n contextMenu: {\n moreOptions: 'More options',\n hideLogs: 'Hide Logs',\n showLogs: 'Show Logs',\n hideButtonBar: 'Hide Button Bar',\n retry: 'Retry',\n showButtonBar: 'Show Button Bar',\n startOver: 'Start Over',\n cancel: 'Cancel',\n },\n },\n templateEditorForm: {\n stepper: {\n emptyText: 'There are no spec parameters in the template to preview.',\n },\n },\n renderSchema: {\n tableCell: {\n name: 'Name',\n title: 'Title',\n description: 'Description',\n type: 'Type',\n },\n undefined: 'No schema defined',\n },\n templatingExtensions: {\n title: 'Templating Extensions',\n pageTitle: 'Templating Extensions',\n subtitle: 'This is the collection of available templating extensions',\n content: {\n emptyState: {\n title: 'No information to display',\n description:\n 'There are no templating extensions available or there was an issue communicating with the backend.',\n },\n searchFieldPlaceholder: 'Search for an extension',\n filters: {\n title: 'Filters',\n notAvailable: 'There are no template filters defined.',\n metadataAbsent: 'Filter metadata unavailable',\n schema: {\n input: 'Input',\n arguments: 'Arguments',\n output: 'Output',\n },\n examples: 'Examples',\n },\n functions: {\n title: 'Functions',\n notAvailable: 'There are no global template functions defined.',\n metadataAbsent: 'Function metadata unavailable',\n schema: {\n arguments: 'Arguments',\n output: 'Output',\n },\n examples: 'Examples',\n },\n values: {\n title: 'Values',\n notAvailable: 'There are no global template values defined.',\n },\n },\n },\n templateTypePicker: {\n title: 'Categories',\n },\n templateIntroPage: {\n title: 'Manage Templates',\n subtitle:\n 'Edit, preview, and try out templates, forms, and custom fields',\n },\n templateFormPage: {\n title: 'Template Editor',\n subtitle: 'Edit, preview, and try out templates forms',\n },\n templateCustomFieldPage: {\n title: 'Custom Field Explorer',\n subtitle: 'Edit, preview, and try out custom fields',\n },\n templateEditorPage: {\n title: 'Template Editor',\n subtitle: 'Edit, preview, and try out templates and template forms',\n dryRunResults: {\n title: 'Dry-run results',\n },\n dryRunResultsList: {\n title: 'Result {{resultId}}',\n downloadButtonTitle: 'Download as .zip',\n deleteButtonTitle: 'Delete result',\n },\n dryRunResultsView: {\n tab: {\n files: 'Files',\n log: 'Log',\n output: 'Output',\n },\n },\n taskStatusStepper: {\n skippedStepTitle: 'Skipped',\n },\n customFieldExplorer: {\n selectFieldLabel: 'Choose Custom Field Extension',\n fieldForm: {\n title: 'Field Options',\n applyButtonTitle: 'Apply',\n },\n fieldPreview: {\n title: 'Field Preview',\n },\n preview: {\n title: 'Template Spec',\n },\n },\n templateEditorBrowser: {\n closeConfirmMessage: 'Are you sure? Unsaved changes will be lost',\n saveIconTooltip: 'Save all files',\n reloadIconTooltip: 'Reload directory',\n closeIconTooltip: 'Close directory',\n },\n templateEditorIntro: {\n title: 'Get started by choosing one of the options below',\n loadLocal: {\n title: 'Load Template Directory',\n description:\n 'Load a local template directory, allowing you to both edit and try executing your own template.',\n unsupportedTooltip:\n 'Only supported in some Chromium-based browsers with the page loaded over HTTPS',\n },\n createLocal: {\n title: 'Create New Template',\n description:\n 'Create a local template directory, allowing you to both edit and try executing your own template.',\n unsupportedTooltip:\n 'Only supported in some Chromium-based browsers with the page loaded over HTTPS',\n },\n formEditor: {\n title: 'Template Form Playground',\n description:\n 'Preview and edit a template form, either using a sample template or by loading a template from the catalog.',\n },\n fieldExplorer: {\n title: 'Custom Field Explorer',\n description:\n 'View and play around with available installed custom field extensions.',\n },\n },\n templateEditorTextArea: {\n saveIconTooltip: 'Save file',\n refreshIconTooltip: 'Reload file',\n emptyStateParagraph: 'Please select an action on the file menu.',\n },\n templateFormPreviewer: {\n title: 'Load Existing Template',\n },\n },\n templateListPage: {\n title: 'Create a new component',\n subtitle:\n 'Create new software components using standard templates in your organization',\n pageTitle: 'Create a new component',\n templateGroups: {\n defaultTitle: 'Templates',\n otherTitle: 'Other Templates',\n },\n contentHeader: {\n registerExistingButtonTitle: 'Register Existing Component',\n supportButtonTitle:\n 'Create new software components using standard templates. Different templates create different kinds of components (services, websites, documentation, ...).',\n },\n additionalLinksForEntity: {\n viewTechDocsTitle: 'View TechDocs',\n },\n },\n templateWizardPage: {\n title: 'Create a new component',\n subtitle:\n 'Create new software components using standard templates in your organization',\n pageTitle: 'Create a new component',\n templateWithTitle: 'Create new {{templateTitle}}',\n pageContextMenu: {\n editConfigurationTitle: 'Edit Configuration',\n },\n },\n templateEditorToolbar: {\n customFieldExplorerTooltip: 'Custom Fields Explorer',\n installedActionsDocumentationTooltip: 'Installed Actions Documentation',\n templatingExtensionsDocumentationTooltip:\n 'Templating Extensions Documentation',\n addToCatalogButton: 'Publish',\n addToCatalogDialogTitle: 'Publish changes',\n addToCatalogDialogContent: {\n stepsIntroduction:\n 'Follow the instructions below to create or update a template:',\n stepsListItems:\n 'Save the template files in a local directory\\nCreate a pull request to a new or existing git repository\\nIf the template already exists, the changes will be reflected in the software catalog once the pull request gets merged\\nBut if you are creating a new template, follow the documentation linked below to register the new template repository in software catalog',\n },\n addToCatalogDialogActions: {\n documentationButton: 'Go to the documentation',\n documentationUrl:\n 'https://backstage.io/docs/features/software-templates/adding-templates/',\n },\n },\n templateEditorToolbarFileMenu: {\n button: 'File',\n options: {\n openDirectory: 'Open template directory',\n createDirectory: 'Create template directory',\n closeEditor: 'Close template editor',\n },\n },\n templateEditorToolbarTemplatesMenu: {\n button: 'Templates',\n },\n },\n});\n"],"names":[],"mappings":"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"}
|