@backstage/plugin-scaffolder 1.10.1 → 1.11.0-next.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 +48 -3
- package/alpha/package.json +1 -1
- package/dist/esm/{Router-77e86b6b.esm.js → Router-aedb6d68.esm.js} +41 -40
- package/dist/esm/Router-aedb6d68.esm.js.map +1 -0
- package/dist/esm/{default-40114591.esm.js → default-ad36f5e9.esm.js} +2 -2
- package/dist/esm/{default-40114591.esm.js.map → default-ad36f5e9.esm.js.map} +1 -1
- package/dist/esm/{index-690bf85d.esm.js → index-203b9f93.esm.js} +52 -6
- package/dist/esm/index-203b9f93.esm.js.map +1 -0
- package/dist/esm/{index-4dbb353c.esm.js → index-e0e59ed8.esm.js} +14 -112
- package/dist/esm/index-e0e59ed8.esm.js.map +1 -0
- package/dist/index.alpha.d.ts +14 -26
- package/dist/index.beta.d.ts +12 -24
- package/dist/index.d.ts +12 -24
- package/dist/index.esm.js +1 -1
- package/package.json +15 -16
- package/dist/esm/Router-77e86b6b.esm.js.map +0 -1
- package/dist/esm/index-4dbb353c.esm.js.map +0 -1
- package/dist/esm/index-690bf85d.esm.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,57 @@
|
|
|
1
1
|
# @backstage/plugin-scaffolder
|
|
2
2
|
|
|
3
|
-
## 1.
|
|
3
|
+
## 1.11.0-next.1
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- 04f717a8e1: `scaffolder/next`: bump `react-jsonschema-form` libraries to `v5-stable`
|
|
8
|
+
- 346d6b6630: Upgrade `@rjsf` version 5 dependencies to `beta.18`
|
|
9
|
+
- 0f0da2f256: Prefer schema ordering of template properties during review content generation.
|
|
10
|
+
- 38992bdbaf: Fixed bug in review step refactor that caused schema-based display settings for individual property values to be discarded.
|
|
8
11
|
- Updated dependencies
|
|
9
|
-
- @backstage/plugin-scaffolder-react@1.0.1
|
|
12
|
+
- @backstage/plugin-scaffolder-react@1.1.0-next.1
|
|
13
|
+
- @backstage/core-components@0.12.4-next.0
|
|
14
|
+
- @backstage/plugin-catalog-react@1.3.0-next.1
|
|
15
|
+
- @backstage/catalog-client@1.3.1-next.0
|
|
16
|
+
- @backstage/catalog-model@1.1.6-next.0
|
|
17
|
+
- @backstage/config@1.0.6
|
|
18
|
+
- @backstage/core-plugin-api@1.3.0
|
|
19
|
+
- @backstage/errors@1.1.4
|
|
20
|
+
- @backstage/integration@1.4.2
|
|
21
|
+
- @backstage/integration-react@1.1.10-next.0
|
|
22
|
+
- @backstage/theme@0.2.16
|
|
23
|
+
- @backstage/types@1.0.2
|
|
24
|
+
- @backstage/plugin-catalog-common@1.0.11-next.0
|
|
25
|
+
- @backstage/plugin-permission-react@0.4.9
|
|
26
|
+
- @backstage/plugin-scaffolder-common@1.2.5-next.0
|
|
27
|
+
|
|
28
|
+
## 1.11.0-next.0
|
|
29
|
+
|
|
30
|
+
### Minor Changes
|
|
31
|
+
|
|
32
|
+
- d6bb12a2e7: - **Deprecation** - Deprecated the following exports, please import them directly from `@backstage/plugin-scaffolder-react` instead
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
createScaffolderLayout
|
|
36
|
+
ScaffolderLayouts
|
|
37
|
+
LayoutOptions
|
|
38
|
+
LayoutTemplate
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
- 8c2966536b: Embed scaffolder workflow in other components
|
|
42
|
+
|
|
43
|
+
### Patch Changes
|
|
44
|
+
|
|
45
|
+
- cbab8ac107: lock versions of `@rjsf/*-beta` packages
|
|
46
|
+
- d2ddde2108: Add `ScaffolderLayouts` to `NextScaffolderPage`
|
|
47
|
+
- Updated dependencies
|
|
48
|
+
- @backstage/plugin-scaffolder-react@1.1.0-next.0
|
|
49
|
+
- @backstage/plugin-catalog-react@1.3.0-next.0
|
|
50
|
+
- @backstage/catalog-model@1.1.6-next.0
|
|
51
|
+
- @backstage/catalog-client@1.3.1-next.0
|
|
52
|
+
- @backstage/plugin-catalog-common@1.0.11-next.0
|
|
53
|
+
- @backstage/plugin-scaffolder-common@1.2.5-next.0
|
|
54
|
+
- @backstage/integration-react@1.1.9
|
|
10
55
|
|
|
11
56
|
## 1.10.0
|
|
12
57
|
|
package/alpha/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import React, { useState, useCallback, Fragment, createContext, useEffect, useContext, useRef, useMemo, Component, Children } from 'react';
|
|
2
2
|
import { useNavigate, Navigate, useOutlet, Routes, Route } from 'react-router-dom';
|
|
3
3
|
import { ItemCardHeader, MarkdownContent, Button, Link, ContentHeader, Progress, WarningPanel, Content, ItemCardGrid, Page, Header, CreateButton, SupportButton, StructuredMetadataTable, InfoCard, ErrorPage, CodeSnippet, ErrorPanel, LogViewer, StatusError, StatusOK, StatusPending, Lifecycle, EmptyState, Table as Table$1 } from '@backstage/core-components';
|
|
4
|
-
import { useApp, useRouteRef, useApi, useRouteRefParams, useAnalytics, errorApiRef, featureFlagsApiRef, useApiHolder, AnalyticsContext, alertApiRef
|
|
4
|
+
import { useApp, useRouteRef, useApi, useRouteRefParams, useAnalytics, errorApiRef, featureFlagsApiRef, useApiHolder, AnalyticsContext, alertApiRef } from '@backstage/core-plugin-api';
|
|
5
5
|
import { getEntityRelations, getEntitySourceLocation, FavoriteEntity, EntityRefLinks, useEntityList, EntityListProvider, CatalogFilterLayout, EntitySearchBar, EntityKindPicker, UserListPicker, EntityTagPicker, catalogApiRef, humanizeEntityRef, EntityRefLink } from '@backstage/plugin-catalog-react';
|
|
6
6
|
import { RELATION_OWNED_BY, parseEntityRef, stringifyEntityRef, DEFAULT_NAMESPACE } from '@backstage/catalog-model';
|
|
7
7
|
import { makeStyles, useTheme, Card, CardMedia, CardContent, Box, Typography, Chip, CardActions, Tooltip, IconButton, Paper, Button as Button$1, Stepper, Step, StepLabel, StepContent, LinearProgress, Accordion, AccordionSummary, AccordionDetails, Grid, TableContainer, Table, TableHead, TableRow, TableCell, TableBody, FormControl, InputLabel, Select, MenuItem as MenuItem$1, CardHeader, Divider as Divider$1, List as List$2, ListItemIcon as ListItemIcon$1, ListItemText as ListItemText$1 } from '@material-ui/core';
|
|
8
8
|
import { scmIntegrationsApiRef, ScmIntegrationIcon } from '@backstage/integration-react';
|
|
9
9
|
import LanguageIcon from '@material-ui/icons/Language';
|
|
10
10
|
import WarningIcon from '@material-ui/icons/Warning';
|
|
11
|
-
import { s as selectedTemplateRouteRef, v as viewTechDocRouteRef, e as editRouteRef, a as actionsRouteRef, b as scaffolderListTaskRouteRef, r as registerComponentRouteRef, T as TemplateTypePicker, c as scaffolderTaskRouteRef, d as rootRouteRef, f as TaskStatusStepper, g as TaskPageLinks,
|
|
11
|
+
import { s as selectedTemplateRouteRef, v as viewTechDocRouteRef, e as editRouteRef, a as actionsRouteRef, b as scaffolderListTaskRouteRef, r as registerComponentRouteRef, T as TemplateTypePicker, c as scaffolderTaskRouteRef, d as rootRouteRef, f as TaskStatusStepper, g as TaskPageLinks, l as legacySelectedTemplateRouteRef, h as TaskPage } from './index-e0e59ed8.esm.js';
|
|
12
12
|
import { catalogEntityCreatePermission } from '@backstage/plugin-catalog-common';
|
|
13
13
|
import { usePermission } from '@backstage/plugin-permission-react';
|
|
14
14
|
import IconButton$1 from '@material-ui/core/IconButton';
|
|
@@ -24,7 +24,7 @@ import List from '@material-ui/icons/List';
|
|
|
24
24
|
import MoreVert from '@material-ui/icons/MoreVert';
|
|
25
25
|
import qs from 'qs';
|
|
26
26
|
import useAsync from 'react-use/lib/useAsync';
|
|
27
|
-
import { extractSchemaFromStep, useTemplateSecrets, scaffolderApiRef, useCustomFieldExtensions, SecretsContextProvider } from '@backstage/plugin-scaffolder-react';
|
|
27
|
+
import { extractSchemaFromStep, useTemplateSecrets, scaffolderApiRef, useCustomFieldExtensions, useCustomLayouts, SecretsContextProvider } from '@backstage/plugin-scaffolder-react';
|
|
28
28
|
import { withTheme } from '@rjsf/core';
|
|
29
29
|
import { Theme } from '@rjsf/material-ui';
|
|
30
30
|
import cloneDeep from 'lodash/cloneDeep';
|
|
@@ -63,7 +63,7 @@ import TreeItem from '@material-ui/lab/TreeItem';
|
|
|
63
63
|
import RefreshIcon from '@material-ui/icons/Refresh';
|
|
64
64
|
import SaveIcon from '@material-ui/icons/Save';
|
|
65
65
|
import { showPanel } from '@codemirror/view';
|
|
66
|
-
import { D as DEFAULT_SCAFFOLDER_FIELD_EXTENSIONS } from './default-
|
|
66
|
+
import { D as DEFAULT_SCAFFOLDER_FIELD_EXTENSIONS } from './default-ad36f5e9.esm.js';
|
|
67
67
|
import SettingsIcon from '@material-ui/icons/Settings';
|
|
68
68
|
import AllIcon from '@material-ui/icons/FontDownload';
|
|
69
69
|
import { DateTime, Interval } from 'luxon';
|
|
@@ -511,31 +511,32 @@ var fieldOverrides = /*#__PURE__*/Object.freeze({
|
|
|
511
511
|
|
|
512
512
|
function getReviewData(formData, uiSchemas) {
|
|
513
513
|
const reviewData = {};
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
}
|
|
529
|
-
const review = uiSchema["ui:backstage"].review;
|
|
530
|
-
if (review.mask) {
|
|
531
|
-
reviewData[key] = review.mask;
|
|
532
|
-
continue;
|
|
533
|
-
}
|
|
534
|
-
if (!review.show) {
|
|
535
|
-
continue;
|
|
536
|
-
}
|
|
514
|
+
const orderedReviewProperties = new Set(
|
|
515
|
+
uiSchemas.map((us) => us.name).concat(Object.getOwnPropertyNames(formData))
|
|
516
|
+
);
|
|
517
|
+
for (const key of orderedReviewProperties) {
|
|
518
|
+
const uiSchema = uiSchemas.find((us) => us.name === key);
|
|
519
|
+
if (!uiSchema) {
|
|
520
|
+
reviewData[key] = formData[key];
|
|
521
|
+
continue;
|
|
522
|
+
}
|
|
523
|
+
if (uiSchema["ui:widget"] === "password") {
|
|
524
|
+
reviewData[key] = "******";
|
|
525
|
+
continue;
|
|
526
|
+
}
|
|
527
|
+
if (!uiSchema["ui:backstage"] || !uiSchema["ui:backstage"].review) {
|
|
537
528
|
reviewData[key] = formData[key];
|
|
529
|
+
continue;
|
|
538
530
|
}
|
|
531
|
+
const review = uiSchema["ui:backstage"].review;
|
|
532
|
+
if (review.mask) {
|
|
533
|
+
reviewData[key] = review.mask;
|
|
534
|
+
continue;
|
|
535
|
+
}
|
|
536
|
+
if (!review.show) {
|
|
537
|
+
continue;
|
|
538
|
+
}
|
|
539
|
+
reviewData[key] = formData[key];
|
|
539
540
|
}
|
|
540
541
|
return reviewData;
|
|
541
542
|
}
|
|
@@ -566,7 +567,12 @@ const ReviewStep = (props) => {
|
|
|
566
567
|
StructuredMetadataTable,
|
|
567
568
|
{
|
|
568
569
|
dense: true,
|
|
569
|
-
metadata: getReviewData(
|
|
570
|
+
metadata: getReviewData(
|
|
571
|
+
formData,
|
|
572
|
+
getUiSchemasFromSteps(
|
|
573
|
+
steps.map(({ mergedSchema }) => ({ schema: mergedSchema }))
|
|
574
|
+
)
|
|
575
|
+
)
|
|
570
576
|
}
|
|
571
577
|
), /* @__PURE__ */ React.createElement(Box, { mb: 4 }), /* @__PURE__ */ React.createElement(Button$1, { onClick: handleBack, disabled: disableButtons }, "Back"), /* @__PURE__ */ React.createElement(Button$1, { onClick: handleReset, disabled: disableButtons }, "Reset"), /* @__PURE__ */ React.createElement(
|
|
572
578
|
Button$1,
|
|
@@ -2634,21 +2640,16 @@ const Router = (props) => {
|
|
|
2634
2640
|
)
|
|
2635
2641
|
)
|
|
2636
2642
|
];
|
|
2637
|
-
const customLayouts =
|
|
2638
|
-
outlet,
|
|
2639
|
-
(elements) => elements.selectByComponentData({
|
|
2640
|
-
key: LAYOUTS_WRAPPER_KEY
|
|
2641
|
-
}).findComponentData({
|
|
2642
|
-
key: LAYOUTS_KEY
|
|
2643
|
-
})
|
|
2644
|
-
);
|
|
2643
|
+
const customLayouts = useCustomLayouts(outlet);
|
|
2645
2644
|
const RedirectingComponent = () => {
|
|
2646
2645
|
const { templateName } = useRouteRefParams(legacySelectedTemplateRouteRef);
|
|
2647
2646
|
const newLink = useRouteRef(selectedTemplateRouteRef);
|
|
2648
2647
|
useEffect(
|
|
2649
|
-
() =>
|
|
2650
|
-
|
|
2651
|
-
|
|
2648
|
+
() => (
|
|
2649
|
+
// eslint-disable-next-line no-console
|
|
2650
|
+
console.warn(
|
|
2651
|
+
"The route /template/:templateName is deprecated, please use the new /template/:namespace/:templateName route instead"
|
|
2652
|
+
)
|
|
2652
2653
|
),
|
|
2653
2654
|
[]
|
|
2654
2655
|
);
|
|
@@ -2711,4 +2712,4 @@ const Router = (props) => {
|
|
|
2711
2712
|
};
|
|
2712
2713
|
|
|
2713
2714
|
export { Router };
|
|
2714
|
-
//# sourceMappingURL=Router-
|
|
2715
|
+
//# sourceMappingURL=Router-aedb6d68.esm.js.map
|