@backstage/plugin-scaffolder 1.36.2-next.2 → 1.36.3-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/dist/alpha/components/EditorSubPage.esm.js +69 -11
  3. package/dist/alpha/components/EditorSubPage.esm.js.map +1 -1
  4. package/dist/alpha/components/TemplateEditorPage/CustomFieldPlayground.esm.js +14 -15
  5. package/dist/alpha/components/TemplateEditorPage/CustomFieldPlayground.esm.js.map +1 -1
  6. package/dist/alpha/components/TemplateEditorPage/DryRunResults/DryRunResults.esm.js +2 -2
  7. package/dist/alpha/components/TemplateEditorPage/DryRunResults/DryRunResults.esm.js.map +1 -1
  8. package/dist/alpha.d.ts +14 -9
  9. package/dist/components/ActionsPage/ActionsPage.esm.js +155 -134
  10. package/dist/components/ActionsPage/ActionsPage.esm.js.map +1 -1
  11. package/dist/components/ListTasksPage/columns/OwnerEntityColumn.esm.js +3 -20
  12. package/dist/components/ListTasksPage/columns/OwnerEntityColumn.esm.js.map +1 -1
  13. package/dist/components/RenderSchema/RenderSchema.esm.js +202 -250
  14. package/dist/components/RenderSchema/RenderSchema.esm.js.map +1 -1
  15. package/dist/components/TemplatingExtensionsPage/TemplateFilters.esm.js +2 -5
  16. package/dist/components/TemplatingExtensionsPage/TemplateFilters.esm.js.map +1 -1
  17. package/dist/components/TemplatingExtensionsPage/TemplateGlobals.esm.js +2 -5
  18. package/dist/components/TemplatingExtensionsPage/TemplateGlobals.esm.js.map +1 -1
  19. package/dist/index.d.ts +7 -6
  20. package/dist/plugins/scaffolder/package.json.esm.js +1 -1
  21. package/dist/translation.esm.js +2 -1
  22. package/dist/translation.esm.js.map +1 -1
  23. package/package.json +24 -24
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateFilters.esm.js","sources":["../../../src/components/TemplatingExtensionsPage/TemplateFilters.tsx"],"sourcesContent":["/*\n * Copyright 2025 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 { Link, MarkdownContent } from '@backstage/core-components';\nimport {\n ListTemplatingExtensionsResponse,\n TemplateFilter,\n} from '@backstage/plugin-scaffolder-react';\nimport Accordion from '@material-ui/core/Accordion';\nimport AccordionDetails from '@material-ui/core/AccordionDetails';\nimport AccordionSummary from '@material-ui/core/AccordionSummary';\nimport Box from '@material-ui/core/Box';\nimport { ClassNameMap } from '@material-ui/core/styles/withStyles';\nimport Typography from '@material-ui/core/Typography';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport classNames from 'classnames';\nimport { cloneElement, Fragment, ReactElement, useState } from 'react';\nimport { scaffolderTranslationRef } from '../../translation';\nimport { Expanded, RenderSchema, SchemaRenderContext } from '../RenderSchema';\nimport { ScaffolderUsageExamplesTable } from '../ScaffolderUsageExamplesTable';\nimport { inspectFunctionArgSchema } from './functionArgs';\nimport { Extension, renderFragment } from './navigation';\nimport { StyleClasses, TranslationMessages } from './types';\n\nconst FilterDetailContent = ({\n t,\n classes,\n name,\n filter,\n}: {\n t: TranslationMessages<typeof scaffolderTranslationRef>;\n classes: ClassNameMap;\n name: string;\n filter: TemplateFilter;\n}) => {\n const expanded = useState<Expanded>({});\n if (!Object.keys(filter).length) {\n return (\n <Typography style={{ fontStyle: 'italic' }}>\n {t('templatingExtensions.content.filters.metadataAbsent')}\n </Typography>\n );\n }\n const schema = filter.schema;\n const partialSchemaRenderContext: Omit<SchemaRenderContext, 'parentId'> = {\n classes,\n expanded,\n headings: [<Typography variant=\"h6\" component=\"h4\" />],\n };\n return (\n <Fragment key={`${name}.detail`}>\n {filter.description && <MarkdownContent content={filter.description} />}\n <Box pb={2}>\n <Typography variant=\"h5\" component=\"h3\">\n {t('templatingExtensions.content.filters.schema.input')}\n </Typography>\n <RenderSchema\n strategy=\"root\"\n context={{\n parentId: `${name}.input`,\n ...partialSchemaRenderContext,\n }}\n schema={schema?.input ?? {}}\n />\n </Box>\n {schema?.arguments?.length && (\n <Box key={`${name}.args`} pb={2}>\n <Typography variant=\"h5\" component=\"h3\">\n {t('templatingExtensions.content.filters.schema.arguments')}\n </Typography>\n {schema.arguments.map((arg, i) => {\n const [argSchema, required] = inspectFunctionArgSchema(arg);\n\n return (\n <Fragment key={i}>\n <div\n className={classNames({ [classes.argRequired]: required })}\n >\n <Typography variant=\"h6\" component=\"h4\">\n {`[${i}]`}\n </Typography>\n </div>\n <RenderSchema\n strategy=\"root\"\n context={{\n parentId: `${name}.arg${i}`,\n ...partialSchemaRenderContext,\n headings: [<Typography variant=\"h6\" component=\"h5\" />],\n }}\n schema={argSchema}\n />\n </Fragment>\n );\n })}\n </Box>\n )}\n <Box pb={2}>\n <Typography variant=\"h5\" component=\"h3\">\n {t('templatingExtensions.content.filters.schema.output')}\n </Typography>\n <RenderSchema\n strategy=\"root\"\n context={{\n parentId: `${name}.output`,\n ...partialSchemaRenderContext,\n }}\n schema={schema?.output ?? {}}\n />\n </Box>\n {filter.examples && (\n <Accordion>\n <AccordionSummary expandIcon={<ExpandMoreIcon />}>\n <Typography variant=\"h5\" component=\"h3\">\n {t('templatingExtensions.content.filters.examples')}\n </Typography>\n </AccordionSummary>\n <AccordionDetails>\n <Box pb={2}>\n <ScaffolderUsageExamplesTable examples={filter.examples} />\n </Box>\n </AccordionDetails>\n </Accordion>\n )}\n </Fragment>\n );\n};\n\nexport const TemplateFilters = ({\n t,\n classes,\n filters,\n baseLink,\n selectedItem,\n}: {\n t: TranslationMessages<typeof scaffolderTranslationRef>;\n classes: StyleClasses;\n filters: ListTemplatingExtensionsResponse['filters'];\n baseLink: ReactElement<Parameters<typeof Link>[0]>;\n selectedItem: Extension | null;\n}) => {\n if (selectedItem && selectedItem.kind !== 'filter') {\n return <></>;\n }\n if (!Object.keys(filters).length) {\n return (\n <div data-testid=\"no-filters\">\n {t('templatingExtensions.content.filters.notAvailable')}\n </div>\n );\n }\n return (\n <div data-testid=\"filters\">\n {Object.entries(\n selectedItem\n ? { [selectedItem.name]: filters[selectedItem.name] }\n : filters,\n ).map(([name, filter]) => {\n const fragment = renderFragment({ kind: 'filter', name });\n return (\n <Box pb={4} key={name} data-testid={name}>\n <Typography\n id={fragment}\n variant=\"h4\"\n component=\"h2\"\n className={classes.code}\n >\n {name}\n </Typography>\n {cloneElement(baseLink, {\n to: `${baseLink.props.to}#${fragment}`,\n })}\n <FilterDetailContent {...{ t, classes, name, filter }} />\n </Box>\n );\n })}\n </div>\n );\n};\n"],"names":["Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"TemplateFilters.esm.js","sources":["../../../src/components/TemplatingExtensionsPage/TemplateFilters.tsx"],"sourcesContent":["/*\n * Copyright 2025 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 { Link, MarkdownContent } from '@backstage/core-components';\nimport {\n ListTemplatingExtensionsResponse,\n TemplateFilter,\n} from '@backstage/plugin-scaffolder-react';\nimport Accordion from '@material-ui/core/Accordion';\nimport AccordionDetails from '@material-ui/core/AccordionDetails';\nimport AccordionSummary from '@material-ui/core/AccordionSummary';\nimport Box from '@material-ui/core/Box';\nimport { ClassNameMap } from '@material-ui/core/styles/withStyles';\nimport Typography from '@material-ui/core/Typography';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport classNames from 'classnames';\nimport { cloneElement, Fragment, ReactElement, useState } from 'react';\nimport { scaffolderTranslationRef } from '../../translation';\nimport { Expanded, RenderSchema, SchemaRenderContext } from '../RenderSchema';\nimport { ScaffolderUsageExamplesTable } from '../ScaffolderUsageExamplesTable';\nimport { inspectFunctionArgSchema } from './functionArgs';\nimport { Extension, renderFragment } from './navigation';\nimport { StyleClasses, TranslationMessages } from './types';\n\nconst FilterDetailContent = ({\n t,\n classes,\n name,\n filter,\n}: {\n t: TranslationMessages<typeof scaffolderTranslationRef>;\n classes: ClassNameMap;\n name: string;\n filter: TemplateFilter;\n}) => {\n const expanded = useState<Expanded>({});\n if (!Object.keys(filter).length) {\n return (\n <Typography style={{ fontStyle: 'italic' }}>\n {t('templatingExtensions.content.filters.metadataAbsent')}\n </Typography>\n );\n }\n const schema = filter.schema;\n const partialSchemaRenderContext: Omit<SchemaRenderContext, 'parentId'> = {\n expanded,\n };\n return (\n <Fragment key={`${name}.detail`}>\n {filter.description && <MarkdownContent content={filter.description} />}\n <Box pb={2}>\n <Typography variant=\"h5\" component=\"h3\">\n {t('templatingExtensions.content.filters.schema.input')}\n </Typography>\n <RenderSchema\n strategy=\"root\"\n context={{\n parentId: `${name}.input`,\n ...partialSchemaRenderContext,\n }}\n schema={schema?.input ?? {}}\n />\n </Box>\n {schema?.arguments?.length && (\n <Box key={`${name}.args`} pb={2}>\n <Typography variant=\"h5\" component=\"h3\">\n {t('templatingExtensions.content.filters.schema.arguments')}\n </Typography>\n {schema.arguments.map((arg, i) => {\n const [argSchema, required] = inspectFunctionArgSchema(arg);\n\n return (\n <Fragment key={i}>\n <div\n className={classNames({ [classes.argRequired]: required })}\n >\n <Typography variant=\"h6\" component=\"h4\">\n {`[${i}]`}\n </Typography>\n </div>\n <RenderSchema\n strategy=\"root\"\n context={{\n parentId: `${name}.arg${i}`,\n ...partialSchemaRenderContext,\n }}\n schema={argSchema}\n />\n </Fragment>\n );\n })}\n </Box>\n )}\n <Box pb={2}>\n <Typography variant=\"h5\" component=\"h3\">\n {t('templatingExtensions.content.filters.schema.output')}\n </Typography>\n <RenderSchema\n strategy=\"root\"\n context={{\n parentId: `${name}.output`,\n ...partialSchemaRenderContext,\n }}\n schema={schema?.output ?? {}}\n />\n </Box>\n {filter.examples && (\n <Accordion>\n <AccordionSummary expandIcon={<ExpandMoreIcon />}>\n <Typography variant=\"h5\" component=\"h3\">\n {t('templatingExtensions.content.filters.examples')}\n </Typography>\n </AccordionSummary>\n <AccordionDetails>\n <Box pb={2}>\n <ScaffolderUsageExamplesTable examples={filter.examples} />\n </Box>\n </AccordionDetails>\n </Accordion>\n )}\n </Fragment>\n );\n};\n\nexport const TemplateFilters = ({\n t,\n classes,\n filters,\n baseLink,\n selectedItem,\n}: {\n t: TranslationMessages<typeof scaffolderTranslationRef>;\n classes: StyleClasses;\n filters: ListTemplatingExtensionsResponse['filters'];\n baseLink: ReactElement<Parameters<typeof Link>[0]>;\n selectedItem: Extension | null;\n}) => {\n if (selectedItem && selectedItem.kind !== 'filter') {\n return <></>;\n }\n if (!Object.keys(filters).length) {\n return (\n <div data-testid=\"no-filters\">\n {t('templatingExtensions.content.filters.notAvailable')}\n </div>\n );\n }\n return (\n <div data-testid=\"filters\">\n {Object.entries(\n selectedItem\n ? { [selectedItem.name]: filters[selectedItem.name] }\n : filters,\n ).map(([name, filter]) => {\n const fragment = renderFragment({ kind: 'filter', name });\n return (\n <Box pb={4} key={name} data-testid={name}>\n <Typography\n id={fragment}\n variant=\"h4\"\n component=\"h2\"\n className={classes.code}\n >\n {name}\n </Typography>\n {cloneElement(baseLink, {\n to: `${baseLink.props.to}#${fragment}`,\n })}\n <FilterDetailContent {...{ t, classes, name, filter }} />\n </Box>\n );\n })}\n </div>\n );\n};\n"],"names":["Fragment"],"mappings":"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"}
@@ -32,9 +32,7 @@ const FunctionDetailContent = ({
32
32
  }
33
33
  const schema = fn.schema;
34
34
  const partialSchemaRenderContext = {
35
- classes,
36
- expanded,
37
- headings: [/* @__PURE__ */ jsx(Typography, { variant: "h6", component: "h4" })]
35
+ expanded
38
36
  };
39
37
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [
40
38
  fn.description && /* @__PURE__ */ jsx(MarkdownContent, { content: fn.description }),
@@ -63,8 +61,7 @@ const FunctionDetailContent = ({
63
61
  strategy: "root",
64
62
  context: {
65
63
  parentId: `${name}.arg${i}`,
66
- ...partialSchemaRenderContext,
67
- headings: [/* @__PURE__ */ jsx(Typography, { variant: "h6", component: "h5" })]
64
+ ...partialSchemaRenderContext
68
65
  },
69
66
  schema: argSchema
70
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateGlobals.esm.js","sources":["../../../src/components/TemplatingExtensionsPage/TemplateGlobals.tsx"],"sourcesContent":["/*\n * Copyright 2025 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 { CodeSnippet, Link, MarkdownContent } from '@backstage/core-components';\nimport {\n ListTemplatingExtensionsResponse,\n TemplateGlobalFunction,\n} from '@backstage/plugin-scaffolder-react';\nimport Accordion from '@material-ui/core/Accordion';\nimport AccordionDetails from '@material-ui/core/AccordionDetails';\nimport AccordionSummary from '@material-ui/core/AccordionSummary';\nimport Box from '@material-ui/core/Box';\nimport { ClassNameMap } from '@material-ui/core/styles/withStyles';\nimport Typography from '@material-ui/core/Typography';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport classNames from 'classnames';\nimport { cloneElement, Fragment, ReactElement, useState } from 'react';\nimport { scaffolderTranslationRef } from '../../translation';\nimport { Expanded, RenderSchema, SchemaRenderContext } from '../RenderSchema';\nimport { ScaffolderUsageExamplesTable } from '../ScaffolderUsageExamplesTable';\nimport { inspectFunctionArgSchema } from './functionArgs';\nimport { Extension, renderFragment } from './navigation';\nimport { TranslationMessages } from './types';\n\nconst FunctionDetailContent = ({\n classes,\n name,\n fn,\n t,\n}: {\n classes: ClassNameMap;\n name: string;\n fn: TemplateGlobalFunction;\n t: TranslationMessages<typeof scaffolderTranslationRef>;\n}) => {\n const expanded = useState<Expanded>({});\n if (!Object.keys(fn).length) {\n return (\n <Typography\n style={{ fontStyle: 'italic' }}\n data-testid={`${name}.metadataAbsent`}\n >\n {t('templatingExtensions.content.functions.metadataAbsent')}\n </Typography>\n );\n }\n const schema = fn.schema;\n const partialSchemaRenderContext: Omit<SchemaRenderContext, 'parentId'> = {\n classes,\n expanded,\n headings: [<Typography variant=\"h6\" component=\"h4\" />],\n };\n return (\n <Fragment key={`${name}.detail`}>\n {fn.description && <MarkdownContent content={fn.description} />}\n {schema?.arguments?.length && (\n <Box key={`${name}.args`} pb={2}>\n <Typography variant=\"h5\" component=\"h3\">\n {t('templatingExtensions.content.functions.schema.arguments')}\n </Typography>\n {schema.arguments.map((arg, i) => {\n const [argSchema, required] = inspectFunctionArgSchema(arg);\n\n return (\n <Fragment key={i}>\n <div\n className={classNames({ [classes.argRequired]: required })}\n >\n <Typography\n variant=\"h6\"\n component=\"h4\"\n >{`[${i}]`}</Typography>\n </div>\n <RenderSchema\n strategy=\"root\"\n context={{\n parentId: `${name}.arg${i}`,\n ...partialSchemaRenderContext,\n headings: [<Typography variant=\"h6\" component=\"h5\" />],\n }}\n schema={argSchema}\n />\n </Fragment>\n );\n })}\n </Box>\n )}\n <Box pb={2}>\n <Typography variant=\"h5\" component=\"h3\">\n {t('templatingExtensions.content.functions.schema.output')}\n </Typography>\n <RenderSchema\n strategy=\"root\"\n context={{\n parentId: `${name}.output`,\n ...partialSchemaRenderContext,\n }}\n schema={schema?.output ?? {}}\n />\n </Box>\n {fn.examples && (\n <Accordion>\n <AccordionSummary expandIcon={<ExpandMoreIcon />}>\n <Typography variant=\"h5\" component=\"h3\">\n {t('templatingExtensions.content.functions.examples')}\n </Typography>\n </AccordionSummary>\n <AccordionDetails>\n <Box pb={2}>\n <ScaffolderUsageExamplesTable examples={fn.examples} />\n </Box>\n </AccordionDetails>\n </Accordion>\n )}\n </Fragment>\n );\n};\n\nexport const TemplateGlobalFunctions = ({\n classes,\n functions,\n t,\n baseLink,\n selectedItem,\n}: {\n classes: ClassNameMap;\n functions: ListTemplatingExtensionsResponse['globals']['functions'];\n t: TranslationMessages<typeof scaffolderTranslationRef>;\n baseLink: ReactElement<Parameters<typeof Link>[0]>;\n selectedItem: Extension | null;\n}) => {\n if (selectedItem && selectedItem.kind !== 'function') {\n return <></>;\n }\n if (!Object.keys(functions).length) {\n return (\n <div data-testid=\"no-functions\">\n {t('templatingExtensions.content.functions.notAvailable')}\n </div>\n );\n }\n return (\n <div data-testid=\"functions\">\n {Object.entries(\n selectedItem\n ? { [selectedItem.name]: functions[selectedItem.name] }\n : functions,\n ).map(([name, fn]) => {\n const fragment = renderFragment({ kind: 'function', name });\n return (\n <Box pb={4} key={name} data-testid={name}>\n <Typography\n id={fragment}\n variant=\"h4\"\n component=\"h2\"\n className={classes.code}\n >\n {name}\n </Typography>\n {cloneElement(baseLink, {\n to: `${baseLink.props.to}#${fragment}`,\n })}\n <FunctionDetailContent {...{ classes, name, fn, t }} />\n </Box>\n );\n })}\n </div>\n );\n};\n\nexport const TemplateGlobalValues = ({\n classes,\n t,\n values,\n baseLink,\n selectedItem,\n}: {\n classes: ClassNameMap;\n t: TranslationMessages<typeof scaffolderTranslationRef>;\n values: ListTemplatingExtensionsResponse['globals']['values'];\n baseLink: ReactElement<Parameters<typeof Link>[0]>;\n selectedItem: Extension | null;\n}) => {\n if (selectedItem && selectedItem.kind !== 'value') {\n return <></>;\n }\n if (!Object.keys(values).length) {\n return (\n <div data-testid=\"no-values\">\n {t('templatingExtensions.content.values.notAvailable')}\n </div>\n );\n }\n return (\n <div data-testid=\"values\">\n {Object.entries(\n selectedItem\n ? { [selectedItem.name]: values[selectedItem.name] }\n : values,\n ).map(([name, gv]) => {\n const fragment = renderFragment({ kind: 'value', name });\n return (\n <Box pb={4} key={name} data-testid={name}>\n <Typography\n id={fragment}\n variant=\"h4\"\n component=\"h2\"\n className={classes.code}\n >\n {name}\n </Typography>\n {cloneElement(baseLink, {\n to: `${baseLink.props.to}#${fragment}`,\n })}\n {gv.description && <MarkdownContent content={gv.description} />}\n <Box padding={1} data-testid={`${name}.value`}>\n <CodeSnippet\n text={JSON.stringify(gv.value, null, 2)}\n showCopyCodeButton\n language=\"json\"\n />\n </Box>\n </Box>\n );\n })}\n </div>\n );\n};\n"],"names":["Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"TemplateGlobals.esm.js","sources":["../../../src/components/TemplatingExtensionsPage/TemplateGlobals.tsx"],"sourcesContent":["/*\n * Copyright 2025 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 { CodeSnippet, Link, MarkdownContent } from '@backstage/core-components';\nimport {\n ListTemplatingExtensionsResponse,\n TemplateGlobalFunction,\n} from '@backstage/plugin-scaffolder-react';\nimport Accordion from '@material-ui/core/Accordion';\nimport AccordionDetails from '@material-ui/core/AccordionDetails';\nimport AccordionSummary from '@material-ui/core/AccordionSummary';\nimport Box from '@material-ui/core/Box';\nimport { ClassNameMap } from '@material-ui/core/styles/withStyles';\nimport Typography from '@material-ui/core/Typography';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport classNames from 'classnames';\nimport { cloneElement, Fragment, ReactElement, useState } from 'react';\nimport { scaffolderTranslationRef } from '../../translation';\nimport { Expanded, RenderSchema, SchemaRenderContext } from '../RenderSchema';\nimport { ScaffolderUsageExamplesTable } from '../ScaffolderUsageExamplesTable';\nimport { inspectFunctionArgSchema } from './functionArgs';\nimport { Extension, renderFragment } from './navigation';\nimport { TranslationMessages } from './types';\n\nconst FunctionDetailContent = ({\n classes,\n name,\n fn,\n t,\n}: {\n classes: ClassNameMap;\n name: string;\n fn: TemplateGlobalFunction;\n t: TranslationMessages<typeof scaffolderTranslationRef>;\n}) => {\n const expanded = useState<Expanded>({});\n if (!Object.keys(fn).length) {\n return (\n <Typography\n style={{ fontStyle: 'italic' }}\n data-testid={`${name}.metadataAbsent`}\n >\n {t('templatingExtensions.content.functions.metadataAbsent')}\n </Typography>\n );\n }\n const schema = fn.schema;\n const partialSchemaRenderContext: Omit<SchemaRenderContext, 'parentId'> = {\n expanded,\n };\n return (\n <Fragment key={`${name}.detail`}>\n {fn.description && <MarkdownContent content={fn.description} />}\n {schema?.arguments?.length && (\n <Box key={`${name}.args`} pb={2}>\n <Typography variant=\"h5\" component=\"h3\">\n {t('templatingExtensions.content.functions.schema.arguments')}\n </Typography>\n {schema.arguments.map((arg, i) => {\n const [argSchema, required] = inspectFunctionArgSchema(arg);\n\n return (\n <Fragment key={i}>\n <div\n className={classNames({ [classes.argRequired]: required })}\n >\n <Typography\n variant=\"h6\"\n component=\"h4\"\n >{`[${i}]`}</Typography>\n </div>\n <RenderSchema\n strategy=\"root\"\n context={{\n parentId: `${name}.arg${i}`,\n ...partialSchemaRenderContext,\n }}\n schema={argSchema}\n />\n </Fragment>\n );\n })}\n </Box>\n )}\n <Box pb={2}>\n <Typography variant=\"h5\" component=\"h3\">\n {t('templatingExtensions.content.functions.schema.output')}\n </Typography>\n <RenderSchema\n strategy=\"root\"\n context={{\n parentId: `${name}.output`,\n ...partialSchemaRenderContext,\n }}\n schema={schema?.output ?? {}}\n />\n </Box>\n {fn.examples && (\n <Accordion>\n <AccordionSummary expandIcon={<ExpandMoreIcon />}>\n <Typography variant=\"h5\" component=\"h3\">\n {t('templatingExtensions.content.functions.examples')}\n </Typography>\n </AccordionSummary>\n <AccordionDetails>\n <Box pb={2}>\n <ScaffolderUsageExamplesTable examples={fn.examples} />\n </Box>\n </AccordionDetails>\n </Accordion>\n )}\n </Fragment>\n );\n};\n\nexport const TemplateGlobalFunctions = ({\n classes,\n functions,\n t,\n baseLink,\n selectedItem,\n}: {\n classes: ClassNameMap;\n functions: ListTemplatingExtensionsResponse['globals']['functions'];\n t: TranslationMessages<typeof scaffolderTranslationRef>;\n baseLink: ReactElement<Parameters<typeof Link>[0]>;\n selectedItem: Extension | null;\n}) => {\n if (selectedItem && selectedItem.kind !== 'function') {\n return <></>;\n }\n if (!Object.keys(functions).length) {\n return (\n <div data-testid=\"no-functions\">\n {t('templatingExtensions.content.functions.notAvailable')}\n </div>\n );\n }\n return (\n <div data-testid=\"functions\">\n {Object.entries(\n selectedItem\n ? { [selectedItem.name]: functions[selectedItem.name] }\n : functions,\n ).map(([name, fn]) => {\n const fragment = renderFragment({ kind: 'function', name });\n return (\n <Box pb={4} key={name} data-testid={name}>\n <Typography\n id={fragment}\n variant=\"h4\"\n component=\"h2\"\n className={classes.code}\n >\n {name}\n </Typography>\n {cloneElement(baseLink, {\n to: `${baseLink.props.to}#${fragment}`,\n })}\n <FunctionDetailContent {...{ classes, name, fn, t }} />\n </Box>\n );\n })}\n </div>\n );\n};\n\nexport const TemplateGlobalValues = ({\n classes,\n t,\n values,\n baseLink,\n selectedItem,\n}: {\n classes: ClassNameMap;\n t: TranslationMessages<typeof scaffolderTranslationRef>;\n values: ListTemplatingExtensionsResponse['globals']['values'];\n baseLink: ReactElement<Parameters<typeof Link>[0]>;\n selectedItem: Extension | null;\n}) => {\n if (selectedItem && selectedItem.kind !== 'value') {\n return <></>;\n }\n if (!Object.keys(values).length) {\n return (\n <div data-testid=\"no-values\">\n {t('templatingExtensions.content.values.notAvailable')}\n </div>\n );\n }\n return (\n <div data-testid=\"values\">\n {Object.entries(\n selectedItem\n ? { [selectedItem.name]: values[selectedItem.name] }\n : values,\n ).map(([name, gv]) => {\n const fragment = renderFragment({ kind: 'value', name });\n return (\n <Box pb={4} key={name} data-testid={name}>\n <Typography\n id={fragment}\n variant=\"h4\"\n component=\"h2\"\n className={classes.code}\n >\n {name}\n </Typography>\n {cloneElement(baseLink, {\n to: `${baseLink.props.to}#${fragment}`,\n })}\n {gv.description && <MarkdownContent content={gv.description} />}\n <Box padding={1} data-testid={`${name}.value`}>\n <CodeSnippet\n text={JSON.stringify(gv.value, null, 2)}\n showCopyCodeButton\n language=\"json\"\n />\n </Box>\n </Box>\n );\n })}\n </div>\n );\n};\n"],"names":["Fragment"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -42,12 +42,12 @@ declare const EntityPickerFieldSchema: _backstage_plugin_scaffolder_react.FieldS
42
42
  autoSelect?: boolean | undefined;
43
43
  defaultKind?: string | undefined;
44
44
  defaultNamespace?: string | false | undefined;
45
+ allowedKinds?: string[] | undefined;
45
46
  catalogFilter?: Record<string, string | string[] | {
46
47
  exists?: boolean | undefined;
47
48
  }> | Record<string, string | string[] | {
48
49
  exists?: boolean | undefined;
49
50
  }>[] | undefined;
50
- allowedKinds?: string[] | undefined;
51
51
  allowArbitraryValues?: boolean | undefined;
52
52
  }>;
53
53
  /**
@@ -96,12 +96,12 @@ declare const OwnedEntityPickerFieldSchema: _backstage_plugin_scaffolder_react.F
96
96
  autoSelect?: boolean | undefined;
97
97
  defaultKind?: string | undefined;
98
98
  defaultNamespace?: string | false | undefined;
99
+ allowedKinds?: string[] | undefined;
99
100
  catalogFilter?: Record<string, string | string[] | {
100
101
  exists?: boolean | undefined;
101
102
  }> | Record<string, string | string[] | {
102
103
  exists?: boolean | undefined;
103
104
  }>[] | undefined;
104
- allowedKinds?: string[] | undefined;
105
105
  allowArbitraryValues?: boolean | undefined;
106
106
  }>;
107
107
  /**
@@ -116,12 +116,12 @@ type OwnedEntityPickerUiOptions = NonNullable<(typeof OwnedEntityPickerFieldSche
116
116
  */
117
117
  declare const OwnerPickerFieldSchema: _backstage_plugin_scaffolder_react.FieldSchema<string, {
118
118
  defaultNamespace?: string | false | undefined;
119
+ allowedKinds?: string[] | undefined;
119
120
  catalogFilter?: Record<string, string | string[] | {
120
121
  exists?: boolean | undefined;
121
122
  }> | Record<string, string | string[] | {
122
123
  exists?: boolean | undefined;
123
124
  }>[] | undefined;
124
- allowedKinds?: string[] | undefined;
125
125
  allowArbitraryValues?: boolean | undefined;
126
126
  }>;
127
127
  /**
@@ -260,12 +260,12 @@ declare const EntityPickerFieldExtension: _backstage_plugin_scaffolder_react.Fie
260
260
  autoSelect?: boolean | undefined;
261
261
  defaultKind?: string | undefined;
262
262
  defaultNamespace?: string | false | undefined;
263
+ allowedKinds?: string[] | undefined;
263
264
  catalogFilter?: Record<string, string | string[] | {
264
265
  exists?: boolean | undefined;
265
266
  }> | Record<string, string | string[] | {
266
267
  exists?: boolean | undefined;
267
268
  }>[] | undefined;
268
- allowedKinds?: string[] | undefined;
269
269
  allowArbitraryValues?: boolean | undefined;
270
270
  }>;
271
271
  /**
@@ -320,12 +320,12 @@ declare const RepoUrlPickerFieldExtension: _backstage_plugin_scaffolder_react.Fi
320
320
  */
321
321
  declare const OwnerPickerFieldExtension: _backstage_plugin_scaffolder_react.FieldExtensionComponent<string, {
322
322
  defaultNamespace?: string | false | undefined;
323
+ allowedKinds?: string[] | undefined;
323
324
  catalogFilter?: Record<string, string | string[] | {
324
325
  exists?: boolean | undefined;
325
326
  }> | Record<string, string | string[] | {
326
327
  exists?: boolean | undefined;
327
328
  }>[] | undefined;
328
- allowedKinds?: string[] | undefined;
329
329
  allowArbitraryValues?: boolean | undefined;
330
330
  }>;
331
331
  /**
@@ -349,12 +349,12 @@ declare const OwnedEntityPickerFieldExtension: _backstage_plugin_scaffolder_reac
349
349
  autoSelect?: boolean | undefined;
350
350
  defaultKind?: string | undefined;
351
351
  defaultNamespace?: string | false | undefined;
352
+ allowedKinds?: string[] | undefined;
352
353
  catalogFilter?: Record<string, string | string[] | {
353
354
  exists?: boolean | undefined;
354
355
  }> | Record<string, string | string[] | {
355
356
  exists?: boolean | undefined;
356
357
  }>[] | undefined;
357
- allowedKinds?: string[] | undefined;
358
358
  allowArbitraryValues?: boolean | undefined;
359
359
  }>;
360
360
  /**
@@ -661,6 +661,7 @@ declare const scaffolderTranslationRef: _backstage_frontend_plugin_api.Translati
661
661
  readonly "renderSchema.undefined": "No schema defined";
662
662
  readonly "renderSchema.tableCell.name": "Name";
663
663
  readonly "renderSchema.tableCell.type": "Type";
664
+ readonly "renderSchema.tableCell.value": "Value";
664
665
  readonly "renderSchema.tableCell.title": "Title";
665
666
  readonly "renderSchema.tableCell.description": "Description";
666
667
  readonly "templatingExtensions.content.values.title": "Values";
@@ -1,5 +1,5 @@
1
1
  var name = "@backstage/plugin-scaffolder";
2
- var version = "1.36.2-next.2";
2
+ var version = "1.36.3-next.0";
3
3
  var description = "The Backstage plugin that helps you create new things";
4
4
  var backstage = {
5
5
  role: "frontend-plugin",
@@ -180,7 +180,8 @@ const scaffolderTranslationRef = createTranslationRef({
180
180
  name: "Name",
181
181
  title: "Title",
182
182
  description: "Description",
183
- type: "Type"
183
+ type: "Type",
184
+ value: "Value"
184
185
  },
185
186
  undefined: "No schema defined"
186
187
  },
@@ -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/** @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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"}
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 value: 'Value',\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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/plugin-scaffolder",
3
- "version": "1.36.2-next.2",
3
+ "version": "1.36.3-next.0",
4
4
  "description": "The Backstage plugin that helps you create new things",
5
5
  "backstage": {
6
6
  "role": "frontend-plugin",
@@ -70,23 +70,23 @@
70
70
  "test": "backstage-cli package test"
71
71
  },
72
72
  "dependencies": {
73
- "@backstage/catalog-client": "1.14.1-next.0",
74
- "@backstage/catalog-model": "1.7.8-next.0",
75
- "@backstage/core-components": "0.18.9-next.1",
76
- "@backstage/core-plugin-api": "1.12.5-next.2",
77
- "@backstage/errors": "1.3.0-next.0",
78
- "@backstage/frontend-plugin-api": "0.16.0-next.2",
79
- "@backstage/integration": "2.0.1-next.0",
80
- "@backstage/integration-react": "1.2.17-next.1",
81
- "@backstage/plugin-catalog-common": "1.1.9-next.0",
82
- "@backstage/plugin-catalog-react": "2.1.2-next.2",
83
- "@backstage/plugin-permission-react": "0.4.42-next.1",
84
- "@backstage/plugin-scaffolder-common": "2.0.1-next.0",
85
- "@backstage/plugin-scaffolder-react": "1.20.1-next.2",
73
+ "@backstage/catalog-client": "1.15.1-next.0",
74
+ "@backstage/catalog-model": "1.8.1-next.0",
75
+ "@backstage/core-components": "0.18.10-next.0",
76
+ "@backstage/core-plugin-api": "1.12.6-next.0",
77
+ "@backstage/errors": "1.3.1-next.0",
78
+ "@backstage/frontend-plugin-api": "0.17.0-next.0",
79
+ "@backstage/integration": "2.0.2-next.0",
80
+ "@backstage/integration-react": "1.2.18-next.0",
81
+ "@backstage/plugin-catalog-common": "1.1.10-next.0",
82
+ "@backstage/plugin-catalog-react": "2.1.5-next.0",
83
+ "@backstage/plugin-permission-react": "0.5.1-next.0",
84
+ "@backstage/plugin-scaffolder-common": "2.1.1-next.0",
85
+ "@backstage/plugin-scaffolder-react": "1.20.2-next.0",
86
86
  "@backstage/plugin-techdocs-common": "0.1.1",
87
- "@backstage/plugin-techdocs-react": "1.3.10-next.2",
87
+ "@backstage/plugin-techdocs-react": "1.3.11-next.0",
88
88
  "@backstage/types": "1.2.2",
89
- "@backstage/ui": "0.14.0-next.2",
89
+ "@backstage/ui": "0.15.0-next.0",
90
90
  "@codemirror/language": "^6.0.0",
91
91
  "@codemirror/legacy-modes": "^6.1.0",
92
92
  "@codemirror/view": "^6.0.0",
@@ -119,14 +119,14 @@
119
119
  "zod-to-json-schema": "^3.25.1"
120
120
  },
121
121
  "devDependencies": {
122
- "@backstage/cli": "0.36.1-next.2",
123
- "@backstage/core-app-api": "1.20.0-next.2",
124
- "@backstage/dev-utils": "1.1.22-next.2",
125
- "@backstage/frontend-test-utils": "0.5.2-next.2",
126
- "@backstage/plugin-catalog": "2.0.2-next.2",
127
- "@backstage/plugin-permission-common": "0.9.8-next.0",
128
- "@backstage/plugin-techdocs": "1.17.3-next.2",
129
- "@backstage/test-utils": "1.7.17-next.2",
122
+ "@backstage/cli": "0.36.2-next.0",
123
+ "@backstage/core-app-api": "1.20.1-next.0",
124
+ "@backstage/dev-utils": "1.1.23-next.0",
125
+ "@backstage/frontend-test-utils": "0.5.3-next.0",
126
+ "@backstage/plugin-catalog": "2.0.5-next.0",
127
+ "@backstage/plugin-permission-common": "0.9.9-next.0",
128
+ "@backstage/plugin-techdocs": "1.17.6-next.0",
129
+ "@backstage/test-utils": "1.7.18-next.0",
130
130
  "@testing-library/dom": "^10.0.0",
131
131
  "@testing-library/jest-dom": "^6.0.0",
132
132
  "@testing-library/react": "^16.0.0",