@spotify/backstage-plugin-soundcheck 0.19.3 → 0.19.4
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 +17 -0
- package/dist/alpha/integrations.esm.js +1 -1
- package/dist/alpha/pages.esm.js +1 -1
- package/dist/alpha.d.ts +2 -2
- package/dist/api.esm.js +1 -1
- package/dist/blueprints/IntegrationPageBlueprint.esm.js +1 -1
- package/dist/components/Badges/NoLevelBadge.esm.js +2 -2
- package/dist/components/CampaignCreatePage/CampaignCreatePage.esm.js +1 -1
- package/dist/components/CampaignForm/CampaignForm.esm.js +1 -1
- package/dist/components/CampaignForm/hooks/useCampaignForm.esm.js +1 -1
- package/dist/components/CampaignPage/CampaignPageBUI.esm.js +1 -1
- package/dist/components/CampaignPage/CampaignPageDeprecated.esm.js +1 -1
- package/dist/components/CampaignPage/CampaignStatusHistoryChart.esm.js +2 -0
- package/dist/components/CampaignPage/CampaignStatusHistoryTile.esm.js +1 -1
- package/dist/components/CampaignPage/CampaignStatusTile.esm.js +1 -1
- package/dist/components/CampaignPage/CampaignTechInsightsExplorerPage.esm.js +2 -0
- package/dist/components/CampaignsPage/CampaignListPage/CampaignListPageDeprecated.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignListPage/CampaignSummaryCard.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignListPageBUI.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignsPage.esm.js +1 -1
- package/dist/components/CampaignsPage/EditCampaignView.esm.js +1 -1
- package/dist/components/Cards/CheckStatusCard/CheckStatusCard.esm.js +2 -0
- package/dist/components/Cards/DescriptionCard/DescriptionCard.esm.js +1 -1
- package/dist/components/Cards/HistoricalCheckStatusCard/HistoricalCheckStatusCard.esm.js +2 -0
- package/dist/components/Cards/HistoricalTrackStatusCard/HistoricalTrackStatusCard.esm.js +2 -0
- package/dist/components/Cards/TrackStatusCard/TrackStatusCard.esm.js +2 -0
- package/dist/components/CertificationAccordion/CertificationAccordion.esm.js +1 -1
- package/dist/components/CertificationSidebar/CertificationSidebar.esm.js +1 -1
- package/dist/components/CertificationSidebar/CertificationSummary.esm.js +1 -1
- package/dist/components/CertificationSidebar/Check.esm.js +1 -1
- package/dist/components/CertificationSidebar/ExemptionJustificationDialog.esm.js +1 -1
- package/dist/components/CertificationSidebar/LevelSummary.esm.js +1 -1
- package/dist/components/CertificationsPage/CertificationTab.esm.js +1 -1
- package/dist/components/CertificationsPage/CertificationsPage.esm.js +1 -1
- package/dist/components/CertificationsPage/Playlist/PlaylistContext.esm.js +1 -1
- package/dist/components/CertificationsPage/Playlist/PlaylistSummary.esm.js +1 -1
- package/dist/components/Charts/chartUtils.esm.js +1 -1
- package/dist/components/CheckCreatePage/CheckCreatePage.esm.js +1 -1
- package/dist/components/CheckDetails/CheckDetails.esm.js +1 -1
- package/dist/components/CheckDetails/JustificationDetails.esm.js +1 -1
- package/dist/components/CheckDetails/ResultStateBox.esm.js +1 -1
- package/dist/components/CheckForm/CheckForm.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/AddMenuButton.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Conditions/useRuleOptions.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/RuleInputBox.esm.js +1 -1
- package/dist/components/CheckForm/Steps/CheckApplicabilityStep.esm.js +1 -1
- package/dist/components/CheckForm/Steps/CheckDetailsStep.esm.js +1 -1
- package/dist/components/CheckForm/Steps/CheckRulesStep.esm.js +1 -1
- package/dist/components/CheckForm/useCheckForm.esm.js +1 -1
- package/dist/components/CheckPage/CheckEditPage.esm.js +1 -1
- package/dist/components/CheckPage/CheckEditView.esm.js +1 -1
- package/dist/components/CheckPage/CheckEntitiesTable/CheckEntitiesTableBUI.esm.js +2 -0
- package/dist/components/CheckPage/CheckPage.esm.js +2 -0
- package/dist/components/CheckPage/CheckPageBUI.esm.js +2 -0
- package/dist/components/CheckPage/CheckPageDeprecated.esm.js +2 -0
- package/dist/components/CheckPage/CheckStatusHistoryChartBUI.esm.js +2 -0
- package/dist/components/CheckPage/CheckStatusTableBUI.esm.js +2 -0
- package/dist/components/CheckPage/ExemptionsTableBUI.esm.js +2 -0
- package/dist/components/CheckSelection/CheckPreview.esm.js +1 -1
- package/dist/components/CheckSelection/CheckSelection.esm.js +1 -1
- package/dist/components/CheckStatusBar/CheckStatusBarBUI.esm.js +1 -1
- package/dist/components/CheckTemplatesPage/CheckTemplatesPage.esm.js +1 -1
- package/dist/components/CheckTemplatesPage/CheckTemplatesPageBUI.esm.js +2 -0
- package/dist/components/CheckTemplatesPage/CheckTemplatesPageDeprecated.esm.js +2 -0
- package/dist/components/CheckTemplatesPage/TemplateCategoryBUI.esm.js +2 -0
- package/dist/components/ChecksPage/CheckListPage/CheckListPageDeprecated.esm.js +1 -1
- package/dist/components/ChecksPage/CheckListPage/CheckSummaryCard.esm.js +1 -1
- package/dist/components/ChecksPage/ChecksListPageBUI.esm.js +1 -1
- package/dist/components/ChecksTable/ChecksTable.esm.js +1 -1
- package/dist/components/CollapsablePanel/CollapsablePanel.esm.js +1 -1
- package/dist/components/CollectorPage/CollectorDetailsPage.esm.js +1 -1
- package/dist/components/CollectorPage/CollectorDetailsPageBUI.esm.js +2 -0
- package/dist/components/CollectorPage/CollectorDetailsPageDeprecated.esm.js +2 -0
- package/dist/components/CollectorPage/CollectorFactTableBUI.esm.js +2 -0
- package/dist/components/CollectorPage/CollectorPage.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/AzureDevOps/AzureDevOpsConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/BigQuery/BigQueryConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Catalog/CatalogConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/DataDog/DataDogConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/DataRegistry/DataRegistryConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Github/GithubConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Gitlab/GitlabConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/HTTP/HttpConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/HTTP/HttpStatusesInput.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Jira/JiraConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Kubernetes/KubernetesConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/NewRelic/NewRelicConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/PagerDuty/PagerDutyConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SCM/ScmConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SonarQube/SonarQubeConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/DependantCheckCard.esm.js +2 -0
- package/dist/components/CollectorsPage/CollectorListPage/{CollectorListPage.esm.js → CollectorListPageDeprecated.esm.js} +2 -2
- package/dist/components/CollectorsPage/CollectorListPage/CollectorSummaryCard.esm.js +1 -1
- package/dist/components/CollectorsPage/CollectorsPage.esm.js +1 -1
- package/dist/components/CollectorsPage/IntegrationLogoBUI.esm.js +2 -0
- package/dist/components/CollectorsPage/IntegrationsListPageBUI.esm.js +2 -0
- package/dist/components/CustomCell/CustomCell.esm.js +1 -1
- package/dist/components/DescriptionCell/DescriptionCell.esm.js +2 -0
- package/dist/components/DocLinkButton/DocLinkButton.esm.js +2 -0
- package/dist/components/EmptyState/EmptyStateBUI.esm.js +1 -1
- package/dist/components/EmptyState/EmptyStateNoCampaigns.esm.js +1 -1
- package/dist/components/EmptyState/EmptyStateNoChecks.esm.js +1 -1
- package/dist/components/EmptyState/EmptyStateNoTracks.esm.js +1 -1
- package/dist/components/EntitiesAutocompletePicker/EntitiesAutocompletePicker.esm.js +1 -1
- package/dist/components/EntitySoundcheckCard/Card.esm.js +1 -1
- package/dist/components/ExpandableSection/ExpandableSection.esm.js +1 -1
- package/dist/components/FactExplorer/FactExplorerDialogBUI.esm.js +2 -0
- package/dist/components/FactExplorer/useFactOptions.esm.js +1 -1
- package/dist/components/Filter/EntityAutocompletePicker.esm.js +1 -1
- package/dist/components/Filter/FilterComponent.esm.js +1 -1
- package/dist/components/FilterMenu/FilterMenu.esm.js +2 -0
- package/dist/components/FilterSidebar/StateFilter.esm.js +1 -1
- package/dist/components/FormControlledAutocomplete/FormControlledAutocomplete.esm.js +1 -1
- package/dist/components/FormControlledAutocomplete/FormControlledMultipleAutocomplete.esm.js +1 -1
- package/dist/components/FormMarkdownInput/FormMarkdownInput.esm.js +1 -1
- package/dist/components/FormattedPreview/FormattedPreview.esm.js +1 -1
- package/dist/components/GroupHierarchySelector/GroupHierarchyGroupInfo.esm.js +1 -1
- package/dist/components/GroupHierarchySelector/GroupHierarchySelector.esm.js +1 -1
- package/dist/components/GroupSelectorBUI/GroupSelectList.esm.js +2 -0
- package/dist/components/GroupSelectorBUI/GroupSelectionHistory.esm.js +2 -0
- package/dist/components/GroupSelectorBUI/GroupSelectorBUI.esm.js +2 -0
- package/dist/components/GroupSelectorBUI/GroupTag.esm.js +2 -0
- package/dist/components/GroupSelectorBUI/useGroupHistory.esm.js +2 -0
- package/dist/components/GroupSelectorBUI/usePreviousSelectedGroups.esm.js +2 -0
- package/dist/components/HierarchicalTechInsightsPage/HierarchicalTechInsightsPage.esm.js +1 -1
- package/dist/components/HierarchicalTechInsightsPage/HierarchyTable.esm.js +1 -1
- package/dist/components/HierarchicalTechInsightsPage/SelectedNodeSidebar.esm.js +1 -1
- package/dist/components/HierarchicalTechInsightsPage/visualizations/hierarchyToNivo.esm.js +1 -1
- package/dist/components/ImportExportPanel/ImportExportPanelBUI.esm.js +2 -0
- package/dist/components/ImportExportPanel/{ImportExportPanel.esm.js → ImportExportPanelDeprecated.esm.js} +2 -2
- package/dist/components/LevelUpParty/LevelUpParty.esm.js +1 -1
- package/dist/components/LevelsTable/CheckRowContent.esm.js +1 -1
- package/dist/components/ListPageCustomActions/ListPageCustomActions.esm.js +1 -1
- package/dist/components/Menus/SimpleMenu.esm.js +2 -0
- package/dist/components/Menus/useCampaignActions.esm.js +2 -0
- package/dist/components/Menus/useCheckActions.esm.js +2 -0
- package/dist/components/Menus/useTrackActions.esm.js +2 -0
- package/dist/components/OverviewTable/Cell/CheckCellTooltip.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/CheckLabelCell.esm.js +1 -1
- package/dist/components/OverviewTable/OverviewTable.esm.js +1 -1
- package/dist/components/OverviewTable/ResultsTable.esm.js +1 -1
- package/dist/components/PageCustomActions/PageCustomActions.esm.js +1 -1
- package/dist/components/PassRateTable/PassRateTable.esm.js +1 -1
- package/dist/components/QuickstartPage/QuickstartPage.esm.js +2 -2
- package/dist/components/RefetchingIndicator/RefetchingIndicator.esm.js +1 -1
- package/dist/components/Router.esm.js +1 -1
- package/dist/components/RoutingPage/RoutingMainMenu.esm.js +2 -0
- package/dist/components/RoutingPage/RoutingPage.esm.js +1 -1
- package/dist/components/RoutingPage/RoutingPageBUI.esm.js +2 -0
- package/dist/components/RoutingPage/RoutingPageDeprecated.esm.js +2 -0
- package/dist/components/RoutingPage/RoutingPageWrapper.esm.js +2 -0
- package/dist/components/RoutingPage/RoutingPageWrapperBUI.esm.js +2 -0
- package/dist/components/RoutingPage/RoutingPageWrapperDeprecated.esm.js +2 -0
- package/dist/components/RoutingPage/index.esm.js +1 -1
- package/dist/components/SendCampaignNotificationDialog/SendCampaignNotificationDialog.esm.js +1 -1
- package/dist/components/SoundcheckHeader/SoundcheckHeaderBUI.esm.js +2 -0
- package/dist/components/SoundcheckMarkdownContent/ComponentRenders.esm.js +1 -1
- package/dist/components/SoundcheckMarkdownContent/SoundcheckMarkdownContentBUI.esm.js +2 -0
- package/dist/components/SoundcheckMarkdownContent/SoundcheckMarkdownContentDeprecated.esm.js +2 -0
- package/dist/components/StatusBar/StatusBar.esm.js +2 -0
- package/dist/components/SummaryCard/SummaryCard.esm.js +1 -1
- package/dist/components/TableRowWithOwner/TableRowWithOwner.esm.js +1 -1
- package/dist/components/TechHealth/Filters/FacetFilter.esm.js +1 -1
- package/dist/components/TechHealth/Filters/useFacetOptions.esm.js +1 -1
- package/dist/components/TechHealth/Loading/TechHealthLoading.esm.js +1 -1
- package/dist/components/TechHealth/TechHealth.esm.js +1 -1
- package/dist/components/TechHealthSummary/SummaryAggregationsProvider.esm.js +1 -1
- package/dist/components/TechHealthTabs/CampaignResultsTab/CampaignResultsTab.esm.js +1 -1
- package/dist/components/TechHealthTabs/CheckResultsTab/CheckResultsTab.esm.js +1 -1
- package/dist/components/TechHealthTabs/EntityResultsTab/EntityResultsTab.esm.js +1 -1
- package/dist/components/TechHealthTabs/GroupResultsTab/GroupResultsTab.esm.js +1 -1
- package/dist/components/TechHealthTabs/NameColumn.esm.js +1 -1
- package/dist/components/TechHealthTabs/TrackResultsTab/TrackResultsTab.esm.js +1 -1
- package/dist/components/TechInsights/SummaryTiles.esm.js +1 -1
- package/dist/components/TechInsights/SummaryTilesBUI.esm.js +2 -0
- package/dist/components/TechInsights/TechInsightsPage.esm.js +1 -1
- package/dist/components/TechInsights/TechInsightsPageBUI.esm.js +2 -0
- package/dist/components/TechInsights/TechInsightsPageDeprecated.esm.js +2 -0
- package/dist/components/TechInsights/TechInsightsTableBUI.esm.js +1 -1
- package/dist/components/TechInsights/TechInsightsTableView.esm.js +1 -1
- package/dist/components/TechInsightsExplorerTable/TechInsightsExplorerTable.esm.js +2 -0
- package/dist/components/TechInsightsGroupSelector/TechInsightsGroupSelector.esm.js +1 -1
- package/dist/components/TimePeriodBar/TimePeriodBar.esm.js +1 -1
- package/dist/components/TimePeriodBar/TimePeriodBarBUI.esm.js +2 -0
- package/dist/components/TopAndBottomPerformingTeams/TopAndBottomPerformingTeams.esm.js +2 -0
- package/dist/components/TopFailingChecksTable/TopFailingChecksTableBUI.esm.js +1 -1
- package/dist/components/TrackCreatePage/TrackCreatePage.esm.js +1 -1
- package/dist/components/TrackEditPage/TrackEditPage.esm.js +1 -1
- package/dist/components/TrackEditPage/TrackEditView.esm.js +1 -1
- package/dist/components/TrackForm/TrackForm.esm.js +1 -1
- package/dist/components/TrackForm/utils/useTrackForm.esm.js +1 -1
- package/dist/components/TrackPage/TrackEntitiesTable/TrackEntitiesTableBUI.esm.js +1 -1
- package/dist/components/TrackPage/TrackHistoryChartBUI.esm.js +2 -0
- package/dist/components/TrackPage/TrackPageBUI.esm.js +1 -1
- package/dist/components/TrackPage/TrackPageDeprecated.esm.js +1 -1
- package/dist/components/TrackPage/TrackStatusBarBUI.esm.js +2 -0
- package/dist/components/TrackPage/TrackStatusTableBUI.esm.js +2 -0
- package/dist/components/TrackPage/TrackTechInsightsExplorerPage.esm.js +2 -0
- package/dist/components/TrackSelection/TrackSelection.esm.js +1 -1
- package/dist/components/TracksPage/TrackListPage/TrackListPageDeprecated.esm.js +1 -1
- package/dist/components/TracksPage/TrackListPage/TrackSummaryCard.esm.js +1 -1
- package/dist/components/TracksPage/TracksListPageBUI.esm.js +1 -1
- package/dist/components/TracksPage/TracksPage.esm.js +1 -1
- package/dist/graphql/generated/index.esm.js +1 -0
- package/dist/hooks/filters/useFilters.esm.js +2 -0
- package/dist/hooks/groups/useGroupOptions.esm.js +1 -1
- package/dist/hooks/heirarchy/useGroupHierarchy.esm.js +1 -1
- package/dist/hooks/tracks/useTracksApplicableToGroup.esm.js +1 -1
- package/dist/hooks/usePagination.esm.js +1 -1
- package/dist/hooks/useSortTableLocalStorage.esm.js +2 -0
- package/dist/routes.esm.js +1 -1
- package/dist/utils/charts.esm.js +1 -1
- package/dist/utils/formStyles.esm.js +1 -1
- package/dist/utils/time.esm.js +1 -1
- package/package.json +21 -20
- package/dist/components/Cards/CurrentStatusCard/CurrentStatusCard.esm.js +0 -2
- package/dist/components/Cards/CurrentStatusCard/CurrentStatusCardRow.esm.js +0 -2
- package/dist/components/CheckPage/CheckInsightsPage.esm.js +0 -2
- package/dist/components/CheckStatusBar/CheckStatusBarCell.esm.js +0 -2
- package/dist/components/GroupHierarchySelector/usePreviousSelectedGroups.esm.js +0 -2
- package/dist/components/SoundcheckMarkdownContent/SoundcheckMarkdownContent.esm.js +0 -2
- package/dist/hooks/checks/useCheckStatusTotals.esm.js +0 -2
- package/dist/utils/checks.esm.js +0 -2
- /package/dist/{components/GroupHierarchySelector → utils}/getAllOwnedEntityCount.esm.js +0 -0
package/dist/utils/charts.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const
|
|
1
|
+
import{sum as v}from"lodash";const g="check-pass-rates-summary.csv",y="track-pass-rates-summary.csv",C="entity-pass-rates-summary.csv",R="team-pass-rates-summary.csv",d="check-pass-rates.csv",f="track-pass-rates.csv",h="entity-pass-rates.csv",k="team-pass-rates.csv",F="campaign-track-pass-rates.csv",P=(a,e=2)=>{if(a.length===0)return[];const o=a.filter(s=>s>0),r=v(o);if(r===0)return a.map(()=>0);const t=a.map(s=>s>0?s/r*100:0),n=t.filter(s=>s>0&&s<e).length,m=n*e;if(n===0||m>=100)return t;const p=100-m,c=t.filter(s=>s>=e).reduce((s,l)=>s+l,0);return t.map(s=>s===0?0:s<e?e:c>0?s/c*p:s)},i=["Passed","Failed","Warning","Exempt","Error","Not Reported"];function u(a){return a==="Not Reported"?"notReported":a.toLowerCase()}function S(){return i.map(a=>u(a))}function b(a){return{passed:"rgb(76, 175, 80)",failed:"rgb(244, 67, 54)",warning:"rgb(255, 152, 0)",exempt:"rgb(33, 150, 243)",error:"rgb(246, 104, 94)",notReported:"rgb(97, 97, 97)"}[a]}export{P as calculateAdjustedBarWidths,F as campaignTrackPassRatesCsvFilename,i as chartStatuses,d as checkPassRatesCsvFilename,g as checkPassRatesSummaryCsvFilename,h as entityPassRatesCsvFilename,C as entityPassRatesSummaryCsvFilename,b as getChartStatusColor,u as getChartStatusKey,S as getChartStatusKeys,k as groupPassRatesCsvFilename,R as groupPassRatesSummaryCsvFilename,f as trackPassRatesCsvFilename,y as trackPassRatesSummaryCsvFilename};
|
|
2
2
|
//# sourceMappingURL=charts.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{makeStyles as
|
|
1
|
+
import{makeStyles as t}from"@material-ui/core/styles";const i=t(a=>({root:{overflow:"hidden",display:"flex"},card:{padding:a.spacing(3),display:"flex",gap:a.spacing(2.5)},buttonChoices:{margin:"20px 0","& button":{marginRight:"10px"}},backButton:{color:a.palette.text.primary},filters:{display:"flex",gap:a.spacing(1),flexDirection:"column"},stepLabel:{cursor:"pointer !important"},stepper:{width:"100%"},formWrapper:{paddingTop:a.spacing(2),maxWidth:1920},formWrapperBUI:{padding:"0 var(--bui-space-4)",maxWidth:1920}}));export{i as formStyles};
|
|
2
2
|
//# sourceMappingURL=formStyles.esm.js.map
|
package/dist/utils/time.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const i=1,
|
|
1
|
+
const i=1,n=31536e3,a=t=>{if(t){if(isNaN(t))return"Invalid value";if(t<1)return"Minimum of 1";if(t>31536e3)return"Maximum exceeded"}else return"Enter a value";return!0};function u(t){if(!t)return"";const r=!isNaN(t)&&!isNaN(parseFloat(t));let e;return r&&String(t).length>=10?e=new Date(Number(t)):e=new Date(t),isNaN(e.getTime())?String(t):e.toLocaleDateString()}export{n as MAX_TIME_UNIT_VALUE,i as MIN_TIME_UNIT_VALUE,u as formatTimestamp,a as validateTimeUnitValue};
|
|
2
2
|
//# sourceMappingURL=time.esm.js.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spotify/backstage-plugin-soundcheck",
|
|
3
3
|
"description": "Ensure quality, reliability and alignment of software development with codified checks and guidance.",
|
|
4
|
-
"version": "0.19.
|
|
4
|
+
"version": "0.19.4",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"homepage": "https://backstage.spotify.com",
|
|
7
7
|
"main": "./dist/index.esm.js",
|
|
@@ -60,16 +60,16 @@
|
|
|
60
60
|
"dependencies": {
|
|
61
61
|
"@backstage/catalog-client": "^1.12.0",
|
|
62
62
|
"@backstage/catalog-model": "^1.7.5",
|
|
63
|
-
"@backstage/config": "^1.3.
|
|
64
|
-
"@backstage/core-compat-api": "^0.5.
|
|
65
|
-
"@backstage/core-components": "^0.18.
|
|
66
|
-
"@backstage/core-plugin-api": "^1.11.
|
|
67
|
-
"@backstage/frontend-plugin-api": "^0.12.
|
|
68
|
-
"@backstage/plugin-catalog-react": "^1.21.
|
|
69
|
-
"@backstage/plugin-permission-react": "^0.4.
|
|
70
|
-
"@backstage/plugin-scaffolder-react": "^1.19.
|
|
63
|
+
"@backstage/config": "^1.3.5",
|
|
64
|
+
"@backstage/core-compat-api": "^0.5.3",
|
|
65
|
+
"@backstage/core-components": "^0.18.2",
|
|
66
|
+
"@backstage/core-plugin-api": "^1.11.1",
|
|
67
|
+
"@backstage/frontend-plugin-api": "^0.12.1",
|
|
68
|
+
"@backstage/plugin-catalog-react": "^1.21.2",
|
|
69
|
+
"@backstage/plugin-permission-react": "^0.4.37",
|
|
70
|
+
"@backstage/plugin-scaffolder-react": "^1.19.2",
|
|
71
71
|
"@backstage/types": "^1.2.2",
|
|
72
|
-
"@backstage/ui": "^0.
|
|
72
|
+
"@backstage/ui": "^0.8.1",
|
|
73
73
|
"@date-io/luxon": "^1.0.0",
|
|
74
74
|
"@hookform/resolvers": "^4.0.0",
|
|
75
75
|
"@material-ui/core": "^4.12.2",
|
|
@@ -84,8 +84,8 @@
|
|
|
84
84
|
"@nivo/sunburst": "^0.99.0",
|
|
85
85
|
"@nivo/treemap": "^0.99.0",
|
|
86
86
|
"@remixicon/react": "^4.6.0",
|
|
87
|
-
"@spotify/backstage-plugin-core": "^0.8.
|
|
88
|
-
"@spotify/backstage-plugin-soundcheck-common": "^0.19.
|
|
87
|
+
"@spotify/backstage-plugin-core": "^0.8.11",
|
|
88
|
+
"@spotify/backstage-plugin-soundcheck-common": "^0.19.2",
|
|
89
89
|
"@tanstack/react-query": "^4.6.1",
|
|
90
90
|
"@uiw/react-md-editor": "3.20.10",
|
|
91
91
|
"classnames": "^2.3.2",
|
|
@@ -102,6 +102,7 @@
|
|
|
102
102
|
"js-yaml": "^4.1.0",
|
|
103
103
|
"lodash": "^4.17.21",
|
|
104
104
|
"luxon": "^3.1.1",
|
|
105
|
+
"pako": "^2.1.0",
|
|
105
106
|
"prismjs": "^1.27.0",
|
|
106
107
|
"react-aria-components": "^1.10.1",
|
|
107
108
|
"react-circular-progressbar": "^2.1.0",
|
|
@@ -126,21 +127,21 @@
|
|
|
126
127
|
"react-router-dom": "6.0.0-beta.0 || ^6.3.0"
|
|
127
128
|
},
|
|
128
129
|
"devDependencies": {
|
|
129
|
-
"@backstage/cli": "^0.34.
|
|
130
|
-
"@backstage/core-app-api": "^1.19.
|
|
131
|
-
"@backstage/dev-utils": "^1.1.
|
|
130
|
+
"@backstage/cli": "^0.34.4",
|
|
131
|
+
"@backstage/core-app-api": "^1.19.1",
|
|
132
|
+
"@backstage/dev-utils": "^1.1.16",
|
|
132
133
|
"@backstage/e2e-test-utils": "^0.1.1",
|
|
133
|
-
"@backstage/frontend-test-utils": "^0.
|
|
134
|
-
"@backstage/plugin-permission-common": "^0.9.
|
|
135
|
-
"@backstage/test-utils": "^1.7.
|
|
134
|
+
"@backstage/frontend-test-utils": "^0.4.0",
|
|
135
|
+
"@backstage/plugin-permission-common": "^0.9.2",
|
|
136
|
+
"@backstage/test-utils": "^1.7.12",
|
|
136
137
|
"@graphql-codegen/cli": "^5.0.0",
|
|
137
138
|
"@graphql-codegen/typescript": "^4.0.0",
|
|
138
139
|
"@graphql-codegen/typescript-graphql-request": "^6.0.0",
|
|
139
140
|
"@graphql-codegen/typescript-operations": "^4.0.0",
|
|
140
141
|
"@playwright/test": "^1.32.3",
|
|
141
142
|
"@sp4b-dev/test-utils": "^0.0.13",
|
|
142
|
-
"@spotify/backstage-plugin-core-common": "^0.6.
|
|
143
|
-
"@spotify/backstage-plugin-soundcheck-node": "^0.10.
|
|
143
|
+
"@spotify/backstage-plugin-core-common": "^0.6.10",
|
|
144
|
+
"@spotify/backstage-plugin-soundcheck-node": "^0.10.2",
|
|
144
145
|
"@testing-library/jest-dom": "^6.0.0",
|
|
145
146
|
"@testing-library/react": "^14.0.0",
|
|
146
147
|
"@testing-library/user-event": "^14.0.0",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsxs as a,jsx as t}from"react/jsx-runtime";import{Card as o,CardHeader as n,Text as d,CardBody as i,Box as c,Flex as s}from"@backstage/ui";import"../../CheckStatusBar/CheckStatusBar.esm.js";import{CheckStatusBarBUI as p}from"../../CheckStatusBar/CheckStatusBarBUI.esm.js";import"lodash";import"../../CustomCell/CustomCell.esm.js";import{CurrentStatusCardRow as e}from"./CurrentStatusCardRow.esm.js";const m=({totals:r,children:l})=>a(o,{children:[t(n,{children:t(d,{color:"secondary",children:"Current Status"})}),a(i,{children:[t(c,{mb:"6",children:t(p,{passedPercent:r.passedPercent,failedPercent:r.failedPercent,warningPercent:r.warningPercent})}),a(s,{direction:"column",gap:"1",mb:"3",children:[t(e,{label:"passed",percent:r.passedPercent,total:r.passedTotal,overallTotal:r.total}),t(e,{label:"failed",percent:r.failedPercent,total:r.failedTotal,overallTotal:r.total}),t(e,{label:"warning",percent:r.warningPercent,total:r.warningTotal,overallTotal:r.total})]}),l]})]});export{m as CurrentStatusCard};
|
|
2
|
-
//# sourceMappingURL=CurrentStatusCard.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsxs as r,jsx as a}from"react/jsx-runtime";import{Flex as n,Box as i,Text as o}from"@backstage/ui";import{makeStyles as m}from"@material-ui/core";import"../../CheckStatusBar/CheckStatusBar.esm.js";import{CheckStatusBarBUI as p}from"../../CheckStatusBar/CheckStatusBarBUI.esm.js";import"lodash";import"../../CustomCell/CustomCell.esm.js";const h=m(()=>({checkStatusBar:{width:"var(--bui-space-6)"}})),f=({label:l,percent:t,total:c,overallTotal:s})=>{const d=h();let e;return l==="passed"?e={passedPercent:t}:l==="failed"?e={failedPercent:t}:e={warningPercent:t},r(n,{justify:"between",children:[r(n,{align:"center",children:[a(i,{className:d.checkStatusBar,children:a(p,{...e})}),a(i,{children:r(o,{variant:"body-small",children:[t,"% ",l]})})]}),a(i,{children:r(o,{variant:"body-small",children:[c," of ",s]})})]})};export{f as CurrentStatusCardRow};
|
|
2
|
-
//# sourceMappingURL=CurrentStatusCardRow.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as i,jsxs as u}from"react/jsx-runtime";import{useRouteRef as pe}from"@backstage/core-plugin-api";import{EntityRefLink as he}from"@backstage/plugin-catalog-react";import{usePermission as K}from"@backstage/plugin-permission-react";import{makeStyles as fe,useTheme as ue,Button as ge,Typography as X,Tabs as ye,Tab as Y,Box as Z}from"@material-ui/core";import{soundcheckCheckReadPermission as ke,soundcheckCheckUpdatePermission as Ce,toEntityFilterQuery as M,combineEntityFilterQueries as Se}from"@spotify/backstage-plugin-soundcheck-common";import w from"lodash/isEqual";import{useMemo as a,useCallback as W,useState as v,useEffect as ee}from"react";import{useSearchParams as xe,useParams as be,useNavigate as ve}from"react-router-dom";import"@backstage/catalog-model";import"@tanstack/react-query";import"../../api.esm.js";import"../../hooks/graphqlKeys.esm.js";import{useCheck as we}from"../../hooks/checks/useCheck.esm.js";import"../../hooks/useSoundcheckAlert.esm.js";import{useTrack as Ee}from"../../hooks/tracks/useTrack.esm.js";import"../../hooks/useConfirmationModal.esm.js";import{useCheckStatus as Ne}from"../../hooks/aggregations/useCheckStatus.esm.js";import{useLCPReporting as Ie}from"../../hooks/useLCPReporting.esm.js";import{useLoadTimeReporting as Le}from"../../hooks/useLoadTimeReporting.esm.js";import{checkEditRouteRef as Re}from"../../routes.esm.js";import{toFilter as Te}from"../../utils/helpers.esm.js";import{CheckStatusBar as Fe}from"../CheckStatusBar/CheckStatusBar.esm.js";import"../CheckStatusBar/CheckStatusBarBUI.esm.js";import"@backstage/ui";import"lodash";import"../CustomCell/CustomCell.esm.js";import{FilterSidebar as De}from"../FilterSidebar/FilterSidebar.esm.js";import{StateFilter as Be}from"../FilterSidebar/StateFilter.esm.js";import{LoadingIndicator as Pe}from"../LoadingIndicator/LoadingIndicator.esm.js";import{PageWarningMessage as te}from"../PageWarningMessage/PageWarningMessage.esm.js";import"../SoundcheckHeader/SoundcheckHeader.esm.js";import"../SoundcheckHeader/SoundcheckHeaderContext.esm.js";import{useHeader as Ae}from"../SoundcheckHeader/useHeader.esm.js";import{SoundcheckMarkdownContent as je}from"../SoundcheckMarkdownContent/SoundcheckMarkdownContent.esm.js";import"@backstage/core-components";import"react-markdown";import"rehype-raw";import"remark-gfm";import"../TechHealth/Filters/types.esm.js";import"../TechHealth/Filters/FacetFilter.esm.js";import"../TechHealth/Filters/FilterProvider.esm.js";import"../TechHealth/Filters/Filters.esm.js";import"../TechHealth/Filters/FiltersHeader.esm.js";import"../TechHealth/Filters/FiltersSection.esm.js";import"../../contexts/TrackFormContext.esm.js";import"../../contexts/CheckFormContext.esm.js";import"../../contexts/CampaignFormContext.esm.js";import"../../contexts/UserProvider.esm.js";import{parseNumberOfDays as Oe}from"../TechHealth/Filters/utils.esm.js";import{CheckEntitiesTable as Me}from"./CheckEntitiesTable/CheckEntitiesTable.esm.js";import{CheckStatusHistoryChart as We}from"./CheckStatusHistoryChart.esm.js";import{CheckStatusTable as ze}from"./CheckStatusTable.esm.js";import{ExemptionsTable as He}from"./ExemptionsTable.esm.js";function $e(t,y){for(const l of t.levels)for(const r of l.checks)if(r.id===y)return r;return null}const Qe=fe(t=>({root:{height:"100%"},pageContent:{display:"flex",minHeight:`calc(100vh - ${t.spacing(15)}px)`,borderTop:`1px solid ${t.palette.divider}`,height:"100%"},mainContentArea:{flex:1,display:"flex",flexDirection:"column",minWidth:0},editButton:{marginLeft:"auto"},statusContainer:{borderBottom:`1px solid ${t.palette.divider}`,padding:t.spacing(3,0,2,3)},statusCards:{display:"flex",gap:t.spacing(2)},currentStatusSection:{width:"325px",minWidth:"325px",flex:0,display:"flex",flexDirection:"column"},historicalStatusSection:{flex:1,flexShrink:1,flexGrow:1,flexBasis:"auto",minWidth:"150px",display:"flex",flexDirection:"column"},statusTitle:{fontWeight:"bold",fontSize:"1.1rem",lineHeight:`${t.typography.h5.fontSize}px`,cursor:"default",marginBottom:t.spacing(2)},headerDescription:{fontSize:t.typography.body2.fontSize,margin:t.spacing(.5,0,0),"& p":{margin:0},"& a":{color:"inherit",textDecoration:"underline"}},entitiesContainer:{padding:t.spacing(2,3,3,3)},ownerLink:{"& span":{color:"inherit","&:hover":{textDecoration:"underline"}}}})),Ue=()=>{const[t,y]=xe(),{trackId:l,checkId:r}=be(),s=a(()=>t.getAll("states"),[t]),c=a(()=>t.getAll("owners"),[t]),m=a(()=>t.getAll("lifecycles"),[t]),d=a(()=>t.getAll("types"),[t]),p=a(()=>t.getAll("systems"),[t]),I=a(()=>Oe(t.get("numberOfDays")),[t]),z=a(()=>({routeName:"soundcheck-check-insights",additionalAttributes:{checkId:r||"",trackId:l||"",filtersApplied:c.length+m.length+d.length+p.length+s.length,ownersFilter:c.join(",")||"",lifecyclesFilter:m.join(",")||"",typesFilter:d.join(",")||"",systemsFilter:p.join(",")||"",statesFilter:s.join(",")||"",numberOfDays:I}}),[r,l,c,m,d,p,s,I]),{reportContentLoaded:H}=Le(z),{reporter:ie}=Ie(z),o=Qe(),L=W(()=>c.map(e=>({label:e,value:e})),[c]),[k,R]=v(m),[C,T]=v(L()),[S,F]=v(d),[x,D]=v(p),[b,B]=v(s);ee(()=>{T(L()),R(m),F(d),D(p),B(s)},[c,m,d,p,s,L]);const re=a(()=>{const e={owners:!w(C,c),lifecycles:!w(k,m),types:!w(S,d),systems:!w(x,p),states:!w(b,s)};return Object.values(e).some(Boolean)},[C,c,k,m,S,d,x,p,b,s]),oe=W(()=>{const e=new URLSearchParams(t);e.delete("lifecycles"),e.delete("owners"),e.delete("types"),e.delete("systems"),e.delete("states"),k.length>0&&k.forEach(n=>e.append("lifecycles",n)),C.length>0&&C.forEach(n=>e.append("owners",typeof n=="string"?n:n.value)),S.length>0&&S.forEach(n=>e.append("types",n)),x.length>0&&x.forEach(n=>e.append("systems",n)),b.length>0&&b.forEach(n=>e.append("states",n)),y(e)},[t,k,C,S,x,b,y]),se=W(()=>{R([]),T([]),F([]),D([]),B([]);const e=new URLSearchParams(t);e.delete("lifecycles"),e.delete("owners"),e.delete("types"),e.delete("systems"),e.delete("states"),y(e)},[t,y]),P=Te({lifecycles:m,owners:c,types:d,systems:p}),{data:g,isLoading:E}=Ee(l),{data:h,isLoading:N}=we(r),{loading:$,allowed:A}=K({permission:ke,resourceRef:r}),f=a(()=>h??g?.levels.flatMap(e=>e.checks).find(e=>e.id===r),[h,r,g?.levels]),{loading:Q,allowed:U}=K({permission:Ce,resourceRef:r}),V=ve(),G=pe(Re),ne=ue();let j;if(r)if(g){const e=M(g.filter),n=M($e(g,r)?.filter);j=Se(e,n)}else f?.filter&&(j=M(f.filter));const{data:q,isLoading:J}=Ne({checkId:r,trackId:l,filter:P,states:s?.length?s:void 0},!!r),ae=a(()=>h?.ownerEntityRef?i(he,{color:"inherit",entityRef:h.ownerEntityRef,className:o.ownerLink}):null,[h?.ownerEntityRef,o.ownerLink]),le=a(()=>!Q&&U&&h?.isEditable?i(ge,{className:o.editButton,variant:"contained",color:"primary",onClick:()=>{V(G({checkId:h.id}))},children:"Edit Check"}):null,[U,h?.id,h?.isEditable,o.editButton,G,Q,V]),ce=a(()=>f?.description?i(je,{className:o.headerDescription,content:f.description}):null,[o.headerDescription,f?.description]);Ae({title:f?.name??r??"Soundcheck",description:ce,customSubtitle:ae,sectionRight:le});const me=a(()=>!!f&&!$&&!A,[A,f,$]),[O,de]=v(0),_=ie?.getLCPValue();return ee(()=>{!N&&!J&&(!l||!E)&&H({lcp:_})},[N,J,E,l,H,_]),u("div",{children:[i(te,{entityName:"track",entityId:l,showNotFound:!!l&&!E&&!g}),i(te,{entityName:"check",entityId:r,showCannotView:me}),(N||!!l&&E)&&i(Pe,{}),!N&&A&&i("div",{className:o.root,children:u("div",{className:o.pageContent,children:[i(De,{trackFilter:j,stagedTypes:S,stagedLifecycles:k,stagedOwners:C,stagedSystems:x,onTypesChange:F,onLifecyclesChange:R,onOwnersChange:T,onSystemsChange:D,onApplyFilters:oe,onClearFilters:se,hasFilterChanges:re,children:i(Be,{states:s,stagedStates:b,onStagedStatesChange:B})}),u("div",{className:o.mainContentArea,children:[i("div",{className:o.statusContainer,children:u("div",{className:o.statusCards,children:[u("div",{className:o.currentStatusSection,children:[i(X,{className:o.statusTitle,children:"Current Status"}),i("div",{style:{width:"100%",height:30,display:"flex",alignItems:"flex-start",marginBottom:ne.spacing(2)},children:i(Fe,{status:q,states:s})}),i("div",{children:i(ze,{checkStatus:q,states:s})})]}),u("div",{className:o.historicalStatusSection,children:[i(X,{className:o.statusTitle,children:"Historical Status"}),i("div",{style:{height:"100%"},children:i(We,{checkId:r,trackId:l,filter:P,states:s,numberOfDays:I})})]})]})}),u("div",{className:o.entitiesContainer,children:[u(ye,{value:O,onChange:(e,n)=>de(n),indicatorColor:"primary",textColor:"primary","aria-label":"Entities and Exemptions Tabs",children:[i(Y,{label:"Entities"}),i(Y,{label:"Exemptions"})]}),i(Z,{hidden:O!==0,children:i(Me,{checkId:r,trackId:g?.id,filter:P,states:s})}),i(Z,{hidden:O!==1,children:i(He,{checkId:r})})]})]})]})})]})};export{Ue as CheckInsightsPage};
|
|
2
|
-
//# sourceMappingURL=CheckInsightsPage.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Flex as n,Text as s}from"@backstage/ui";import{isNumber as c}from"lodash";import{CustomCell as i}from"../CustomCell/CustomCell.esm.js";import{CheckStatusBarBUI as m}from"./CheckStatusBarBUI.esm.js";const a=({passPercentage:r})=>{const o=c(r)?100-r:0;return e(i,{children:t(n,{align:"center",gap:"3",children:[t(s,{children:[r,"%"]}),e(m,{passedPercent:r,failedPercent:o,warningPercent:0})]})})};export{a as CheckStatusBarCell};
|
|
2
|
-
//# sourceMappingURL=CheckStatusBarCell.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{useCallback as n}from"react";import u from"react-use/lib/useLocalStorage";const c=10,i=l=>{const[o,s]=u("soundcheck-previously-selected-groups",[]),p=n(r=>{const e=o??[],t=e.indexOf(r);t>-1&&e.splice(t,1),e.unshift(r),e.length>c&&e.pop(),s(e)},[o,s]);return{groupEntityRefs:o,addGroup:p}};export{i as usePreviousSelectedGroups};
|
|
2
|
-
//# sourceMappingURL=usePreviousSelectedGroups.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{makeStyles as n}from"@material-ui/core";import l from"react-markdown";import i from"rehype-raw";import p from"remark-gfm";import{components as m}from"./ComponentRenders.esm.js";const t=["h1","h2","h3","h4","h5","h6","p","div","span","a","img","table","th","td","tr","thead","tbody","ol","li","ul","details","summary","br","hr","del","pre","code","strong","em","blockquote","input"],o=n(r=>({markdown:{"& table":{borderCollapse:"collapse",border:`1px solid ${r.palette.border}`},"& th, & td":{border:`1px solid ${r.palette.border}`,padding:r.spacing(1)},"& td":{wordBreak:"break-word",overflow:"hidden",verticalAlign:"middle",lineHeight:"1",margin:0,padding:r.spacing(3,2,3,2.5),borderBottom:0},"& th":{backgroundColor:r.palette.background.paper},"& tr":{backgroundColor:r.palette.background.paper},"& tr:nth-child(odd)":{backgroundColor:r.palette.background.default},"& a":{color:r.palette.link},"& img":{maxWidth:"100%"},"& ul":{marginTop:r.spacing(1)},"& ol":{marginTop:r.spacing(1)},"& pre":{background:`${r.palette.background.default} !important`},"& details":{width:"100%"},"& h1,h2,h3,h4,h5,h6":{marginBottom:r.spacing(1)}}}),{name:"SoundcheckMarkdownContent"}),c=({content:r,className:a=""})=>{const d=o();return e("div",{className:`${d.markdown} ${a}`.trim(),children:e(l,{components:m,remarkPlugins:[p],rehypePlugins:[i],allowedElements:t,children:r})})};export{t as ALLOWED_HTML_TAGS,c as SoundcheckMarkdownContent,o as useStyles};
|
|
2
|
-
//# sourceMappingURL=SoundcheckMarkdownContent.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
function o(t){const a=(t??[]).reduce((e,{passed:s,failed:i,warning:d})=>(e.passed+=s,e.failed+=i,e.warning+=d,e),{passed:0,failed:0,warning:0}),r=t?.length??0,n=e=>Math.round(e/r*100)/100;return{passedPercent:n(a.passed),failedPercent:n(a.failed),warningPercent:n(a.warning),passedTotal:a.passed,failedTotal:a.failed,warningTotal:a.warning,total:new Intl.NumberFormat("en",{notation:"compact",compactDisplay:"short"}).format(r)}}export{o as useCheckStatusTotals};
|
|
2
|
-
//# sourceMappingURL=useCheckStatusTotals.esm.js.map
|
package/dist/utils/checks.esm.js
DELETED
|
File without changes
|