From 53354224fcf7dd198ac3078fd8444c87397b9f2c Mon Sep 17 00:00:00 2001 From: Christopher Kolstad Date: Mon, 18 Mar 2024 13:58:05 +0100 Subject: [PATCH] chore: Bump biome and configure husky (#6589) Upgrades biome to 1.6.1, and updates husky pre-commit hook. Most changes here are making type imports explicit. --- .husky/pre-commit | 5 +- biome.json | 12 +- .../integration/projects/overview.spec.ts | 4 +- frontend/package.json | 13 +- frontend/src/component/admin/AdminIndex.tsx | 4 +- frontend/src/component/admin/adminRoutes.ts | 2 +- .../apiToken/ApiTokenForm/ApiTokenForm.tsx | 3 +- .../EnvironmentSelector.tsx | 2 +- .../ProjectSelector/ProjectSelector.tsx | 4 +- .../SelectAllButton/SelectAllButton.tsx | 2 +- .../SelectProjectInput.test.tsx | 2 +- .../SelectProjectInput/SelectProjectInput.tsx | 6 +- .../ApiTokenForm/TokenInfo/TokenInfo.tsx | 4 +- .../TokenTypeSelector/TokenTypeSelector.tsx | 2 +- .../apiToken/ApiTokenForm/useApiTokenForm.ts | 4 +- .../apiToken/ProjectsList/ProjectsList.tsx | 2 +- .../src/component/admin/auth/AuthSettings.tsx | 1 - .../auth/AutoCreateForm/AutoCreateForm.tsx | 4 +- .../admin/auth/GoogleAuth/GoogleAuth.tsx | 3 +- .../admin/auth/OidcAuth/OidcAuth.tsx | 5 +- .../admin/auth/PasswordAuth/PasswordAuth.tsx | 5 +- .../auth/PasswordAuth/PasswordAuthDialog.tsx | 4 +- .../admin/auth/SamlAuth/SamlAuth.tsx | 5 +- .../component/admin/auth/SsoGroupSettings.tsx | 2 +- .../admin/banners/BannerModal/BannerForm.tsx | 9 +- .../admin/banners/BannerModal/BannerModal.tsx | 6 +- .../BannersTable/BannerDeleteDialog.tsx | 2 +- .../banners/BannersTable/BannersTable.tsx | 2 +- .../BillingDashboard/BillingDashboard.tsx | 4 +- .../BillingInformation/BillingInformation.tsx | 4 +- .../BillingInformationButton.tsx | 2 +- .../BillingPlan/BillingPlan.tsx | 4 +- .../BillingPlan/GridColLink/GridColLink.tsx | 2 +- .../billing/BillingHistory/BillingHistory.tsx | 2 +- .../src/component/admin/cors/CorsForm.tsx | 3 +- .../src/component/admin/filterAdminRoutes.ts | 2 +- .../admin/groups/EditGroup/EditGroup.tsx | 2 +- .../Group/EditGroupUsers/EditGroupUsers.tsx | 4 +- .../component/admin/groups/Group/Group.tsx | 11 +- .../Group/RemoveGroupUser/RemoveGroupUser.tsx | 4 +- .../admin/groups/GroupForm/GroupForm.tsx | 7 +- .../GroupFormUsersSelect.tsx | 8 +- .../GroupFormUsersTable.tsx | 4 +- .../groups/GroupsList/GroupCard/GroupCard.tsx | 2 +- .../GroupCardActions/GroupCardActions.tsx | 2 +- .../GroupCardAvatars/GroupCardAvatars.tsx | 5 +- .../GroupPopover/GroupPopover.tsx | 2 +- .../admin/groups/GroupsList/GroupsList.tsx | 4 +- .../admin/groups/RemoveGroup/RemoveGroup.tsx | 4 +- .../admin/groups/hooks/useGroupForm.ts | 2 +- .../InstanceStats/InstanceStats.tsx | 2 +- .../component/admin/invoice/InvoiceList.tsx | 2 +- .../component/admin/menu/AdminTabsMenu.tsx | 2 +- .../component/admin/menu/CenteredNavLink.tsx | 2 +- .../NetworkOverview/NetworkOverview.tsx | 4 +- .../network/NetworkTraffic/NetworkTraffic.tsx | 14 +- .../admin/roles/RoleForm/RoleForm.tsx | 6 +- .../RolePermissionCategories.tsx | 4 +- .../RolePermissionCategory.tsx | 4 +- .../admin/roles/RoleForm/useRoleForm.ts | 4 +- .../admin/roles/RoleModal/RoleModal.tsx | 4 +- .../src/component/admin/roles/RolesPage.tsx | 2 +- .../RoleDeleteDialog/RoleDeleteDialog.tsx | 2 +- .../RoleDeleteDialogProjectRole.tsx | 2 +- .../RoleDeleteDialogProjectRoleTable.tsx | 4 +- .../RoleDeleteDialogGroups.tsx | 4 +- .../RoleDeleteDialogRootRole.tsx | 2 +- .../RoleDeleteDialogServiceAccounts.tsx | 4 +- .../RoleDeleteDialogUsers.tsx | 4 +- .../RolePermissionsCell.tsx | 4 +- .../RolesActionsCell/RolesActionsCell.tsx | 4 +- .../roles/RolesTable/RolesCell/RolesCell.tsx | 2 +- .../admin/roles/RolesTable/RolesTable.tsx | 2 +- .../ServiceAccountDeleteDialog.tsx | 2 +- .../ServiceAccountModal.tsx | 14 +- .../ServiceAccountCreateTokenDialog.tsx | 6 +- .../ServiceAccountTokens.tsx | 13 +- .../ServiceAccountTokenDialog.tsx | 4 +- .../ServiceAccountTokensCell.tsx | 4 +- .../ServiceAccountsActionsCell.tsx | 2 +- .../ServiceAccountsTable.tsx | 6 +- .../users/AccessMatrix/AccessMatrixSelect.tsx | 2 +- .../users/AccessMatrix/PermissionsTable.tsx | 2 +- .../SeatCostWarning/SeatCostWarning.tsx | 2 +- .../DeleteInactiveUsers.tsx | 2 +- .../DeleteUser/DeleteUser.tsx | 2 +- .../InactiveUsersActionCell.tsx | 3 +- .../InactiveUsersList/InactiveUsersList.tsx | 9 +- .../admin/users/InviteLink/InviteLink.tsx | 2 +- .../users/InviteLinkBar/InviteLinkBar.tsx | 2 +- .../admin/users/UserForm/UserForm.tsx | 4 +- .../ChangePassword/ChangePassword.tsx | 5 +- .../users/UsersList/DeleteUser/DeleteUser.tsx | 2 +- .../UsersList/ResetPassword/ResetPassword.tsx | 5 +- .../UserLimitWarning/UserLimitWarning.tsx | 2 +- .../UsersActionsCell/UsersActionsCell.tsx | 2 +- .../admin/users/UsersList/UsersList.tsx | 7 +- .../admin/users/hooks/useAddUserForm.ts | 2 +- .../src/component/application/Application.tsx | 3 +- .../application/ApplicationChart.tsx | 4 +- .../ApplicationEdit/ApplicationEdit.tsx | 4 +- .../ApplicationIssues.test.tsx | 2 +- .../ApplicationIssues/ApplicationIssues.tsx | 2 +- .../ApplicationUsageCell.tsx | 2 +- .../PaginatedApplicationList.test.tsx | 2 +- .../PaginatedApplicationList.tsx | 2 +- .../application/ApplicationOverview.test.tsx | 2 +- .../ApplicationUpdate/ApplicationUpdate.tsx | 4 +- .../ConnectedInstances.test.tsx | 2 +- .../ConnectedInstances/ConnectedInstances.tsx | 4 +- .../ConnectedInstancesTable.tsx | 2 +- .../ArchiveTable/ArchiveBatchActions.tsx | 2 +- .../archive/ArchiveTable/ArchiveTable.tsx | 6 +- .../ArchivedFeatureActionCell.tsx | 2 +- .../ArchivedFeatureDeleteConfirm.tsx | 3 +- .../ArchivedFeatureReviveConfirm.tsx | 2 +- .../FeatureArchivedCell.tsx | 2 +- .../archive/FeaturesArchiveTable.tsx | 2 +- .../archive/ProjectFeaturesArchiveTable.tsx | 4 +- .../src/component/banners/Banner/Banner.tsx | 2 +- .../Banner/BannerDialog/BannerDialog.tsx | 2 +- .../EdgeUpgradeBanner/EdgeUpgradeBanner.tsx | 2 +- .../OutdatedSdksBanner.test.tsx | 2 +- .../OutdatedSdksBanner/OutdatedSdksBanner.tsx | 2 +- .../externalBanners/ExternalBanners.tsx | 2 +- .../banners/internalBanners/LicenseBanner.tsx | 2 +- .../changeRequest/ChangeRequest.test.tsx | 2 +- .../ChangeRequest/ChangeRequest.test.tsx | 4 +- .../ChangeRequest/ChangeRequest.tsx | 3 +- .../Changes/Change/ArchiveFeatureChange.tsx | 2 +- .../Changes/Change/ChangeActions.tsx | 5 +- .../ChangeOverwriteWarning.tsx | 8 +- .../OverwriteWarning.test.tsx | 2 +- .../OverwriteWarning.tsx | 4 +- .../strategy-change-diff-calculation.test.ts | 4 +- .../strategy-change-diff-calculation.ts | 8 +- .../Changes/Change/DependencyChange.tsx | 4 +- .../Changes/Change/EditChange.tsx | 8 +- .../EnvironmentStrategyExecutionOrder.tsx | 4 +- .../Changes/Change/FeatureChange.test.tsx | 2 +- .../Changes/Change/FeatureChange.tsx | 4 +- .../Changes/Change/SegmentChange.tsx | 4 +- .../Changes/Change/SegmentChangeDetails.tsx | 4 +- .../Changes/Change/StrategyChange.tsx | 4 +- .../Changes/Change/ToggleStatusChange.tsx | 2 +- .../Change/VariantPatch/VariantDiff.tsx | 2 +- .../Change/VariantPatch/VariantPatch.tsx | 4 +- .../Change/hooks/useCurrentStrategy.ts | 2 +- .../Changes/FeatureToggleChanges.tsx | 2 +- .../NameWithChangeInfo/NameWithChangeInfo.tsx | 2 +- .../ChangeRequest/SegmentTooltipLink.tsx | 6 +- .../StrategyTooltipLink.test.tsx | 4 +- .../StrategyTooltipLink.tsx | 6 +- .../ChangeRequestConfirmDialog.tsx | 2 +- .../CopyStrategiesMessage.tsx | 4 +- .../CopyStrategyMessage.tsx | 2 +- .../ApplyButton/ApplyButton.tsx | 2 +- .../ChangeRequestComments/AddCommentField.tsx | 4 +- .../ChangeRequestComment.tsx | 4 +- .../ChangeRequestHeader.tsx | 4 +- .../ChangeRequestOverview.test.tsx | 5 +- .../ChangeRequestOverview.tsx | 6 +- .../ChangeRequestRejectDialog.tsx | 2 +- .../ChangeRequestReviewStatus.tsx | 6 +- .../ChangeRequestApprovals.tsx | 4 +- .../ChangeRequestRejections.tsx | 4 +- .../ChangeRequestReviewer.tsx | 2 +- .../ChangeRequestReviewers.tsx | 4 +- .../ChangeRequestScheduledDialog.tsx | 2 +- .../ScheduleChangeRequestDialog.tsx | 2 +- .../changeRequestScheduledDialogs.tsx | 4 +- .../ChangeRequestTimeline.test.tsx | 2 +- .../ChangeRequestTimeline.tsx | 4 +- .../ReviewButton/ReviewButton.tsx | 2 +- .../ChangeRequestPermissions.test.tsx | 6 +- .../ChangeRequestSidebar.tsx | 2 +- .../ChangeRequestTitle.tsx | 5 +- .../EnvironmentChangeRequest.tsx | 4 +- .../EnvironmentChangeRequestTitle.test.tsx | 4 +- .../ReviewChangesHeader.tsx | 2 +- .../ChangeRequestStatusBadge.tsx | 4 +- .../ChangeRequestStatusCell.tsx | 4 +- .../ChangeRequestsTabs/ChangeRequestsTabs.tsx | 2 +- .../ChangeRequestsTabs/FeaturesCell.tsx | 2 +- .../component/changeRequest/UpdateCount.tsx | 2 +- .../changeRequest/changeRequest.types.ts | 10 +- .../component/changeRequest/changesCount.ts | 2 +- .../common/AnimateOnMount/AnimateOnMount.tsx | 8 +- .../AnnouncerElement/AnnouncerElement.tsx | 2 +- .../AnnouncerProvider/AnnouncerProvider.tsx | 2 +- .../component/common/ApiError/ApiError.tsx | 2 +- .../common/ApiTokenTable/ApiTokenTable.tsx | 2 +- .../CopyApiTokenButton/CopyApiTokenButton.tsx | 2 +- .../RemoveApiTokenButton.tsx | 2 +- .../common/ApiTokenTable/useApiTokenTable.tsx | 2 +- .../AutocompleteBox/AutocompleteBox.tsx | 2 +- frontend/src/component/common/Badge/Badge.tsx | 13 +- .../BatchSelectionActionsBar.tsx | 2 +- .../ConditionallyRender.tsx | 2 +- .../ConstraintAccordion.tsx | 2 +- .../ConstraintAccordionEdit.tsx | 6 +- .../ConstraintAccordionEditBody.tsx | 4 +- .../ConstraintFormHeader.tsx | 2 +- .../FreeTextInput/FreeTextInput.tsx | 3 +- .../LegalValueLabel/LegalValueLabel.tsx | 4 +- .../ResolveInput/ResolveInput.tsx | 11 +- .../RestrictiveLegalValues.tsx | 2 +- .../SingleLegalValue/SingleLegalValue.tsx | 5 +- .../constraintValidators.test.ts | 4 +- .../useConstraintInput/useConstraintInput.tsx | 9 +- .../ConstraintAccordionEditHeader.tsx | 7 +- .../ConstraintAccordionEditHeader/helpers.ts | 2 +- .../CaseSensitiveButton.tsx | 2 +- .../InvertedOperatorButton.tsx | 2 +- .../ConstraintAccordionHeaderActions.tsx | 2 +- .../ConstraintAccordionList.tsx | 9 +- .../createEmptyConstraint.ts | 2 +- .../ConstraintAccordionView.tsx | 6 +- .../ConstraintAccordionViewBody.tsx | 2 +- .../ConstraintAccordionViewHeader.tsx | 2 +- .../ConstraintAccordionViewHeaderInfo.tsx | 2 +- ...raintAccordionViewHeaderMultipleValues.tsx | 2 +- ...nstraintAccordionViewHeaderSingleValue.tsx | 2 +- .../ConstraintViewHeaderOperator.tsx | 2 +- .../StyledIconWrapper.tsx | 2 +- .../ConstraintAccordion/ConstraintIcon.tsx | 2 +- .../ConstraintOperator/ConstraintOperator.tsx | 2 +- .../formatOperatorDescription.ts | 2 +- .../ConstraintOperatorSelect.tsx | 4 +- .../common/CreateButton/CreateButton.tsx | 2 +- .../common/DateTimePicker/DateTimePicker.tsx | 2 +- .../component/common/Dialogue/Dialogue.tsx | 3 +- .../DropdownButton/DropdownButton.tsx | 4 +- .../common/DropdownMenu/DropdownMenu.tsx | 8 +- .../EnterpriseBadge/EnterpriseBadge.tsx | 2 +- .../ExperimentalFeedback.tsx | 5 +- .../FavoriteIconButton/FavoriteIconButton.tsx | 4 +- .../FeatureArchiveDialog.tsx | 4 +- .../FeatureArchiveNotAllowedDialog.tsx | 2 +- .../FeatureStaleDialog/FeatureStaleDialog.tsx | 2 +- .../component/common/Feedback/Feedback.tsx | 7 +- .../FilterDateItem/FilterDateItem.test.tsx | 4 +- .../common/FilterDateItem/FilterDateItem.tsx | 4 +- .../common/FormSwitch/FormSwitch.tsx | 10 +- .../common/FormTemplate/FormTemplate.tsx | 3 +- .../common/GeneralSelect/GeneralSelect.tsx | 10 +- .../component/common/Gradient/Gradient.tsx | 2 +- .../src/component/common/GridCol/GridCol.tsx | 2 +- .../src/component/common/GridRow/GridRow.tsx | 4 +- .../GuidanceIndicator/GuidanceIndicator.tsx | 2 +- .../component/common/HelpIcon/HelpIcon.tsx | 2 +- .../common/Highlighter/Highlighter.tsx | 5 +- .../common/HtmlTooltip/HtmlTooltip.tsx | 9 +- frontend/src/component/common/Input/Input.tsx | 2 +- .../common/InputListField/InputListField.tsx | 4 +- .../common/InstanceStatus/InstanceStatus.tsx | 10 +- .../InstanceStatus/InstanceStatusBar.tsx | 2 +- .../component/common/ItemList/ItemList.tsx | 1 - .../common/MainHeader/MainHeader.tsx | 2 +- .../component/common/Markdown/Markdown.tsx | 2 +- .../MultiActionButton/MultiActionButton.tsx | 2 +- .../MultipleRoleSelect/MultipleRoleSelect.tsx | 6 +- .../ConstraintAccordionEdit.tsx | 6 +- .../ConstraintAccordionEditBody.tsx | 4 +- .../ConstraintFormHeader.tsx | 2 +- .../FreeTextInput/FreeTextInput.tsx | 3 +- .../LegalValueLabel/LegalValueLabel.tsx | 4 +- .../ResolveInput/ResolveInput.tsx | 11 +- .../RestrictiveLegalValues.tsx | 2 +- .../SingleLegalValue/SingleLegalValue.tsx | 5 +- .../constraintValidators.test.ts | 4 +- .../useConstraintInput/useConstraintInput.tsx | 9 +- .../ConstraintAccordionEditHeader.tsx | 7 +- .../ConstraintAccordionEditHeader/helpers.ts | 2 +- .../CaseSensitiveButton.tsx | 2 +- .../InvertedOperatorButton.tsx | 2 +- .../ConstraintAccordionHeaderActions.tsx | 4 +- .../ConstraintAccordionView.tsx | 6 +- .../ConstraintAccordionViewBody.tsx | 2 +- .../ConstraintAccordionViewHeader.tsx | 2 +- .../ConstraintAccordionViewHeaderInfo.tsx | 2 +- ...raintAccordionViewHeaderMultipleValues.tsx | 2 +- ...nstraintAccordionViewHeaderSingleValue.tsx | 2 +- .../ConstraintViewHeaderOperator.tsx | 2 +- .../StyledIconWrapper.tsx | 2 +- .../NewConstraintAccordion/ConstraintIcon.tsx | 2 +- .../ConstraintOperator/ConstraintOperator.tsx | 2 +- .../formatOperatorDescription.ts | 2 +- .../ConstraintOperatorSelect.tsx | 4 +- .../NewConstraintAccordion.tsx | 2 +- .../NewConstraintAccordionList.tsx | 7 +- .../createEmptyConstraint.ts | 2 +- .../src/component/common/NoItems/NoItems.tsx | 2 +- .../component/common/NotFound/NotFound.tsx | 2 +- .../common/Notifications/Notification.tsx | 2 +- .../common/Notifications/Notifications.tsx | 4 +- .../Notifications/NotificationsHeader.tsx | 2 +- .../Notifications/NotificationsList.tsx | 2 +- .../common/PageContent/PageContent.tsx | 4 +- .../common/PageHeader/PageHeader.tsx | 8 +- .../common/PasswordField/PasswordField.tsx | 5 +- .../DisabledPercentageCircle.tsx | 2 +- .../PercentageCircle/PercentageCircle.tsx | 2 +- .../PermissionButton/PermissionButton.tsx | 4 +- .../common/PermissionHOC/PermissionHOC.tsx | 4 +- .../PermissionIconButton.tsx | 9 +- .../PermissionSwitch/PermissionSwitch.tsx | 2 +- .../PrettifyLargeNumber.tsx | 2 +- .../common/Proclamation/Proclamation.tsx | 2 +- .../common/ProjectSelect/ProjectSelect.tsx | 4 +- .../common/ProtectedRoute/ProtectedRoute.tsx | 2 +- .../ReactJSONEditor/ReactJSONEditor.tsx | 6 +- .../ResponsiveButton/ResponsiveButton.tsx | 4 +- .../RoleDescription/RoleDescription.tsx | 2 +- .../common/RoleSelect/RoleSelect.tsx | 4 +- .../src/component/common/Search/Search.tsx | 5 +- .../SearchDescription/SearchDescription.tsx | 4 +- .../SearchSuggestions/SearchHistory.tsx | 2 +- .../SearchInstructions/SearchInstructions.tsx | 2 +- .../SearchSuggestions/SearchSuggestions.tsx | 4 +- .../common/SegmentItem/SegmentItem.tsx | 4 +- .../common/SidePanelList/SidePanelList.tsx | 2 +- .../SidePanelList/SidePanelListHeader.tsx | 2 +- .../SidePanelList/SidePanelListItem.tsx | 2 +- .../common/SidebarModal/SidebarModal.tsx | 4 +- .../component/common/Sticky/Sticky.test.tsx | 2 +- .../src/component/common/Sticky/Sticky.tsx | 8 +- .../component/common/Sticky/StickyContext.tsx | 2 +- .../common/Sticky/StickyProvider.test.tsx | 2 +- .../common/Sticky/StickyProvider.tsx | 8 +- .../StrategyItemContainer.test.tsx | 2 +- .../StrategyItemContainer.tsx | 6 +- .../src/component/common/TabNav/TabLink.tsx | 2 +- .../common/TabNav/TabPanel/TabPanel.tsx | 2 +- .../FavoriteIconHeader/FavoriteIconHeader.tsx | 2 +- .../Table/PaginatedTable/PaginatedTable.tsx | 2 +- .../Table/PaginationBar/PaginationBar.tsx | 2 +- .../CellSortable/CellSortable.tsx | 4 +- .../CellSortable/SortArrow/SortArrow.tsx | 4 +- .../SortableTableHeader.tsx | 2 +- .../StickyPaginationBar.tsx | 2 +- .../component/common/Table/Table/Table.tsx | 4 +- .../common/Table/TableCell/TableCell.tsx | 4 +- .../TablePlaceholder/TablePlaceholder.tsx | 2 +- .../VirtualizedTable/VirtualizedTable.tsx | 4 +- .../Table/cells/ActionCell/ActionCell.tsx | 2 +- .../common/Table/cells/DateCell/DateCell.tsx | 2 +- .../Table/cells/DateTimeCell/DateTimeCell.tsx | 2 +- .../FavoriteIconCell/FavoriteIconCell.tsx | 2 +- .../cells/FeatureNameCell/FeatureNameCell.tsx | 2 +- .../FeatureEnvironmentSeenCell.tsx | 4 +- .../cells/FeatureSeenCell/FeatureSeenCell.tsx | 2 +- .../cells/FeatureSeenCell/LastSeenTooltip.tsx | 4 +- .../FeatureSegmentCell/FeatureSegmentCell.tsx | 4 +- .../cells/FeatureTagCell/FeatureTagCell.tsx | 4 +- .../cells/FeatureTypeCell/FeatureTypeCell.tsx | 2 +- .../cells/HighlightCell/HighlightCell.tsx | 3 +- .../common/Table/cells/IconCell/IconCell.tsx | 2 +- .../Table/cells/LinkCell/LinkCell.styles.ts | 4 +- .../common/Table/cells/LinkCell/LinkCell.tsx | 2 +- .../common/Table/cells/RoleCell/RoleCell.tsx | 2 +- .../common/Table/cells/StringArrayCell.tsx | 2 +- .../common/Table/cells/TextCell/TextCell.tsx | 4 +- .../Table/cells/TimeAgoCell/TimeAgoCell.tsx | 2 +- .../common/ToastRenderer/Toast/Toast.tsx | 3 +- .../common/ToastRenderer/ToastRenderer.tsx | 2 +- .../common/TooltipLink/TooltipLink.tsx | 9 +- .../TooltipResolver/TooltipResolver.tsx | 4 +- .../common/UpdateButton/UpdateButton.tsx | 2 +- .../common/UserAvatar/UserAvatar.tsx | 12 +- .../VariantInfoAlert/VariantInfoAlert.tsx | 2 +- frontend/src/component/common/index.jsx | 6 +- frontend/src/component/common/select.tsx | 4 +- frontend/src/component/common/util.ts | 10 +- .../ContectFormChip/ContextFormChipList.tsx | 2 +- .../ContextFieldUsage/ContextFieldUsage.tsx | 2 +- .../context/ContextForm/ContextForm.tsx | 7 +- .../context/ContextList/AddContextButton.tsx | 2 +- .../ContextList/ContextActionsCell.tsx | 2 +- .../ContextList/ContextList/ContextList.tsx | 2 +- .../context/ContextList/UsedInCell.tsx | 4 +- .../component/context/hooks/useContextForm.ts | 2 +- .../component/demo/DemoDialog/DemoDialog.tsx | 2 +- .../DemoStepTooltip/DemoStepTooltip.tsx | 7 +- .../component/demo/DemoSteps/DemoSteps.tsx | 6 +- .../component/demo/DemoTopics/DemoTopics.tsx | 2 +- frontend/src/component/demo/demo-setup.ts | 4 +- frontend/src/component/demo/demo-topics.tsx | 4 +- .../EnvironmentForm/EnvironmentForm.tsx | 2 +- .../EnvironmentTypeSelector.tsx | 2 +- .../EnvironmentActionCell.tsx | 4 +- .../EnvironmentActionCellPopover.tsx | 2 +- .../EnvironmentCloneModal.tsx | 8 +- .../EnvironmentProjectSelect.tsx | 2 +- .../EnvironmentDeleteDialog.tsx | 5 +- .../EnvironmentDeprecateToggleDialog.tsx | 4 +- .../EnvironmentTokenDialog.tsx | 2 +- .../EnvironmentIconCell.tsx | 4 +- .../EnvironmentNameCell.tsx | 2 +- .../EnvironmentRow/EnvironmentRow.tsx | 6 +- .../EnvironmentTable/EnvironmentTable.tsx | 4 +- .../EnvironmentTableSingle.tsx | 2 +- .../component/events/EventCard/EventCard.tsx | 2 +- .../component/events/EventDiff/EventDiff.tsx | 4 +- .../component/events/EventJson/EventJson.tsx | 2 +- .../component/events/EventLog/EventLog.tsx | 2 +- .../executiveDashboard/ExecutiveDashboard.tsx | 2 +- .../DashboardHeader/DashboardHeader.tsx | 2 +- .../DashboardHeader/ShareLink/ShareLink.tsx | 2 +- .../components/Gauge/Gauge.tsx | 2 +- .../HorizontalDistributionChart.tsx | 2 +- .../LineChart/ChartTooltip/ChartTooltip.tsx | 4 +- .../components/LineChart/LineChart.tsx | 2 +- .../LineChart/LineChartComponent.tsx | 2 +- .../LineChart/createChartOptions.ts | 6 +- .../components/LineChart/createTooltip.ts | 4 +- .../components/LineChart/legendOptions.ts | 2 +- .../components/Widget/Widget.tsx | 6 +- .../componentsChart/FlagsChart/FlagsChart.tsx | 2 +- .../FlagsProjectChart/FlagsProjectChart.tsx | 4 +- .../MetricsChartTooltip.tsx | 6 +- .../MetricsSummaryChart.tsx | 4 +- .../HealthChartTooltip/HealthChartTooltip.tsx | 6 +- .../ProjectHealthChart/ProjectHealthChart.tsx | 4 +- .../TimeToProductionChart.tsx | 4 +- .../TimeToProductionTooltip.tsx | 6 +- .../UpdatesPerEnvironmentTypeChart.tsx | 2 +- .../UpdatesPerEnvironmentTypeChartTooltip.tsx | 6 +- .../componentsChart/UsersChart/UsersChart.tsx | 2 +- .../UsersPerProjectChart.tsx | 4 +- .../HealthStats/HealthStats.tsx | 2 +- .../TimeToProduction/TimeToProduction.tsx | 2 +- .../UserStats/UserDistributionInfo.tsx | 2 +- .../componentsStat/UserStats/UserStats.tsx | 4 +- .../hooks/useFilteredFlagsSummary.ts | 2 +- .../hooks/useMetricsSummary.ts | 4 +- .../hooks/useProjectChartData.ts | 4 +- .../feature/CopyFeature/CopyFeature.tsx | 6 +- .../Dependencies/AddDependencyDialogue.tsx | 2 +- .../feature/FeatureForm/FeatureForm.tsx | 4 +- .../FeatureNamingPatternInfo.tsx | 2 +- ...FeatureStrategyConstraintAccordionList.tsx | 7 +- .../FeatureStrategyConstraints.tsx | 5 +- .../FeatureStrategyCreate.tsx | 9 +- .../FeatureStrategyEdit.test.tsx | 2 +- .../FeatureStrategyEdit.tsx | 6 +- .../change-request-conflict-data.test.ts | 2 +- .../change-request-conflict-data.ts | 6 +- .../CopyButton/CopyButton.tsx | 4 +- .../FeatureStrategyChangeRequestAlert.tsx | 2 +- .../FeatureStrategyEnabled.tsx | 4 +- .../FeatureStrategyEnabledDisabled.tsx | 2 +- .../FeatureStrategyForm.tsx | 11 +- .../FeatureStrategyTitle.tsx | 2 +- .../FeatureStrategyIcon.tsx | 2 +- .../FeatureStrategyIcons.tsx | 2 +- .../FeatureStrategyMenu.tsx | 5 +- .../FeatureStrategyMenuCard.tsx | 2 +- .../FeatureStrategyProdGuard.tsx | 2 +- .../FeatureStrategySegment.tsx | 6 +- .../FeatureStrategySegmentChip.tsx | 6 +- .../FeatureStrategySegmentList.tsx | 5 +- .../FeatureStrategyType.tsx | 6 +- .../FeatureStrategy/featureStrategy.utils.ts | 4 +- .../FeatureStaleCell/FeatureStaleCell.tsx | 4 +- .../FeatureToggleFilters.tsx | 6 +- .../FeatureToggleListActions.tsx | 2 +- .../FeatureToggleListTable.tsx | 4 +- .../FeatureEnvironmentSeen.tsx | 6 +- .../getLatestLastSeenAt.test.ts | 2 +- .../getLatestLastSeenAt.ts | 2 +- .../FeatureMetrics/FeatureMetrics.tsx | 2 +- .../FeatureMetricsChart.tsx | 2 +- .../FeatureMetricsChart/createChartData.ts | 8 +- .../createChartOptions.tsx | 10 +- .../FeatureMetricsContent.tsx | 2 +- .../FeatureMetricsHours.tsx | 4 +- .../FeatureMetricsStatsRaw.tsx | 4 +- .../FeatureMetricsTable/ApplicationsCell.tsx | 2 +- .../FeatureMetricsTable.tsx | 2 +- .../aggregateFeatureMetrics.test.ts | 2 +- .../FeatureMetrics/aggregateFeatureMetrics.ts | 2 +- .../EnvironmentAccordionBody.tsx | 9 +- .../StrategyDraggableItem.test.tsx | 2 +- .../StrategyDraggableItem.tsx | 12 +- .../CopyStrategyIconMenu.tsx | 6 +- .../DialogStrategyRemove.tsx | 3 +- .../DisableEnableStrategyDialog.tsx | 2 +- .../IDisableEnableStrategyProps.ts | 2 +- .../hooks/useEnableDisable.ts | 2 +- .../hooks/useSuggestEnableDisable.ts | 2 +- .../MenuStrategyRemove/MenuStrategyRemove.tsx | 5 +- .../StrategyExecution/StrategyExecution.tsx | 7 +- .../StrategyItem/StrategyItem.tsx | 6 +- .../useStrategyChangesFromRequest.tsx | 2 +- .../EnvironmentFooter/EnvironmentFooter.tsx | 2 +- .../FeatureOverviewEnvironment.tsx | 2 +- .../FeatureOverviewEnvironmentMetrics.tsx | 2 +- .../SectionSeparator/SectionSeparator.tsx | 2 +- .../FeatureOverviewSegment.tsx | 2 +- .../ChildrenTooltip.tsx | 2 +- .../DependencyActions.tsx | 3 +- .../DependencyRow.tsx | 4 +- .../FeatureOverviewSidePanelDetails.test.tsx | 2 +- .../FeatureOverviewSidePanelDetails.tsx | 2 +- ...atureOverviewSidePanelEnvironmentHider.tsx | 2 +- ...tureOverviewSidePanelEnvironmentSwitch.tsx | 2 +- ...reOverviewSidePanelEnvironmentSwitches.tsx | 2 +- .../FeatureOverviewSidePanelTags.tsx | 4 +- .../ManageTagsDialog/ManageBulkTagsDialog.tsx | 13 +- .../ManageTagsDialog/ManageTagsDialog.tsx | 11 +- .../ManageTagsDialog/TagTypeSelect.tsx | 4 +- .../ManageTagsDialog/TagsInput.tsx | 10 +- .../FeatureTypeSelect/FeatureTypeSelect.tsx | 4 +- .../FeatureProjectSelect.tsx | 6 +- .../FeatureSettingsProjectConfirm.test.tsx | 2 +- .../FeatureSettingsProjectConfirm.tsx | 4 +- .../EnvironmentVariantsCard.test.tsx | 4 +- .../EnvironmentVariantsCard.tsx | 2 +- .../EnvironmentVariantsTable.tsx | 6 +- .../OverridesCell/OverridesCell.tsx | 2 +- .../PayloadCell/PayloadCell.tsx | 2 +- .../EnvironmentVariantsCopyFrom.tsx | 2 +- .../EnvironmentVariantsModal.tsx | 9 +- .../VariantForm/VariantForm.tsx | 4 +- .../VariantOverrides/VariantOverrides.tsx | 6 +- .../VariantOverrides/useOverrides.ts | 2 +- .../FeatureEnvironmentVariants.tsx | 2 +- .../PermissionCheckboxMenuItem.tsx | 2 +- .../PushVariantsButton/PushVariantsButton.tsx | 2 +- .../RedirectFeatureView.tsx | 2 +- .../DefaultStrategy/DefaultStrategy.tsx | 2 +- .../FlexibleStrategy/FlexibleStrategy.tsx | 2 +- .../StickinessSelect/StickinessSelect.tsx | 2 +- .../GeneralStrategy/GeneralStrategy.tsx | 8 +- .../StrategyTypes/NewStrategyVariants.tsx | 7 +- .../SplitPreviewSlider/SplitPreviewSlider.tsx | 4 +- .../StrategyInputList/StrategyInputList.tsx | 6 +- .../StrategyParameter/StrategyParameter.tsx | 6 +- .../StrategyTypes/StrategyVariants.test.tsx | 2 +- .../StrategyTypes/StrategyVariants.tsx | 7 +- .../UserWithIdStrategy/UserWithId.tsx | 4 +- .../FeatureTypeEdit/FeatureTypeEdit.tsx | 4 +- .../FeatureTypeForm/FeatureTypeForm.tsx | 4 +- .../feedback/FeedbackCES/FeedbackCES.tsx | 2 +- .../feedback/FeedbackCES/FeedbackCESForm.tsx | 5 +- .../feedback/FeedbackCES/FeedbackCESScore.tsx | 4 +- .../feedback/FeedbackCES/sendFeedbackInput.ts | 2 +- .../FeedbackCESContext/FeedbackCESContext.ts | 3 +- .../FeedbackCESProvider.tsx | 14 +- .../FeedbackCESContext/useFeedbackCESSeen.ts | 2 +- .../feedback/FeedbackNPS/showNPSFeedback.ts | 2 +- .../feedbackNew/FeedbackComponent.tsx | 9 +- .../component/feedbackNew/FeedbackContext.ts | 2 +- .../component/feedbackNew/FeedbackList.tsx | 2 +- .../feedbackNew/FeedbackProvider.tsx | 8 +- .../src/component/feedbackNew/useFeedback.tsx | 6 +- .../src/component/filter/AddFilterButton.tsx | 5 +- .../filter/FilterItem/FilterItem.test.tsx | 6 +- .../filter/FilterItem/FilterItem.tsx | 2 +- .../FilterItemChip/FilterItemChip.tsx | 2 +- .../FilterItemOperator/FilterItemOperator.tsx | 2 +- .../component/filter/Filters/Filters.test.tsx | 6 +- .../src/component/filter/Filters/Filters.tsx | 4 +- .../CreateIntegration/CreateIntegration.tsx | 2 +- .../EditIntegration/EditIntegration.tsx | 2 +- .../IntegrationForm.styles.tsx | 7 +- .../IntegrationForm/IntegrationForm.tsx | 8 +- .../IntegrationMultiSelector.test.tsx | 2 +- .../IntegrationMultiSelector.tsx | 6 +- .../IntegrationParameter.tsx | 2 +- .../IntegrationParameterTextField.tsx | 4 +- .../IntegrationParameters.tsx | 2 +- .../IntegrationStateSwitch.tsx | 2 +- .../IntegrationHowToSection.tsx | 4 +- .../AvailableIntegrations.tsx | 2 +- .../ConfiguredIntegrations.tsx | 4 +- .../IntegrationCard/IntegrationCard.tsx | 2 +- .../IntegrationCardMenu.tsx | 2 +- .../IntegrationIcon/IntegrationIcon.tsx | 2 +- .../IntegrationList/IntegrationList.tsx | 2 +- .../RequestIntegrationCard.tsx | 2 +- .../JiraIntegration/JiraImageContainer.tsx | 2 +- .../ViewIntegration/ViewIntegration.tsx | 2 +- frontend/src/component/layout/Error/Error.tsx | 2 +- .../layout/LayoutPicker/LayoutPicker.tsx | 2 +- .../MainLayout/DraftBanner/DraftBanner.tsx | 4 +- .../layout/MainLayout/MainLayout.tsx | 2 +- .../LoginHistorySuccessfulCell.tsx | 4 +- .../LoginHistoryTable/LoginHistoryTable.tsx | 9 +- .../menu/Footer/ApiDetails/ApiDetails.tsx | 4 +- .../Footer/ApiDetails/apidetails.helpers.tsx | 2 +- frontend/src/component/menu/Footer/Footer.tsx | 2 +- .../menu/Header/DrawerMenu/DrawerMenu.tsx | 4 +- frontend/src/component/menu/Header/Header.tsx | 4 +- .../Header/NavigationLink/NavigationLink.tsx | 2 +- .../Header/NavigationMenu/NavigationMenu.tsx | 2 +- frontend/src/component/menu/routes.ts | 2 +- .../Playground/AdvancedPlayground.tsx | 4 +- .../AdvancedPlaygroundEnvironmentCell.tsx | 5 +- .../AdvancedPlaygroundEnvironmentDiffCell.tsx | 5 +- .../AdvancedPlaygroundResultsTable.tsx | 4 +- .../combinationCounter.test.ts | 2 +- .../combinationCounter.ts | 2 +- .../PlaygroundEnvironmentDiffTable.tsx | 2 +- .../PlaygroundEnvironmentTable.tsx | 2 +- .../PlaygroundCodeFieldset.tsx | 10 +- .../PlaygroundEditor/PlaygroundEditor.tsx | 7 +- .../PlaygroundConnectionFieldset.tsx | 10 +- .../PlaygroundForm/PlaygroundForm.tsx | 4 +- .../PlaygroundGuidanceSection.tsx | 2 +- .../FeatureDetails/FeatureDetails.test.tsx | 2 +- .../FeatureDetails/FeatureDetails.tsx | 4 +- .../FeatureDetails/helpers.ts | 2 +- .../FeatureResultInfoPopoverCell.tsx | 2 +- ...aygroundResultFeatureStrategyList.test.tsx | 2 +- .../PlaygroundResultFeatureStrategyList.tsx | 2 +- .../StrategyItem/FeatureStrategyItem.tsx | 5 +- .../ConstraintError/ConstraintError.tsx | 5 +- .../ConstraintExecution.tsx | 7 +- .../ConstraintExecutionWithoutResults.tsx | 4 +- .../CustomStrategyParams.tsx | 3 +- .../DisabledStrategyExecution.tsx | 8 +- .../SegmentExecution/SegmentExecution.tsx | 4 +- .../SegmentExecutionWithoutResult.tsx | 4 +- .../StrategyExecution/StrategyExecution.tsx | 8 +- .../StrategyExecutionParameters.tsx | 5 +- .../playgroundResultStrategyLists.tsx | 2 +- .../FeatureStatusCell/FeatureStatusCell.tsx | 2 +- .../PlaygroundResultChip.tsx | 2 +- .../VariantCell/VariantCell.tsx | 5 +- .../VariantInformation/VariantInformation.tsx | 4 +- .../Playground/playground.utils.test.ts | 2 +- .../playground/Playground/playground.utils.ts | 4 +- .../DeleteProject/DeleteProjectDialogue.tsx | 2 +- .../project/Project/Import/ImportModal.tsx | 4 +- .../project/Project/Import/ImportTimeline.tsx | 4 +- .../Import/configure/ConfigurationStage.tsx | 2 +- .../Project/Import/configure/FileDropZone.tsx | 2 +- .../Import/configure/ImportExplanation.tsx | 2 +- .../Import/configure/ImportOptions.tsx | 2 +- .../Project/Import/import/ImportStage.tsx | 2 +- .../Import/validate/ValidationStage.tsx | 4 +- .../ExperimentalColumnsMenu.tsx | 2 +- .../FeatureToggleCell/FeatureToggleCell.tsx | 2 +- .../ProjectFeatureToggles.tsx | 6 +- .../ProjectFeatureToggles.types.ts | 2 +- .../ProjectFeatureTogglesHeader.tsx | 4 +- .../ProjectOverviewFilters.tsx | 6 +- .../TableEmptyState/TableEmptyState.tsx | 2 +- .../hooks/useDefaultColumnVisibility.ts | 2 +- .../src/component/project/Project/Project.tsx | 2 +- .../CollaborationModeTooltip.tsx | 2 +- .../FeatureFlagNamingTooltip.tsx | 2 +- .../ProjectEnterpriseSettingsForm.tsx | 2 +- .../ActionsCell/ActionsCell.tsx | 2 +- .../ColumnsMenu/ColumnsMenu.tsx | 2 +- .../EnableEnvironmentDialog.tsx | 2 +- .../FeatureToggleSwitch.tsx | 2 +- .../FeatureToggleSwitch.types.ts | 2 +- .../createFeatureToggleCell.tsx | 2 +- .../useFeatureToggleSwitch.tsx | 4 +- .../ArchiveButton.tsx | 4 +- .../ManageTags.tsx | 4 +- .../MoreActions.tsx | 2 +- .../ProjectFeaturesBatchActions.tsx | 2 +- .../RowSelectCell/RowSelectCell.tsx | 2 +- .../hooks/useEnvironmentsRef.ts | 2 +- .../FeatureTogglesLimitTooltip.tsx | 2 +- .../Project/ProjectForm/ProjectForm.tsx | 4 +- .../ReportTable/ReportCard/ReportCard.tsx | 2 +- .../ReportExpiredCell/ReportExpiredCell.tsx | 4 +- .../ReportExpiredCell/formatExpiredAt.ts | 4 +- .../ReportStatusCell/ReportStatusCell.tsx | 4 +- .../ReportStatusCell/formatStatus.ts | 4 +- .../ProjectHealth/ReportTable/ReportTable.tsx | 7 +- .../ProjectHealth/ReportTable/utils.ts | 2 +- .../ProjectInfo/ChangeRequestsWidget.tsx | 4 +- .../Project/ProjectInfo/FlagTypesWidget.tsx | 6 +- .../Project/ProjectInfo/MetaWidget.tsx | 2 +- .../Project/ProjectInfo/ProjectInfo.tsx | 2 +- .../Project/ProjectInfo/WidgetFooterLink.tsx | 2 +- .../project/Project/ProjectOverview.tsx | 2 +- .../ChangeRequestProcessHelp.tsx | 2 +- .../ChangeRequestTable.tsx | 6 +- .../ProjectActions/ProjectActions.tsx | 2 +- .../ProjectActionsActionsCell.tsx | 2 +- .../ProjectActionsLastEvent.tsx | 2 +- .../ProjectActionsActorCell.tsx | 4 +- .../ProjectActionsDeleteDialog.tsx | 2 +- .../ProjectActionsEventsDetails.tsx | 2 +- .../ProjectActionsEventsDetailsAction.tsx | 4 +- .../ProjectActionsEventsDetailsSource.tsx | 2 +- ...tionsEventsDetailsSourceSignalEndpoint.tsx | 2 +- .../ProjectActionsEventsModal.tsx | 2 +- .../ProjectActionsEventsStateCell.tsx | 2 +- .../ProjectActionsFiltersCell.tsx | 2 +- .../ProjectActionsForm/ProjectActionsForm.tsx | 2 +- .../ProjectActionsFormItem.tsx | 2 +- .../ProjectActionsFormStep.tsx | 2 +- .../ProjectActionsActionItem.tsx | 4 +- .../ProjectActionsActionParameter.tsx | 2 +- .../ProjectActionsActionSelect.tsx | 2 +- .../ProjectActionsFormStepActions.tsx | 6 +- .../ProjectActionsFilterItem.tsx | 4 +- .../ProjectActionsFormStepSource.tsx | 4 +- .../useProjectActionsForm.ts | 2 +- .../ProjectActionsModal.tsx | 6 +- .../ProjectActionsSourceCell.tsx | 6 +- .../ProjectActionsTable.tsx | 2 +- .../ProjectEnvironment/ProjectEnvironment.tsx | 2 +- .../EditDefaultStrategy.tsx | 6 +- .../ProjectDefaultStrategyForm.tsx | 8 +- .../ProjectEnvironmentDefaultStrategy.tsx | 4 +- .../ProjectSettings/ProjectSettings.tsx | 5 +- .../EditProject/UpdateEnterpriseSettings.tsx | 2 +- .../Settings/EditProject/UpdateProject.tsx | 2 +- .../Project/ProjectStats/HelpPopper.tsx | 2 +- .../Project/ProjectStats/ProjectStats.tsx | 2 +- .../project/Project/hooks/useProjectForm.ts | 2 +- .../ProjectAccessAssign.tsx | 15 +- .../ProjectAccessTable/ProjectAccessTable.tsx | 15 +- .../ProjectGroupView/ProjectGroupView.tsx | 11 +- .../ProjectApplications.test.tsx | 2 +- .../ProjectApplications.tsx | 2 +- .../project/ProjectApplications/SdkCell.tsx | 4 +- .../project/ProjectCard/ProjectCard.tsx | 3 +- .../EnvironmentHideDialog.tsx | 5 +- .../ProjectEnvironmentTableSingle.tsx | 2 +- .../ProjectEnvironment/ProjectEnvironment.tsx | 2 +- .../ProjectEnvironment/getEnabledEnvs.test.ts | 2 +- .../project/ProjectEnvironment/helpers.ts | 2 +- .../project/ProjectList/ProjectList.tsx | 4 +- .../AccessProvider/AccessProvider.tsx | 6 +- .../AccessProvider/AccessProviderMock.tsx | 6 +- .../PlausibleProvider/PlausibleProvider.tsx | 2 +- .../providers/SWRProvider/SWRProvider.tsx | 2 +- .../providers/UIProvider/UIProvider.tsx | 7 +- .../segments/CreateSegment/CreateSegment.tsx | 3 +- .../segments/EditSegment/EditSegment.tsx | 2 +- .../EditSegmentButton/EditSegmentButton.tsx | 2 +- .../RemoveSegmentButton.tsx | 2 +- .../SegmentActionCell/SegmentActionCell.tsx | 2 +- .../segments/SegmentDelete/SegmentDelete.tsx | 2 +- .../SegmentDeleteConfirm.tsx | 5 +- .../SegmentDeleteUsedSegment.tsx | 6 +- .../src/component/segments/SegmentForm.tsx | 5 +- .../segments/SegmentFormStepList.tsx | 2 +- .../component/segments/SegmentFormStepOne.tsx | 8 +- .../component/segments/SegmentFormStepTwo.tsx | 11 +- .../segments/SegmentProjectAlert.tsx | 6 +- .../segments/hooks/useSegmentForm.ts | 2 +- .../segments/hooks/useSegmentValuesCount.ts | 2 +- .../SignalEndpointsForm.tsx | 4 +- .../SignalEndpointsTokens.tsx | 11 +- .../SignalEndpointsTokensCreateDialog.tsx | 4 +- .../useSignalEndpointsForm.ts | 2 +- .../SignalEndpointsModal.tsx | 6 +- .../SignalEndpointsSignalsModal.tsx | 2 +- .../SignalEndpointsDeleteDialog.tsx | 2 +- .../SignalEndpointsTable.tsx | 2 +- .../SignalEndpointsTokensCell.tsx | 2 +- .../splash/SplashPage/SplashPage.tsx | 2 +- .../SplashPageRedirect/SplashPageRedirect.tsx | 4 +- .../CustomStrategyInfo/CustomStrategyInfo.tsx | 2 +- .../strategies/EditStrategy/EditStrategy.tsx | 2 +- .../StrategiesList/StrategiesList.tsx | 4 +- .../StrategyDeleteButton.tsx | 4 +- .../StrategyEditButton/StrategyEditButton.tsx | 4 +- .../StrategySwitch/StrategySwitch.tsx | 2 +- .../strategies/StrategyForm/StrategyForm.tsx | 4 +- .../StrategyParameter/StrategyParameter.tsx | 4 +- .../StrategyParameters/StrategyParameters.tsx | 5 +- .../StrategyDetails/StrategyDetails.tsx | 4 +- .../strategies/StrategyView/StrategyView.tsx | 2 +- .../TogglesLinkList/TogglesLinkList.tsx | 2 +- .../strategies/hooks/useStrategyForm.ts | 2 +- .../tags/TagTypeForm/TagTypeForm.tsx | 2 +- .../user/Authentication/Authentication.tsx | 2 +- .../user/AuthenticationCustomComponent.tsx | 4 +- .../src/component/user/DemoAuth/DemoAuth.tsx | 9 +- .../ForgottenPassword/ForgottenPassword.tsx | 2 +- frontend/src/component/user/HostedAuth.tsx | 4 +- .../NewUser/NewUserWrapper/NewUserWrapper.tsx | 2 +- frontend/src/component/user/PasswordAuth.tsx | 4 +- .../user/Profile/PasswordTab/PasswordTab.tsx | 2 +- .../CreatePersonalAPIToken.tsx | 6 +- .../DeletePersonalAPIToken.tsx | 4 +- .../PersonalAPITokenDialog.tsx | 4 +- .../PersonalAPITokensTab.tsx | 6 +- .../src/component/user/Profile/Profile.tsx | 5 +- .../user/Profile/ProfileTab/ProfileTab.tsx | 4 +- .../component/user/SimpleAuth/SimpleAuth.tsx | 9 +- .../src/component/user/StandaloneBanner.tsx | 4 +- .../user/UserProfile/UserProfile.tsx | 2 +- .../UserProfileContent/UserProfileContent.tsx | 2 +- .../user/common/AuthOptions/AuthOptions.tsx | 2 +- .../user/common/InvalidToken/InvalidToken.tsx | 2 +- .../ResetPasswordForm/PasswordChecker.tsx | 2 +- .../ResetPasswordForm/ResetPasswordForm.tsx | 3 +- .../user/common/StandaloneLayout.tsx | 2 +- frontend/src/contexts/PlausibleContext.ts | 2 +- frontend/src/contexts/UIContext.ts | 2 +- .../actions/useActionsApi/useActionsApi.ts | 2 +- .../actions/useAdminUsersApi/errorHandlers.ts | 2 +- .../src/hooks/api/actions/useApi/useApi.ts | 7 +- .../useAuthFeedbackApi/useAuthFeedbackApi.ts | 2 +- .../useAuthSettingsApi/useAuthSettingsApi.ts | 2 +- .../actions/useBannersApi/useBannersApi.ts | 2 +- .../useChangeRequestApi.ts | 2 +- .../useDependentFeaturesApi.ts | 2 +- .../useEnvironmentApi/useEnvironmentApi.ts | 2 +- .../api/actions/useExportApi/useExportApi.ts | 2 +- .../actions/useFeatureApi/useFeatureApi.ts | 10 +- .../useFeatureStrategyApi.ts | 2 +- .../useFeatureTypeApi/useFeatureTypeApi.ts | 5 +- .../api/actions/useGroupApi/useGroupApi.ts | 2 +- .../actions/useLicenseAPI/useLicenseApi.ts | 2 +- .../usePersonalAPITokensApi.ts | 2 +- .../actions/usePlayground/usePlayground.ts | 2 +- .../api/actions/useRolesApi/useRolesApi.ts | 2 +- .../actions/useSegmentsApi/useSegmentsApi.ts | 2 +- .../useServiceAccountTokensApi.ts | 2 +- .../useSignalEndpointTokensApi.ts | 2 +- .../useSignalEndpointsApi.ts | 2 +- .../useStrategiesApi/useStrategiesApi.ts | 2 +- .../actions/useTagTypesApi/useTagTypesApi.ts | 2 +- .../useUserFeedbackApi/useUserFeedbackApi.ts | 2 +- .../hooks/api/getters/useAccess/useAccess.ts | 6 +- .../useActionConfigurations.ts | 2 +- .../useActionEvents/useActionEvents.ts | 6 +- .../api/getters/useActions/useActions.ts | 2 +- .../hooks/api/getters/useAddons/useAddons.ts | 4 +- .../api/getters/useAllTags/useAllTags.ts | 4 +- .../api/getters/useApiGetter/useApiGetter.ts | 2 +- .../api/getters/useApiTokens/useApiTokens.ts | 2 +- .../getters/useApplication/useApplication.ts | 4 +- .../useApplicationOverview.ts | 4 +- .../useApplications/useApplications.ts | 2 +- .../api/getters/useAuth/useAuthDetails.ts | 2 +- .../api/getters/useAuth/useAuthEndpoint.ts | 2 +- .../api/getters/useAuth/useAuthFeedback.ts | 2 +- .../api/getters/useAuth/useAuthPermissions.ts | 9 +- .../api/getters/useAuth/useAuthSplash.ts | 2 +- .../hooks/api/getters/useAuth/useAuthUser.ts | 2 +- .../useAuthSettings/useAuthSettings.ts | 2 +- .../api/getters/useBanners/useBanners.ts | 2 +- .../useChangeRequest/useChangeRequest.ts | 2 +- .../useChangeRequestConfig.ts | 2 +- .../useCheckDependenciesExist.ts | 2 +- .../useConditionalSWR/useConditionalSWR.ts | 7 +- .../useConnectedInstances.ts | 2 +- .../useConstraintsValidation.test.tsx | 4 +- .../useConstraintsValidation.ts | 2 +- .../api/getters/useContext/useContext.ts | 2 +- .../useEnterpriseSWR/useEnterpriseSWR.ts | 2 +- .../useEnvironment/defaultEnvironment.ts | 2 +- .../getters/useEnvironment/useEnvironment.ts | 4 +- .../useEnvironments/useEnvironments.ts | 5 +- .../getters/useEventSearch/useEventSearch.ts | 2 +- .../useExecutiveSummary.ts | 4 +- .../api/getters/useFeature/emptyFeature.ts | 2 +- .../api/getters/useFeature/useFeature.ts | 4 +- .../getters/useFeature/useFeatureImmutable.ts | 4 +- .../useFeatureMetrics/useFeatureMetrics.ts | 4 +- .../useFeatureMetricsRaw.ts | 2 +- .../useFeatureSearch.test.tsx | 2 +- .../useFeatureSearch/useFeatureSearch.ts | 4 +- .../getters/useFeatureTags/useFeatureTags.ts | 4 +- .../useFeatureTypes/useFeatureTypes.ts | 4 +- .../api/getters/useFeatures/useFeatures.ts | 2 +- .../useFeaturesArchive/useFeaturesArchive.ts | 2 +- .../useFeedbackPosted/useFeedbackPosted.ts | 4 +- .../hooks/api/getters/useGroup/useGroup.ts | 2 +- .../hooks/api/getters/useGroups/useGroups.ts | 2 +- .../useHealthReport/useHealthReport.ts | 4 +- .../useInstanceMetrics/useInstanceMetrics.ts | 4 +- .../useInstanceStats/useInstanceStats.ts | 2 +- .../useInstanceStatus/useInstanceStatus.ts | 2 +- .../useInviteTokens/useInviteTokens.ts | 4 +- .../api/getters/useInvoices/useInvoices.ts | 2 +- .../useLoginHistory/useLoginHistory.ts | 2 +- .../getters/useMaintenance/useMaintenance.ts | 2 +- .../useNotifications/useNotifications.ts | 4 +- .../useOutdatedSdks/useOutdatedSdks.ts | 2 +- .../usePaginatedData.test.tsx | 2 +- .../usePaginatedData/usePaginatedData.ts | 2 +- .../useParentOptions/useParentOptions.ts | 2 +- .../usePendingChangeRequests.ts | 2 +- .../usePendingChangeRequestsForFeature.ts | 2 +- .../getters/usePermissions/usePermissions.ts | 4 +- .../usePersonalAPITokens.ts | 4 +- .../api/getters/useProfile/useProfile.ts | 2 +- .../api/getters/useProject/useProject.ts | 4 +- .../useProjectAccess/useProjectAccess.ts | 10 +- .../useProjectApiTokens.ts | 4 +- .../useProjectApplications.ts | 2 +- .../useProjectDoraMetrics.ts | 4 +- .../useProjectEnvironments.ts | 2 +- .../useProjectOverview/useProjectOverview.ts | 4 +- .../useProjectRoleAccessUsage.ts | 2 +- .../api/getters/useProjects/useProjects.ts | 4 +- .../useResetPassword/useResetPassword.ts | 2 +- .../src/hooks/api/getters/useRole/useRole.ts | 4 +- .../hooks/api/getters/useRoles/useRoles.ts | 2 +- .../useScheduledChangeRequestsWithFlags.ts | 2 +- .../useScheduledChangeRequestsWithVariant.ts | 2 +- .../api/getters/useSegment/useSegment.ts | 2 +- .../useSegmentLimits/useSegmentLimits.ts | 2 +- .../api/getters/useSegments/useSegments.ts | 2 +- .../useServiceAccountAccessMatrix.ts | 8 +- .../useServiceAccountTokens.ts | 4 +- .../useServiceAccounts/useServiceAccounts.ts | 4 +- .../useSignalEndpointSignals.ts | 6 +- .../useSignalEndpointTokens.ts | 2 +- .../useSignalEndpoints/useSignalEndpoints.ts | 2 +- .../getters/useStrategies/useStrategies.ts | 2 +- .../useStrategiesByContext.ts | 2 +- .../useStrategiesBySegment.ts | 2 +- .../api/getters/useStrategy/useStrategy.ts | 2 +- .../api/getters/useTagType/useTagType.ts | 2 +- .../api/getters/useTagTypes/useTagTypes.ts | 4 +- .../src/hooks/api/getters/useTags/useTags.ts | 4 +- .../api/getters/useUiConfig/defaultValue.ts | 2 +- .../api/getters/useUiConfig/useUiConfig.ts | 2 +- .../useUnleashContext/useUnleashContext.ts | 4 +- .../useUserAccessMatrix.ts | 6 +- .../api/getters/useUserInfo/useUserInfo.ts | 2 +- .../getters/useUserInvite/useUserInvite.ts | 2 +- .../useUserProjectRoles.ts | 4 +- .../hooks/api/getters/useUsers/useUsers.ts | 4 +- .../src/hooks/useChangeRequestAddStrategy.ts | 2 +- .../hooks/useChangeRequestInReviewWarning.tsx | 2 +- .../hooks/useChangeRequestsEnabled.test.tsx | 2 +- frontend/src/hooks/useCollaborateData.tsx | 2 +- frontend/src/hooks/useDragItem.ts | 2 +- frontend/src/hooks/useEventSettings.ts | 2 +- frontend/src/hooks/useGlobalState.ts | 2 +- ...ghestPermissionChangeRequestEnvironment.ts | 2 +- frontend/src/hooks/useLocationSettings.ts | 2 +- .../src/hooks/usePersistentGlobalState.ts | 2 +- frontend/src/hooks/usePersistentTableState.ts | 2 +- frontend/src/hooks/usePinnedFavorites.test.ts | 2 +- frontend/src/hooks/usePlausibleTracker.ts | 2 +- frontend/src/hooks/useSearch.test.tsx | 4 +- frontend/src/hooks/useThemeMode.ts | 4 +- frontend/src/hooks/useToast.tsx | 2 +- frontend/src/hooks/useUsersPlan.ts | 2 +- frontend/src/hooks/useVariant.ts | 2 +- frontend/src/interfaces/action.ts | 4 +- frontend/src/interfaces/banner.ts | 2 +- frontend/src/interfaces/environments.ts | 4 +- frontend/src/interfaces/event.ts | 2 +- frontend/src/interfaces/featureToggle.ts | 4 +- frontend/src/interfaces/group.ts | 2 +- frontend/src/interfaces/permissions.ts | 2 +- frontend/src/interfaces/profile.ts | 2 +- frontend/src/interfaces/project.ts | 8 +- frontend/src/interfaces/publicSignupTokens.ts | 4 +- frontend/src/interfaces/role.ts | 4 +- frontend/src/interfaces/route.ts | 4 +- frontend/src/interfaces/segment.ts | 2 +- frontend/src/interfaces/service-account.ts | 4 +- frontend/src/interfaces/strategy.ts | 4 +- frontend/src/interfaces/uiConfig.ts | 4 +- frontend/src/themes/ThemeProvider.tsx | 2 +- frontend/src/themes/themeStyles.ts | 4 +- frontend/src/themes/themeTypes.ts | 1 - frontend/src/types/react-table-config.d.ts | 2 +- frontend/src/utils/cleanConstraint.ts | 2 +- frontend/src/utils/createFeatureStrategy.ts | 2 +- frontend/src/utils/formatConstraintValue.ts | 4 +- frontend/src/utils/getFeatureMetrics.ts | 2 +- frontend/src/utils/instanceTrial.ts | 2 +- frontend/src/utils/operatorsForContext.ts | 6 +- frontend/src/utils/parseParameter.ts | 2 +- frontend/src/utils/permissions.ts | 2 +- frontend/src/utils/projectFilterGenerator.ts | 2 +- frontend/src/utils/sortStrategyParameters.ts | 2 +- frontend/src/utils/sortTypes.test.ts | 2 +- frontend/src/utils/sortTypes.ts | 8 +- frontend/src/utils/strategyNames.tsx | 2 +- frontend/src/utils/testRenderer.tsx | 9 +- frontend/src/utils/testServer.ts | 2 +- .../src/utils/unique-change-request-id.ts | 2 +- frontend/src/utils/validateParameterValue.ts | 2 +- frontend/yarn.lock | 90 ++-- package.json | 42 +- src/lib/addons/addon.ts | 8 +- src/lib/addons/datadog-definition.ts | 2 +- src/lib/addons/datadog.test.ts | 4 +- src/lib/addons/datadog.ts | 6 +- .../addons/feature-event-formatter-md.test.ts | 2 +- src/lib/addons/feature-event-formatter-md.ts | 4 +- src/lib/addons/index.ts | 6 +- src/lib/addons/slack-app-definition.ts | 2 +- src/lib/addons/slack-app.test.ts | 4 +- src/lib/addons/slack-app.ts | 20 +- src/lib/addons/slack-definition.ts | 2 +- src/lib/addons/slack.test.ts | 4 +- src/lib/addons/slack.ts | 6 +- src/lib/addons/teams-definition.ts | 2 +- src/lib/addons/teams.test.ts | 4 +- src/lib/addons/teams.ts | 6 +- src/lib/addons/webhook-definition.ts | 2 +- src/lib/addons/webhook.test.ts | 4 +- src/lib/addons/webhook.ts | 4 +- src/lib/app.ts | 10 +- src/lib/create-config.ts | 38 +- src/lib/db/access-store.test.ts | 6 +- src/lib/db/access-store.ts | 12 +- src/lib/db/account-store.ts | 10 +- src/lib/db/addon-store.ts | 12 +- src/lib/db/api-token-store.ts | 14 +- src/lib/db/client-applications-store.ts | 10 +- src/lib/db/client-instance-store.ts | 8 +- src/lib/db/context-field-store.ts | 8 +- src/lib/db/crud/crud-store.ts | 6 +- src/lib/db/db-pool.ts | 4 +- src/lib/db/db.ts | 2 +- src/lib/db/favorite-features-store.ts | 12 +- src/lib/db/favorite-projects-store.ts | 10 +- src/lib/db/feature-environment-store.ts | 10 +- src/lib/db/feature-strategy-store.test.ts | 4 +- src/lib/db/feature-tag-store.ts | 10 +- src/lib/db/feature-type-store.ts | 6 +- src/lib/db/group-store.ts | 18 +- src/lib/db/index.ts | 4 +- src/lib/db/pat-store.ts | 8 +- src/lib/db/project-stats-store.ts | 12 +- src/lib/db/public-signup-token-store.ts | 14 +- src/lib/db/reset-token-store.ts | 8 +- src/lib/db/role-store.ts | 14 +- src/lib/db/session-store.ts | 8 +- src/lib/db/setting-store.ts | 6 +- src/lib/db/strategy-store.ts | 6 +- src/lib/db/tag-store.ts | 10 +- src/lib/db/transaction.ts | 4 +- src/lib/db/user-feedback-store.ts | 8 +- src/lib/db/user-splash-store.ts | 8 +- src/lib/db/user-store.ts | 6 +- src/lib/default-custom-auth-deny-all.ts | 4 +- src/lib/error/bad-data-error.ts | 6 +- src/lib/error/from-legacy-error.ts | 2 +- src/lib/error/incompatible-project-error.ts | 2 +- src/lib/error/owasp-validation-error.ts | 4 +- src/lib/error/password-undefined.ts | 2 +- src/lib/error/pattern-error.ts | 2 +- src/lib/error/permission-error.ts | 2 +- src/lib/error/project-without-owner-error.ts | 2 +- src/lib/error/unleash-error.test.ts | 4 +- src/lib/error/unleash-error.ts | 2 +- .../features/access/createAccessService.ts | 4 +- .../change-request-access-read-model.ts | 2 +- .../createChangeRequestAccessReadModel.ts | 4 +- .../fake-change-request-access-read-model.ts | 2 +- .../sql-change-request-access-read-model.ts | 8 +- ...e-request-segment-usage-read-model.test.ts | 6 +- ...reateChangeRequestSegmentUsageReadModel.ts | 4 +- ...change-request-segment-usage-read-model.ts | 2 +- ...change-request-segment-usage-read-model.ts | 4 +- .../client-feature-toggle-service.ts | 6 +- .../client-feature-toggle-store.ts | 8 +- .../client-feature-toggle.controller.ts | 28 +- .../createClientFeatureToggleService.ts | 4 +- .../fakes/fake-client-feature-toggle-store.ts | 6 +- .../tests/client-feature-toggle.e2e.test.ts | 8 +- .../tests/client-feature-toggles.e2e.test.ts | 8 +- .../types/client-feature-toggle-store-type.ts | 4 +- .../createDependentFeaturesService.ts | 4 +- .../dependent-features-controller.ts | 22 +- .../dependent-features-read-model-type.ts | 2 +- .../dependent-features-read-model.ts | 6 +- .../dependent-features-service.ts | 19 +- .../dependent-features-store-type.ts | 5 +- .../dependent-features-store.ts | 9 +- .../dependent.features.e2e.test.ts | 8 +- .../fake-dependent-features-read-model.ts | 4 +- .../fake-dependent-features-store.ts | 2 +- .../features/events/createEventsService.ts | 4 +- .../events/event-created-by-migration.test.ts | 2 +- src/lib/features/events/event-service.test.ts | 2 +- src/lib/features/events/event-service.ts | 16 +- src/lib/features/events/event-store.ts | 32 +- .../createExportImportService.ts | 6 +- .../export-import-api-usage.test.ts | 4 +- .../export-import-controller.ts | 20 +- .../export-import-permissions.e2e.test.ts | 24 +- .../export-import-service.ts | 53 +-- .../export-import.e2e.test.ts | 28 +- .../import-context-validation.ts | 2 +- .../import-permissions-service.ts | 14 +- .../import-toggles-store.ts | 4 +- .../import-validation-messages.ts | 8 +- .../feature-naming-validation.ts | 2 +- .../createFeatureSearchService.ts | 4 +- .../fake-feature-search-store.ts | 6 +- .../feature-search-controller.ts | 16 +- .../feature-search/feature-search-service.ts | 6 +- .../feature-search-store-type.ts | 4 +- .../feature-search/feature-search-store.ts | 10 +- .../feature-search/feature.search.e2e.test.ts | 8 +- .../features/feature-search/search-utils.ts | 4 +- .../archive-feature-toggle-controller.ts | 19 +- .../configuration-revision-service.ts | 4 +- .../feature-toggle-row-converter.ts | 4 +- .../createFeatureToggleService.ts | 4 +- .../fakes/fake-feature-strategies-store.ts | 6 +- .../fakes/fake-feature-toggle-store.ts | 12 +- .../fakes/fake-features-read-model.ts | 2 +- .../feature-toggle-controller.ts | 51 ++- .../feature-toggle/feature-toggle-service.ts | 88 ++-- .../feature-toggle/feature-toggle-store.ts | 24 +- .../feature-toggle-strategies-store.ts | 10 +- .../feature-toggle/features-read-model.ts | 4 +- .../feature-toggle-legacy-controller.ts | 26 +- .../feature-toggle-list-builder.ts | 2 +- .../tests/archive-feature-toggles.e2e.test.ts | 6 +- .../feature-toggle-last-seen-at.e2e.test.ts | 6 +- .../tests/feature-toggle-service.e2e.test.ts | 20 +- .../tests/feature-toggle-store.e2e.test.ts | 8 +- ...eature-toggle-strategies-store.e2e.test.ts | 10 +- .../tests/feature-toggles.auth.e2e.test.ts | 6 +- .../tests/feature-toggles.e2e.test.ts | 14 +- .../time-to-production/time-to-production.ts | 2 +- .../types/feature-toggle-store-type.ts | 12 +- .../feature-toggle-strategies-store-type.ts | 6 +- .../client-feature-toggle-read-model-type.ts | 2 +- .../client-feature-toggle-read-model.ts | 8 +- .../features/frontend-api/create-context.ts | 2 +- .../frontend-api/createFrontendApiService.ts | 8 +- .../fake-client-feature-toggle-read-model.ts | 4 +- .../frontend-api/frontend-api-controller.ts | 18 +- .../frontend-api/frontend-api-repository.ts | 14 +- .../frontend-api-service.e2e.test.ts | 8 +- .../frontend-api/frontend-api-service.test.ts | 8 +- .../frontend-api/frontend-api-service.ts | 22 +- .../frontend-api.concurrency.e2e.test.ts | 4 +- .../frontend-api/frontend-api.e2e.test.ts | 14 +- .../global-frontend-api-cache.test.ts | 4 +- .../frontend-api/global-frontend-api-cache.ts | 12 +- .../features/frontend-api/proxy-repository.ts | 21 +- src/lib/features/group/createGroupService.ts | 4 +- .../createInstanceStatsService.ts | 4 +- .../features/instance-stats/getActiveUsers.ts | 10 +- .../getProductionChanges.e2e.test.ts | 2 +- .../instance-stats/getProductionChanges.ts | 11 +- .../instance-stats/instance-stats-service.ts | 36 +- .../maintenance/maintenance-controller.ts | 16 +- .../maintenance/maintenance-middleware.ts | 6 +- .../maintenance/maintenance-service.test.ts | 2 +- .../maintenance/maintenance-service.ts | 8 +- .../client-metrics-service.e2e.test.ts | 6 +- .../client-metrics-store-v2-type.ts | 2 +- .../client-metrics-store-v2.e2e.test.ts | 8 +- .../client-metrics-store-v2.test.ts | 6 +- .../client-metrics/client-metrics-store-v2.ts | 8 +- .../client-metrics/client-metrics.e2e.test.ts | 8 +- .../metrics/client-metrics/client-metrics.ts | 16 +- .../collapseHourlyMetrics.test.ts | 2 +- .../client-metrics/collapseHourlyMetrics.ts | 2 +- .../fake-client-metrics-store-v2.ts | 2 +- .../client-metrics/metrics-service-v2.test.ts | 7 +- .../client-metrics/metrics-service-v2.ts | 25 +- .../metrics/instance/instance-service.test.ts | 4 +- .../metrics/instance/instance-service.ts | 30 +- .../features/metrics/instance/metrics.test.ts | 14 +- src/lib/features/metrics/instance/metrics.ts | 18 +- src/lib/features/metrics/instance/models.ts | 6 +- .../metrics/instance/register.test.ts | 4 +- src/lib/features/metrics/instance/register.ts | 20 +- .../last-seen/createLastSeenService.ts | 2 +- .../last-seen/fake-last-seen-read-model.ts | 4 +- .../metrics/last-seen/fake-last-seen-store.ts | 4 +- .../metrics/last-seen/last-seen-read-model.ts | 4 +- .../metrics/last-seen/last-seen-service.ts | 10 +- .../metrics/last-seen/last-seen-store.ts | 10 +- .../tests/last-seen-service.e2e.test.ts | 6 +- .../last-seen/tests/last-seen-service.test.ts | 2 +- .../types/last-seen-read-model-type.ts | 2 +- .../last-seen/types/last-seen-store-type.ts | 2 +- src/lib/features/metrics/shared/schema.ts | 2 +- .../playground/advanced-playground.test.ts | 6 +- .../playground/feature-evaluator/client.ts | 16 +- .../feature-evaluator/constraint.ts | 2 +- .../feature-evaluator/feature-evaluator.ts | 16 +- .../playground/feature-evaluator/feature.ts | 6 +- .../playground/feature-evaluator/helpers.ts | 6 +- .../playground/feature-evaluator/index.ts | 7 +- .../repository/bootstrap-provider.ts | 4 +- .../feature-evaluator/repository/index.ts | 8 +- .../repository/storage-provider-in-mem.ts | 2 +- .../strategy/flexible-rollout-strategy.ts | 2 +- .../strategy/gradual-rollout-random.ts | 2 +- .../strategy/gradual-rollout-session-id.ts | 2 +- .../strategy/gradual-rollout-user-id.ts | 2 +- .../feature-evaluator/strategy/index.ts | 2 +- .../strategy/remote-address-strategy.ts | 2 +- .../feature-evaluator/strategy/strategy.ts | 12 +- .../strategy/unknown-strategy.ts | 8 +- .../strategy/user-with-id-strategy.ts | 2 +- .../playground/feature-evaluator/variant.ts | 4 +- .../playground/offline-unleash-client.test.ts | 2 +- .../playground/offline-unleash-client.ts | 16 +- .../features/playground/playground-service.ts | 24 +- .../playground/playground-view-model.ts | 4 +- .../features/playground/playground.test.ts | 2 +- src/lib/features/playground/playground.ts | 26 +- .../createPrivateProjectChecker.ts | 2 +- .../fakePrivateProjectChecker.ts | 4 +- .../private-project/privateProjectChecker.ts | 8 +- .../privateProjectCheckerType.ts | 2 +- .../private-project/privateProjectStore.ts | 6 +- .../privateProjectStoreType.ts | 2 +- .../createEnvironmentService.ts | 4 +- .../environment-service.test.ts | 4 +- .../environment-service.ts | 26 +- .../environment-store-type.ts | 4 +- .../project-environments/environment-store.ts | 24 +- .../environments.e2e.test.ts | 4 +- .../project-environments/environments.ts | 20 +- .../fake-environment-store.ts | 4 +- .../features/project/createProjectService.ts | 4 +- .../project/project-applications.e2e.test.ts | 6 +- .../features/project/project-controller.ts | 34 +- src/lib/features/project/project-service.ts | 65 +-- .../features/project/project-store-type.ts | 8 +- src/lib/features/project/project-store.ts | 12 +- src/lib/features/project/projects.e2e.test.ts | 6 +- .../features/scheduler/schedule-services.ts | 2 +- .../scheduler/scheduler-service.test.ts | 4 +- .../features/scheduler/scheduler-service.ts | 6 +- .../segment/admin-segment.e2e.test.ts | 10 +- .../segment/client-segment.e2e.test.ts | 12 +- .../features/segment/createSegmentService.ts | 4 +- .../segment/fake-segment-read-model.ts | 8 +- .../features/segment/segment-controller.ts | 20 +- .../segment/segment-read-model-type.ts | 6 +- .../features/segment/segment-read-model.ts | 6 +- .../segment/segment-service-interface.ts | 6 +- src/lib/features/segment/segment-service.ts | 26 +- .../features/segment/segment-store-type.ts | 6 +- .../features/segment/segment-store.test.ts | 6 +- src/lib/features/segment/segment-store.ts | 16 +- .../features/tag-type/createTagTypeService.ts | 4 +- .../features/tag-type/fake-tag-type-store.ts | 2 +- src/lib/features/tag-type/tag-type-service.ts | 10 +- .../features/tag-type/tag-type-store-type.ts | 2 +- src/lib/features/tag-type/tag-type-store.ts | 8 +- src/lib/features/tag-type/tag-type.ts | 24 +- .../features/tag-type/tag-types.e2e.test.ts | 4 +- .../fake-traffic-data-usage-store.ts | 4 +- .../traffic-data-usage-store-type.ts | 2 +- .../traffic-data-usage-store.test.ts | 4 +- .../traffic-data-usage-store.ts | 6 +- .../ui-observability-controller.ts | 8 +- src/lib/metrics.test.ts | 4 +- src/lib/metrics.ts | 16 +- .../middleware/api-token-middleware.test.ts | 4 +- src/lib/middleware/api-token-middleware.ts | 8 +- .../middleware/authorization-middleware.ts | 6 +- src/lib/middleware/catch-all-error-handler.ts | 4 +- src/lib/middleware/conditional-middleware.ts | 2 +- .../middleware/content_type_checker.test.ts | 2 +- src/lib/middleware/content_type_checker.ts | 2 +- .../middleware/cors-origin-middleware.test.ts | 2 +- src/lib/middleware/cors-origin-middleware.ts | 4 +- src/lib/middleware/demo-authentication.ts | 10 +- src/lib/middleware/no-authentication.test.ts | 2 +- src/lib/middleware/no-authentication.ts | 6 +- src/lib/middleware/oss-authentication.test.ts | 4 +- src/lib/middleware/oss-authentication.ts | 4 +- src/lib/middleware/pat-middleware.test.ts | 2 +- src/lib/middleware/pat-middleware.ts | 6 +- src/lib/middleware/rbac-middleware.test.ts | 6 +- src/lib/middleware/rbac-middleware.ts | 8 +- src/lib/middleware/request-logger.ts | 4 +- src/lib/middleware/response-time-metrics.ts | 8 +- src/lib/middleware/secure-headers.ts | 4 +- src/lib/middleware/session-db.ts | 6 +- src/lib/middleware/unless-middleware.ts | 2 +- src/lib/openapi/index.ts | 4 +- src/lib/openapi/meta-schema-rules.test.ts | 2 +- .../spec/addon-create-update-schema.ts | 2 +- .../openapi/spec/addon-parameter-schema.ts | 2 +- src/lib/openapi/spec/addon-schema.test.ts | 2 +- src/lib/openapi/spec/addon-schema.ts | 2 +- src/lib/openapi/spec/addon-type-schema.ts | 2 +- src/lib/openapi/spec/addons-schema.test.ts | 2 +- src/lib/openapi/spec/addons-schema.ts | 2 +- src/lib/openapi/spec/admin-count-schema.ts | 2 +- .../spec/admin-features-query-schema.test.ts | 2 +- .../spec/admin-features-query-schema.ts | 2 +- .../openapi/spec/admin-segment-schema.test.ts | 2 +- src/lib/openapi/spec/admin-segment-schema.ts | 2 +- ...d-playground-environment-feature-schema.ts | 2 +- .../advanced-playground-feature-schema.ts | 2 +- .../advanced-playground-request-schema.ts | 2 +- .../advanced-playground-response-schema.ts | 2 +- src/lib/openapi/spec/api-token-schema.test.ts | 2 +- src/lib/openapi/spec/api-token-schema.ts | 2 +- src/lib/openapi/spec/api-tokens-schema.ts | 2 +- ...pplication-environment-instances-schema.ts | 2 +- .../application-environment-issues-schema.ts | 2 +- ...application-overview-environment-schema.ts | 2 +- .../application-overview-issues-schema.ts | 2 +- .../spec/application-overview-schema.ts | 2 +- src/lib/openapi/spec/application-schema.ts | 2 +- .../openapi/spec/application-usage-schema.ts | 2 +- .../spec/applications-query-parameters.ts | 2 +- src/lib/openapi/spec/applications-schema.ts | 2 +- src/lib/openapi/spec/batch-features-schema.ts | 2 +- src/lib/openapi/spec/batch-stale-schema.ts | 2 +- src/lib/openapi/spec/bulk-metrics-schema.ts | 2 +- .../openapi/spec/bulk-registration-schema.ts | 2 +- .../spec/bulk-toggle-features-schema.ts | 2 +- .../spec/change-password-schema.test.ts | 2 +- .../openapi/spec/change-password-schema.ts | 2 +- .../spec/client-application-schema.test.ts | 2 +- .../openapi/spec/client-application-schema.ts | 2 +- src/lib/openapi/spec/client-feature-schema.ts | 2 +- .../spec/client-features-query-schema.test.ts | 2 +- .../spec/client-features-query-schema.ts | 2 +- .../spec/client-features-schema.test.ts | 2 +- .../openapi/spec/client-features-schema.ts | 2 +- .../openapi/spec/client-metrics-env-schema.ts | 2 +- .../spec/client-metrics-schema.test.ts | 2 +- src/lib/openapi/spec/client-metrics-schema.ts | 2 +- src/lib/openapi/spec/client-segment-schema.ts | 2 +- src/lib/openapi/spec/clone-feature-schema.ts | 2 +- .../openapi/spec/constraint-schema.test.ts | 2 +- src/lib/openapi/spec/constraint-schema.ts | 2 +- .../openapi/spec/context-field-schema.test.ts | 2 +- src/lib/openapi/spec/context-field-schema.ts | 2 +- .../spec/context-field-strategies-schema.ts | 2 +- src/lib/openapi/spec/context-fields-schema.ts | 2 +- .../openapi/spec/create-api-token-schema.ts | 2 +- .../openapi/spec/create-application-schema.ts | 2 +- .../spec/create-context-field-schema.ts | 2 +- .../spec/create-dependent-feature-schema.ts | 2 +- .../create-feature-naming-pattern-schema.ts | 2 +- src/lib/openapi/spec/create-feature-schema.ts | 2 +- .../spec/create-feature-strategy-schema.ts | 2 +- src/lib/openapi/spec/create-group-schema.ts | 2 +- .../spec/create-invited-user-schema.ts | 2 +- src/lib/openapi/spec/create-pat-schema.ts | 2 +- .../openapi/spec/create-strategy-schema.ts | 2 +- .../spec/create-strategy-variant-schema.ts | 2 +- .../spec/create-user-response-schema.ts | 2 +- src/lib/openapi/spec/create-user-schema.ts | 2 +- src/lib/openapi/spec/date-schema.ts | 2 +- .../openapi/spec/dependencies-exist-schema.ts | 2 +- .../openapi/spec/dependent-feature-schema.ts | 2 +- ...deprecated-project-overview-schema.test.ts | 2 +- .../deprecated-project-overview-schema.ts | 2 +- src/lib/openapi/spec/dora-features-schema.ts | 2 +- src/lib/openapi/spec/edge-token-schema.ts | 2 +- src/lib/openapi/spec/email-schema.test.ts | 2 +- src/lib/openapi/spec/email-schema.ts | 2 +- .../spec/environment-project-schema.ts | 2 +- src/lib/openapi/spec/environment-schema.ts | 2 +- .../spec/environments-project-schema.ts | 2 +- src/lib/openapi/spec/environments-schema.ts | 2 +- src/lib/openapi/spec/event-schema.test.ts | 2 +- src/lib/openapi/spec/event-schema.ts | 2 +- src/lib/openapi/spec/events-schema.test.ts | 2 +- src/lib/openapi/spec/events-schema.ts | 2 +- .../openapi/spec/export-query-parameters.ts | 2 +- .../openapi/spec/export-query-schema.test.ts | 2 +- src/lib/openapi/spec/export-query-schema.ts | 2 +- .../openapi/spec/export-result-schema.test.ts | 2 +- src/lib/openapi/spec/export-result-schema.ts | 2 +- .../spec/feature-dependencies-schema.ts | 2 +- .../feature-environment-metrics-schema.ts | 2 +- .../spec/feature-environment-schema.test.ts | 2 +- .../spec/feature-environment-schema.ts | 2 +- .../spec/feature-events-schema.test.ts | 2 +- src/lib/openapi/spec/feature-events-schema.ts | 2 +- .../spec/feature-metrics-schema.test.ts | 2 +- .../openapi/spec/feature-metrics-schema.ts | 2 +- src/lib/openapi/spec/feature-schema.test.ts | 2 +- src/lib/openapi/spec/feature-schema.ts | 2 +- .../spec/feature-search-query-parameters.ts | 2 +- .../spec/feature-search-response-schema.ts | 2 +- .../openapi/spec/feature-strategy-schema.ts | 2 +- .../spec/feature-strategy-segment-schema.ts | 2 +- src/lib/openapi/spec/feature-tag-schema.ts | 2 +- .../spec/feature-type-count-schema.test.ts | 2 +- .../openapi/spec/feature-type-count-schema.ts | 2 +- .../openapi/spec/feature-type-schema.test.ts | 2 +- src/lib/openapi/spec/feature-type-schema.ts | 2 +- src/lib/openapi/spec/feature-types-schema.ts | 2 +- .../openapi/spec/feature-usage-schema.test.ts | 2 +- src/lib/openapi/spec/feature-usage-schema.ts | 2 +- .../openapi/spec/feature-variants-schema.ts | 2 +- src/lib/openapi/spec/features-schema.test.ts | 2 +- src/lib/openapi/spec/features-schema.ts | 2 +- .../openapi/spec/feedback-create-schema.ts | 2 +- .../openapi/spec/feedback-response-schema.ts | 2 +- .../openapi/spec/feedback-update-schema.ts | 2 +- .../spec/frontend-api-client-schema.ts | 2 +- .../spec/frontend-api-feature-schema.ts | 2 +- .../spec/frontend-api-features-schema.ts | 2 +- src/lib/openapi/spec/group-schema.ts | 2 +- .../openapi/spec/group-user-model-schema.ts | 2 +- src/lib/openapi/spec/groups-schema.test.ts | 2 +- src/lib/openapi/spec/groups-schema.ts | 2 +- src/lib/openapi/spec/health-check-schema.ts | 2 +- .../openapi/spec/health-overview-schema.ts | 2 +- src/lib/openapi/spec/health-report-schema.ts | 2 +- src/lib/openapi/spec/id-schema.ts | 2 +- src/lib/openapi/spec/ids-schema.ts | 2 +- src/lib/openapi/spec/import-toggles-schema.ts | 2 +- .../import-toggles-validate-item-schema.ts | 2 +- .../spec/import-toggles-validate-schema.ts | 2 +- src/lib/openapi/spec/inactive-user-schema.ts | 2 +- src/lib/openapi/spec/inactive-users-schema.ts | 2 +- .../spec/instance-admin-stats-schema.test.ts | 2 +- .../spec/instance-admin-stats-schema.ts | 2 +- src/lib/openapi/spec/legal-value-schema.ts | 2 +- src/lib/openapi/spec/login-schema.ts | 2 +- src/lib/openapi/spec/maintenance-schema.ts | 2 +- src/lib/openapi/spec/me-schema.test.ts | 2 +- src/lib/openapi/spec/me-schema.ts | 2 +- src/lib/openapi/spec/name-schema.ts | 2 +- src/lib/openapi/spec/outdated-sdks-schema.ts | 2 +- src/lib/openapi/spec/override-schema.ts | 2 +- src/lib/openapi/spec/parameters-schema.ts | 2 +- .../spec/parent-feature-options-schema.ts | 2 +- src/lib/openapi/spec/password-schema.ts | 2 +- src/lib/openapi/spec/pat-schema.ts | 2 +- src/lib/openapi/spec/patch-schema.ts | 2 +- src/lib/openapi/spec/patches-schema.ts | 2 +- src/lib/openapi/spec/pats-schema.ts | 2 +- src/lib/openapi/spec/permission-schema.ts | 2 +- .../spec/playground-constraint-schema.ts | 2 +- .../spec/playground-feature-schema.test.ts | 10 +- .../openapi/spec/playground-feature-schema.ts | 2 +- .../spec/playground-request-schema.test.ts | 4 +- .../openapi/spec/playground-request-schema.ts | 2 +- .../spec/playground-response-schema.test.ts | 4 +- .../spec/playground-response-schema.ts | 2 +- .../openapi/spec/playground-segment-schema.ts | 2 +- .../spec/playground-strategy-schema.ts | 2 +- src/lib/openapi/spec/profile-schema.test.ts | 2 +- src/lib/openapi/spec/profile-schema.ts | 2 +- .../spec/project-application-schema.ts | 2 +- .../spec/project-application-sdk-schema.ts | 2 +- .../project-applications-query-parameters.ts | 2 +- .../spec/project-applications-schema.test.ts | 2 +- .../spec/project-applications-schema.ts | 2 +- .../spec/project-dora-metrics-schema.ts | 2 +- .../spec/project-environment-schema.ts | 2 +- .../spec/project-overview-schema.test.ts | 2 +- .../openapi/spec/project-overview-schema.ts | 2 +- src/lib/openapi/spec/project-schema.test.ts | 2 +- src/lib/openapi/spec/project-schema.ts | 2 +- src/lib/openapi/spec/project-stats-schema.ts | 2 +- src/lib/openapi/spec/projects-schema.ts | 2 +- .../openapi/spec/public-signup-schema.test.ts | 2 +- .../spec/public-signup-token-create-schema.ts | 2 +- .../spec/public-signup-token-schema.ts | 2 +- .../spec/public-signup-token-update-schema.ts | 2 +- .../spec/public-signup-tokens-schema.ts | 2 +- src/lib/openapi/spec/push-variants-schema.ts | 2 +- .../openapi/spec/record-ui-error-schema.ts | 2 +- .../spec/requests-per-second-schema.ts | 2 +- .../requests-per-second-segmented-schema.ts | 2 +- src/lib/openapi/spec/reset-password-schema.ts | 2 +- .../openapi/spec/resource-limits-schema.ts | 2 +- src/lib/openapi/spec/role-schema.test.ts | 2 +- src/lib/openapi/spec/role-schema.ts | 2 +- src/lib/openapi/spec/roles-schema.ts | 2 +- .../openapi/spec/sdk-context-schema.test.ts | 4 +- src/lib/openapi/spec/sdk-context-schema.ts | 2 +- .../openapi/spec/sdk-flat-context-schema.ts | 2 +- src/lib/openapi/spec/search-events-schema.ts | 2 +- .../openapi/spec/search-features-schema.ts | 2 +- src/lib/openapi/spec/segment-schema.ts | 2 +- .../openapi/spec/segment-strategies-schema.ts | 2 +- src/lib/openapi/spec/segments-schema.test.ts | 2 +- src/lib/openapi/spec/segments-schema.ts | 2 +- .../set-strategy-sort-order-schema.test.ts | 2 +- .../spec/set-strategy-sort-order-schema.ts | 2 +- src/lib/openapi/spec/set-ui-config-schema.ts | 2 +- .../openapi/spec/sort-order-schema.test.ts | 2 +- src/lib/openapi/spec/sort-order-schema.ts | 2 +- src/lib/openapi/spec/splash-request-schema.ts | 2 +- .../openapi/spec/splash-response-schema.ts | 2 +- src/lib/openapi/spec/state-schema.ts | 2 +- src/lib/openapi/spec/strategies-schema.ts | 2 +- src/lib/openapi/spec/strategy-schema.test.ts | 2 +- src/lib/openapi/spec/strategy-schema.ts | 2 +- .../openapi/spec/strategy-variant-schema.ts | 2 +- src/lib/openapi/spec/tag-schema.ts | 2 +- src/lib/openapi/spec/tag-type-schema.ts | 2 +- src/lib/openapi/spec/tag-types-schema.test.ts | 2 +- src/lib/openapi/spec/tag-types-schema.ts | 2 +- .../openapi/spec/tag-with-version-schema.ts | 2 +- .../openapi/spec/tags-bulk-add-schema.test.ts | 2 +- src/lib/openapi/spec/tags-bulk-add-schema.ts | 2 +- src/lib/openapi/spec/tags-schema.ts | 2 +- .../openapi/spec/telemetry-settings-schema.ts | 2 +- .../openapi/spec/toggle-maintenance-schema.ts | 2 +- .../openapi/spec/token-string-list-schema.ts | 2 +- .../openapi/spec/token-user-schema.test.ts | 2 +- src/lib/openapi/spec/token-user-schema.ts | 2 +- src/lib/openapi/spec/ui-config-schema.test.ts | 2 +- src/lib/openapi/spec/ui-config-schema.ts | 2 +- .../openapi/spec/update-api-token-schema.ts | 2 +- .../spec/update-context-field-schema.ts | 2 +- src/lib/openapi/spec/update-feature-schema.ts | 2 +- .../spec/update-feature-strategy-schema.ts | 2 +- ...e-feature-strategy-segments-schema.test.ts | 2 +- ...update-feature-strategy-segments-schema.ts | 2 +- .../update-feature-type-lifetime-schema.ts | 2 +- .../openapi/spec/update-strategy-schema.ts | 2 +- .../openapi/spec/update-tag-type-schema.ts | 2 +- .../openapi/spec/update-tags-schema.test.ts | 2 +- src/lib/openapi/spec/update-tags-schema.ts | 2 +- src/lib/openapi/spec/update-user-schema.ts | 2 +- src/lib/openapi/spec/upsert-segment-schema.ts | 2 +- src/lib/openapi/spec/user-schema.test.ts | 2 +- src/lib/openapi/spec/user-schema.ts | 2 +- .../spec/users-groups-base-schema.test.ts | 2 +- .../openapi/spec/users-groups-base-schema.ts | 2 +- src/lib/openapi/spec/users-schema.test.ts | 2 +- src/lib/openapi/spec/users-schema.ts | 2 +- .../openapi/spec/users-search-schema.test.ts | 2 +- src/lib/openapi/spec/users-search-schema.ts | 2 +- .../spec/validate-archive-features-schema.ts | 2 +- .../openapi/spec/validate-feature-schema.ts | 2 +- .../spec/validate-password-schema.test.ts | 2 +- .../openapi/spec/validate-password-schema.ts | 2 +- .../openapi/spec/validate-tag-type-schema.ts | 2 +- .../spec/validated-edge-tokens-schema.ts | 2 +- src/lib/openapi/spec/variant-flag-schema.ts | 2 +- src/lib/openapi/spec/variant-schema.ts | 2 +- src/lib/openapi/spec/variants-schema.ts | 2 +- src/lib/openapi/spec/version-schema.ts | 2 +- src/lib/openapi/util/all-of.ts | 2 +- src/lib/openapi/util/api-operation.ts | 4 +- src/lib/openapi/util/create-request-schema.ts | 2 +- .../openapi/util/create-response-schema.ts | 2 +- src/lib/openapi/util/from-query-params.ts | 4 +- src/lib/openapi/validate.ts | 4 +- src/lib/routes/admin-api/addon.ts | 21 +- src/lib/routes/admin-api/api-token.ts | 28 +- src/lib/routes/admin-api/config.test.ts | 6 +- src/lib/routes/admin-api/config.ts | 30 +- src/lib/routes/admin-api/constraints.ts | 14 +- src/lib/routes/admin-api/context.test.ts | 4 +- src/lib/routes/admin-api/context.ts | 26 +- src/lib/routes/admin-api/email.ts | 13 +- src/lib/routes/admin-api/environments.ts | 20 +- src/lib/routes/admin-api/event.ts | 20 +- src/lib/routes/admin-api/favorites.ts | 10 +- src/lib/routes/admin-api/feature-type.ts | 22 +- src/lib/routes/admin-api/index.ts | 4 +- src/lib/routes/admin-api/instance-admin.ts | 14 +- src/lib/routes/admin-api/metrics.test.ts | 6 +- src/lib/routes/admin-api/metrics.ts | 28 +- src/lib/routes/admin-api/project/api-token.ts | 20 +- .../routes/admin-api/project/health-report.ts | 16 +- .../admin-api/project/project-archive.ts | 22 +- src/lib/routes/admin-api/project/variants.ts | 24 +- .../routes/admin-api/public-signup.test.ts | 6 +- src/lib/routes/admin-api/public-signup.ts | 22 +- src/lib/routes/admin-api/state.ts | 18 +- src/lib/routes/admin-api/strategy.ts | 22 +- src/lib/routes/admin-api/tag.test.ts | 6 +- src/lib/routes/admin-api/tag.ts | 24 +- src/lib/routes/admin-api/telemetry.ts | 12 +- src/lib/routes/admin-api/user-admin.ts | 54 +-- src/lib/routes/admin-api/user-feedback.ts | 20 +- src/lib/routes/admin-api/user-splash.ts | 16 +- src/lib/routes/admin-api/user/pat.ts | 18 +- src/lib/routes/admin-api/user/user.ts | 33 +- .../routes/auth/reset-password-controller.ts | 16 +- .../routes/auth/simple-password-provider.ts | 18 +- src/lib/routes/backstage.ts | 2 +- src/lib/routes/client-api/index.ts | 2 +- src/lib/routes/controller.ts | 27 +- src/lib/routes/edge-api/index.ts | 26 +- src/lib/routes/health-check.test.ts | 4 +- src/lib/routes/health-check.ts | 12 +- src/lib/routes/index.ts | 4 +- src/lib/routes/logout.test.ts | 2 +- src/lib/routes/logout.ts | 10 +- src/lib/routes/public-invite.test.ts | 6 +- src/lib/routes/public-invite.ts | 16 +- src/lib/routes/unleash-types.ts | 6 +- src/lib/routes/util.ts | 4 +- src/lib/server-impl.ts | 22 +- src/lib/services/access-service.test.ts | 8 +- src/lib/services/access-service.ts | 32 +- src/lib/services/account-service.ts | 12 +- .../addon-service-test-simple-addon.ts | 4 +- src/lib/services/addon-service.test.ts | 4 +- src/lib/services/addon-service.ts | 24 +- src/lib/services/api-token-service.test.ts | 4 +- src/lib/services/api-token-service.ts | 26 +- src/lib/services/client-spec-service.ts | 8 +- src/lib/services/context-service.ts | 18 +- src/lib/services/edge-service.ts | 10 +- src/lib/services/email-service.test.ts | 2 +- src/lib/services/email-service.ts | 6 +- src/lib/services/event-announcer-service.ts | 10 +- src/lib/services/favorites-service.ts | 16 +- .../feature-service-potentially-stale.test.ts | 18 +- src/lib/services/feature-tag-service.ts | 14 +- src/lib/services/feature-type-service.ts | 12 +- src/lib/services/group-service.ts | 16 +- src/lib/services/health-service.ts | 8 +- src/lib/services/index.ts | 10 +- src/lib/services/openapi-service.ts | 16 +- src/lib/services/pat-service.ts | 12 +- src/lib/services/project-health-service.ts | 8 +- .../services/public-signup-token-service.ts | 26 +- src/lib/services/reset-token-service.ts | 8 +- src/lib/services/scheduler-service.test.ts | 4 +- src/lib/services/session-service.ts | 8 +- src/lib/services/setting-service.ts | 10 +- src/lib/services/state-service.ts | 32 +- src/lib/services/strategy-service.ts | 10 +- src/lib/services/tag-service.ts | 12 +- src/lib/services/user-feedback-service.ts | 10 +- src/lib/services/user-service.test.ts | 2 +- src/lib/services/user-service.ts | 28 +- src/lib/services/user-splash-service.ts | 10 +- src/lib/services/version-service.ts | 14 +- src/lib/types/api-user.ts | 2 +- src/lib/types/authentication-required.ts | 2 +- src/lib/types/core.test.ts | 2 +- src/lib/types/core.ts | 17 +- src/lib/types/events.ts | 8 +- src/lib/types/experimental.ts | 2 +- src/lib/types/group.ts | 2 +- src/lib/types/model.ts | 16 +- src/lib/types/models/api-token.ts | 2 +- src/lib/types/models/public-signup-token.ts | 2 +- src/lib/types/no-auth-user.ts | 2 +- src/lib/types/openapi.d.ts | 4 +- src/lib/types/option.ts | 20 +- src/lib/types/services.ts | 102 ++--- src/lib/types/settings/frontend-settings.ts | 2 +- src/lib/types/stores.ts | 4 +- src/lib/types/stores/access-store.ts | 8 +- src/lib/types/stores/account-store.ts | 4 +- src/lib/types/stores/addon-store.ts | 2 +- src/lib/types/stores/api-token-store.ts | 4 +- .../types/stores/client-applications-store.ts | 4 +- src/lib/types/stores/client-instance-store.ts | 2 +- src/lib/types/stores/context-field-store.ts | 2 +- src/lib/types/stores/event-store.ts | 10 +- src/lib/types/stores/favorite-features.ts | 4 +- src/lib/types/stores/favorite-projects.ts | 4 +- .../types/stores/feature-environment-store.ts | 4 +- src/lib/types/stores/feature-tag-store.ts | 4 +- src/lib/types/stores/feature-type-store.ts | 2 +- src/lib/types/stores/group-store.ts | 7 +- src/lib/types/stores/pat-store.ts | 4 +- .../types/stores/project-stats-store-type.ts | 4 +- .../types/stores/public-signup-token-store.ts | 6 +- src/lib/types/stores/reset-token-store.ts | 2 +- src/lib/types/stores/role-store.ts | 8 +- src/lib/types/stores/session-store.ts | 2 +- src/lib/types/stores/settings-store.ts | 2 +- src/lib/types/stores/strategy-store.ts | 4 +- src/lib/types/stores/tag-store.ts | 4 +- src/lib/types/stores/user-feedback-store.ts | 2 +- src/lib/types/stores/user-splash-store.ts | 2 +- src/lib/types/stores/user-store.ts | 4 +- .../inactive/createInactiveUsersService.ts | 6 +- .../fakes/fake-inactive-users-store.ts | 4 +- .../inactive/inactive-users-controller.ts | 22 +- .../users/inactive/inactive-users-service.ts | 14 +- .../users/inactive/inactive-users-store.ts | 8 +- src/lib/util/db-lock.test.ts | 4 +- src/lib/util/db-lock.ts | 4 +- src/lib/util/extract-user.test.ts | 2 +- src/lib/util/extract-user.ts | 7 +- src/lib/util/flag-resolver.test.ts | 7 +- src/lib/util/flag-resolver.ts | 4 +- src/lib/util/graceful-shutdown.ts | 4 +- src/lib/util/load-index-html.ts | 2 +- src/lib/util/metrics/createCounter.ts | 2 +- src/lib/util/metrics/createGauge.ts | 2 +- src/lib/util/metrics/createHistogram.ts | 2 +- src/lib/util/metrics/createSummary.ts | 2 +- src/lib/util/omit-keys.ts | 14 +- src/lib/util/semver.ts | 2 +- .../util/validators/constraint-types.test.ts | 2 +- src/lib/util/validators/constraint-types.ts | 2 +- src/migrator.ts | 2 +- src/test/arbitraries.test.ts | 12 +- src/test/config/create-config.test.ts | 2 +- src/test/config/test-config.ts | 4 +- src/test/e2e/api/admin/addon.e2e.test.ts | 4 +- .../e2e/api/admin/api-token.auth.e2e.test.ts | 6 +- src/test/e2e/api/admin/api-token.e2e.test.ts | 4 +- .../e2e/api/admin/applications.e2e.test.ts | 6 +- src/test/e2e/api/admin/config.e2e.test.ts | 4 +- .../e2e/api/admin/constraints.e2e.test.ts | 4 +- src/test/e2e/api/admin/context.e2e.test.ts | 4 +- src/test/e2e/api/admin/environment.test.ts | 4 +- src/test/e2e/api/admin/event.e2e.test.ts | 6 +- src/test/e2e/api/admin/favorites.e2e.test.ts | 10 +- .../e2e/api/admin/feature-archive.e2e.test.ts | 4 +- src/test/e2e/api/admin/feature-type.test.ts | 4 +- .../e2e/api/admin/feature.auth.e2e.test.ts | 2 +- .../api/admin/feature.custom-auth.e2e.test.ts | 4 +- src/test/e2e/api/admin/feedback.e2e.test.ts | 12 +- .../e2e/api/admin/instance-admin.e2e.test.ts | 6 +- .../e2e/api/admin/maintenance.e2e.test.ts | 2 +- src/test/e2e/api/admin/metrics.e2e.test.ts | 4 +- src/test/e2e/api/admin/playground.e2e.test.ts | 18 +- .../api/admin/project/api-token.e2e.test.ts | 6 +- .../project/project.api.tokens.e2e.test.ts | 4 +- .../admin/project/project.health.e2e.test.ts | 6 +- .../api/admin/project/variants.e2e.test.ts | 6 +- .../api/admin/public-signup-token.e2e.test.ts | 6 +- src/test/e2e/api/admin/splash.e2e.test.ts | 12 +- src/test/e2e/api/admin/state.e2e.test.ts | 6 +- src/test/e2e/api/admin/strategy.e2e.test.ts | 4 +- src/test/e2e/api/admin/tags.e2e.test.ts | 4 +- src/test/e2e/api/admin/user-admin.e2e.test.ts | 16 +- src/test/e2e/api/admin/user/pat.e2e.test.ts | 9 +- src/test/e2e/api/admin/user/user.test.ts | 7 +- .../leading-slashes-are-stripped.e2e.test.ts | 6 +- .../reset-password-controller.e2e.test.ts | 12 +- .../auth/simple-password-provider.e2e.test.ts | 8 +- .../api/client/feature.auth-none.e2e.test.ts | 6 +- src/test/e2e/api/client/feature.e2e.test.ts | 6 +- .../client/feature.env.disabled.e2e.test.ts | 6 +- .../api/client/feature.optimal304.e2e.test.ts | 6 +- .../client/feature.token.access.e2e.test.ts | 6 +- .../api/client/metrics.e2e.access.e2e.test.ts | 4 +- src/test/e2e/api/client/metrics.e2e.test.ts | 4 +- src/test/e2e/api/client/metricsV2.e2e.test.ts | 6 +- src/test/e2e/api/client/register.e2e.test.ts | 4 +- src/test/e2e/api/openapi/openapi.e2e.test.ts | 4 +- src/test/e2e/custom-auth.test.ts | 4 +- src/test/e2e/dedupe-permissions.e2e.test.ts | 2 +- .../favor-permission-name-over-id.e2e.test.ts | 2 +- ...ated-by-user-id-data-migration.e2e.test.ts | 10 +- src/test/e2e/health.e2e.test.ts | 4 +- src/test/e2e/helpers/app.utils.ts | 4 +- src/test/e2e/helpers/database-init.ts | 10 +- src/test/e2e/helpers/test-helper.ts | 20 +- src/test/e2e/migrator.e2e.test.ts | 2 +- src/test/e2e/routes/routes.test.ts | 4 +- src/test/e2e/seed/segment.seed.ts | 8 +- .../e2e/services/access-service.e2e.test.ts | 12 +- .../e2e/services/addon-service.e2e.test.ts | 4 +- .../services/api-token-service.e2e.test.ts | 11 +- .../e2e/services/group-service.e2e.test.ts | 4 +- .../e2e/services/playground-service.test.ts | 24 +- .../project-health-service.e2e.test.ts | 8 +- .../e2e/services/project-service.e2e.test.ts | 16 +- .../services/reset-token-service.e2e.test.ts | 8 +- .../e2e/services/session-service.e2e.test.ts | 4 +- src/test/e2e/services/setting-service.test.ts | 4 +- .../e2e/services/state-service.e2e.test.ts | 4 +- .../e2e/services/user-service.e2e.test.ts | 8 +- .../client-application-store.e2e.test.ts | 9 +- .../stores/context-field-store.e2e.test.ts | 8 +- src/test/e2e/stores/event-store.e2e.test.ts | 8 +- .../feature-environment-store.e2e.test.ts | 13 +- .../e2e/stores/feature-tag-store.e2e.test.ts | 8 +- .../feature-toggle-client-store.e2e.test.ts | 9 +- .../e2e/stores/feature-type-store.e2e.test.ts | 6 +- src/test/e2e/stores/project-store.e2e.test.ts | 8 +- src/test/e2e/stores/setting-store.e2e.test.ts | 4 +- .../stores/user-feedback-store.e2e.test.ts | 8 +- .../e2e/stores/user-splash-store.e2e.test.ts | 8 +- src/test/e2e/stores/user-store.e2e.test.ts | 4 +- src/test/e2e/system-user-migration.test.ts | 2 +- .../inactive/inactive-users-service.test.ts | 6 +- src/test/fixtures/access-service-mock.ts | 8 +- src/test/fixtures/fake-access-store.ts | 10 +- src/test/fixtures/fake-account-store.ts | 4 +- src/test/fixtures/fake-addon-store.ts | 2 +- src/test/fixtures/fake-api-token-store.ts | 4 +- .../fake-client-applications-store.ts | 4 +- .../fixtures/fake-client-instance-store.ts | 2 +- src/test/fixtures/fake-context-field-store.ts | 2 +- src/test/fixtures/fake-event-store.ts | 10 +- .../fixtures/fake-favorite-features-store.ts | 6 +- .../fixtures/fake-favorite-projects-store.ts | 6 +- .../fake-feature-environment-store.ts | 4 +- src/test/fixtures/fake-feature-tag-store.ts | 4 +- src/test/fixtures/fake-feature-type-store.ts | 2 +- src/test/fixtures/fake-group-store.ts | 10 +- src/test/fixtures/fake-pat-store.ts | 4 +- src/test/fixtures/fake-project-stats-store.ts | 4 +- src/test/fixtures/fake-project-store.ts | 8 +- src/test/fixtures/fake-public-signup-store.ts | 6 +- src/test/fixtures/fake-reset-token-store.ts | 2 +- src/test/fixtures/fake-role-store.ts | 8 +- src/test/fixtures/fake-segment-store.ts | 4 +- src/test/fixtures/fake-session-store.ts | 5 +- src/test/fixtures/fake-setting-store.ts | 2 +- src/test/fixtures/fake-strategies-store.ts | 2 +- src/test/fixtures/fake-tag-store.ts | 4 +- src/test/fixtures/fake-user-feedback-store.ts | 2 +- src/test/fixtures/fake-user-splash-store.ts | 2 +- src/test/fixtures/fake-user-store.ts | 5 +- src/test/fixtures/no-logger.ts | 2 +- src/test/fixtures/store.ts | 2 +- website/package.json | 6 +- website/src/components/ApiRequest/index.tsx | 2 +- website/src/components/Figure/Figure.tsx | 2 +- website/src/components/VideoContent.jsx | 1 - .../src/components/unleash-academy/Banner.jsx | 1 - .../unleash-academy/CourseBanner.jsx | 1 - .../src/components/unleash-academy/Links.jsx | 1 - website/src/icons/close.tsx | 1 - yarn.lock | 411 ++++++++++-------- 1819 files changed, 4959 insertions(+), 4517 deletions(-) diff --git a/.husky/pre-commit b/.husky/pre-commit index 67acabb1c13..39634d7af6e 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,7 +1,4 @@ -#!/usr/bin/env sh -. "$(dirname -- "$0")/_/husky.sh" - -npx lint-staged +yarn lint-staged node .husky/update-openapi-spec-list.js diff --git a/biome.json b/biome.json index 9c0f8e41383..16bb6507c3b 100644 --- a/biome.json +++ b/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/1.5.1/schema.json", + "$schema": "https://biomejs.dev/schemas/1.6.1/schema.json", "linter": { "enabled": true, "rules": { @@ -20,21 +20,21 @@ "noInferrableTypes": "off", "noUnusedTemplateLiteral": "off", "useSingleVarDeclarator": "off", - "noUselessElse": "off" + "noUselessElse": "off", + "useNodejsImportProtocol": "off" }, "suspicious": { "noExplicitAny": "off", "noExtraNonNullAssertion": "off", "noRedeclare": "off", "noPrototypeBuiltins": "off", - "noConfusingVoidType": "off" + "noConfusingVoidType": "off", + "noArrayIndexKey": "off", + "noThenProperty": "off" }, "performance": { "noAccumulatingSpread": "off", "noDelete": "off" - }, - "nursery": { - "noUnusedImports": "warn" } }, "ignore": [ diff --git a/frontend/cypress/integration/projects/overview.spec.ts b/frontend/cypress/integration/projects/overview.spec.ts index bf0551f007b..0b733b63686 100644 --- a/frontend/cypress/integration/projects/overview.spec.ts +++ b/frontend/cypress/integration/projects/overview.spec.ts @@ -76,7 +76,7 @@ describe('project overview', () => { cy.get(counter) .invoke('text') .then((text) => { - const number = parseFloat(text); + const number = Number.parseFloat(text); expect(number).to.be.at.least(2); }); cy.get(selectAll).click(); @@ -110,7 +110,7 @@ describe('project overview', () => { cy.get(counter) .invoke('text') .then((text) => { - const number = parseFloat(text); + const number = Number.parseFloat(text); expect(number).to.be.at.least(2); }); cy.get('table td') diff --git a/frontend/package.json b/frontend/package.json index ef9dab8185f..289005cb35f 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -2,10 +2,7 @@ "name": "unleash-frontend-local", "version": "0.0.0", "private": true, - "files": [ - "index.js", - "build" - ], + "files": ["index.js", "build"], "engines": { "node": ">=18" }, @@ -37,7 +34,7 @@ "gen:api:clean": "yarn gen:api && rm -rf src/openapi/apis && sed -i.bak '1q' src/openapi/index.ts && rm src/openapi/index.ts.bak" }, "devDependencies": { - "@biomejs/biome": "1.5.1", + "@biomejs/biome": "1.6.1", "@codemirror/lang-json": "6.0.1", "@emotion/react": "11.11.4", "@emotion/styled": "11.11.0", @@ -146,11 +143,7 @@ } }, "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], + "production": [">0.2%", "not dead", "not op_mini all"], "development": [ "last 1 chrome version", "last 1 firefox version", diff --git a/frontend/src/component/admin/AdminIndex.tsx b/frontend/src/component/admin/AdminIndex.tsx index 46d49b5818e..36f021f32b6 100644 --- a/frontend/src/component/admin/AdminIndex.tsx +++ b/frontend/src/component/admin/AdminIndex.tsx @@ -1,8 +1,8 @@ import { PageContent } from 'component/common/PageContent/PageContent'; import { PageHeader } from 'component/common/PageHeader/PageHeader'; -import { VFC } from 'react'; +import type { VFC } from 'react'; import { adminGroups } from './adminRoutes'; -import { INavigationMenuItem } from 'interfaces/route'; +import type { INavigationMenuItem } from 'interfaces/route'; import { Box, Link, Typography } from '@mui/material'; import { Link as RouterLink } from 'react-router-dom'; import { useAdminRoutes } from './useAdminRoutes'; diff --git a/frontend/src/component/admin/adminRoutes.ts b/frontend/src/component/admin/adminRoutes.ts index fba92a10337..23ed877b76d 100644 --- a/frontend/src/component/admin/adminRoutes.ts +++ b/frontend/src/component/admin/adminRoutes.ts @@ -1,4 +1,4 @@ -import { INavigationMenuItem } from 'interfaces/route'; +import type { INavigationMenuItem } from 'interfaces/route'; export const adminGroups: Record = { users: 'User administration', diff --git a/frontend/src/component/admin/apiToken/ApiTokenForm/ApiTokenForm.tsx b/frontend/src/component/admin/apiToken/ApiTokenForm/ApiTokenForm.tsx index 21c2ccb7e7a..64869502313 100644 --- a/frontend/src/component/admin/apiToken/ApiTokenForm/ApiTokenForm.tsx +++ b/frontend/src/component/admin/apiToken/ApiTokenForm/ApiTokenForm.tsx @@ -1,5 +1,6 @@ import { Alert, Link } from '@mui/material'; -import React, { ReactNode } from 'react'; +import type React from 'react'; +import type { ReactNode } from 'react'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { CancelButton, StyledBox, StyledForm } from './ApiTokenForm.styles'; diff --git a/frontend/src/component/admin/apiToken/ApiTokenForm/EnvironmentSelector/EnvironmentSelector.tsx b/frontend/src/component/admin/apiToken/ApiTokenForm/EnvironmentSelector/EnvironmentSelector.tsx index 142b6b4a370..f7676a0e211 100644 --- a/frontend/src/component/admin/apiToken/ApiTokenForm/EnvironmentSelector/EnvironmentSelector.tsx +++ b/frontend/src/component/admin/apiToken/ApiTokenForm/EnvironmentSelector/EnvironmentSelector.tsx @@ -1,6 +1,6 @@ import { TokenType } from '../../../../../interfaces/token'; import KeyboardArrowDownOutlined from '@mui/icons-material/KeyboardArrowDownOutlined'; -import React from 'react'; +import type React from 'react'; import { StyledInputDescription, StyledSelectInput, diff --git a/frontend/src/component/admin/apiToken/ApiTokenForm/ProjectSelector/ProjectSelector.tsx b/frontend/src/component/admin/apiToken/ApiTokenForm/ProjectSelector/ProjectSelector.tsx index 4838325ba04..a91b13b6643 100644 --- a/frontend/src/component/admin/apiToken/ApiTokenForm/ProjectSelector/ProjectSelector.tsx +++ b/frontend/src/component/admin/apiToken/ApiTokenForm/ProjectSelector/ProjectSelector.tsx @@ -1,9 +1,9 @@ import { SelectProjectInput } from './SelectProjectInput/SelectProjectInput'; import { TokenType } from '../../../../../interfaces/token'; -import React from 'react'; +import type React from 'react'; import { StyledInputDescription } from '../ApiTokenForm.styles'; import useProjects from 'hooks/api/getters/useProjects/useProjects'; -import { ApiTokenFormErrorType } from '../useApiTokenForm'; +import type { ApiTokenFormErrorType } from '../useApiTokenForm'; import { useOptionalPathParam } from 'hooks/useOptionalPathParam'; interface IProjectSelectorProps { diff --git a/frontend/src/component/admin/apiToken/ApiTokenForm/ProjectSelector/SelectProjectInput/SelectAllButton/SelectAllButton.tsx b/frontend/src/component/admin/apiToken/ApiTokenForm/ProjectSelector/SelectProjectInput/SelectAllButton/SelectAllButton.tsx index 2772c49a9e5..422a38fd096 100644 --- a/frontend/src/component/admin/apiToken/ApiTokenForm/ProjectSelector/SelectProjectInput/SelectAllButton/SelectAllButton.tsx +++ b/frontend/src/component/admin/apiToken/ApiTokenForm/ProjectSelector/SelectProjectInput/SelectAllButton/SelectAllButton.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Box, Link, styled } from '@mui/material'; type SelectAllButtonProps = { diff --git a/frontend/src/component/admin/apiToken/ApiTokenForm/ProjectSelector/SelectProjectInput/SelectProjectInput.test.tsx b/frontend/src/component/admin/apiToken/ApiTokenForm/ProjectSelector/SelectProjectInput/SelectProjectInput.test.tsx index 67b974431ab..cf948126eeb 100644 --- a/frontend/src/component/admin/apiToken/ApiTokenForm/ProjectSelector/SelectProjectInput/SelectProjectInput.test.tsx +++ b/frontend/src/component/admin/apiToken/ApiTokenForm/ProjectSelector/SelectProjectInput/SelectProjectInput.test.tsx @@ -3,7 +3,7 @@ import { screen, waitFor, within } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { render } from 'utils/testRenderer'; import { - ISelectProjectInputProps, + type ISelectProjectInputProps, SelectProjectInput, } from './SelectProjectInput'; import { testServerRoute, testServerSetup } from 'utils/testServer'; diff --git a/frontend/src/component/admin/apiToken/ApiTokenForm/ProjectSelector/SelectProjectInput/SelectProjectInput.tsx b/frontend/src/component/admin/apiToken/ApiTokenForm/ProjectSelector/SelectProjectInput/SelectProjectInput.tsx index b8808258d55..cdabf912243 100644 --- a/frontend/src/component/admin/apiToken/ApiTokenForm/ProjectSelector/SelectProjectInput/SelectProjectInput.tsx +++ b/frontend/src/component/admin/apiToken/ApiTokenForm/ProjectSelector/SelectProjectInput/SelectProjectInput.tsx @@ -1,4 +1,4 @@ -import { Fragment, useState, ChangeEvent, VFC } from 'react'; +import { Fragment, useState, type ChangeEvent, type VFC } from 'react'; import { Checkbox, FormControlLabel, @@ -9,7 +9,7 @@ import { } from '@mui/material'; import { Autocomplete } from '@mui/material'; -import { +import type { AutocompleteRenderGroupParams, AutocompleteRenderInputParams, AutocompleteRenderOptionState, @@ -17,7 +17,7 @@ import { import CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank'; import CheckBoxIcon from '@mui/icons-material/CheckBox'; -import { IAutocompleteBoxOption } from 'component/common/AutocompleteBox/AutocompleteBox'; +import type { IAutocompleteBoxOption } from 'component/common/AutocompleteBox/AutocompleteBox'; import { SelectAllButton } from './SelectAllButton/SelectAllButton'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/admin/apiToken/ApiTokenForm/TokenInfo/TokenInfo.tsx b/frontend/src/component/admin/apiToken/ApiTokenForm/TokenInfo/TokenInfo.tsx index 0625f7dcf5c..94ccf16f67c 100644 --- a/frontend/src/component/admin/apiToken/ApiTokenForm/TokenInfo/TokenInfo.tsx +++ b/frontend/src/component/admin/apiToken/ApiTokenForm/TokenInfo/TokenInfo.tsx @@ -1,6 +1,6 @@ -import React from 'react'; +import type React from 'react'; import { StyledInput, StyledInputDescription } from '../ApiTokenForm.styles'; -import { ApiTokenFormErrorType } from '../useApiTokenForm'; +import type { ApiTokenFormErrorType } from '../useApiTokenForm'; interface ITokenInfoProps { username: string; diff --git a/frontend/src/component/admin/apiToken/ApiTokenForm/TokenTypeSelector/TokenTypeSelector.tsx b/frontend/src/component/admin/apiToken/ApiTokenForm/TokenTypeSelector/TokenTypeSelector.tsx index 192b2208315..eb351ed805d 100644 --- a/frontend/src/component/admin/apiToken/ApiTokenForm/TokenTypeSelector/TokenTypeSelector.tsx +++ b/frontend/src/component/admin/apiToken/ApiTokenForm/TokenTypeSelector/TokenTypeSelector.tsx @@ -7,7 +7,7 @@ import { RadioGroup, Typography, } from '@mui/material'; -import { TokenType } from 'interfaces/token'; +import type { TokenType } from 'interfaces/token'; export type SelectOption = { key: string; diff --git a/frontend/src/component/admin/apiToken/ApiTokenForm/useApiTokenForm.ts b/frontend/src/component/admin/apiToken/ApiTokenForm/useApiTokenForm.ts index f88bfc6862d..eff3010e362 100644 --- a/frontend/src/component/admin/apiToken/ApiTokenForm/useApiTokenForm.ts +++ b/frontend/src/component/admin/apiToken/ApiTokenForm/useApiTokenForm.ts @@ -1,7 +1,7 @@ import { useEffect, useState } from 'react'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import { useEnvironments } from 'hooks/api/getters/useEnvironments/useEnvironments'; -import { IApiTokenCreate } from 'hooks/api/actions/useApiTokensApi/useApiTokensApi'; +import type { IApiTokenCreate } from 'hooks/api/actions/useApiTokensApi/useApiTokensApi'; import { TokenType } from 'interfaces/token'; import { ADMIN, @@ -10,7 +10,7 @@ import { CREATE_PROJECT_API_TOKEN, } from '@server/types/permissions'; import { useHasRootAccess } from 'hooks/useHasAccess'; -import { SelectOption } from './TokenTypeSelector/TokenTypeSelector'; +import type { SelectOption } from './TokenTypeSelector/TokenTypeSelector'; import { useUiFlag } from '../../../../hooks/useUiFlag'; export type ApiTokenFormErrorType = 'username' | 'projects'; diff --git a/frontend/src/component/admin/apiToken/ProjectsList/ProjectsList.tsx b/frontend/src/component/admin/apiToken/ProjectsList/ProjectsList.tsx index 9a341e493fd..2a63fedb458 100644 --- a/frontend/src/component/admin/apiToken/ProjectsList/ProjectsList.tsx +++ b/frontend/src/component/admin/apiToken/ProjectsList/ProjectsList.tsx @@ -2,7 +2,7 @@ import { styled } from '@mui/material'; import { Highlighter } from 'component/common/Highlighter/Highlighter'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; import { useSearchHighlightContext } from 'component/common/Table/SearchHighlightContext/SearchHighlightContext'; -import { Fragment, VFC } from 'react'; +import { Fragment, type VFC } from 'react'; import { Link } from 'react-router-dom'; const StyledLink = styled(Link)(({ theme }) => ({ diff --git a/frontend/src/component/admin/auth/AuthSettings.tsx b/frontend/src/component/admin/auth/AuthSettings.tsx index 7cc9f247bc9..a3343150a4b 100644 --- a/frontend/src/component/admin/auth/AuthSettings.tsx +++ b/frontend/src/component/admin/auth/AuthSettings.tsx @@ -113,7 +113,6 @@ export const AuthSettings = () => {
{tabs.map((tab, index) => ( key={index} value={activeTab} index={index} diff --git a/frontend/src/component/admin/auth/AutoCreateForm/AutoCreateForm.tsx b/frontend/src/component/admin/auth/AutoCreateForm/AutoCreateForm.tsx index 4424c84b2df..302d7df8526 100644 --- a/frontend/src/component/admin/auth/AutoCreateForm/AutoCreateForm.tsx +++ b/frontend/src/component/admin/auth/AutoCreateForm/AutoCreateForm.tsx @@ -1,4 +1,4 @@ -import { ChangeEvent, Fragment } from 'react'; +import { type ChangeEvent, Fragment } from 'react'; import { FormControl, FormControlLabel, @@ -8,7 +8,7 @@ import { } from '@mui/material'; import { RoleSelect } from 'component/common/RoleSelect/RoleSelect'; import { useRoles } from 'hooks/api/getters/useRoles/useRoles'; -import { IRole } from 'interfaces/role'; +import type { IRole } from 'interfaces/role'; interface IAutoCreateFormProps { data?: { diff --git a/frontend/src/component/admin/auth/GoogleAuth/GoogleAuth.tsx b/frontend/src/component/admin/auth/GoogleAuth/GoogleAuth.tsx index 931392ec88c..333166b9c1e 100644 --- a/frontend/src/component/admin/auth/GoogleAuth/GoogleAuth.tsx +++ b/frontend/src/component/admin/auth/GoogleAuth/GoogleAuth.tsx @@ -1,4 +1,5 @@ -import React, { useEffect, useState } from 'react'; +import type React from 'react'; +import { useEffect, useState } from 'react'; import { Box, Button, diff --git a/frontend/src/component/admin/auth/OidcAuth/OidcAuth.tsx b/frontend/src/component/admin/auth/OidcAuth/OidcAuth.tsx index e203756e768..70ab4e51515 100644 --- a/frontend/src/component/admin/auth/OidcAuth/OidcAuth.tsx +++ b/frontend/src/component/admin/auth/OidcAuth/OidcAuth.tsx @@ -1,4 +1,5 @@ -import React, { useEffect, useState } from 'react'; +import type React from 'react'; +import { useEffect, useState } from 'react'; import { Button, FormControl, @@ -19,7 +20,7 @@ import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; import { removeEmptyStringFields } from 'utils/removeEmptyStringFields'; import { SsoGroupSettings } from '../SsoGroupSettings'; -import { IRole } from 'interfaces/role'; +import type { IRole } from 'interfaces/role'; const initialState = { enabled: false, diff --git a/frontend/src/component/admin/auth/PasswordAuth/PasswordAuth.tsx b/frontend/src/component/admin/auth/PasswordAuth/PasswordAuth.tsx index 09716533cf8..ccaf9a10c1a 100644 --- a/frontend/src/component/admin/auth/PasswordAuth/PasswordAuth.tsx +++ b/frontend/src/component/admin/auth/PasswordAuth/PasswordAuth.tsx @@ -1,9 +1,10 @@ -import React, { useEffect, useState } from 'react'; +import type React from 'react'; +import { useEffect, useState } from 'react'; import { Button, FormControlLabel, Grid, Switch } from '@mui/material'; import { Alert } from '@mui/material'; import useAuthSettings from 'hooks/api/getters/useAuthSettings/useAuthSettings'; import useAuthSettingsApi, { - ISimpleAuthSettings, + type ISimpleAuthSettings, } from 'hooks/api/actions/useAuthSettingsApi/useAuthSettingsApi'; import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; diff --git a/frontend/src/component/admin/auth/PasswordAuth/PasswordAuthDialog.tsx b/frontend/src/component/admin/auth/PasswordAuth/PasswordAuthDialog.tsx index 526ffdecd27..18640505502 100644 --- a/frontend/src/component/admin/auth/PasswordAuth/PasswordAuthDialog.tsx +++ b/frontend/src/component/admin/auth/PasswordAuth/PasswordAuthDialog.tsx @@ -1,7 +1,7 @@ import { Alert, Typography } from '@mui/material'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; -import { IAdminCount } from 'hooks/api/getters/useAdminCount/useAdminCount'; -import { IApiToken } from 'hooks/api/getters/useApiTokens/useApiTokens'; +import type { IAdminCount } from 'hooks/api/getters/useAdminCount/useAdminCount'; +import type { IApiToken } from 'hooks/api/getters/useApiTokens/useApiTokens'; interface IPasswordAuthDialogProps { open: boolean; diff --git a/frontend/src/component/admin/auth/SamlAuth/SamlAuth.tsx b/frontend/src/component/admin/auth/SamlAuth/SamlAuth.tsx index c8f81f6343f..88d3b2ee179 100644 --- a/frontend/src/component/admin/auth/SamlAuth/SamlAuth.tsx +++ b/frontend/src/component/admin/auth/SamlAuth/SamlAuth.tsx @@ -1,4 +1,5 @@ -import React, { useEffect, useState } from 'react'; +import type React from 'react'; +import { useEffect, useState } from 'react'; import { Button, FormControlLabel, @@ -15,7 +16,7 @@ import useAuthSettingsApi from 'hooks/api/actions/useAuthSettingsApi/useAuthSett import { formatUnknownError } from 'utils/formatUnknownError'; import { removeEmptyStringFields } from 'utils/removeEmptyStringFields'; import { SsoGroupSettings } from '../SsoGroupSettings'; -import { IRole } from 'interfaces/role'; +import type { IRole } from 'interfaces/role'; const initialState = { enabled: false, diff --git a/frontend/src/component/admin/auth/SsoGroupSettings.tsx b/frontend/src/component/admin/auth/SsoGroupSettings.tsx index 8f0df50edf9..daab6f6a289 100644 --- a/frontend/src/component/admin/auth/SsoGroupSettings.tsx +++ b/frontend/src/component/admin/auth/SsoGroupSettings.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import type React from 'react'; import { FormControlLabel, Grid, Switch, TextField } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/admin/banners/BannerModal/BannerForm.tsx b/frontend/src/component/admin/banners/BannerModal/BannerForm.tsx index f33b5e66761..395d26a1cd3 100644 --- a/frontend/src/component/admin/banners/BannerModal/BannerForm.tsx +++ b/frontend/src/component/admin/banners/BannerModal/BannerForm.tsx @@ -5,8 +5,13 @@ import { FormSwitch } from 'component/common/FormSwitch/FormSwitch'; import GeneralSelect from 'component/common/GeneralSelect/GeneralSelect'; import { HelpIcon } from 'component/common/HelpIcon/HelpIcon'; import Input from 'component/common/Input/Input'; -import { BannerVariant } from 'interfaces/banner'; -import { ChangeEvent, Dispatch, SetStateAction, useState } from 'react'; +import type { BannerVariant } from 'interfaces/banner'; +import { + type ChangeEvent, + type Dispatch, + type SetStateAction, + useState, +} from 'react'; import Visibility from '@mui/icons-material/Visibility'; import { BannerDialog } from 'component/banners/Banner/BannerDialog/BannerDialog'; diff --git a/frontend/src/component/admin/banners/BannerModal/BannerModal.tsx b/frontend/src/component/admin/banners/BannerModal/BannerModal.tsx index 5218b7c7a90..d239352c7f5 100644 --- a/frontend/src/component/admin/banners/BannerModal/BannerModal.tsx +++ b/frontend/src/component/admin/banners/BannerModal/BannerModal.tsx @@ -4,11 +4,11 @@ import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import FormTemplate from 'component/common/FormTemplate/FormTemplate'; import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; -import { FormEvent, useEffect, useState } from 'react'; -import { BannerVariant, IInternalBanner } from 'interfaces/banner'; +import { type FormEvent, useEffect, useState } from 'react'; +import type { BannerVariant, IInternalBanner } from 'interfaces/banner'; import { useBanners } from 'hooks/api/getters/useBanners/useBanners'; import { - AddOrUpdateBanner, + type AddOrUpdateBanner, useBannersApi, } from 'hooks/api/actions/useBannersApi/useBannersApi'; import { BannerForm } from './BannerForm'; diff --git a/frontend/src/component/admin/banners/BannersTable/BannerDeleteDialog.tsx b/frontend/src/component/admin/banners/BannersTable/BannerDeleteDialog.tsx index e72e2fc9580..166115b2681 100644 --- a/frontend/src/component/admin/banners/BannersTable/BannerDeleteDialog.tsx +++ b/frontend/src/component/admin/banners/BannersTable/BannerDeleteDialog.tsx @@ -1,5 +1,5 @@ import { Dialogue } from 'component/common/Dialogue/Dialogue'; -import { IInternalBanner } from 'interfaces/banner'; +import type { IInternalBanner } from 'interfaces/banner'; interface IBannerDeleteDialogProps { banner?: IInternalBanner; diff --git a/frontend/src/component/admin/banners/BannersTable/BannersTable.tsx b/frontend/src/component/admin/banners/BannersTable/BannersTable.tsx index 1ae381afdd5..c782e985196 100644 --- a/frontend/src/component/admin/banners/BannersTable/BannersTable.tsx +++ b/frontend/src/component/admin/banners/BannersTable/BannersTable.tsx @@ -17,7 +17,7 @@ import { useConditionallyHiddenColumns } from 'hooks/useConditionallyHiddenColum import { useSearch } from 'hooks/useSearch'; import { useBanners } from 'hooks/api/getters/useBanners/useBanners'; import { useBannersApi } from 'hooks/api/actions/useBannersApi/useBannersApi'; -import { IInternalBanner } from 'interfaces/banner'; +import type { IInternalBanner } from 'interfaces/banner'; import { Banner } from 'component/banners/Banner/Banner'; import { BannersActionsCell } from './BannersActionsCell'; import { BannerDeleteDialog } from './BannerDeleteDialog'; diff --git a/frontend/src/component/admin/billing/BillingDashboard/BillingDashboard.tsx b/frontend/src/component/admin/billing/BillingDashboard/BillingDashboard.tsx index 179f1d2bb3e..2c4ac755ee7 100644 --- a/frontend/src/component/admin/billing/BillingDashboard/BillingDashboard.tsx +++ b/frontend/src/component/admin/billing/BillingDashboard/BillingDashboard.tsx @@ -1,6 +1,6 @@ import { Grid } from '@mui/material'; -import { IInstanceStatus } from 'interfaces/instance'; -import { VFC } from 'react'; +import type { IInstanceStatus } from 'interfaces/instance'; +import type { VFC } from 'react'; import { BillingInformation } from './BillingInformation/BillingInformation'; import { BillingPlan } from './BillingPlan/BillingPlan'; diff --git a/frontend/src/component/admin/billing/BillingDashboard/BillingInformation/BillingInformation.tsx b/frontend/src/component/admin/billing/BillingDashboard/BillingInformation/BillingInformation.tsx index 2e5de15f3df..08f738749bd 100644 --- a/frontend/src/component/admin/billing/BillingDashboard/BillingInformation/BillingInformation.tsx +++ b/frontend/src/component/admin/billing/BillingDashboard/BillingInformation/BillingInformation.tsx @@ -1,8 +1,8 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Alert, Divider, Grid, styled, Typography } from '@mui/material'; import { BillingInformationButton } from './BillingInformationButton/BillingInformationButton'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { IInstanceStatus, InstanceState } from 'interfaces/instance'; +import { type IInstanceStatus, InstanceState } from 'interfaces/instance'; const StyledInfoBox = styled('aside')(({ theme }) => ({ padding: theme.spacing(4), diff --git a/frontend/src/component/admin/billing/BillingDashboard/BillingInformation/BillingInformationButton/BillingInformationButton.tsx b/frontend/src/component/admin/billing/BillingDashboard/BillingInformation/BillingInformationButton/BillingInformationButton.tsx index dd70f6a04d9..a36c3c3e850 100644 --- a/frontend/src/component/admin/billing/BillingDashboard/BillingInformation/BillingInformationButton/BillingInformationButton.tsx +++ b/frontend/src/component/admin/billing/BillingDashboard/BillingInformation/BillingInformationButton/BillingInformationButton.tsx @@ -1,5 +1,5 @@ import { Button, styled } from '@mui/material'; -import { VFC } from 'react'; +import type { VFC } from 'react'; import { formatApiPath } from 'utils/formatPath'; const PORTAL_URL = formatApiPath('api/admin/invoices'); diff --git a/frontend/src/component/admin/billing/BillingDashboard/BillingPlan/BillingPlan.tsx b/frontend/src/component/admin/billing/BillingDashboard/BillingPlan/BillingPlan.tsx index 6e64d9bddcb..e1ecfd71dc7 100644 --- a/frontend/src/component/admin/billing/BillingDashboard/BillingPlan/BillingPlan.tsx +++ b/frontend/src/component/admin/billing/BillingDashboard/BillingPlan/BillingPlan.tsx @@ -1,11 +1,11 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Alert, Divider, Grid, styled, Typography } from '@mui/material'; import { Link } from 'react-router-dom'; import CheckIcon from '@mui/icons-material/Check'; import { useUsers } from 'hooks/api/getters/useUsers/useUsers'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { - IInstanceStatus, + type IInstanceStatus, InstanceState, InstancePlan, } from 'interfaces/instance'; diff --git a/frontend/src/component/admin/billing/BillingDashboard/BillingPlan/GridColLink/GridColLink.tsx b/frontend/src/component/admin/billing/BillingDashboard/BillingPlan/GridColLink/GridColLink.tsx index d077a58c8bf..6878ad78d54 100644 --- a/frontend/src/component/admin/billing/BillingDashboard/BillingPlan/GridColLink/GridColLink.tsx +++ b/frontend/src/component/admin/billing/BillingDashboard/BillingPlan/GridColLink/GridColLink.tsx @@ -1,5 +1,5 @@ import { styled } from '@mui/material'; -import { FC } from 'react'; +import type { FC } from 'react'; const StyledSpan = styled('span')(({ theme }) => ({ fontSize: theme.fontSizes.smallBody, diff --git a/frontend/src/component/admin/billing/BillingHistory/BillingHistory.tsx b/frontend/src/component/admin/billing/BillingHistory/BillingHistory.tsx index 61228bcc7c9..4bcedac5dd0 100644 --- a/frontend/src/component/admin/billing/BillingHistory/BillingHistory.tsx +++ b/frontend/src/component/admin/billing/BillingHistory/BillingHistory.tsx @@ -8,7 +8,7 @@ import { } from 'component/common/Table'; import { PageContent } from 'component/common/PageContent/PageContent'; import { DateCell } from 'component/common/Table/cells/DateCell/DateCell'; -import { useMemo, VFC } from 'react'; +import { useMemo, type VFC } from 'react'; import { useGlobalFilter, useSortBy, useTable } from 'react-table'; import { sortTypes } from 'utils/sortTypes'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/admin/cors/CorsForm.tsx b/frontend/src/component/admin/cors/CorsForm.tsx index 42ca9286fe1..b7a2f93285d 100644 --- a/frontend/src/component/admin/cors/CorsForm.tsx +++ b/frontend/src/component/admin/cors/CorsForm.tsx @@ -1,5 +1,6 @@ import { ADMIN } from 'component/providers/AccessProvider/permissions'; -import React, { useState } from 'react'; +import type React from 'react'; +import { useState } from 'react'; import { TextField, Box } from '@mui/material'; import { UpdateButton } from 'component/common/UpdateButton/UpdateButton'; import { useUiConfigApi } from 'hooks/api/actions/useUiConfigApi/useUiConfigApi'; diff --git a/frontend/src/component/admin/filterAdminRoutes.ts b/frontend/src/component/admin/filterAdminRoutes.ts index a7842756c4a..e34f0569549 100644 --- a/frontend/src/component/admin/filterAdminRoutes.ts +++ b/frontend/src/component/admin/filterAdminRoutes.ts @@ -1,4 +1,4 @@ -import { INavigationMenuItem } from 'interfaces/route'; +import type { INavigationMenuItem } from 'interfaces/route'; export const filterAdminRoutes = ( menu: INavigationMenuItem['menu'], diff --git a/frontend/src/component/admin/groups/EditGroup/EditGroup.tsx b/frontend/src/component/admin/groups/EditGroup/EditGroup.tsx index e4304e9ba56..88f0e23eaf7 100644 --- a/frontend/src/component/admin/groups/EditGroup/EditGroup.tsx +++ b/frontend/src/component/admin/groups/EditGroup/EditGroup.tsx @@ -13,7 +13,7 @@ import { useGroup } from 'hooks/api/getters/useGroup/useGroup'; import { UG_SAVE_BTN_ID } from 'utils/testIds'; import { GO_BACK } from 'constants/navigate'; import { useGroups } from 'hooks/api/getters/useGroups/useGroups'; -import { IGroup } from 'interfaces/group'; +import type { IGroup } from 'interfaces/group'; export const EditGroupContainer = () => { const groupId = Number(useRequiredPathParam('groupId')); diff --git a/frontend/src/component/admin/groups/Group/EditGroupUsers/EditGroupUsers.tsx b/frontend/src/component/admin/groups/Group/EditGroupUsers/EditGroupUsers.tsx index 5ca3b1fa165..9fb06b7acef 100644 --- a/frontend/src/component/admin/groups/Group/EditGroupUsers/EditGroupUsers.tsx +++ b/frontend/src/component/admin/groups/Group/EditGroupUsers/EditGroupUsers.tsx @@ -5,8 +5,8 @@ import { useGroupApi } from 'hooks/api/actions/useGroupApi/useGroupApi'; import { useGroup } from 'hooks/api/getters/useGroup/useGroup'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import useToast from 'hooks/useToast'; -import { IGroup } from 'interfaces/group'; -import { FC, FormEvent, useEffect } from 'react'; +import type { IGroup } from 'interfaces/group'; +import { type FC, type FormEvent, useEffect } from 'react'; import { formatUnknownError } from 'utils/formatUnknownError'; import { GroupFormUsersSelect } from 'component/admin/groups/GroupForm/GroupFormUsersSelect/GroupFormUsersSelect'; import { GroupFormUsersTable } from 'component/admin/groups/GroupForm/GroupFormUsersTable/GroupFormUsersTable'; diff --git a/frontend/src/component/admin/groups/Group/Group.tsx b/frontend/src/component/admin/groups/Group/Group.tsx index 08b1d990a5b..850679ef103 100644 --- a/frontend/src/component/admin/groups/Group/Group.tsx +++ b/frontend/src/component/admin/groups/Group/Group.tsx @@ -1,7 +1,12 @@ -import { useEffect, useMemo, useState, VFC } from 'react'; +import { useEffect, useMemo, useState, type VFC } from 'react'; import { IconButton, Tooltip, useMediaQuery, useTheme } from '@mui/material'; import { useSearchParams, Link } from 'react-router-dom'; -import { SortingRule, useFlexLayout, useSortBy, useTable } from 'react-table'; +import { + type SortingRule, + useFlexLayout, + useSortBy, + useTable, +} from 'react-table'; import { TablePlaceholder, VirtualizedTable } from 'component/common/Table'; import { useGroup } from 'hooks/api/getters/useGroup/useGroup'; import { SearchHighlightProvider } from 'component/common/Table/SearchHighlightContext/SearchHighlightContext'; @@ -11,7 +16,7 @@ import { PageContent } from 'component/common/PageContent/PageContent'; import { PageHeader } from 'component/common/PageHeader/PageHeader'; import { sortTypes } from 'utils/sortTypes'; import { createLocalStorage } from 'utils/createLocalStorage'; -import { IGroupUser } from 'interfaces/group'; +import type { IGroupUser } from 'interfaces/group'; import { useSearch } from 'hooks/useSearch'; import { Search } from 'component/common/Search/Search'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; diff --git a/frontend/src/component/admin/groups/Group/RemoveGroupUser/RemoveGroupUser.tsx b/frontend/src/component/admin/groups/Group/RemoveGroupUser/RemoveGroupUser.tsx index 262eeea3525..6482eb97dee 100644 --- a/frontend/src/component/admin/groups/Group/RemoveGroupUser/RemoveGroupUser.tsx +++ b/frontend/src/component/admin/groups/Group/RemoveGroupUser/RemoveGroupUser.tsx @@ -3,8 +3,8 @@ import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { useGroupApi } from 'hooks/api/actions/useGroupApi/useGroupApi'; import { useGroup } from 'hooks/api/getters/useGroup/useGroup'; import useToast from 'hooks/useToast'; -import { IGroup, IGroupUser } from 'interfaces/group'; -import { FC } from 'react'; +import type { IGroup, IGroupUser } from 'interfaces/group'; +import type { FC } from 'react'; import { formatUnknownError } from 'utils/formatUnknownError'; interface IRemoveGroupUserProps { diff --git a/frontend/src/component/admin/groups/GroupForm/GroupForm.tsx b/frontend/src/component/admin/groups/GroupForm/GroupForm.tsx index e0a368b8b3f..55a758e115b 100644 --- a/frontend/src/component/admin/groups/GroupForm/GroupForm.tsx +++ b/frontend/src/component/admin/groups/GroupForm/GroupForm.tsx @@ -1,8 +1,9 @@ -import React, { FC } from 'react'; +import type React from 'react'; +import type { FC } from 'react'; import { Box, Button, styled } from '@mui/material'; import { UG_DESC_ID, UG_NAME_ID } from 'utils/testIds'; import Input from 'component/common/Input/Input'; -import { IGroupUser } from 'interfaces/group'; +import type { IGroupUser } from 'interfaces/group'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { GroupFormUsersSelect } from './GroupFormUsersSelect/GroupFormUsersSelect'; import { GroupFormUsersTable } from './GroupFormUsersTable/GroupFormUsersTable'; @@ -10,7 +11,7 @@ import { ItemList } from 'component/common/ItemList/ItemList'; import useAuthSettings from 'hooks/api/getters/useAuthSettings/useAuthSettings'; import { Link } from 'react-router-dom'; import { HelpIcon } from 'component/common/HelpIcon/HelpIcon'; -import { IRole } from 'interfaces/role'; +import type { IRole } from 'interfaces/role'; import { useUsers } from 'hooks/api/getters/useUsers/useUsers'; import { RoleSelect } from 'component/common/RoleSelect/RoleSelect'; diff --git a/frontend/src/component/admin/groups/GroupForm/GroupFormUsersSelect/GroupFormUsersSelect.tsx b/frontend/src/component/admin/groups/GroupForm/GroupFormUsersSelect/GroupFormUsersSelect.tsx index fa736e147b7..854a38daa09 100644 --- a/frontend/src/component/admin/groups/GroupForm/GroupFormUsersSelect/GroupFormUsersSelect.tsx +++ b/frontend/src/component/admin/groups/GroupForm/GroupFormUsersSelect/GroupFormUsersSelect.tsx @@ -1,14 +1,14 @@ import { Autocomplete, Checkbox, styled, TextField } from '@mui/material'; import CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank'; import CheckBoxIcon from '@mui/icons-material/CheckBox'; -import { IUser } from 'interfaces/user'; -import { VFC } from 'react'; +import type { IUser } from 'interfaces/user'; +import type { VFC } from 'react'; import { useUsers } from 'hooks/api/getters/useUsers/useUsers'; -import { IGroupUser } from 'interfaces/group'; +import type { IGroupUser } from 'interfaces/group'; import { UG_USERS_ID } from 'utils/testIds'; import { caseInsensitiveSearch } from 'utils/search'; import { useServiceAccounts } from 'hooks/api/getters/useServiceAccounts/useServiceAccounts'; -import { IServiceAccount } from 'interfaces/service-account'; +import type { IServiceAccount } from 'interfaces/service-account'; const StyledOption = styled('div')(({ theme }) => ({ display: 'flex', diff --git a/frontend/src/component/admin/groups/GroupForm/GroupFormUsersTable/GroupFormUsersTable.tsx b/frontend/src/component/admin/groups/GroupForm/GroupFormUsersTable/GroupFormUsersTable.tsx index 7c3aeebb382..34235e5002c 100644 --- a/frontend/src/component/admin/groups/GroupForm/GroupFormUsersTable/GroupFormUsersTable.tsx +++ b/frontend/src/component/admin/groups/GroupForm/GroupFormUsersTable/GroupFormUsersTable.tsx @@ -1,7 +1,7 @@ -import { useMemo, useState, VFC } from 'react'; +import { useMemo, useState, type VFC } from 'react'; import { IconButton, Tooltip, useMediaQuery } from '@mui/material'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; -import { IGroupUser } from 'interfaces/group'; +import type { IGroupUser } from 'interfaces/group'; import { HighlightCell } from 'component/common/Table/cells/HighlightCell/HighlightCell'; import { ActionCell } from 'component/common/Table/cells/ActionCell/ActionCell'; import Delete from '@mui/icons-material/Delete'; diff --git a/frontend/src/component/admin/groups/GroupsList/GroupCard/GroupCard.tsx b/frontend/src/component/admin/groups/GroupsList/GroupCard/GroupCard.tsx index e09cb0296cd..88a9f0bd955 100644 --- a/frontend/src/component/admin/groups/GroupsList/GroupCard/GroupCard.tsx +++ b/frontend/src/component/admin/groups/GroupsList/GroupCard/GroupCard.tsx @@ -1,5 +1,5 @@ import { styled, Tooltip } from '@mui/material'; -import { IGroup } from 'interfaces/group'; +import type { IGroup } from 'interfaces/group'; import { Link, useNavigate } from 'react-router-dom'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { GroupCardAvatars } from './GroupCardAvatars/GroupCardAvatars'; diff --git a/frontend/src/component/admin/groups/GroupsList/GroupCard/GroupCardActions/GroupCardActions.tsx b/frontend/src/component/admin/groups/GroupsList/GroupCard/GroupCardActions/GroupCardActions.tsx index 4799ffea567..ade5846149e 100644 --- a/frontend/src/component/admin/groups/GroupsList/GroupCard/GroupCardActions/GroupCardActions.tsx +++ b/frontend/src/component/admin/groups/GroupsList/GroupCard/GroupCardActions/GroupCardActions.tsx @@ -1,4 +1,4 @@ -import { FC, useState } from 'react'; +import { type FC, useState } from 'react'; import { IconButton, ListItemIcon, diff --git a/frontend/src/component/admin/groups/GroupsList/GroupCard/GroupCardAvatars/GroupCardAvatars.tsx b/frontend/src/component/admin/groups/GroupsList/GroupCard/GroupCardAvatars/GroupCardAvatars.tsx index f36ba7cbec9..784c8dd7671 100644 --- a/frontend/src/component/admin/groups/GroupsList/GroupCard/GroupCardAvatars/GroupCardAvatars.tsx +++ b/frontend/src/component/admin/groups/GroupsList/GroupCard/GroupCardAvatars/GroupCardAvatars.tsx @@ -1,7 +1,8 @@ import { styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { IGroupUser } from 'interfaces/group'; -import React, { useMemo, useState } from 'react'; +import type { IGroupUser } from 'interfaces/group'; +import type React from 'react'; +import { useMemo, useState } from 'react'; import { GroupPopover } from './GroupPopover/GroupPopover'; import { UserAvatar } from 'component/common/UserAvatar/UserAvatar'; diff --git a/frontend/src/component/admin/groups/GroupsList/GroupCard/GroupCardAvatars/GroupPopover/GroupPopover.tsx b/frontend/src/component/admin/groups/GroupsList/GroupCard/GroupCardAvatars/GroupPopover/GroupPopover.tsx index b9a50d1442c..993cf98801f 100644 --- a/frontend/src/component/admin/groups/GroupsList/GroupCard/GroupCardAvatars/GroupPopover/GroupPopover.tsx +++ b/frontend/src/component/admin/groups/GroupsList/GroupCard/GroupCardAvatars/GroupPopover/GroupPopover.tsx @@ -1,5 +1,5 @@ import { Popover, styled } from '@mui/material'; -import { IGroupUser } from 'interfaces/group'; +import type { IGroupUser } from 'interfaces/group'; const StyledPopover = styled(Popover)(({ theme }) => ({ pointerEvents: 'none', diff --git a/frontend/src/component/admin/groups/GroupsList/GroupsList.tsx b/frontend/src/component/admin/groups/GroupsList/GroupsList.tsx index 184ee97c108..d7a9f553e3d 100644 --- a/frontend/src/component/admin/groups/GroupsList/GroupsList.tsx +++ b/frontend/src/component/admin/groups/GroupsList/GroupsList.tsx @@ -1,7 +1,7 @@ -import { useEffect, useMemo, useState, VFC } from 'react'; +import { useEffect, useMemo, useState, type VFC } from 'react'; import { useGroups } from 'hooks/api/getters/useGroups/useGroups'; import { useNavigate, useSearchParams } from 'react-router-dom'; -import { IGroup } from 'interfaces/group'; +import type { IGroup } from 'interfaces/group'; import { PageContent } from 'component/common/PageContent/PageContent'; import { PageHeader } from 'component/common/PageHeader/PageHeader'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/admin/groups/RemoveGroup/RemoveGroup.tsx b/frontend/src/component/admin/groups/RemoveGroup/RemoveGroup.tsx index a0b8f360e97..6b58ea2e6af 100644 --- a/frontend/src/component/admin/groups/RemoveGroup/RemoveGroup.tsx +++ b/frontend/src/component/admin/groups/RemoveGroup/RemoveGroup.tsx @@ -3,8 +3,8 @@ import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { useGroupApi } from 'hooks/api/actions/useGroupApi/useGroupApi'; import { useGroups } from 'hooks/api/getters/useGroups/useGroups'; import useToast from 'hooks/useToast'; -import { IGroup } from 'interfaces/group'; -import { FC } from 'react'; +import type { IGroup } from 'interfaces/group'; +import type { FC } from 'react'; import { useNavigate } from 'react-router-dom'; import { formatUnknownError } from 'utils/formatUnknownError'; diff --git a/frontend/src/component/admin/groups/hooks/useGroupForm.ts b/frontend/src/component/admin/groups/hooks/useGroupForm.ts index 6f841265256..6ac64271576 100644 --- a/frontend/src/component/admin/groups/hooks/useGroupForm.ts +++ b/frontend/src/component/admin/groups/hooks/useGroupForm.ts @@ -1,6 +1,6 @@ import { useState } from 'react'; import useQueryParams from 'hooks/useQueryParams'; -import { IGroupUser } from 'interfaces/group'; +import type { IGroupUser } from 'interfaces/group'; export const useGroupForm = ( initialName = '', diff --git a/frontend/src/component/admin/instance-admin/InstanceStats/InstanceStats.tsx b/frontend/src/component/admin/instance-admin/InstanceStats/InstanceStats.tsx index 86367860447..4c9646a1253 100644 --- a/frontend/src/component/admin/instance-admin/InstanceStats/InstanceStats.tsx +++ b/frontend/src/component/admin/instance-admin/InstanceStats/InstanceStats.tsx @@ -8,7 +8,7 @@ import { TableRow, } from '@mui/material'; import { Box } from '@mui/system'; -import { VFC } from 'react'; +import type { VFC } from 'react'; import { useInstanceStats } from 'hooks/api/getters/useInstanceStats/useInstanceStats'; import { formatApiPath } from '../../../../utils/formatPath'; import { PageContent } from '../../../common/PageContent/PageContent'; diff --git a/frontend/src/component/admin/invoice/InvoiceList.tsx b/frontend/src/component/admin/invoice/InvoiceList.tsx index 207bb5e1619..d5aa4244afd 100644 --- a/frontend/src/component/admin/invoice/InvoiceList.tsx +++ b/frontend/src/component/admin/invoice/InvoiceList.tsx @@ -13,7 +13,7 @@ import { PageHeader } from 'component/common/PageHeader/PageHeader'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { formatApiPath } from 'utils/formatPath'; import useInvoices from 'hooks/api/getters/useInvoices/useInvoices'; -import { IInvoice } from 'interfaces/invoice'; +import type { IInvoice } from 'interfaces/invoice'; import { useLocationSettings } from 'hooks/useLocationSettings'; import { formatDateYMD } from 'utils/formatDate'; diff --git a/frontend/src/component/admin/menu/AdminTabsMenu.tsx b/frontend/src/component/admin/menu/AdminTabsMenu.tsx index bfee72c25a0..639d122f9c2 100644 --- a/frontend/src/component/admin/menu/AdminTabsMenu.tsx +++ b/frontend/src/component/admin/menu/AdminTabsMenu.tsx @@ -2,7 +2,7 @@ import { useLocation } from 'react-router-dom'; import { Paper, styled, Tab, Tabs } from '@mui/material'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import { CenteredNavLink } from './CenteredNavLink'; -import { VFC } from 'react'; +import type { VFC } from 'react'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { EnterpriseBadge } from 'component/common/EnterpriseBadge/EnterpriseBadge'; import { useAdminRoutes } from '../useAdminRoutes'; diff --git a/frontend/src/component/admin/menu/CenteredNavLink.tsx b/frontend/src/component/admin/menu/CenteredNavLink.tsx index b45592ad62d..4082a1c5c1a 100644 --- a/frontend/src/component/admin/menu/CenteredNavLink.tsx +++ b/frontend/src/component/admin/menu/CenteredNavLink.tsx @@ -1,5 +1,5 @@ import { styled } from '@mui/material'; -import { FC } from 'react'; +import type { FC } from 'react'; import { NavLink } from 'react-router-dom'; const StyledNavLink = styled(NavLink)(({ theme }) => ({ diff --git a/frontend/src/component/admin/network/NetworkOverview/NetworkOverview.tsx b/frontend/src/component/admin/network/NetworkOverview/NetworkOverview.tsx index d1338431a36..a2c395a5c88 100644 --- a/frontend/src/component/admin/network/NetworkOverview/NetworkOverview.tsx +++ b/frontend/src/component/admin/network/NetworkOverview/NetworkOverview.tsx @@ -4,7 +4,7 @@ import { useInstanceMetrics } from 'hooks/api/getters/useInstanceMetrics/useInst import { Alert, Typography, styled, useTheme } from '@mui/material'; import { unknownify } from 'utils/unknownify'; import { useMemo } from 'react'; -import { +import type { RequestsPerSecondSchema, RequestsPerSecondSchemaDataResultItem, } from 'openapi'; @@ -73,7 +73,7 @@ const asNetworkAppData = ( ) => { const values = (result.values || []) as ResultValue[]; const data = values.filter((value) => isRecent(value)); - const reqs = data.length ? parseFloat(data[data.length - 1][1]) : 0; + const reqs = data.length ? Number.parseFloat(data[data.length - 1][1]) : 0; return { label: result.label, reqs, diff --git a/frontend/src/component/admin/network/NetworkTraffic/NetworkTraffic.tsx b/frontend/src/component/admin/network/NetworkTraffic/NetworkTraffic.tsx index 2f1365b0736..bff36affe74 100644 --- a/frontend/src/component/admin/network/NetworkTraffic/NetworkTraffic.tsx +++ b/frontend/src/component/admin/network/NetworkTraffic/NetworkTraffic.tsx @@ -1,11 +1,11 @@ import { useInstanceMetrics } from 'hooks/api/getters/useInstanceMetrics/useInstanceMetrics'; -import { useMemo, VFC } from 'react'; +import { useMemo, type VFC } from 'react'; import { Line } from 'react-chartjs-2'; import { CategoryScale, Chart as ChartJS, - ChartDataset, - ChartOptions, + type ChartDataset, + type ChartOptions, Legend, LinearScale, LineElement, @@ -15,11 +15,11 @@ import { Tooltip, } from 'chart.js'; import { - ILocationSettings, + type ILocationSettings, useLocationSettings, } from 'hooks/useLocationSettings'; import { formatDateHM } from 'utils/formatDate'; -import { RequestsPerSecondSchema } from 'openapi'; +import type { RequestsPerSecondSchema } from 'openapi'; import 'chartjs-adapter-date-fns'; import { Alert, useTheme } from '@mui/material'; import { Box } from '@mui/system'; @@ -27,7 +27,7 @@ import { CyclicIterator } from 'utils/cyclicIterator'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { usePageTitle } from 'hooks/usePageTitle'; import { unknownify } from 'utils/unknownify'; -import { Theme } from '@mui/material/styles/createTheme'; +import type { Theme } from '@mui/material/styles/createTheme'; const pointStyles = ['circle', 'rect', 'rectRounded', 'rectRot', 'triangle']; @@ -173,7 +173,7 @@ const toChartData = ( label: `${endpoint}: ${appName}`, borderColor: color.main, backgroundColor: color.main, - data: createChartPoints(values, (y) => parseFloat(y)), + data: createChartPoints(values, (y) => Number.parseFloat(y)), elements: { point: { radius: 4, diff --git a/frontend/src/component/admin/roles/RoleForm/RoleForm.tsx b/frontend/src/component/admin/roles/RoleForm/RoleForm.tsx index fcef2a4f1d7..e04e19c9802 100644 --- a/frontend/src/component/admin/roles/RoleForm/RoleForm.tsx +++ b/frontend/src/component/admin/roles/RoleForm/RoleForm.tsx @@ -1,8 +1,8 @@ import { Alert, styled } from '@mui/material'; import Input from 'component/common/Input/Input'; -import { ICheckedPermissions } from 'interfaces/permissions'; -import { IRoleFormErrors } from './useRoleForm'; -import { PredefinedRoleType } from 'interfaces/role'; +import type { ICheckedPermissions } from 'interfaces/permissions'; +import type { IRoleFormErrors } from './useRoleForm'; +import type { PredefinedRoleType } from 'interfaces/role'; import { ROOT_ROLE_TYPE } from '@server/util/constants'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { RolePermissionCategories } from './RolePermissionCategories/RolePermissionCategories'; diff --git a/frontend/src/component/admin/roles/RoleForm/RolePermissionCategories/RolePermissionCategories.tsx b/frontend/src/component/admin/roles/RoleForm/RolePermissionCategories/RolePermissionCategories.tsx index 3aab5aa3725..b4ef56a24a2 100644 --- a/frontend/src/component/admin/roles/RoleForm/RolePermissionCategories/RolePermissionCategories.tsx +++ b/frontend/src/component/admin/roles/RoleForm/RolePermissionCategories/RolePermissionCategories.tsx @@ -7,8 +7,8 @@ import { PROJECT_ROLE_TYPES, } from '@server/util/constants'; import usePermissions from 'hooks/api/getters/usePermissions/usePermissions'; -import { ICheckedPermissions, IPermission } from 'interfaces/permissions'; -import { PredefinedRoleType } from 'interfaces/role'; +import type { ICheckedPermissions, IPermission } from 'interfaces/permissions'; +import type { PredefinedRoleType } from 'interfaces/role'; import { flattenProjectPermissions, getCategorizedProjectPermissions, diff --git a/frontend/src/component/admin/roles/RoleForm/RolePermissionCategories/RolePermissionCategory.tsx b/frontend/src/component/admin/roles/RoleForm/RolePermissionCategories/RolePermissionCategory.tsx index 0bdc54af610..cf024eb6ea4 100644 --- a/frontend/src/component/admin/roles/RoleForm/RolePermissionCategories/RolePermissionCategory.tsx +++ b/frontend/src/component/admin/roles/RoleForm/RolePermissionCategories/RolePermissionCategory.tsx @@ -1,4 +1,4 @@ -import { ReactNode, useMemo, useState } from 'react'; +import { type ReactNode, useMemo, useState } from 'react'; import { Accordion, AccordionDetails, @@ -13,7 +13,7 @@ import { Typography, } from '@mui/material'; import ExpandMore from '@mui/icons-material/ExpandMore'; -import { ICheckedPermissions, IPermission } from 'interfaces/permissions'; +import type { ICheckedPermissions, IPermission } from 'interfaces/permissions'; import StringTruncator from 'component/common/StringTruncator/StringTruncator'; import { getRoleKey } from 'utils/permissions'; diff --git a/frontend/src/component/admin/roles/RoleForm/useRoleForm.ts b/frontend/src/component/admin/roles/RoleForm/useRoleForm.ts index da20b592eff..a02334f9b86 100644 --- a/frontend/src/component/admin/roles/RoleForm/useRoleForm.ts +++ b/frontend/src/component/admin/roles/RoleForm/useRoleForm.ts @@ -1,6 +1,6 @@ import { useEffect, useState } from 'react'; -import { IPermission, ICheckedPermissions } from 'interfaces/permissions'; -import { IRole, PredefinedRoleType } from 'interfaces/role'; +import type { IPermission, ICheckedPermissions } from 'interfaces/permissions'; +import type { IRole, PredefinedRoleType } from 'interfaces/role'; import { useRoles } from 'hooks/api/getters/useRoles/useRoles'; import { permissionsToCheckedPermissions } from 'utils/permissions'; import { ROOT_ROLE_TYPE } from '@server/util/constants'; diff --git a/frontend/src/component/admin/roles/RoleModal/RoleModal.tsx b/frontend/src/component/admin/roles/RoleModal/RoleModal.tsx index e65cc9650a6..6e3272ac7c1 100644 --- a/frontend/src/component/admin/roles/RoleModal/RoleModal.tsx +++ b/frontend/src/component/admin/roles/RoleModal/RoleModal.tsx @@ -7,10 +7,10 @@ import { RoleForm } from '../RoleForm/RoleForm'; import { useRoles } from 'hooks/api/getters/useRoles/useRoles'; import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; -import { FormEvent, useEffect } from 'react'; +import { type FormEvent, useEffect } from 'react'; import { useRolesApi } from 'hooks/api/actions/useRolesApi/useRolesApi'; import { useRole } from 'hooks/api/getters/useRole/useRole'; -import { PredefinedRoleType } from 'interfaces/role'; +import type { PredefinedRoleType } from 'interfaces/role'; import { ROOT_ROLE_TYPE } from '@server/util/constants'; const StyledForm = styled('form')(() => ({ diff --git a/frontend/src/component/admin/roles/RolesPage.tsx b/frontend/src/component/admin/roles/RolesPage.tsx index cbf8adb330b..4299b0a48ae 100644 --- a/frontend/src/component/admin/roles/RolesPage.tsx +++ b/frontend/src/component/admin/roles/RolesPage.tsx @@ -12,7 +12,7 @@ import theme from 'themes/theme'; import { PageHeader } from 'component/common/PageHeader/PageHeader'; import Add from '@mui/icons-material/Add'; import ResponsiveButton from 'component/common/ResponsiveButton/ResponsiveButton'; -import { IRole } from 'interfaces/role'; +import type { IRole } from 'interfaces/role'; import { TabLink } from 'component/common/TabNav/TabLink'; const StyledHeader = styled('div')(() => ({ diff --git a/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialog.tsx b/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialog.tsx index d549da07df3..aa702fccc55 100644 --- a/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialog.tsx +++ b/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialog.tsx @@ -1,4 +1,4 @@ -import { IRole } from 'interfaces/role'; +import type { IRole } from 'interfaces/role'; import { RoleDeleteDialogRootRole } from './RoleDeleteDialogRootRole/RoleDeleteDialogRootRole'; import { RoleDeleteDialogProjectRole } from './RoleDeleteDialogProjectRole/RoleDeleteDialogProjectRole'; import { CUSTOM_PROJECT_ROLE_TYPE } from 'constants/roles'; diff --git a/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogProjectRole/RoleDeleteDialogProjectRole.tsx b/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogProjectRole/RoleDeleteDialogProjectRole.tsx index c80ca8a0dbd..fa32b998133 100644 --- a/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogProjectRole/RoleDeleteDialogProjectRole.tsx +++ b/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogProjectRole/RoleDeleteDialogProjectRole.tsx @@ -1,7 +1,7 @@ import { Alert, styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; -import { IRole } from 'interfaces/role'; +import type { IRole } from 'interfaces/role'; import { useProjectRoleAccessUsage } from 'hooks/api/getters/useProjectRoleAccessUsage/useProjectRoleAccessUsage'; import { RoleDeleteDialogProjectRoleTable } from './RoleDeleteDialogProjectRoleTable'; diff --git a/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogProjectRole/RoleDeleteDialogProjectRoleTable.tsx b/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogProjectRole/RoleDeleteDialogProjectRoleTable.tsx index 186466e54d7..1b1116aa8dd 100644 --- a/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogProjectRole/RoleDeleteDialogProjectRoleTable.tsx +++ b/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogProjectRole/RoleDeleteDialogProjectRoleTable.tsx @@ -1,9 +1,9 @@ import { VirtualizedTable } from 'component/common/Table'; import { useMemo, useState } from 'react'; -import { useTable, useSortBy, useFlexLayout, Column } from 'react-table'; +import { useTable, useSortBy, useFlexLayout, type Column } from 'react-table'; import { sortTypes } from 'utils/sortTypes'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; -import { IProjectRoleUsageCount } from 'interfaces/project'; +import type { IProjectRoleUsageCount } from 'interfaces/project'; import { LinkCell } from 'component/common/Table/cells/LinkCell/LinkCell'; interface IRoleDeleteDialogProjectRoleTableProps { diff --git a/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogRootRole/RoleDeleteDialogGroups.tsx b/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogRootRole/RoleDeleteDialogGroups.tsx index 1489d6e4853..65520653856 100644 --- a/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogRootRole/RoleDeleteDialogGroups.tsx +++ b/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogRootRole/RoleDeleteDialogGroups.tsx @@ -2,9 +2,9 @@ import { VirtualizedTable } from 'component/common/Table'; import { DateCell } from 'component/common/Table/cells/DateCell/DateCell'; import { HighlightCell } from 'component/common/Table/cells/HighlightCell/HighlightCell'; import { useMemo, useState } from 'react'; -import { useTable, useSortBy, useFlexLayout, Column } from 'react-table'; +import { useTable, useSortBy, useFlexLayout, type Column } from 'react-table'; import { sortTypes } from 'utils/sortTypes'; -import { IGroup } from 'interfaces/group'; +import type { IGroup } from 'interfaces/group'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; export type PageQueryType = Partial< diff --git a/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogRootRole/RoleDeleteDialogRootRole.tsx b/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogRootRole/RoleDeleteDialogRootRole.tsx index 7da53b69aab..894a3bf824b 100644 --- a/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogRootRole/RoleDeleteDialogRootRole.tsx +++ b/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogRootRole/RoleDeleteDialogRootRole.tsx @@ -3,7 +3,7 @@ import { ConditionallyRender } from 'component/common/ConditionallyRender/Condit import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { useServiceAccounts } from 'hooks/api/getters/useServiceAccounts/useServiceAccounts'; import { useUsers } from 'hooks/api/getters/useUsers/useUsers'; -import { IRole } from 'interfaces/role'; +import type { IRole } from 'interfaces/role'; import { RoleDeleteDialogUsers } from './RoleDeleteDialogUsers'; import { RoleDeleteDialogServiceAccounts } from './RoleDeleteDialogServiceAccounts'; import { useGroups } from 'hooks/api/getters/useGroups/useGroups'; diff --git a/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogRootRole/RoleDeleteDialogServiceAccounts.tsx b/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogRootRole/RoleDeleteDialogServiceAccounts.tsx index 32b9f02f934..81c121788b9 100644 --- a/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogRootRole/RoleDeleteDialogServiceAccounts.tsx +++ b/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogRootRole/RoleDeleteDialogServiceAccounts.tsx @@ -2,10 +2,10 @@ import { VirtualizedTable } from 'component/common/Table'; import { DateCell } from 'component/common/Table/cells/DateCell/DateCell'; import { HighlightCell } from 'component/common/Table/cells/HighlightCell/HighlightCell'; import { useMemo, useState } from 'react'; -import { useTable, useSortBy, useFlexLayout, Column } from 'react-table'; +import { useTable, useSortBy, useFlexLayout, type Column } from 'react-table'; import { sortTypes } from 'utils/sortTypes'; import { TimeAgoCell } from 'component/common/Table/cells/TimeAgoCell/TimeAgoCell'; -import { IServiceAccount } from 'interfaces/service-account'; +import type { IServiceAccount } from 'interfaces/service-account'; import { ServiceAccountTokensCell } from 'component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountTokensCell/ServiceAccountTokensCell'; export type PageQueryType = Partial< diff --git a/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogRootRole/RoleDeleteDialogUsers.tsx b/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogRootRole/RoleDeleteDialogUsers.tsx index 93f25edd827..6b56734c4bc 100644 --- a/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogRootRole/RoleDeleteDialogUsers.tsx +++ b/frontend/src/component/admin/roles/RolesTable/RoleDeleteDialog/RoleDeleteDialogRootRole/RoleDeleteDialogUsers.tsx @@ -2,10 +2,10 @@ import { VirtualizedTable } from 'component/common/Table'; import { DateCell } from 'component/common/Table/cells/DateCell/DateCell'; import { HighlightCell } from 'component/common/Table/cells/HighlightCell/HighlightCell'; import { useMemo, useState } from 'react'; -import { useTable, useSortBy, useFlexLayout, Column } from 'react-table'; +import { useTable, useSortBy, useFlexLayout, type Column } from 'react-table'; import { sortTypes } from 'utils/sortTypes'; import { TimeAgoCell } from 'component/common/Table/cells/TimeAgoCell/TimeAgoCell'; -import { IUser } from 'interfaces/user'; +import type { IUser } from 'interfaces/user'; export type PageQueryType = Partial< Record<'sort' | 'order' | 'search', string> diff --git a/frontend/src/component/admin/roles/RolesTable/RolePermissionsCell/RolePermissionsCell.tsx b/frontend/src/component/admin/roles/RolesTable/RolePermissionsCell/RolePermissionsCell.tsx index 6934665c868..73fa8b12980 100644 --- a/frontend/src/component/admin/roles/RolesTable/RolePermissionsCell/RolePermissionsCell.tsx +++ b/frontend/src/component/admin/roles/RolesTable/RolePermissionsCell/RolePermissionsCell.tsx @@ -1,7 +1,7 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; import { TooltipLink } from 'component/common/TooltipLink/TooltipLink'; -import { IRole } from 'interfaces/role'; +import type { IRole } from 'interfaces/role'; import { useRole } from 'hooks/api/getters/useRole/useRole'; import { RoleDescription } from 'component/common/RoleDescription/RoleDescription'; import { PREDEFINED_ROLE_TYPES } from '@server/util/constants'; diff --git a/frontend/src/component/admin/roles/RolesTable/RolesActionsCell/RolesActionsCell.tsx b/frontend/src/component/admin/roles/RolesTable/RolesActionsCell/RolesActionsCell.tsx index 50127d2f0e8..7e6eb518c5e 100644 --- a/frontend/src/component/admin/roles/RolesTable/RolesActionsCell/RolesActionsCell.tsx +++ b/frontend/src/component/admin/roles/RolesTable/RolesActionsCell/RolesActionsCell.tsx @@ -4,8 +4,8 @@ import { Box, styled } from '@mui/material'; import { PREDEFINED_ROLE_TYPES } from '@server/util/constants'; import PermissionIconButton from 'component/common/PermissionIconButton/PermissionIconButton'; import { ADMIN } from 'component/providers/AccessProvider/permissions'; -import { IRole } from 'interfaces/role'; -import { VFC } from 'react'; +import type { IRole } from 'interfaces/role'; +import type { VFC } from 'react'; const StyledBox = styled(Box)(() => ({ display: 'flex', diff --git a/frontend/src/component/admin/roles/RolesTable/RolesCell/RolesCell.tsx b/frontend/src/component/admin/roles/RolesTable/RolesCell/RolesCell.tsx index 5404daa9507..36d957033f4 100644 --- a/frontend/src/component/admin/roles/RolesTable/RolesCell/RolesCell.tsx +++ b/frontend/src/component/admin/roles/RolesTable/RolesCell/RolesCell.tsx @@ -1,7 +1,7 @@ import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { Badge } from 'component/common/Badge/Badge'; import { styled } from '@mui/material'; -import { IRole } from 'interfaces/role'; +import type { IRole } from 'interfaces/role'; import { HighlightCell } from 'component/common/Table/cells/HighlightCell/HighlightCell'; import { PREDEFINED_ROLE_TYPES } from '@server/util/constants'; diff --git a/frontend/src/component/admin/roles/RolesTable/RolesTable.tsx b/frontend/src/component/admin/roles/RolesTable/RolesTable.tsx index ddec7c6315f..aeb4ba46c32 100644 --- a/frontend/src/component/admin/roles/RolesTable/RolesTable.tsx +++ b/frontend/src/component/admin/roles/RolesTable/RolesTable.tsx @@ -1,7 +1,7 @@ import { useMemo, useState } from 'react'; import { TablePlaceholder, VirtualizedTable } from 'component/common/Table'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { IRole, PredefinedRoleType } from 'interfaces/role'; +import type { IRole, PredefinedRoleType } from 'interfaces/role'; import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; import { PageContent } from 'component/common/PageContent/PageContent'; diff --git a/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountDeleteDialog/ServiceAccountDeleteDialog.tsx b/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountDeleteDialog/ServiceAccountDeleteDialog.tsx index 801405372ab..a237813376a 100644 --- a/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountDeleteDialog/ServiceAccountDeleteDialog.tsx +++ b/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountDeleteDialog/ServiceAccountDeleteDialog.tsx @@ -1,7 +1,7 @@ import { Alert, styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; -import { IServiceAccount } from 'interfaces/service-account'; +import type { IServiceAccount } from 'interfaces/service-account'; import { ServiceAccountTokens } from '../ServiceAccountModal/ServiceAccountTokens/ServiceAccountTokens'; const StyledTableContainer = styled('div')(({ theme }) => ({ diff --git a/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountModal/ServiceAccountModal.tsx b/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountModal/ServiceAccountModal.tsx index 9c4c36f1d85..5ead0bd51f8 100644 --- a/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountModal/ServiceAccountModal.tsx +++ b/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountModal/ServiceAccountModal.tsx @@ -11,13 +11,13 @@ import FormTemplate from 'component/common/FormTemplate/FormTemplate'; import { SidebarModal } from 'component/common/SidebarModal/SidebarModal'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import useToast from 'hooks/useToast'; -import { FormEvent, useEffect, useState } from 'react'; +import { type FormEvent, useEffect, useState } from 'react'; import { formatUnknownError } from 'utils/formatUnknownError'; import Input from 'component/common/Input/Input'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { IUser } from 'interfaces/user'; +import type { IUser } from 'interfaces/user'; import { - IServiceAccountPayload, + type IServiceAccountPayload, useServiceAccountsApi, } from 'hooks/api/actions/useServiceAccountsApi/useServiceAccountsApi'; import { useServiceAccounts } from 'hooks/api/getters/useServiceAccounts/useServiceAccounts'; @@ -25,15 +25,15 @@ import { useUsers } from 'hooks/api/getters/useUsers/useUsers'; import { calculateExpirationDate, ExpirationOption, - IPersonalAPITokenFormErrors, + type IPersonalAPITokenFormErrors, PersonalAPITokenForm, } from 'component/user/Profile/PersonalAPITokensTab/CreatePersonalAPIToken/PersonalAPITokenForm/PersonalAPITokenForm'; import { useServiceAccountTokensApi } from 'hooks/api/actions/useServiceAccountTokensApi/useServiceAccountTokensApi'; -import { INewPersonalAPIToken } from 'interfaces/personalAPIToken'; +import type { INewPersonalAPIToken } from 'interfaces/personalAPIToken'; import { ServiceAccountTokens } from './ServiceAccountTokens/ServiceAccountTokens'; -import { IServiceAccount } from 'interfaces/service-account'; +import type { IServiceAccount } from 'interfaces/service-account'; import { RoleSelect } from 'component/common/RoleSelect/RoleSelect'; -import { IRole } from 'interfaces/role'; +import type { IRole } from 'interfaces/role'; const StyledForm = styled('form')(() => ({ display: 'flex', diff --git a/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountModal/ServiceAccountTokens/ServiceAccountCreateTokenDialog/ServiceAccountCreateTokenDialog.tsx b/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountModal/ServiceAccountTokens/ServiceAccountCreateTokenDialog/ServiceAccountCreateTokenDialog.tsx index d018f8f3c8b..47c55472f66 100644 --- a/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountModal/ServiceAccountTokens/ServiceAccountCreateTokenDialog/ServiceAccountCreateTokenDialog.tsx +++ b/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountModal/ServiceAccountTokens/ServiceAccountCreateTokenDialog/ServiceAccountCreateTokenDialog.tsx @@ -3,11 +3,11 @@ import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { calculateExpirationDate, ExpirationOption, - IPersonalAPITokenFormErrors, + type IPersonalAPITokenFormErrors, PersonalAPITokenForm, } from 'component/user/Profile/PersonalAPITokensTab/CreatePersonalAPIToken/PersonalAPITokenForm/PersonalAPITokenForm'; -import { ICreateServiceAccountTokenPayload } from 'hooks/api/actions/useServiceAccountTokensApi/useServiceAccountTokensApi'; -import { IPersonalAPIToken } from 'interfaces/personalAPIToken'; +import type { ICreateServiceAccountTokenPayload } from 'hooks/api/actions/useServiceAccountTokensApi/useServiceAccountTokensApi'; +import type { IPersonalAPIToken } from 'interfaces/personalAPIToken'; const DEFAULT_EXPIRATION = ExpirationOption['30DAYS']; diff --git a/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountModal/ServiceAccountTokens/ServiceAccountTokens.tsx b/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountModal/ServiceAccountTokens/ServiceAccountTokens.tsx index 05fa841ba64..44532adf57a 100644 --- a/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountModal/ServiceAccountTokens/ServiceAccountTokens.tsx +++ b/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountModal/ServiceAccountTokens/ServiceAccountTokens.tsx @@ -18,12 +18,17 @@ import { SearchHighlightProvider } from 'component/common/Table/SearchHighlightC import { PAT_LIMIT } from '@server/util/constants'; import { useServiceAccountTokens } from 'hooks/api/getters/useServiceAccountTokens/useServiceAccountTokens'; import { useSearch } from 'hooks/useSearch'; -import { +import type { INewPersonalAPIToken, IPersonalAPIToken, } from 'interfaces/personalAPIToken'; import { useMemo, useState } from 'react'; -import { useTable, SortingRule, useSortBy, useFlexLayout } from 'react-table'; +import { + useTable, + type SortingRule, + useSortBy, + useFlexLayout, +} from 'react-table'; import { sortTypes } from 'utils/sortTypes'; import { ServiceAccountCreateTokenDialog } from './ServiceAccountCreateTokenDialog/ServiceAccountCreateTokenDialog'; import { ServiceAccountTokenDialog } from 'component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountTokenDialog/ServiceAccountTokenDialog'; @@ -32,12 +37,12 @@ import { useConditionallyHiddenColumns } from 'hooks/useConditionallyHiddenColum import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { - ICreateServiceAccountTokenPayload, + type ICreateServiceAccountTokenPayload, useServiceAccountTokensApi, } from 'hooks/api/actions/useServiceAccountTokensApi/useServiceAccountTokensApi'; import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; -import { IServiceAccount } from 'interfaces/service-account'; +import type { IServiceAccount } from 'interfaces/service-account'; import { useServiceAccounts } from 'hooks/api/getters/useServiceAccounts/useServiceAccounts'; const StyledHeader = styled('div')(({ theme }) => ({ diff --git a/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountTokenDialog/ServiceAccountTokenDialog.tsx b/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountTokenDialog/ServiceAccountTokenDialog.tsx index 4a9c6870cba..0c882c27ac3 100644 --- a/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountTokenDialog/ServiceAccountTokenDialog.tsx +++ b/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountTokenDialog/ServiceAccountTokenDialog.tsx @@ -1,8 +1,8 @@ import { Alert, styled, Typography } from '@mui/material'; import { UserToken } from 'component/admin/apiToken/ConfirmToken/UserToken/UserToken'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; -import { INewPersonalAPIToken } from 'interfaces/personalAPIToken'; -import { FC } from 'react'; +import type { INewPersonalAPIToken } from 'interfaces/personalAPIToken'; +import type { FC } from 'react'; const StyledAlert = styled(Alert)(({ theme }) => ({ marginBottom: theme.spacing(3), diff --git a/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountTokensCell/ServiceAccountTokensCell.tsx b/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountTokensCell/ServiceAccountTokensCell.tsx index 127a350769c..92aac7db327 100644 --- a/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountTokensCell/ServiceAccountTokensCell.tsx +++ b/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountTokensCell/ServiceAccountTokensCell.tsx @@ -1,9 +1,9 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { styled, Typography } from '@mui/material'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; import { Highlighter } from 'component/common/Highlighter/Highlighter'; import { useSearchHighlightContext } from 'component/common/Table/SearchHighlightContext/SearchHighlightContext'; -import { IServiceAccount } from 'interfaces/service-account'; +import type { IServiceAccount } from 'interfaces/service-account'; import { LinkCell } from 'component/common/Table/cells/LinkCell/LinkCell'; import { TooltipLink } from 'component/common/TooltipLink/TooltipLink'; diff --git a/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountsActionsCell/ServiceAccountsActionsCell.tsx b/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountsActionsCell/ServiceAccountsActionsCell.tsx index aac105e1222..ffe58e37305 100644 --- a/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountsActionsCell/ServiceAccountsActionsCell.tsx +++ b/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountsActionsCell/ServiceAccountsActionsCell.tsx @@ -3,7 +3,7 @@ import Edit from '@mui/icons-material/Edit'; import { Box, styled } from '@mui/material'; import PermissionIconButton from 'component/common/PermissionIconButton/PermissionIconButton'; import { ADMIN } from 'component/providers/AccessProvider/permissions'; -import { VFC } from 'react'; +import type { VFC } from 'react'; const StyledBox = styled(Box)(() => ({ display: 'flex', diff --git a/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountsTable.tsx b/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountsTable.tsx index 80480d4d91a..56a5fa89ae7 100644 --- a/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountsTable.tsx +++ b/frontend/src/component/admin/serviceAccounts/ServiceAccountsTable/ServiceAccountsTable.tsx @@ -1,7 +1,7 @@ import { useMemo, useState } from 'react'; import { TablePlaceholder, VirtualizedTable } from 'component/common/Table'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { IRole } from 'interfaces/role'; +import type { IRole } from 'interfaces/role'; import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; import { PageContent } from 'component/common/PageContent/PageContent'; @@ -23,11 +23,11 @@ import { useServiceAccountsApi } from 'hooks/api/actions/useServiceAccountsApi/u import { ServiceAccountModal } from './ServiceAccountModal/ServiceAccountModal'; import { ServiceAccountDeleteDialog } from './ServiceAccountDeleteDialog/ServiceAccountDeleteDialog'; import { ServiceAccountsActionsCell } from './ServiceAccountsActionsCell/ServiceAccountsActionsCell'; -import { INewPersonalAPIToken } from 'interfaces/personalAPIToken'; +import type { INewPersonalAPIToken } from 'interfaces/personalAPIToken'; import { ServiceAccountTokenDialog } from './ServiceAccountTokenDialog/ServiceAccountTokenDialog'; import { ServiceAccountTokensCell } from './ServiceAccountTokensCell/ServiceAccountTokensCell'; import { TimeAgoCell } from 'component/common/Table/cells/TimeAgoCell/TimeAgoCell'; -import { IServiceAccount } from 'interfaces/service-account'; +import type { IServiceAccount } from 'interfaces/service-account'; import { RoleCell } from 'component/common/Table/cells/RoleCell/RoleCell'; export const ServiceAccountsTable = () => { diff --git a/frontend/src/component/admin/users/AccessMatrix/AccessMatrixSelect.tsx b/frontend/src/component/admin/users/AccessMatrix/AccessMatrixSelect.tsx index d4a41cac5ee..1052c4bef56 100644 --- a/frontend/src/component/admin/users/AccessMatrix/AccessMatrixSelect.tsx +++ b/frontend/src/component/admin/users/AccessMatrix/AccessMatrixSelect.tsx @@ -1,4 +1,4 @@ -import { Autocomplete, AutocompleteProps, TextField } from '@mui/material'; +import { Autocomplete, type AutocompleteProps, TextField } from '@mui/material'; interface IAccessMatrixSelectProps extends Partial> { diff --git a/frontend/src/component/admin/users/AccessMatrix/PermissionsTable.tsx b/frontend/src/component/admin/users/AccessMatrix/PermissionsTable.tsx index ed28daf69f5..230ff9befaa 100644 --- a/frontend/src/component/admin/users/AccessMatrix/PermissionsTable.tsx +++ b/frontend/src/component/admin/users/AccessMatrix/PermissionsTable.tsx @@ -7,7 +7,7 @@ import { IconCell } from 'component/common/Table/cells/IconCell/IconCell'; import Check from '@mui/icons-material/Check'; import Close from '@mui/icons-material/Close'; import { Box } from '@mui/material'; -import { IMatrixPermission } from 'interfaces/permissions'; +import type { IMatrixPermission } from 'interfaces/permissions'; export const PermissionsTable = ({ permissions, diff --git a/frontend/src/component/admin/users/CreateUser/SeatCostWarning/SeatCostWarning.tsx b/frontend/src/component/admin/users/CreateUser/SeatCostWarning/SeatCostWarning.tsx index e7fa406bf54..83a2a49f2a4 100644 --- a/frontend/src/component/admin/users/CreateUser/SeatCostWarning/SeatCostWarning.tsx +++ b/frontend/src/component/admin/users/CreateUser/SeatCostWarning/SeatCostWarning.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { Alert } from '@mui/material'; import { useUsersPlan } from 'hooks/useUsersPlan'; import { useUsers } from 'hooks/api/getters/useUsers/useUsers'; diff --git a/frontend/src/component/admin/users/InactiveUsersList/DeleteInactiveUsers/DeleteInactiveUsers.tsx b/frontend/src/component/admin/users/InactiveUsersList/DeleteInactiveUsers/DeleteInactiveUsers.tsx index 1bca89c41ac..57876dea3a8 100644 --- a/frontend/src/component/admin/users/InactiveUsersList/DeleteInactiveUsers/DeleteInactiveUsers.tsx +++ b/frontend/src/component/admin/users/InactiveUsersList/DeleteInactiveUsers/DeleteInactiveUsers.tsx @@ -3,7 +3,7 @@ import useLoading from '../../../../../hooks/useLoading'; import { Alert, Typography } from '@mui/material'; import { DEL_INACTIVE_USERS_ERROR } from '../../../../../hooks/api/actions/useInactiveUsersApi/useInactiveUsersApi'; import { ConditionallyRender } from '../../../../common/ConditionallyRender/ConditionallyRender'; -import { IInactiveUser } from '../../../../../hooks/api/getters/useInactiveUsers/useInactiveUsers'; +import type { IInactiveUser } from '../../../../../hooks/api/getters/useInactiveUsers/useInactiveUsers'; import { flexRow } from '../../../../../themes/themeStyles'; interface IDeleteInactiveUsersProps { diff --git a/frontend/src/component/admin/users/InactiveUsersList/DeleteUser/DeleteUser.tsx b/frontend/src/component/admin/users/InactiveUsersList/DeleteUser/DeleteUser.tsx index 9fc0d90201c..0c81f986920 100644 --- a/frontend/src/component/admin/users/InactiveUsersList/DeleteUser/DeleteUser.tsx +++ b/frontend/src/component/admin/users/InactiveUsersList/DeleteUser/DeleteUser.tsx @@ -6,7 +6,7 @@ import useLoading from 'hooks/useLoading'; import { Typography } from '@mui/material'; import { useThemeStyles } from 'themes/themeStyles'; import { UserAvatar } from 'component/common/UserAvatar/UserAvatar'; -import { IInactiveUser } from '../../../../../hooks/api/getters/useInactiveUsers/useInactiveUsers'; +import type { IInactiveUser } from '../../../../../hooks/api/getters/useInactiveUsers/useInactiveUsers'; const StyledUserAvatar = styled(UserAvatar)(({ theme }) => ({ width: theme.spacing(5), diff --git a/frontend/src/component/admin/users/InactiveUsersList/InactiveUsersActionCell/InactiveUsersActionCell.tsx b/frontend/src/component/admin/users/InactiveUsersList/InactiveUsersActionCell/InactiveUsersActionCell.tsx index 9a21e7626ae..ac338532de4 100644 --- a/frontend/src/component/admin/users/InactiveUsersList/InactiveUsersActionCell/InactiveUsersActionCell.tsx +++ b/frontend/src/component/admin/users/InactiveUsersList/InactiveUsersActionCell/InactiveUsersActionCell.tsx @@ -1,4 +1,5 @@ -import React, { VFC } from 'react'; +import type React from 'react'; +import type { VFC } from 'react'; import { Box, styled } from '@mui/material'; import PermissionIconButton from '../../../../common/PermissionIconButton/PermissionIconButton'; import { ADMIN } from '../../../../providers/AccessProvider/permissions'; diff --git a/frontend/src/component/admin/users/InactiveUsersList/InactiveUsersList.tsx b/frontend/src/component/admin/users/InactiveUsersList/InactiveUsersList.tsx index 15604cfe0a6..beeaf06dbc4 100644 --- a/frontend/src/component/admin/users/InactiveUsersList/InactiveUsersList.tsx +++ b/frontend/src/component/admin/users/InactiveUsersList/InactiveUsersList.tsx @@ -1,5 +1,5 @@ import { - IInactiveUser, + type IInactiveUser, useInactiveUsers, } from 'hooks/api/getters/useInactiveUsers/useInactiveUsers'; import { useUsers } from '../../../../hooks/api/getters/useUsers/useUsers'; @@ -7,10 +7,11 @@ import useAdminUsersApi from '../../../../hooks/api/actions/useAdminUsersApi/use import { useInactiveUsersApi } from '../../../../hooks/api/actions/useInactiveUsersApi/useInactiveUsersApi'; import useToast from '../../../../hooks/useToast'; import { formatUnknownError } from '../../../../utils/formatUnknownError'; -import { IUser } from '../../../../interfaces/user'; -import React, { useMemo, useState } from 'react'; +import type { IUser } from '../../../../interfaces/user'; +import type React from 'react'; +import { useMemo, useState } from 'react'; import { TimeAgoCell } from '../../../common/Table/cells/TimeAgoCell/TimeAgoCell'; -import { IRole } from '../../../../interfaces/role'; +import type { IRole } from '../../../../interfaces/role'; import { RoleCell } from '../../../common/Table/cells/RoleCell/RoleCell'; import { HighlightCell } from '../../../common/Table/cells/HighlightCell/HighlightCell'; import { PageContent } from '../../../common/PageContent/PageContent'; diff --git a/frontend/src/component/admin/users/InviteLink/InviteLink.tsx b/frontend/src/component/admin/users/InviteLink/InviteLink.tsx index d4b85404734..cf68057e282 100644 --- a/frontend/src/component/admin/users/InviteLink/InviteLink.tsx +++ b/frontend/src/component/admin/users/InviteLink/InviteLink.tsx @@ -1,4 +1,4 @@ -import { FormEventHandler, useState, VFC } from 'react'; +import { type FormEventHandler, useState, type VFC } from 'react'; import { useNavigate } from 'react-router-dom'; import { useSWRConfig } from 'swr'; import { Box, Button, Typography } from '@mui/material'; diff --git a/frontend/src/component/admin/users/InviteLinkBar/InviteLinkBar.tsx b/frontend/src/component/admin/users/InviteLinkBar/InviteLinkBar.tsx index aa87a5f7206..6133251b4bc 100644 --- a/frontend/src/component/admin/users/InviteLinkBar/InviteLinkBar.tsx +++ b/frontend/src/component/admin/users/InviteLinkBar/InviteLinkBar.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { Box } from '@mui/material'; import { usePlausibleTracker } from 'hooks/usePlausibleTracker'; import { InviteLinkBarContent } from './InviteLinkBarContent'; diff --git a/frontend/src/component/admin/users/UserForm/UserForm.tsx b/frontend/src/component/admin/users/UserForm/UserForm.tsx index efb46652ebd..d45b5984f9e 100644 --- a/frontend/src/component/admin/users/UserForm/UserForm.tsx +++ b/frontend/src/component/admin/users/UserForm/UserForm.tsx @@ -1,11 +1,11 @@ import Input from 'component/common/Input/Input'; import { Button, FormControl, Typography, Switch, styled } from '@mui/material'; -import React from 'react'; +import type React from 'react'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { EDIT } from 'constants/misc'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import { RoleSelect } from 'component/common/RoleSelect/RoleSelect'; -import { IRole } from 'interfaces/role'; +import type { IRole } from 'interfaces/role'; import { useUsers } from 'hooks/api/getters/useUsers/useUsers'; const StyledForm = styled('form')(() => ({ diff --git a/frontend/src/component/admin/users/UsersList/ChangePassword/ChangePassword.tsx b/frontend/src/component/admin/users/UsersList/ChangePassword/ChangePassword.tsx index 7a3d4fcde3e..5253426212d 100644 --- a/frontend/src/component/admin/users/UsersList/ChangePassword/ChangePassword.tsx +++ b/frontend/src/component/admin/users/UsersList/ChangePassword/ChangePassword.tsx @@ -1,4 +1,5 @@ -import React, { useState } from 'react'; +import type React from 'react'; +import { useState } from 'react'; import classnames from 'classnames'; import { styled, TextField, Typography } from '@mui/material'; import { trim } from 'component/common/util'; @@ -9,7 +10,7 @@ import PasswordChecker, { } from 'component/user/common/ResetPasswordForm/PasswordChecker'; import { useThemeStyles } from 'themes/themeStyles'; import PasswordMatcher from 'component/user/common/ResetPasswordForm/PasswordMatcher'; -import { IUser } from 'interfaces/user'; +import type { IUser } from 'interfaces/user'; import useAdminUsersApi from 'hooks/api/actions/useAdminUsersApi/useAdminUsersApi'; import { UserAvatar } from 'component/common/UserAvatar/UserAvatar'; diff --git a/frontend/src/component/admin/users/UsersList/DeleteUser/DeleteUser.tsx b/frontend/src/component/admin/users/UsersList/DeleteUser/DeleteUser.tsx index 4296ba784f2..af157cd4c14 100644 --- a/frontend/src/component/admin/users/UsersList/DeleteUser/DeleteUser.tsx +++ b/frontend/src/component/admin/users/UsersList/DeleteUser/DeleteUser.tsx @@ -5,7 +5,7 @@ import { Alert, styled } from '@mui/material'; import useLoading from 'hooks/useLoading'; import { Typography } from '@mui/material'; import { useThemeStyles } from 'themes/themeStyles'; -import { IUser } from 'interfaces/user'; +import type { IUser } from 'interfaces/user'; import { UserAvatar } from 'component/common/UserAvatar/UserAvatar'; const StyledUserAvatar = styled(UserAvatar)(({ theme }) => ({ diff --git a/frontend/src/component/admin/users/UsersList/ResetPassword/ResetPassword.tsx b/frontend/src/component/admin/users/UsersList/ResetPassword/ResetPassword.tsx index 9d622d14af5..7ab4c302116 100644 --- a/frontend/src/component/admin/users/UsersList/ResetPassword/ResetPassword.tsx +++ b/frontend/src/component/admin/users/UsersList/ResetPassword/ResetPassword.tsx @@ -1,10 +1,11 @@ -import React, { useState } from 'react'; +import type React from 'react'; +import { useState } from 'react'; import classnames from 'classnames'; import { Box, styled, Typography } from '@mui/material'; import { modalStyles } from 'component/admin/users/util'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { useThemeStyles } from 'themes/themeStyles'; -import { IUser } from 'interfaces/user'; +import type { IUser } from 'interfaces/user'; import useAdminUsersApi from 'hooks/api/actions/useAdminUsersApi/useAdminUsersApi'; import { UserAvatar } from 'component/common/UserAvatar/UserAvatar'; import useToast from 'hooks/useToast'; diff --git a/frontend/src/component/admin/users/UsersList/UserLimitWarning/UserLimitWarning.tsx b/frontend/src/component/admin/users/UsersList/UserLimitWarning/UserLimitWarning.tsx index fd66a35e8d3..ddbc695b13a 100644 --- a/frontend/src/component/admin/users/UsersList/UserLimitWarning/UserLimitWarning.tsx +++ b/frontend/src/component/admin/users/UsersList/UserLimitWarning/UserLimitWarning.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { Link as RouterLink } from 'react-router-dom'; import { Alert, Link } from '@mui/material'; import { useUsersPlan } from 'hooks/useUsersPlan'; diff --git a/frontend/src/component/admin/users/UsersList/UsersActionsCell/UsersActionsCell.tsx b/frontend/src/component/admin/users/UsersList/UsersActionsCell/UsersActionsCell.tsx index 09ea70c947b..7e5ae338f60 100644 --- a/frontend/src/component/admin/users/UsersList/UsersActionsCell/UsersActionsCell.tsx +++ b/frontend/src/component/admin/users/UsersList/UsersActionsCell/UsersActionsCell.tsx @@ -7,7 +7,7 @@ import { Box, styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import PermissionIconButton from 'component/common/PermissionIconButton/PermissionIconButton'; import { ADMIN } from 'component/providers/AccessProvider/permissions'; -import { VFC } from 'react'; +import type { VFC } from 'react'; const StyledBox = styled(Box)(() => ({ display: 'flex', diff --git a/frontend/src/component/admin/users/UsersList/UsersList.tsx b/frontend/src/component/admin/users/UsersList/UsersList.tsx index fe9547435b5..d945fc26315 100644 --- a/frontend/src/component/admin/users/UsersList/UsersList.tsx +++ b/frontend/src/component/admin/users/UsersList/UsersList.tsx @@ -1,4 +1,5 @@ -import React, { useMemo, useState } from 'react'; +import type React from 'react'; +import { useMemo, useState } from 'react'; import { TablePlaceholder, VirtualizedTable } from 'component/common/Table'; import ChangePassword from './ChangePassword/ChangePassword'; import ResetPassword from './ResetPassword/ResetPassword'; @@ -8,8 +9,8 @@ import ConfirmUserAdded from '../ConfirmUserAdded/ConfirmUserAdded'; import { useUsers } from 'hooks/api/getters/useUsers/useUsers'; import useAdminUsersApi from 'hooks/api/actions/useAdminUsersApi/useAdminUsersApi'; import { useAccessOverviewApi } from 'hooks/api/actions/useAccessOverviewApi/useAccessOverviewApi'; -import { IUser } from 'interfaces/user'; -import { IRole } from 'interfaces/role'; +import type { IUser } from 'interfaces/user'; +import type { IRole } from 'interfaces/role'; import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; import { useUsersPlan } from 'hooks/useUsersPlan'; diff --git a/frontend/src/component/admin/users/hooks/useAddUserForm.ts b/frontend/src/component/admin/users/hooks/useAddUserForm.ts index 15bd19ba827..a062a5eb90a 100644 --- a/frontend/src/component/admin/users/hooks/useAddUserForm.ts +++ b/frontend/src/component/admin/users/hooks/useAddUserForm.ts @@ -1,7 +1,7 @@ import { useEffect, useState } from 'react'; import { useUsers } from 'hooks/api/getters/useUsers/useUsers'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; -import { IRole } from 'interfaces/role'; +import type { IRole } from 'interfaces/role'; const useCreateUserForm = ( initialName = '', diff --git a/frontend/src/component/application/Application.tsx b/frontend/src/component/application/Application.tsx index 31f41f09922..60d63e13f5e 100644 --- a/frontend/src/component/application/Application.tsx +++ b/frontend/src/component/application/Application.tsx @@ -1,5 +1,6 @@ /* eslint react/no-multi-comp:off */ -import React, { useContext, useState } from 'react'; +import type React from 'react'; +import { useContext, useState } from 'react'; import { Box, IconButton, diff --git a/frontend/src/component/application/ApplicationChart.tsx b/frontend/src/component/application/ApplicationChart.tsx index b36a4537c09..bf8a3114f9a 100644 --- a/frontend/src/component/application/ApplicationChart.tsx +++ b/frontend/src/component/application/ApplicationChart.tsx @@ -1,8 +1,8 @@ import { Box, Divider, styled, Typography, useTheme } from '@mui/material'; import { ArcherContainer, ArcherElement } from 'react-archer'; import { useNavigate } from 'react-router-dom'; -import { FC, useLayoutEffect, useRef, useState } from 'react'; -import { +import { type FC, useLayoutEffect, useRef, useState } from 'react'; +import type { ApplicationOverviewEnvironmentSchema, ApplicationOverviewSchema, } from 'openapi'; diff --git a/frontend/src/component/application/ApplicationEdit/ApplicationEdit.tsx b/frontend/src/component/application/ApplicationEdit/ApplicationEdit.tsx index 2fb3359fa75..d355f60d7fd 100644 --- a/frontend/src/component/application/ApplicationEdit/ApplicationEdit.tsx +++ b/frontend/src/component/application/ApplicationEdit/ApplicationEdit.tsx @@ -1,5 +1,6 @@ /* eslint react/no-multi-comp:off */ -import React, { useContext, useState } from 'react'; +import type React from 'react'; +import { useContext, useState } from 'react'; import { Box, Avatar, @@ -180,7 +181,6 @@ export const ApplicationEdit = () => { {renderModal()} {tabData.map((tab, index) => ( key={index} value={activeTab} index={index} diff --git a/frontend/src/component/application/ApplicationIssues/ApplicationIssues.test.tsx b/frontend/src/component/application/ApplicationIssues/ApplicationIssues.test.tsx index f6e2e0603b2..d34dd14aef7 100644 --- a/frontend/src/component/application/ApplicationIssues/ApplicationIssues.test.tsx +++ b/frontend/src/component/application/ApplicationIssues/ApplicationIssues.test.tsx @@ -1,7 +1,7 @@ import { screen } from '@testing-library/react'; import { render } from 'utils/testRenderer'; import { ApplicationIssues } from './ApplicationIssues'; -import { ApplicationOverviewSchema } from 'openapi'; +import type { ApplicationOverviewSchema } from 'openapi'; test('Display all application issues', async () => { const application: ApplicationOverviewSchema = { diff --git a/frontend/src/component/application/ApplicationIssues/ApplicationIssues.tsx b/frontend/src/component/application/ApplicationIssues/ApplicationIssues.tsx index 6baa027daaa..66837f629d8 100644 --- a/frontend/src/component/application/ApplicationIssues/ApplicationIssues.tsx +++ b/frontend/src/component/application/ApplicationIssues/ApplicationIssues.tsx @@ -1,7 +1,7 @@ import { Box, styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import WarningAmberRounded from '@mui/icons-material/WarningAmberRounded'; -import { ApplicationOverviewSchema } from 'openapi'; +import type { ApplicationOverviewSchema } from 'openapi'; import { Link } from 'react-router-dom'; import { CREATE_FEATURE, diff --git a/frontend/src/component/application/ApplicationList/ApplicationUsageCell/ApplicationUsageCell.tsx b/frontend/src/component/application/ApplicationList/ApplicationUsageCell/ApplicationUsageCell.tsx index 2b69dd90dc3..d1ef88489ae 100644 --- a/frontend/src/component/application/ApplicationList/ApplicationUsageCell/ApplicationUsageCell.tsx +++ b/frontend/src/component/application/ApplicationList/ApplicationUsageCell/ApplicationUsageCell.tsx @@ -2,7 +2,7 @@ import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { styled, Typography, useTheme } from '@mui/material'; import { Link } from 'react-router-dom'; -import { ApplicationUsageSchema } from 'openapi'; +import type { ApplicationUsageSchema } from 'openapi'; export interface IApplicationUsageCellProps { usage: ApplicationUsageSchema[] | undefined; diff --git a/frontend/src/component/application/ApplicationList/PaginatedApplicationList.test.tsx b/frontend/src/component/application/ApplicationList/PaginatedApplicationList.test.tsx index 9c510815da5..f77f21f6c9c 100644 --- a/frontend/src/component/application/ApplicationList/PaginatedApplicationList.test.tsx +++ b/frontend/src/component/application/ApplicationList/PaginatedApplicationList.test.tsx @@ -2,7 +2,7 @@ import { screen } from '@testing-library/react'; import { render } from 'utils/testRenderer'; import { testServerRoute, testServerSetup } from 'utils/testServer'; import { PaginatedApplicationList } from './PaginatedApplicationList'; -import { ApplicationSchema } from 'openapi'; +import type { ApplicationSchema } from 'openapi'; const server = testServerSetup(); diff --git a/frontend/src/component/application/ApplicationList/PaginatedApplicationList.tsx b/frontend/src/component/application/ApplicationList/PaginatedApplicationList.tsx index e71e845046e..1d0916a92fd 100644 --- a/frontend/src/component/application/ApplicationList/PaginatedApplicationList.tsx +++ b/frontend/src/component/application/ApplicationList/PaginatedApplicationList.tsx @@ -11,7 +11,7 @@ import { PaginatedTable } from 'component/common/Table'; import { IconCell } from 'component/common/Table/cells/IconCell/IconCell'; import { LinkCell } from 'component/common/Table/cells/LinkCell/LinkCell'; import { ApplicationUsageCell } from './ApplicationUsageCell/ApplicationUsageCell'; -import { ApplicationSchema } from 'openapi'; +import type { ApplicationSchema } from 'openapi'; import { encodeQueryParams, NumberParam, diff --git a/frontend/src/component/application/ApplicationOverview.test.tsx b/frontend/src/component/application/ApplicationOverview.test.tsx index 9e0f87fd93d..c1db878abb9 100644 --- a/frontend/src/component/application/ApplicationOverview.test.tsx +++ b/frontend/src/component/application/ApplicationOverview.test.tsx @@ -2,7 +2,7 @@ import { screen } from '@testing-library/react'; import { render } from 'utils/testRenderer'; import { testServerRoute, testServerSetup } from 'utils/testServer'; import { Route, Routes } from 'react-router-dom'; -import { ApplicationOverviewSchema } from 'openapi'; +import type { ApplicationOverviewSchema } from 'openapi'; import ApplicationOverview from './ApplicationOverview'; const server = testServerSetup(); diff --git a/frontend/src/component/application/ApplicationUpdate/ApplicationUpdate.tsx b/frontend/src/component/application/ApplicationUpdate/ApplicationUpdate.tsx index d8f2527fd15..0ac2a0d2584 100644 --- a/frontend/src/component/application/ApplicationUpdate/ApplicationUpdate.tsx +++ b/frontend/src/component/application/ApplicationUpdate/ApplicationUpdate.tsx @@ -1,11 +1,11 @@ -import { ChangeEvent, useMemo, useState } from 'react'; +import { type ChangeEvent, useMemo, useState } from 'react'; import { Grid, TextField, styled } from '@mui/material'; import { useThemeStyles } from 'themes/themeStyles'; import icons from 'component/application/iconNames'; import GeneralSelect from 'component/common/GeneralSelect/GeneralSelect'; import useApplicationsApi from 'hooks/api/actions/useApplicationsApi/useApplicationsApi'; import useToast from 'hooks/useToast'; -import { IApplication } from 'interfaces/application'; +import type { IApplication } from 'interfaces/application'; import useApplication from 'hooks/api/getters/useApplication/useApplication'; import { formatUnknownError } from 'utils/formatUnknownError'; import { HelpIcon } from 'component/common/HelpIcon/HelpIcon'; diff --git a/frontend/src/component/application/ConnectedInstances/ConnectedInstances.test.tsx b/frontend/src/component/application/ConnectedInstances/ConnectedInstances.test.tsx index 5e353c89d6c..71d805bd094 100644 --- a/frontend/src/component/application/ConnectedInstances/ConnectedInstances.test.tsx +++ b/frontend/src/component/application/ConnectedInstances/ConnectedInstances.test.tsx @@ -3,7 +3,7 @@ import { render } from 'utils/testRenderer'; import { testServerRoute, testServerSetup } from 'utils/testServer'; import { Route, Routes } from 'react-router-dom'; import { ConnectedInstances } from './ConnectedInstances'; -import { ApplicationEnvironmentInstancesSchemaInstancesItem } from '../../../openapi'; +import type { ApplicationEnvironmentInstancesSchemaInstancesItem } from '../../../openapi'; const server = testServerSetup(); diff --git a/frontend/src/component/application/ConnectedInstances/ConnectedInstances.tsx b/frontend/src/component/application/ConnectedInstances/ConnectedInstances.tsx index b84903a3008..f2535dff556 100644 --- a/frontend/src/component/application/ConnectedInstances/ConnectedInstances.tsx +++ b/frontend/src/component/application/ConnectedInstances/ConnectedInstances.tsx @@ -1,11 +1,11 @@ -import { FC, useEffect, useMemo } from 'react'; +import { type FC, useEffect, useMemo } from 'react'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; import { useConnectedInstancesTable } from './useConnectedInstancesTable'; import { ConnectedInstancesTable } from './ConnectedInstancesTable'; import { Box, ToggleButton, ToggleButtonGroup } from '@mui/material'; import { useApplicationOverview } from 'hooks/api/getters/useApplicationOverview/useApplicationOverview'; import { useConnectedInstances } from 'hooks/api/getters/useConnectedInstances/useConnectedInstances'; -import { ApplicationEnvironmentInstancesSchemaInstancesItem } from '../../../openapi'; +import type { ApplicationEnvironmentInstancesSchemaInstancesItem } from '../../../openapi'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { StringParam, useQueryParam, withDefault } from 'use-query-params'; import { usePlausibleTracker } from 'hooks/usePlausibleTracker'; diff --git a/frontend/src/component/application/ConnectedInstances/ConnectedInstancesTable.tsx b/frontend/src/component/application/ConnectedInstances/ConnectedInstancesTable.tsx index 8108ba4bf9e..934df13a50e 100644 --- a/frontend/src/component/application/ConnectedInstances/ConnectedInstancesTable.tsx +++ b/frontend/src/component/application/ConnectedInstances/ConnectedInstancesTable.tsx @@ -1,4 +1,4 @@ -import { +import type { Row, TablePropGetter, TableProps, diff --git a/frontend/src/component/archive/ArchiveTable/ArchiveBatchActions.tsx b/frontend/src/component/archive/ArchiveTable/ArchiveBatchActions.tsx index e6f0d3bf5e1..2513f23ca11 100644 --- a/frontend/src/component/archive/ArchiveTable/ArchiveBatchActions.tsx +++ b/frontend/src/component/archive/ArchiveTable/ArchiveBatchActions.tsx @@ -1,4 +1,4 @@ -import { FC, useState } from 'react'; +import { type FC, useState } from 'react'; import { Button } from '@mui/material'; import Delete from '@mui/icons-material/Delete'; import Undo from '@mui/icons-material/Undo'; diff --git a/frontend/src/component/archive/ArchiveTable/ArchiveTable.tsx b/frontend/src/component/archive/ArchiveTable/ArchiveTable.tsx index 2af0858f421..f0dfe0bd7f7 100644 --- a/frontend/src/component/archive/ArchiveTable/ArchiveTable.tsx +++ b/frontend/src/component/archive/ArchiveTable/ArchiveTable.tsx @@ -2,7 +2,7 @@ import { PageContent } from 'component/common/PageContent/PageContent'; import { PageHeader } from 'component/common/PageHeader/PageHeader'; import { TablePlaceholder, VirtualizedTable } from 'component/common/Table'; import { - SortingRule, + type SortingRule, useFlexLayout, useRowSelect, useSortBy, @@ -21,12 +21,12 @@ import { LinkCell } from 'component/common/Table/cells/LinkCell/LinkCell'; import { ArchivedFeatureActionCell } from 'component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureActionCell'; import { featuresPlaceholder } from 'component/feature/FeatureToggleList/FeatureToggleListTable'; import theme from 'themes/theme'; -import { FeatureSchema } from 'openapi'; +import type { FeatureSchema } from 'openapi'; import { useSearch } from 'hooks/useSearch'; import { FeatureArchivedCell } from './FeatureArchivedCell/FeatureArchivedCell'; import { useSearchParams } from 'react-router-dom'; import { ArchivedFeatureDeleteConfirm } from './ArchivedFeatureActionCell/ArchivedFeatureDeleteConfirm/ArchivedFeatureDeleteConfirm'; -import { IFeatureToggle } from 'interfaces/featureToggle'; +import type { IFeatureToggle } from 'interfaces/featureToggle'; import { useConditionallyHiddenColumns } from 'hooks/useConditionallyHiddenColumns'; import { RowSelectCell } from '../../project/Project/ProjectFeatureToggles/RowSelectCell/RowSelectCell'; import { BatchSelectionActionsBar } from '../../common/BatchSelectionActionsBar/BatchSelectionActionsBar'; diff --git a/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureActionCell.tsx b/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureActionCell.tsx index 31668dd1f90..06db3ffeea9 100644 --- a/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureActionCell.tsx +++ b/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureActionCell.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { ActionCell } from 'component/common/Table/cells/ActionCell/ActionCell'; import Delete from '@mui/icons-material/Delete'; import Undo from '@mui/icons-material/Undo'; diff --git a/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureDeleteConfirm/ArchivedFeatureDeleteConfirm.tsx b/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureDeleteConfirm/ArchivedFeatureDeleteConfirm.tsx index 7955a5bdc1c..36cefb25d44 100644 --- a/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureDeleteConfirm/ArchivedFeatureDeleteConfirm.tsx +++ b/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureDeleteConfirm/ArchivedFeatureDeleteConfirm.tsx @@ -1,5 +1,6 @@ import { Alert, styled } from '@mui/material'; -import React, { useState } from 'react'; +import type React from 'react'; +import { useState } from 'react'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import Input from 'component/common/Input/Input'; import { formatUnknownError } from 'utils/formatUnknownError'; diff --git a/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureReviveConfirm/ArchivedFeatureReviveConfirm.tsx b/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureReviveConfirm/ArchivedFeatureReviveConfirm.tsx index 0892df49a5b..48000756a60 100644 --- a/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureReviveConfirm/ArchivedFeatureReviveConfirm.tsx +++ b/frontend/src/component/archive/ArchiveTable/ArchivedFeatureActionCell/ArchivedFeatureReviveConfirm/ArchivedFeatureReviveConfirm.tsx @@ -1,5 +1,5 @@ import { Alert, styled } from '@mui/material'; -import React from 'react'; +import type React from 'react'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { formatUnknownError } from 'utils/formatUnknownError'; import useToast from 'hooks/useToast'; diff --git a/frontend/src/component/archive/ArchiveTable/FeatureArchivedCell/FeatureArchivedCell.tsx b/frontend/src/component/archive/ArchiveTable/FeatureArchivedCell/FeatureArchivedCell.tsx index c4f7461d124..d581e4f1367 100644 --- a/frontend/src/component/archive/ArchiveTable/FeatureArchivedCell/FeatureArchivedCell.tsx +++ b/frontend/src/component/archive/ArchiveTable/FeatureArchivedCell/FeatureArchivedCell.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import TimeAgo from 'react-timeago'; import { Tooltip, Typography, useTheme } from '@mui/material'; import { formatDateYMD } from 'utils/formatDate'; diff --git a/frontend/src/component/archive/FeaturesArchiveTable.tsx b/frontend/src/component/archive/FeaturesArchiveTable.tsx index 17f9896b59f..6320142879e 100644 --- a/frontend/src/component/archive/FeaturesArchiveTable.tsx +++ b/frontend/src/component/archive/FeaturesArchiveTable.tsx @@ -1,6 +1,6 @@ import { useFeaturesArchive } from 'hooks/api/getters/useFeaturesArchive/useFeaturesArchive'; import { ArchiveTable } from './ArchiveTable/ArchiveTable'; -import { SortingRule } from 'react-table'; +import type { SortingRule } from 'react-table'; import { usePageTitle } from 'hooks/usePageTitle'; import { createLocalStorage } from 'utils/createLocalStorage'; diff --git a/frontend/src/component/archive/ProjectFeaturesArchiveTable.tsx b/frontend/src/component/archive/ProjectFeaturesArchiveTable.tsx index c96d53ccb78..68801ebf23f 100644 --- a/frontend/src/component/archive/ProjectFeaturesArchiveTable.tsx +++ b/frontend/src/component/archive/ProjectFeaturesArchiveTable.tsx @@ -1,6 +1,6 @@ import { useFeaturesArchive } from 'hooks/api/getters/useFeaturesArchive/useFeaturesArchive'; -import { VFC } from 'react'; -import { SortingRule } from 'react-table'; +import type { VFC } from 'react'; +import type { SortingRule } from 'react-table'; import { createLocalStorage } from 'utils/createLocalStorage'; import { ArchiveTable } from './ArchiveTable/ArchiveTable'; diff --git a/frontend/src/component/banners/Banner/Banner.tsx b/frontend/src/component/banners/Banner/Banner.tsx index c27ebd1ec35..dade6afffe2 100644 --- a/frontend/src/component/banners/Banner/Banner.tsx +++ b/frontend/src/component/banners/Banner/Banner.tsx @@ -8,7 +8,7 @@ import { useNavigate } from 'react-router-dom'; import { BannerDialog } from './BannerDialog/BannerDialog'; import { useState } from 'react'; import { Markdown } from 'component/common/Markdown/Markdown'; -import { BannerVariant, IBanner } from 'interfaces/banner'; +import type { BannerVariant, IBanner } from 'interfaces/banner'; import { Sticky } from 'component/common/Sticky/Sticky'; const DEFAULT_VARIANT = 'info'; diff --git a/frontend/src/component/banners/Banner/BannerDialog/BannerDialog.tsx b/frontend/src/component/banners/Banner/BannerDialog/BannerDialog.tsx index 3029acffb3c..d5584832251 100644 --- a/frontend/src/component/banners/Banner/BannerDialog/BannerDialog.tsx +++ b/frontend/src/component/banners/Banner/BannerDialog/BannerDialog.tsx @@ -1,7 +1,7 @@ import { Box, styled } from '@mui/material'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { Markdown } from 'component/common/Markdown/Markdown'; -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; const StyledMarkdown = styled(Markdown)(({ theme }) => ({ 'h1, h2, h3': { diff --git a/frontend/src/component/banners/EdgeUpgradeBanner/EdgeUpgradeBanner.tsx b/frontend/src/component/banners/EdgeUpgradeBanner/EdgeUpgradeBanner.tsx index 5c4e33f2e8b..e2a8660fdd4 100644 --- a/frontend/src/component/banners/EdgeUpgradeBanner/EdgeUpgradeBanner.tsx +++ b/frontend/src/component/banners/EdgeUpgradeBanner/EdgeUpgradeBanner.tsx @@ -1,7 +1,7 @@ import { useUiFlag } from '../../../hooks/useUiFlag'; import { ConditionallyRender } from '../../common/ConditionallyRender/ConditionallyRender'; import { Banner } from '../Banner/Banner'; -import { IBanner } from '../../../interfaces/banner'; +import type { IBanner } from '../../../interfaces/banner'; export const EdgeUpgradeBanner = () => { const displayUpgradeEdgeBanner = useUiFlag('displayUpgradeEdgeBanner'); diff --git a/frontend/src/component/banners/OutdatedSdksBanner/OutdatedSdksBanner.test.tsx b/frontend/src/component/banners/OutdatedSdksBanner/OutdatedSdksBanner.test.tsx index af1d417cbe3..ff329a3c882 100644 --- a/frontend/src/component/banners/OutdatedSdksBanner/OutdatedSdksBanner.test.tsx +++ b/frontend/src/component/banners/OutdatedSdksBanner/OutdatedSdksBanner.test.tsx @@ -1,7 +1,7 @@ import { screen, waitFor } from '@testing-library/react'; import { render } from 'utils/testRenderer'; import { testServerRoute, testServerSetup } from 'utils/testServer'; -import { OutdatedSdksSchema } from 'openapi'; +import type { OutdatedSdksSchema } from 'openapi'; import { OutdatedSdksBanner } from './OutdatedSdksBanner'; const server = testServerSetup(); diff --git a/frontend/src/component/banners/OutdatedSdksBanner/OutdatedSdksBanner.tsx b/frontend/src/component/banners/OutdatedSdksBanner/OutdatedSdksBanner.tsx index e749a2e7eb2..a7036832fba 100644 --- a/frontend/src/component/banners/OutdatedSdksBanner/OutdatedSdksBanner.tsx +++ b/frontend/src/component/banners/OutdatedSdksBanner/OutdatedSdksBanner.tsx @@ -1,6 +1,6 @@ import { ConditionallyRender } from '../../common/ConditionallyRender/ConditionallyRender'; import { Banner } from '../Banner/Banner'; -import { IBanner } from 'interfaces/banner'; +import type { IBanner } from 'interfaces/banner'; import { useOutdatedSdks } from 'hooks/api/getters/useOutdatedSdks/useOutdatedSdks'; import { useUiFlag } from 'hooks/useUiFlag'; import { Link } from 'react-router-dom'; diff --git a/frontend/src/component/banners/externalBanners/ExternalBanners.tsx b/frontend/src/component/banners/externalBanners/ExternalBanners.tsx index a8c768c2e17..dabfbfabd80 100644 --- a/frontend/src/component/banners/externalBanners/ExternalBanners.tsx +++ b/frontend/src/component/banners/externalBanners/ExternalBanners.tsx @@ -1,7 +1,7 @@ import { Banner } from 'component/banners/Banner/Banner'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import { useVariant } from 'hooks/useVariant'; -import { IBanner } from 'interfaces/banner'; +import type { IBanner } from 'interfaces/banner'; export const ExternalBanners = () => { const { uiConfig } = useUiConfig(); diff --git a/frontend/src/component/banners/internalBanners/LicenseBanner.tsx b/frontend/src/component/banners/internalBanners/LicenseBanner.tsx index 0cf1bd1b2bb..4f3493670ff 100644 --- a/frontend/src/component/banners/internalBanners/LicenseBanner.tsx +++ b/frontend/src/component/banners/internalBanners/LicenseBanner.tsx @@ -1,7 +1,7 @@ import { Banner } from 'component/banners/Banner/Banner'; import { useLicenseCheck } from 'hooks/api/getters/useLicense/useLicense'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; -import { BannerVariant } from 'interfaces/banner'; +import type { BannerVariant } from 'interfaces/banner'; export const LicenseBanner = () => { const { isEnterprise } = useUiConfig(); diff --git a/frontend/src/component/changeRequest/ChangeRequest.test.tsx b/frontend/src/component/changeRequest/ChangeRequest.test.tsx index c210fc958fd..5ff3346b91f 100644 --- a/frontend/src/component/changeRequest/ChangeRequest.test.tsx +++ b/frontend/src/component/changeRequest/ChangeRequest.test.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { render, screen, within, fireEvent } from '@testing-library/react'; import { MemoryRouter, Routes, Route } from 'react-router-dom'; import { ThemeProvider } from 'themes/ThemeProvider'; diff --git a/frontend/src/component/changeRequest/ChangeRequest/ChangeRequest.test.tsx b/frontend/src/component/changeRequest/ChangeRequest/ChangeRequest.test.tsx index 3e7b94ea31d..6a561841761 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/ChangeRequest.test.tsx +++ b/frontend/src/component/changeRequest/ChangeRequest/ChangeRequest.test.tsx @@ -4,13 +4,13 @@ import { Route, Routes } from 'react-router-dom'; import { render } from 'utils/testRenderer'; import { ChangeRequest } from './ChangeRequest'; -import { +import type { ChangeRequestType, IChangeRequestAddStrategy, IChangeRequestEnabled, } from '../changeRequest.types'; import { testServerRoute, testServerSetup } from 'utils/testServer'; -import { StrategyVariantSchema } from 'openapi'; +import type { StrategyVariantSchema } from 'openapi'; const server = testServerSetup(); const uiConfigForEnterprise = () => diff --git a/frontend/src/component/changeRequest/ChangeRequest/ChangeRequest.tsx b/frontend/src/component/changeRequest/ChangeRequest/ChangeRequest.tsx index 8aec8a0bbbc..2aee9c7960f 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/ChangeRequest.tsx +++ b/frontend/src/component/changeRequest/ChangeRequest/ChangeRequest.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { Box, Typography } from '@mui/material'; import type { ChangeRequestType } from '../changeRequest.types'; import { FeatureToggleChanges } from './Changes/FeatureToggleChanges'; @@ -63,7 +63,6 @@ export const ChangeRequest: VFC = ({ > {feature.changes.map((change, index) => ( key={index} actions={ ({ color: theme.palette.warning.dark, diff --git a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/ChangeOverwriteWarning/strategy-change-diff-calculation.test.ts b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/ChangeOverwriteWarning/strategy-change-diff-calculation.test.ts index 1c0b660fe90..9cd1b267091 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/ChangeOverwriteWarning/strategy-change-diff-calculation.test.ts +++ b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/ChangeOverwriteWarning/strategy-change-diff-calculation.test.ts @@ -1,9 +1,9 @@ -import { +import type { ChangeRequestEditStrategy, IChangeRequestUpdateSegment, IChangeRequestUpdateStrategy, } from 'component/changeRequest/changeRequest.types'; -import { IFeatureStrategy } from 'interfaces/strategy'; +import type { IFeatureStrategy } from 'interfaces/strategy'; import omit from 'lodash.omit'; import { getSegmentChangesThatWouldBeOverwritten, diff --git a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/ChangeOverwriteWarning/strategy-change-diff-calculation.ts b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/ChangeOverwriteWarning/strategy-change-diff-calculation.ts index fb9a4682464..1e8c2d9b271 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/ChangeOverwriteWarning/strategy-change-diff-calculation.ts +++ b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/ChangeOverwriteWarning/strategy-change-diff-calculation.ts @@ -1,11 +1,11 @@ -import { +import type { IChangeRequestPatchVariant, IChangeRequestUpdateSegment, IChangeRequestUpdateStrategy, } from 'component/changeRequest/changeRequest.types'; -import { IFeatureVariant } from 'interfaces/featureToggle'; -import { ISegment } from 'interfaces/segment'; -import { IFeatureStrategy } from 'interfaces/strategy'; +import type { IFeatureVariant } from 'interfaces/featureToggle'; +import type { ISegment } from 'interfaces/segment'; +import type { IFeatureStrategy } from 'interfaces/strategy'; import isEqual from 'lodash.isequal'; import omit from 'lodash.omit'; diff --git a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/DependencyChange.tsx b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/DependencyChange.tsx index ec26d868740..390673ee2f1 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/DependencyChange.tsx +++ b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/DependencyChange.tsx @@ -1,6 +1,6 @@ -import { ReactNode, VFC } from 'react'; +import type { ReactNode, VFC } from 'react'; import { Box, styled, Typography } from '@mui/material'; -import { +import type { IChangeRequestAddDependency, IChangeRequestDeleteDependency, } from 'component/changeRequest/changeRequest.types'; diff --git a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/EditChange.tsx b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/EditChange.tsx index f2c731b0497..97c32245a7c 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/EditChange.tsx +++ b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/EditChange.tsx @@ -4,17 +4,17 @@ import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; import { formatUnknownError } from 'utils/formatUnknownError'; import useToast from 'hooks/useToast'; -import { IFeatureStrategy } from 'interfaces/strategy'; +import type { IFeatureStrategy } from 'interfaces/strategy'; import { UPDATE_FEATURE_STRATEGY } from 'component/providers/AccessProvider/permissions'; -import { ISegment } from 'interfaces/segment'; +import type { ISegment } from 'interfaces/segment'; import { useFormErrors } from 'hooks/useFormErrors'; import { useCollaborateData } from 'hooks/useCollaborateData'; import { useFeature } from 'hooks/api/getters/useFeature/useFeature'; -import { IFeatureToggle } from 'interfaces/featureToggle'; +import type { IFeatureToggle } from 'interfaces/featureToggle'; import { useChangeRequestsEnabled } from 'hooks/useChangeRequestsEnabled'; import { useChangeRequestApi } from 'hooks/api/actions/useChangeRequestApi/useChangeRequestApi'; import { comparisonModerator } from 'component/feature/FeatureStrategy/featureStrategy.utils'; -import { +import type { ChangeRequestAddStrategy, ChangeRequestEditStrategy, IChangeRequestAddStrategy, diff --git a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/EnvironmentStrategyExecutionOrder/EnvironmentStrategyExecutionOrder.tsx b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/EnvironmentStrategyExecutionOrder/EnvironmentStrategyExecutionOrder.tsx index 88f54c62e6c..46f767b636e 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/EnvironmentStrategyExecutionOrder/EnvironmentStrategyExecutionOrder.tsx +++ b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/EnvironmentStrategyExecutionOrder/EnvironmentStrategyExecutionOrder.tsx @@ -1,5 +1,5 @@ -import { IChangeRequestReorderStrategy } from '../../../../changeRequest.types'; -import { ReactNode } from 'react'; +import type { IChangeRequestReorderStrategy } from '../../../../changeRequest.types'; +import type { ReactNode } from 'react'; import { useFeature } from 'hooks/api/getters/useFeature/useFeature'; import { TooltipLink } from 'component/common/TooltipLink/TooltipLink'; import { Box, styled } from '@mui/material'; diff --git a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/FeatureChange.test.tsx b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/FeatureChange.test.tsx index 57626069f49..9e07c210ab9 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/FeatureChange.test.tsx +++ b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/FeatureChange.test.tsx @@ -1,7 +1,7 @@ import { render } from 'utils/testRenderer'; import { screen } from '@testing-library/react'; import { FeatureChange } from './FeatureChange'; -import { +import type { ChangeRequestState, ChangeRequestType, IChangeRequestFeature, diff --git a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/FeatureChange.tsx b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/FeatureChange.tsx index 435d2ef3a19..256430088b3 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/FeatureChange.tsx +++ b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/FeatureChange.tsx @@ -1,5 +1,5 @@ -import { FC, ReactNode } from 'react'; -import { +import type { FC, ReactNode } from 'react'; +import type { IFeatureChange, ChangeRequestType, IChangeRequestFeature, diff --git a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/SegmentChange.tsx b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/SegmentChange.tsx index af6794fec75..d1e5bc462bf 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/SegmentChange.tsx +++ b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/SegmentChange.tsx @@ -1,7 +1,7 @@ -import { FC, ReactNode } from 'react'; +import type { FC, ReactNode } from 'react'; import { Link as RouterLink } from 'react-router-dom'; import { Box, Card, Typography, Link } from '@mui/material'; -import { +import type { ChangeRequestState, ISegmentChange, } from '../../../changeRequest.types'; diff --git a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/SegmentChangeDetails.tsx b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/SegmentChangeDetails.tsx index 3d56c69b7f7..48ab1b53ea6 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/SegmentChangeDetails.tsx +++ b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/SegmentChangeDetails.tsx @@ -1,6 +1,6 @@ -import { VFC, FC, ReactNode } from 'react'; +import type { VFC, FC, ReactNode } from 'react'; import { Box, styled, Typography } from '@mui/material'; -import { +import type { ChangeRequestState, IChangeRequestDeleteSegment, IChangeRequestUpdateSegment, diff --git a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/StrategyChange.tsx b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/StrategyChange.tsx index ed83b64a287..c52471a109e 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/StrategyChange.tsx +++ b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/StrategyChange.tsx @@ -1,4 +1,4 @@ -import { VFC, FC, ReactNode } from 'react'; +import type { VFC, FC, ReactNode } from 'react'; import { Box, styled, Tooltip, Typography } from '@mui/material'; import BlockIcon from '@mui/icons-material/Block'; import TrackChangesIcon from '@mui/icons-material/TrackChanges'; @@ -7,7 +7,7 @@ import { StrategyTooltipLink, } from '../../StrategyTooltipLink/StrategyTooltipLink'; import { StrategyExecution } from 'component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/StrategyExecution/StrategyExecution'; -import { +import type { ChangeRequestState, IChangeRequestAddStrategy, IChangeRequestDeleteStrategy, diff --git a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/ToggleStatusChange.tsx b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/ToggleStatusChange.tsx index 8e4db1e93b1..4bc14d2477e 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/ToggleStatusChange.tsx +++ b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/ToggleStatusChange.tsx @@ -1,4 +1,4 @@ -import { ReactNode, VFC } from 'react'; +import type { ReactNode, VFC } from 'react'; import { Box } from '@mui/material'; import { Badge } from 'component/common/Badge/Badge'; import { ChangeItemWrapper } from './StrategyChange'; diff --git a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/VariantPatch/VariantDiff.tsx b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/VariantPatch/VariantDiff.tsx index 95f8d9fbefb..b4c217af659 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/VariantPatch/VariantDiff.tsx +++ b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/VariantPatch/VariantDiff.tsx @@ -1,6 +1,6 @@ import { styled } from '@mui/material'; import EventDiff from 'component/events/EventDiff/EventDiff'; -import { IFeatureVariant } from 'interfaces/featureToggle'; +import type { IFeatureVariant } from 'interfaces/featureToggle'; const StyledCodeSection = styled('div')(({ theme }) => ({ overflowX: 'auto', diff --git a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/VariantPatch/VariantPatch.tsx b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/VariantPatch/VariantPatch.tsx index f463b6af3e1..5050f396121 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/VariantPatch/VariantPatch.tsx +++ b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/VariantPatch/VariantPatch.tsx @@ -1,5 +1,5 @@ import { Box, styled } from '@mui/material'; -import { +import type { ChangeRequestState, IChangeRequestPatchVariant, } from 'component/changeRequest/changeRequest.types'; @@ -8,7 +8,7 @@ import { ConditionallyRender } from 'component/common/ConditionallyRender/Condit import { TooltipLink } from 'component/common/TooltipLink/TooltipLink'; import { EnvironmentVariantsTable } from 'component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/EnvironmentVariantsTable'; import { useFeature } from 'hooks/api/getters/useFeature/useFeature'; -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { ChangeOverwriteWarning } from '../ChangeOverwriteWarning/ChangeOverwriteWarning'; import { VariantDiff } from './VariantDiff'; diff --git a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/hooks/useCurrentStrategy.ts b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/hooks/useCurrentStrategy.ts index be90227f4aa..2d6ad83933f 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/hooks/useCurrentStrategy.ts +++ b/frontend/src/component/changeRequest/ChangeRequest/Changes/Change/hooks/useCurrentStrategy.ts @@ -1,4 +1,4 @@ -import { +import type { IChangeRequestAddStrategy, IChangeRequestDeleteStrategy, IChangeRequestUpdateStrategy, diff --git a/frontend/src/component/changeRequest/ChangeRequest/Changes/FeatureToggleChanges.tsx b/frontend/src/component/changeRequest/ChangeRequest/Changes/FeatureToggleChanges.tsx index 69fb23c34fb..30a6c58fa70 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/Changes/FeatureToggleChanges.tsx +++ b/frontend/src/component/changeRequest/ChangeRequest/Changes/FeatureToggleChanges.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Link as RouterLink } from 'react-router-dom'; import { Box, Card, Typography, Link } from '@mui/material'; import { ConflictWarning } from './Change/ConflictWarning'; diff --git a/frontend/src/component/changeRequest/ChangeRequest/NameWithChangeInfo/NameWithChangeInfo.tsx b/frontend/src/component/changeRequest/ChangeRequest/NameWithChangeInfo/NameWithChangeInfo.tsx index 57fe5c02079..963418031de 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/NameWithChangeInfo/NameWithChangeInfo.tsx +++ b/frontend/src/component/changeRequest/ChangeRequest/NameWithChangeInfo/NameWithChangeInfo.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Typography, styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { textTruncated } from 'themes/themeStyles'; diff --git a/frontend/src/component/changeRequest/ChangeRequest/SegmentTooltipLink.tsx b/frontend/src/component/changeRequest/ChangeRequest/SegmentTooltipLink.tsx index 801f3724a0f..7f1694ca54b 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/SegmentTooltipLink.tsx +++ b/frontend/src/component/changeRequest/ChangeRequest/SegmentTooltipLink.tsx @@ -1,14 +1,14 @@ -import { +import type { IChangeRequestDeleteSegment, IChangeRequestUpdateSegment, } from 'component/changeRequest/changeRequest.types'; -import { FC } from 'react'; +import type { FC } from 'react'; import EventDiff from 'component/events/EventDiff/EventDiff'; import omit from 'lodash.omit'; import { TooltipLink } from 'component/common/TooltipLink/TooltipLink'; import { styled } from '@mui/material'; import { textTruncated } from 'themes/themeStyles'; -import { ISegment } from 'interfaces/segment'; +import type { ISegment } from 'interfaces/segment'; import { NameWithChangeInfo } from './NameWithChangeInfo/NameWithChangeInfo'; const StyledCodeSection = styled('div')(({ theme }) => ({ diff --git a/frontend/src/component/changeRequest/ChangeRequest/StrategyTooltipLink/StrategyTooltipLink.test.tsx b/frontend/src/component/changeRequest/ChangeRequest/StrategyTooltipLink/StrategyTooltipLink.test.tsx index 8c3255e3c77..64eb6b03af6 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/StrategyTooltipLink/StrategyTooltipLink.test.tsx +++ b/frontend/src/component/changeRequest/ChangeRequest/StrategyTooltipLink/StrategyTooltipLink.test.tsx @@ -1,8 +1,8 @@ import { render } from 'utils/testRenderer'; import { screen } from '@testing-library/react'; import { StrategyDiff } from './StrategyTooltipLink'; -import { IFeatureStrategy } from 'interfaces/strategy'; -import { IChangeRequestUpdateStrategy } from 'component/changeRequest/changeRequest.types'; +import type { IFeatureStrategy } from 'interfaces/strategy'; +import type { IChangeRequestUpdateStrategy } from 'component/changeRequest/changeRequest.types'; test('Should not render the `snapshot` property', async () => { const existingStrategy: IFeatureStrategy = { diff --git a/frontend/src/component/changeRequest/ChangeRequest/StrategyTooltipLink/StrategyTooltipLink.tsx b/frontend/src/component/changeRequest/ChangeRequest/StrategyTooltipLink/StrategyTooltipLink.tsx index 5b2c742d828..c6398009af5 100644 --- a/frontend/src/component/changeRequest/ChangeRequest/StrategyTooltipLink/StrategyTooltipLink.tsx +++ b/frontend/src/component/changeRequest/ChangeRequest/StrategyTooltipLink/StrategyTooltipLink.tsx @@ -1,9 +1,9 @@ -import { +import type { IChangeRequestAddStrategy, IChangeRequestDeleteStrategy, IChangeRequestUpdateStrategy, } from 'component/changeRequest/changeRequest.types'; -import { FC } from 'react'; +import type { FC } from 'react'; import { formatStrategyName, GetFeatureStrategyIcon, @@ -12,7 +12,7 @@ import EventDiff from 'component/events/EventDiff/EventDiff'; import omit from 'lodash.omit'; import { TooltipLink } from 'component/common/TooltipLink/TooltipLink'; import { Typography, styled } from '@mui/material'; -import { IFeatureStrategy } from 'interfaces/strategy'; +import type { IFeatureStrategy } from 'interfaces/strategy'; import { textTruncated } from 'themes/themeStyles'; import { NameWithChangeInfo } from '../NameWithChangeInfo/NameWithChangeInfo'; diff --git a/frontend/src/component/changeRequest/ChangeRequestConfirmDialog/ChangeRequestConfirmDialog.tsx b/frontend/src/component/changeRequest/ChangeRequestConfirmDialog/ChangeRequestConfirmDialog.tsx index ef732903a0a..c0f945038aa 100644 --- a/frontend/src/component/changeRequest/ChangeRequestConfirmDialog/ChangeRequestConfirmDialog.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestConfirmDialog/ChangeRequestConfirmDialog.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Alert, Typography } from '@mui/material'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { usePendingChangeRequests } from 'hooks/api/getters/usePendingChangeRequests/usePendingChangeRequests'; diff --git a/frontend/src/component/changeRequest/ChangeRequestConfirmDialog/ChangeRequestMessages/CopyStrategiesMessage.tsx b/frontend/src/component/changeRequest/ChangeRequestConfirmDialog/ChangeRequestMessages/CopyStrategiesMessage.tsx index 01b813a6b9d..3267d6bb286 100644 --- a/frontend/src/component/changeRequest/ChangeRequestConfirmDialog/ChangeRequestMessages/CopyStrategiesMessage.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestConfirmDialog/ChangeRequestMessages/CopyStrategiesMessage.tsx @@ -1,7 +1,7 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { styled, Typography } from '@mui/material'; import { formatStrategyName } from 'utils/strategyNames'; -import { IFeatureStrategyPayload } from 'interfaces/strategy'; +import type { IFeatureStrategyPayload } from 'interfaces/strategy'; interface ICopyStrategiesMessageProps { payload?: IFeatureStrategyPayload[]; diff --git a/frontend/src/component/changeRequest/ChangeRequestConfirmDialog/ChangeRequestMessages/CopyStrategyMessage.tsx b/frontend/src/component/changeRequest/ChangeRequestConfirmDialog/ChangeRequestMessages/CopyStrategyMessage.tsx index c86759b5ab4..e37e3e571cd 100644 --- a/frontend/src/component/changeRequest/ChangeRequestConfirmDialog/ChangeRequestMessages/CopyStrategyMessage.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestConfirmDialog/ChangeRequestMessages/CopyStrategyMessage.tsx @@ -1,6 +1,6 @@ import { Typography } from '@mui/material'; import { formatStrategyName } from 'utils/strategyNames'; -import { IFeatureStrategyPayload } from 'interfaces/strategy'; +import type { IFeatureStrategyPayload } from 'interfaces/strategy'; export interface CopyStrategyMsg { payload?: IFeatureStrategyPayload; diff --git a/frontend/src/component/changeRequest/ChangeRequestOverview/ApplyButton/ApplyButton.tsx b/frontend/src/component/changeRequest/ChangeRequestOverview/ApplyButton/ApplyButton.tsx index 3678e1335ad..ee795a951ad 100644 --- a/frontend/src/component/changeRequest/ChangeRequestOverview/ApplyButton/ApplyButton.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestOverview/ApplyButton/ApplyButton.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import CheckBox from '@mui/icons-material/Check'; import Today from '@mui/icons-material/Today'; diff --git a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestComments/AddCommentField.tsx b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestComments/AddCommentField.tsx index d272453774f..4ec8a33aa39 100644 --- a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestComments/AddCommentField.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestComments/AddCommentField.tsx @@ -1,7 +1,7 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Box, styled, TextField, Tooltip } from '@mui/material'; import { StyledAvatar } from './StyledAvatar'; -import { IUser } from 'interfaces/user'; +import type { IUser } from 'interfaces/user'; const AddCommentWrapper = styled(Box)(({ theme }) => ({ display: 'flex', diff --git a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestComments/ChangeRequestComment.tsx b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestComments/ChangeRequestComment.tsx index 7071e4d242f..51d7bde398e 100644 --- a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestComments/ChangeRequestComment.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestComments/ChangeRequestComment.tsx @@ -1,9 +1,9 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import Paper from '@mui/material/Paper'; import { Box, styled, Typography, Tooltip } from '@mui/material'; import TimeAgo from 'react-timeago'; import { StyledAvatar } from './StyledAvatar'; -import { IChangeRequestComment } from '../../changeRequest.types'; +import type { IChangeRequestComment } from '../../changeRequest.types'; import Linkify from 'react-linkify'; const ChangeRequestCommentWrapper = styled(Box)(({ theme }) => ({ diff --git a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestHeader/ChangeRequestHeader.tsx b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestHeader/ChangeRequestHeader.tsx index 1e0ceb88ea3..0ca28f6463d 100644 --- a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestHeader/ChangeRequestHeader.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestHeader/ChangeRequestHeader.tsx @@ -1,8 +1,8 @@ import { Box } from '@mui/material'; -import { FC, useState } from 'react'; +import { type FC, useState } from 'react'; import { Typography, Tooltip } from '@mui/material'; import TimeAgo from 'react-timeago'; -import { ChangeRequestType } from 'component/changeRequest/changeRequest.types'; +import type { ChangeRequestType } from 'component/changeRequest/changeRequest.types'; import { ChangeRequestStatusBadge } from 'component/changeRequest/ChangeRequestStatusBadge/ChangeRequestStatusBadge'; import { StyledPaper, diff --git a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestOverview.test.tsx b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestOverview.test.tsx index 91264801a8a..692ebc29132 100644 --- a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestOverview.test.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestOverview.test.tsx @@ -1,6 +1,9 @@ import { fireEvent, screen, waitFor, within } from '@testing-library/react'; import { testServerRoute, testServerSetup } from 'utils/testServer'; -import { ChangeRequestState, ChangeRequestType } from '../changeRequest.types'; +import type { + ChangeRequestState, + ChangeRequestType, +} from '../changeRequest.types'; import { render } from 'utils/testRenderer'; import { ChangeRequestOverview } from './ChangeRequestOverview'; import { diff --git a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestOverview.tsx b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestOverview.tsx index f0bc3fa2285..7f55751a390 100644 --- a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestOverview.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestOverview.tsx @@ -1,10 +1,10 @@ import { Alert, Box, Button, styled, Typography } from '@mui/material'; -import { FC, useContext, useState } from 'react'; +import { type FC, useContext, useState } from 'react'; import { useChangeRequest } from 'hooks/api/getters/useChangeRequest/useChangeRequest'; import { ChangeRequestHeader } from './ChangeRequestHeader/ChangeRequestHeader'; import { ChangeRequestTimeline, - ISuggestChangeTimelineProps, + type ISuggestChangeTimelineProps, } from './ChangeRequestTimeline/ChangeRequestTimeline'; import { ChangeRequest } from '../ChangeRequest/ChangeRequest'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; @@ -31,7 +31,7 @@ import { ChangeRequestRejectScheduledDialogue, } from './ChangeRequestScheduledDialogs/changeRequestScheduledDialogs'; import { ScheduleChangeRequestDialog } from './ChangeRequestScheduledDialogs/ScheduleChangeRequestDialog'; -import { PlausibleChangeRequestState } from '../changeRequest.types'; +import type { PlausibleChangeRequestState } from '../changeRequest.types'; const StyledAsideBox = styled(Box)(({ theme }) => ({ width: '30%', diff --git a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestRejectDialog/ChangeRequestRejectDialog.tsx b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestRejectDialog/ChangeRequestRejectDialog.tsx index 39678eb893e..2608dc5f7c2 100644 --- a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestRejectDialog/ChangeRequestRejectDialog.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestRejectDialog/ChangeRequestRejectDialog.tsx @@ -1,4 +1,4 @@ -import { FC, useState } from 'react'; +import { type FC, useState } from 'react'; import { TextField, Box } from '@mui/material'; import { Dialogue } from '../../../common/Dialogue/Dialogue'; diff --git a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewStatus/ChangeRequestReviewStatus.tsx b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewStatus/ChangeRequestReviewStatus.tsx index 7eea83a78ff..67bed504365 100644 --- a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewStatus/ChangeRequestReviewStatus.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewStatus/ChangeRequestReviewStatus.tsx @@ -1,9 +1,9 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Box, IconButton, styled, - Theme, + type Theme, Typography, useTheme, } from '@mui/material'; @@ -25,7 +25,7 @@ import { StyledScheduleFailedIcon, StyledScheduleSuspendedIcon, } from './ChangeRequestReviewStatus.styles'; -import { +import type { ChangeRequestState, ChangeRequestType, ChangeRequestSchedule, diff --git a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewers/ChangeRequestApprovals.tsx b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewers/ChangeRequestApprovals.tsx index 75a66f96054..11ad8a17435 100644 --- a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewers/ChangeRequestApprovals.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewers/ChangeRequestApprovals.tsx @@ -1,8 +1,8 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Typography } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ChangeRequestApprover } from './ChangeRequestReviewer'; -import { IChangeRequestApproval } from '../../changeRequest.types'; +import type { IChangeRequestApproval } from '../../changeRequest.types'; interface ChangeRequestApprovalProps { approvals: IChangeRequestApproval[]; diff --git a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewers/ChangeRequestRejections.tsx b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewers/ChangeRequestRejections.tsx index fdc7a356ce0..37e68eca5fc 100644 --- a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewers/ChangeRequestRejections.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewers/ChangeRequestRejections.tsx @@ -1,5 +1,5 @@ -import { IChangeRequestApproval } from '../../changeRequest.types'; -import { FC } from 'react'; +import type { IChangeRequestApproval } from '../../changeRequest.types'; +import type { FC } from 'react'; import { Typography } from '@mui/material'; import { ChangeRequestRejector } from './ChangeRequestReviewer'; diff --git a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewers/ChangeRequestReviewer.tsx b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewers/ChangeRequestReviewer.tsx index 4bfe81688e5..1883c4121ac 100644 --- a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewers/ChangeRequestReviewer.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewers/ChangeRequestReviewer.tsx @@ -1,5 +1,5 @@ import { Box, styled, Typography } from '@mui/material'; -import { FC } from 'react'; +import type { FC } from 'react'; import { StyledAvatar } from '../ChangeRequestHeader/ChangeRequestHeader.styles'; import CheckCircle from '@mui/icons-material/CheckCircle'; import Cancel from '@mui/icons-material/Cancel'; diff --git a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewers/ChangeRequestReviewers.tsx b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewers/ChangeRequestReviewers.tsx index c9b516b8f31..a34084a4921 100644 --- a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewers/ChangeRequestReviewers.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestReviewers/ChangeRequestReviewers.tsx @@ -1,9 +1,9 @@ import { Box, Paper, styled, Typography } from '@mui/material'; -import { FC, ReactNode } from 'react'; +import type { FC, ReactNode } from 'react'; import { ConditionallyRender } from '../../../common/ConditionallyRender/ConditionallyRender'; import { ChangeRequestRejections } from './ChangeRequestRejections'; import { ChangeRequestApprovals } from './ChangeRequestApprovals'; -import { ChangeRequestType } from '../../changeRequest.types'; +import type { ChangeRequestType } from '../../changeRequest.types'; const StyledBox = styled(Box)(({ theme }) => ({ marginBottom: theme.spacing(2), diff --git a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestScheduledDialogs/ChangeRequestScheduledDialog.tsx b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestScheduledDialogs/ChangeRequestScheduledDialog.tsx index e2483a976ce..aec93722b16 100644 --- a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestScheduledDialogs/ChangeRequestScheduledDialog.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestScheduledDialogs/ChangeRequestScheduledDialog.tsx @@ -1,4 +1,4 @@ -import { FC, ReactElement } from 'react'; +import type { FC, ReactElement } from 'react'; import { Alert, styled, Typography } from '@mui/material'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; diff --git a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestScheduledDialogs/ScheduleChangeRequestDialog.tsx b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestScheduledDialogs/ScheduleChangeRequestDialog.tsx index 4b649c08a3a..e861cf231e5 100644 --- a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestScheduledDialogs/ScheduleChangeRequestDialog.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestScheduledDialogs/ScheduleChangeRequestDialog.tsx @@ -1,4 +1,4 @@ -import { FC, useState } from 'react'; +import { type FC, useState } from 'react'; import { Alert, Box, styled, Typography } from '@mui/material'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { APPLY_CHANGE_REQUEST } from 'component/providers/AccessProvider/permissions'; diff --git a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestScheduledDialogs/changeRequestScheduledDialogs.tsx b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestScheduledDialogs/changeRequestScheduledDialogs.tsx index 347d457848a..e80b98e2dd1 100644 --- a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestScheduledDialogs/changeRequestScheduledDialogs.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestScheduledDialogs/changeRequestScheduledDialogs.tsx @@ -1,9 +1,9 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { APPLY_CHANGE_REQUEST } from '../../../providers/AccessProvider/permissions'; import PermissionButton from '../../../common/PermissionButton/PermissionButton'; import { ChangeRequestScheduledDialog, - ChangeRequestScheduledDialogProps, + type ChangeRequestScheduledDialogProps, } from './ChangeRequestScheduledDialog'; export const ChangeRequestApplyScheduledDialogue: FC< diff --git a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestTimeline/ChangeRequestTimeline.test.tsx b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestTimeline/ChangeRequestTimeline.test.tsx index 94600d31991..bb96df9ea35 100644 --- a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestTimeline/ChangeRequestTimeline.test.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestTimeline/ChangeRequestTimeline.test.tsx @@ -5,7 +5,7 @@ import { determineColor, getScheduleProps, } from './ChangeRequestTimeline'; -import { ChangeRequestState } from '../../changeRequest.types'; +import type { ChangeRequestState } from '../../changeRequest.types'; test('cancelled timeline shows all states', () => { render(); diff --git a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestTimeline/ChangeRequestTimeline.tsx b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestTimeline/ChangeRequestTimeline.tsx index 9c08dff2c49..130c70569ff 100644 --- a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestTimeline/ChangeRequestTimeline.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestTimeline/ChangeRequestTimeline.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Box, Paper, styled, Typography } from '@mui/material'; import Timeline from '@mui/lab/Timeline'; import TimelineItem, { timelineItemClasses } from '@mui/lab/TimelineItem'; @@ -6,7 +6,7 @@ import TimelineSeparator from '@mui/lab/TimelineSeparator'; import TimelineDot from '@mui/lab/TimelineDot'; import TimelineConnector from '@mui/lab/TimelineConnector'; import TimelineContent from '@mui/lab/TimelineContent'; -import { +import type { ChangeRequestSchedule, ChangeRequestState, } from '../../changeRequest.types'; diff --git a/frontend/src/component/changeRequest/ChangeRequestOverview/ReviewButton/ReviewButton.tsx b/frontend/src/component/changeRequest/ChangeRequestOverview/ReviewButton/ReviewButton.tsx index 5bff480a47b..fe068521f69 100644 --- a/frontend/src/component/changeRequest/ChangeRequestOverview/ReviewButton/ReviewButton.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestOverview/ReviewButton/ReviewButton.tsx @@ -1,4 +1,4 @@ -import { FC, useContext } from 'react'; +import { type FC, useContext } from 'react'; import CheckBox from '@mui/icons-material/Check'; import Clear from '@mui/icons-material/Clear'; diff --git a/frontend/src/component/changeRequest/ChangeRequestPermissions.test.tsx b/frontend/src/component/changeRequest/ChangeRequestPermissions.test.tsx index 21e70c584e8..8a028c04ea6 100644 --- a/frontend/src/component/changeRequest/ChangeRequestPermissions.test.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestPermissions.test.tsx @@ -6,10 +6,10 @@ import { AccessProvider } from '../providers/AccessProvider/AccessProvider'; import { AnnouncerProvider } from '../common/Announcer/AnnouncerProvider/AnnouncerProvider'; import { testServerRoute, testServerSetup } from '../../utils/testServer'; import { UIProviderContainer } from '../providers/UIProvider/UIProviderContainer'; -import { FC } from 'react'; -import { IPermission } from '../../interfaces/user'; +import type { FC } from 'react'; +import type { IPermission } from '../../interfaces/user'; import { SWRConfig } from 'swr'; -import { ProjectMode } from '../project/Project/hooks/useProjectEnterpriseSettingsForm'; +import type { ProjectMode } from '../project/Project/hooks/useProjectEnterpriseSettingsForm'; import { StickyProvider } from 'component/common/Sticky/StickyProvider'; const server = testServerSetup(); diff --git a/frontend/src/component/changeRequest/ChangeRequestSidebar/ChangeRequestSidebar.tsx b/frontend/src/component/changeRequest/ChangeRequestSidebar/ChangeRequestSidebar.tsx index 55e990fcb81..f6223a90e34 100644 --- a/frontend/src/component/changeRequest/ChangeRequestSidebar/ChangeRequestSidebar.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestSidebar/ChangeRequestSidebar.tsx @@ -1,4 +1,4 @@ -import { useState, VFC } from 'react'; +import { useState, type VFC } from 'react'; import { Box, Button, styled, Typography } from '@mui/material'; import { DynamicSidebarModal } from 'component/common/SidebarModal/SidebarModal'; import { PageContent } from 'component/common/PageContent/PageContent'; diff --git a/frontend/src/component/changeRequest/ChangeRequestSidebar/EnvironmentChangeRequest/ChangeRequestTitle.tsx b/frontend/src/component/changeRequest/ChangeRequestSidebar/EnvironmentChangeRequest/ChangeRequestTitle.tsx index a029e52b2d6..cc765884ebe 100644 --- a/frontend/src/component/changeRequest/ChangeRequestSidebar/EnvironmentChangeRequest/ChangeRequestTitle.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestSidebar/EnvironmentChangeRequest/ChangeRequestTitle.tsx @@ -1,7 +1,8 @@ -import React, { FC, useState } from 'react'; +import type React from 'react'; +import { type FC, useState } from 'react'; import { Box, Button, IconButton, styled, Typography } from '@mui/material'; import Input from 'component/common/Input/Input'; -import { ChangeRequestType } from '../../changeRequest.types'; +import type { ChangeRequestType } from '../../changeRequest.types'; import Edit from '@mui/icons-material/Edit'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { useChangeRequestApi } from 'hooks/api/actions/useChangeRequestApi/useChangeRequestApi'; diff --git a/frontend/src/component/changeRequest/ChangeRequestSidebar/EnvironmentChangeRequest/EnvironmentChangeRequest.tsx b/frontend/src/component/changeRequest/ChangeRequestSidebar/EnvironmentChangeRequest/EnvironmentChangeRequest.tsx index 864723bc441..cee78f7629e 100644 --- a/frontend/src/component/changeRequest/ChangeRequestSidebar/EnvironmentChangeRequest/EnvironmentChangeRequest.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestSidebar/EnvironmentChangeRequest/EnvironmentChangeRequest.tsx @@ -1,4 +1,4 @@ -import { FC, useState } from 'react'; +import { type FC, useState } from 'react'; import { Box, Button, @@ -7,7 +7,7 @@ import { Typography, useTheme, } from '@mui/material'; -import { ChangeRequestType } from '../../changeRequest.types'; +import type { ChangeRequestType } from '../../changeRequest.types'; import { useNavigate } from 'react-router-dom'; import { ChangeRequestStatusBadge } from '../../ChangeRequestStatusBadge/ChangeRequestStatusBadge'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/changeRequest/ChangeRequestSidebar/EnvironmentChangeRequest/EnvironmentChangeRequestTitle.test.tsx b/frontend/src/component/changeRequest/ChangeRequestSidebar/EnvironmentChangeRequest/EnvironmentChangeRequestTitle.test.tsx index 95f24d511a7..494eeee38fa 100644 --- a/frontend/src/component/changeRequest/ChangeRequestSidebar/EnvironmentChangeRequest/EnvironmentChangeRequestTitle.test.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestSidebar/EnvironmentChangeRequest/EnvironmentChangeRequestTitle.test.tsx @@ -1,7 +1,7 @@ -import { FC, useState } from 'react'; +import { type FC, useState } from 'react'; import { screen } from '@testing-library/react'; import { ChangeRequestTitle } from './ChangeRequestTitle'; -import { UnscheduledChangeRequest } from 'component/changeRequest/changeRequest.types'; +import type { UnscheduledChangeRequest } from 'component/changeRequest/changeRequest.types'; import userEvent from '@testing-library/user-event'; import { testServerRoute, testServerSetup } from 'utils/testServer'; import { render } from 'utils/testRenderer'; diff --git a/frontend/src/component/changeRequest/ChangeRequestSidebar/ReviewChangesHeader/ReviewChangesHeader.tsx b/frontend/src/component/changeRequest/ChangeRequestSidebar/ReviewChangesHeader/ReviewChangesHeader.tsx index 2d0280fa30f..3eaadafdea1 100644 --- a/frontend/src/component/changeRequest/ChangeRequestSidebar/ReviewChangesHeader/ReviewChangesHeader.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestSidebar/ReviewChangesHeader/ReviewChangesHeader.tsx @@ -1,6 +1,6 @@ import { Box, styled, Tooltip } from '@mui/material'; import HelpOutline from '@mui/icons-material/HelpOutline'; -import { FC } from 'react'; +import type { FC } from 'react'; import { PageHeader } from '../../../common/PageHeader/PageHeader'; const StyledHelpOutline = styled(HelpOutline)(({ theme }) => ({ diff --git a/frontend/src/component/changeRequest/ChangeRequestStatusBadge/ChangeRequestStatusBadge.tsx b/frontend/src/component/changeRequest/ChangeRequestStatusBadge/ChangeRequestStatusBadge.tsx index e7cfff5525f..1cef5d297aa 100644 --- a/frontend/src/component/changeRequest/ChangeRequestStatusBadge/ChangeRequestStatusBadge.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestStatusBadge/ChangeRequestStatusBadge.tsx @@ -1,5 +1,5 @@ -import { VFC } from 'react'; -import { ChangeRequestType } from '../changeRequest.types'; +import type { VFC } from 'react'; +import type { ChangeRequestType } from '../changeRequest.types'; import { Badge } from 'component/common/Badge/Badge'; import AccessTime from '@mui/icons-material/AccessTime'; import Check from '@mui/icons-material/Check'; diff --git a/frontend/src/component/changeRequest/ProjectChangeRequests/ChangeRequestsTabs/ChangeRequestStatusCell.tsx b/frontend/src/component/changeRequest/ProjectChangeRequests/ChangeRequestsTabs/ChangeRequestStatusCell.tsx index 398c963602f..734a3f1fcca 100644 --- a/frontend/src/component/changeRequest/ProjectChangeRequests/ChangeRequestsTabs/ChangeRequestStatusCell.tsx +++ b/frontend/src/component/changeRequest/ProjectChangeRequests/ChangeRequestsTabs/ChangeRequestStatusCell.tsx @@ -1,6 +1,6 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; -import { ChangeRequestType } from 'component/changeRequest/changeRequest.types'; +import type { ChangeRequestType } from 'component/changeRequest/changeRequest.types'; import { ChangeRequestStatusBadge } from 'component/changeRequest/ChangeRequestStatusBadge/ChangeRequestStatusBadge'; interface IChangeRequestStatusCellProps { diff --git a/frontend/src/component/changeRequest/ProjectChangeRequests/ChangeRequestsTabs/ChangeRequestsTabs.tsx b/frontend/src/component/changeRequest/ProjectChangeRequests/ChangeRequestsTabs/ChangeRequestsTabs.tsx index e60143c2643..a19bbfe1a66 100644 --- a/frontend/src/component/changeRequest/ProjectChangeRequests/ChangeRequestsTabs/ChangeRequestsTabs.tsx +++ b/frontend/src/component/changeRequest/ProjectChangeRequests/ChangeRequestsTabs/ChangeRequestsTabs.tsx @@ -8,7 +8,7 @@ import { TablePlaceholder, TableRow, } from 'component/common/Table'; -import { SortingRule, useSortBy, useTable } from 'react-table'; +import { type SortingRule, useSortBy, useTable } from 'react-table'; import { SearchHighlightProvider } from 'component/common/Table/SearchHighlightContext/SearchHighlightContext'; import { Box, styled, Tab, Tabs, useMediaQuery } from '@mui/material'; import { Link, useSearchParams } from 'react-router-dom'; diff --git a/frontend/src/component/changeRequest/ProjectChangeRequests/ChangeRequestsTabs/FeaturesCell.tsx b/frontend/src/component/changeRequest/ProjectChangeRequests/ChangeRequestsTabs/FeaturesCell.tsx index 522e0f587ae..5ae6448e5f4 100644 --- a/frontend/src/component/changeRequest/ProjectChangeRequests/ChangeRequestsTabs/FeaturesCell.tsx +++ b/frontend/src/component/changeRequest/ProjectChangeRequests/ChangeRequestsTabs/FeaturesCell.tsx @@ -1,6 +1,6 @@ import { Box, styled } from '@mui/material'; import { Link } from 'react-router-dom'; -import { VFC } from 'react'; +import type { VFC } from 'react'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { TooltipLink } from 'component/common/TooltipLink/TooltipLink'; import { useSearchHighlightContext } from 'component/common/Table/SearchHighlightContext/SearchHighlightContext'; diff --git a/frontend/src/component/changeRequest/UpdateCount.tsx b/frontend/src/component/changeRequest/UpdateCount.tsx index 408a3106155..b8dfe0b192f 100644 --- a/frontend/src/component/changeRequest/UpdateCount.tsx +++ b/frontend/src/component/changeRequest/UpdateCount.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Box, Typography } from '@mui/material'; import { ConditionallyRender } from '../common/ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/changeRequest/changeRequest.types.ts b/frontend/src/component/changeRequest/changeRequest.types.ts index 685070be917..5ab0602efaa 100644 --- a/frontend/src/component/changeRequest/changeRequest.types.ts +++ b/frontend/src/component/changeRequest/changeRequest.types.ts @@ -1,8 +1,8 @@ -import { IFeatureVariant } from 'interfaces/featureToggle'; -import { ISegment } from 'interfaces/segment'; -import { IFeatureStrategy } from '../../interfaces/strategy'; -import { IUser } from '../../interfaces/user'; -import { SetStrategySortOrderSchema } from '../../openapi'; +import type { IFeatureVariant } from 'interfaces/featureToggle'; +import type { ISegment } from 'interfaces/segment'; +import type { IFeatureStrategy } from '../../interfaces/strategy'; +import type { IUser } from '../../interfaces/user'; +import type { SetStrategySortOrderSchema } from '../../openapi'; type BaseChangeRequest = { id: number; diff --git a/frontend/src/component/changeRequest/changesCount.ts b/frontend/src/component/changeRequest/changesCount.ts index 9b15f8d2e49..85e0f5b7b5d 100644 --- a/frontend/src/component/changeRequest/changesCount.ts +++ b/frontend/src/component/changeRequest/changesCount.ts @@ -1,4 +1,4 @@ -import { ChangeRequestType } from './changeRequest.types'; +import type { ChangeRequestType } from './changeRequest.types'; export const changesCount = (changeRequest: ChangeRequestType) => changeRequest.features.flatMap((feature) => feature.changes).length + diff --git a/frontend/src/component/common/AnimateOnMount/AnimateOnMount.tsx b/frontend/src/component/common/AnimateOnMount/AnimateOnMount.tsx index 9cf64c76a81..81de8ad6d15 100644 --- a/frontend/src/component/common/AnimateOnMount/AnimateOnMount.tsx +++ b/frontend/src/component/common/AnimateOnMount/AnimateOnMount.tsx @@ -1,4 +1,10 @@ -import { CSSProperties, useEffect, useState, useRef, FC } from 'react'; +import { + type CSSProperties, + useEffect, + useState, + useRef, + type FC, +} from 'react'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; interface IAnimateOnMountProps { diff --git a/frontend/src/component/common/Announcer/AnnouncerElement/AnnouncerElement.tsx b/frontend/src/component/common/Announcer/AnnouncerElement/AnnouncerElement.tsx index 6c1ab4a654c..859ce79404b 100644 --- a/frontend/src/component/common/Announcer/AnnouncerElement/AnnouncerElement.tsx +++ b/frontend/src/component/common/Announcer/AnnouncerElement/AnnouncerElement.tsx @@ -1,4 +1,4 @@ -import { ReactElement } from 'react'; +import type { ReactElement } from 'react'; import { ANNOUNCER_ELEMENT_TEST_ID } from 'utils/testIds'; import { styled } from '@mui/material'; diff --git a/frontend/src/component/common/Announcer/AnnouncerProvider/AnnouncerProvider.tsx b/frontend/src/component/common/Announcer/AnnouncerProvider/AnnouncerProvider.tsx index 12f9bf5a2a0..d440af8d4f6 100644 --- a/frontend/src/component/common/Announcer/AnnouncerProvider/AnnouncerProvider.tsx +++ b/frontend/src/component/common/Announcer/AnnouncerProvider/AnnouncerProvider.tsx @@ -1,4 +1,4 @@ -import { ReactElement, useMemo, useState, ReactNode } from 'react'; +import { type ReactElement, useMemo, useState, type ReactNode } from 'react'; import { AnnouncerContext } from '../AnnouncerContext/AnnouncerContext'; import { AnnouncerElement } from 'component/common/Announcer/AnnouncerElement/AnnouncerElement'; diff --git a/frontend/src/component/common/ApiError/ApiError.tsx b/frontend/src/component/common/ApiError/ApiError.tsx index 761b1269fa9..c570bd36fa0 100644 --- a/frontend/src/component/common/ApiError/ApiError.tsx +++ b/frontend/src/component/common/ApiError/ApiError.tsx @@ -1,6 +1,6 @@ import { Button } from '@mui/material'; import { Alert } from '@mui/material'; -import React from 'react'; +import type React from 'react'; interface IApiErrorProps { className?: string; diff --git a/frontend/src/component/common/ApiTokenTable/ApiTokenTable.tsx b/frontend/src/component/common/ApiTokenTable/ApiTokenTable.tsx index 36ceff6f078..5a2cb4a1abe 100644 --- a/frontend/src/component/common/ApiTokenTable/ApiTokenTable.tsx +++ b/frontend/src/component/common/ApiTokenTable/ApiTokenTable.tsx @@ -1,4 +1,4 @@ -import { +import type { Row, TablePropGetter, TableProps, diff --git a/frontend/src/component/common/ApiTokenTable/CopyApiTokenButton/CopyApiTokenButton.tsx b/frontend/src/component/common/ApiTokenTable/CopyApiTokenButton/CopyApiTokenButton.tsx index 5f1d4a3c66d..ca5beb6fb67 100644 --- a/frontend/src/component/common/ApiTokenTable/CopyApiTokenButton/CopyApiTokenButton.tsx +++ b/frontend/src/component/common/ApiTokenTable/CopyApiTokenButton/CopyApiTokenButton.tsx @@ -1,4 +1,4 @@ -import { IApiToken } from 'hooks/api/getters/useApiTokens/useApiTokens'; +import type { IApiToken } from 'hooks/api/getters/useApiTokens/useApiTokens'; import useToast from 'hooks/useToast'; import copy from 'copy-to-clipboard'; import FileCopy from '@mui/icons-material/FileCopy'; diff --git a/frontend/src/component/common/ApiTokenTable/RemoveApiTokenButton/RemoveApiTokenButton.tsx b/frontend/src/component/common/ApiTokenTable/RemoveApiTokenButton/RemoveApiTokenButton.tsx index d10746d4aed..2bb622831dc 100644 --- a/frontend/src/component/common/ApiTokenTable/RemoveApiTokenButton/RemoveApiTokenButton.tsx +++ b/frontend/src/component/common/ApiTokenTable/RemoveApiTokenButton/RemoveApiTokenButton.tsx @@ -1,6 +1,6 @@ import Delete from '@mui/icons-material/Delete'; import { styled } from '@mui/material'; -import { IApiToken } from 'hooks/api/getters/useApiTokens/useApiTokens'; +import type { IApiToken } from 'hooks/api/getters/useApiTokens/useApiTokens'; import { useState } from 'react'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import useToast from 'hooks/useToast'; diff --git a/frontend/src/component/common/ApiTokenTable/useApiTokenTable.tsx b/frontend/src/component/common/ApiTokenTable/useApiTokenTable.tsx index 155f07287c5..46b7e686aad 100644 --- a/frontend/src/component/common/ApiTokenTable/useApiTokenTable.tsx +++ b/frontend/src/component/common/ApiTokenTable/useApiTokenTable.tsx @@ -1,5 +1,5 @@ import { useMemo } from 'react'; -import { IApiToken } from 'hooks/api/getters/useApiTokens/useApiTokens'; +import type { IApiToken } from 'hooks/api/getters/useApiTokens/useApiTokens'; import { DateCell } from 'component/common/Table/cells/DateCell/DateCell'; import { HighlightCell } from 'component/common/Table/cells/HighlightCell/HighlightCell'; import { IconCell } from 'component/common/Table/cells/IconCell/IconCell'; diff --git a/frontend/src/component/common/AutocompleteBox/AutocompleteBox.tsx b/frontend/src/component/common/AutocompleteBox/AutocompleteBox.tsx index 2ca8c4fa3cd..01d062e0997 100644 --- a/frontend/src/component/common/AutocompleteBox/AutocompleteBox.tsx +++ b/frontend/src/component/common/AutocompleteBox/AutocompleteBox.tsx @@ -7,7 +7,7 @@ import { TextField, useTheme, } from '@mui/material'; -import { AutocompleteRenderInputParams } from '@mui/material/Autocomplete'; +import type { AutocompleteRenderInputParams } from '@mui/material/Autocomplete'; import { useState } from 'react'; interface IAutocompleteBoxProps { diff --git a/frontend/src/component/common/Badge/Badge.tsx b/frontend/src/component/common/Badge/Badge.tsx index b59a00dbed2..b55d1dcf427 100644 --- a/frontend/src/component/common/Badge/Badge.tsx +++ b/frontend/src/component/common/Badge/Badge.tsx @@ -1,11 +1,12 @@ -import { styled, SxProps, Theme } from '@mui/material'; -import React, { +import { styled, type SxProps, type Theme } from '@mui/material'; +import type React from 'react'; +import { cloneElement, - FC, - ForwardedRef, + type FC, + type ForwardedRef, forwardRef, - ReactElement, - ReactNode, + type ReactElement, + type ReactNode, } from 'react'; import { ConditionallyRender } from '../ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/common/BatchSelectionActionsBar/BatchSelectionActionsBar.tsx b/frontend/src/component/common/BatchSelectionActionsBar/BatchSelectionActionsBar.tsx index 27d5cb56e42..3c54b7f2a82 100644 --- a/frontend/src/component/common/BatchSelectionActionsBar/BatchSelectionActionsBar.tsx +++ b/frontend/src/component/common/BatchSelectionActionsBar/BatchSelectionActionsBar.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Box, Paper, styled, Typography } from '@mui/material'; import { BATCH_ACTIONS_BAR, BATCH_SELECTED_COUNT } from 'utils/testIds'; diff --git a/frontend/src/component/common/ConditionallyRender/ConditionallyRender.tsx b/frontend/src/component/common/ConditionallyRender/ConditionallyRender.tsx index e1b329cb842..dea335707db 100644 --- a/frontend/src/component/common/ConditionallyRender/ConditionallyRender.tsx +++ b/frontend/src/component/common/ConditionallyRender/ConditionallyRender.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; interface IConditionallyRenderProps { condition: boolean; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordion.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordion.tsx index ffb54cc4a1b..bf7c4f50a08 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordion.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordion.tsx @@ -1,4 +1,4 @@ -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ConstraintAccordionEdit } from './ConstraintAccordionEdit/ConstraintAccordionEdit'; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEdit.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEdit.tsx index 379d4e7f62e..d0f764017a9 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEdit.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEdit.tsx @@ -1,5 +1,5 @@ import { useCallback, useEffect, useState } from 'react'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { ConstraintAccordionEditBody } from './ConstraintAccordionEditBody/ConstraintAccordionEditBody'; import { ConstraintAccordionEditHeader } from './ConstraintAccordionEditHeader/ConstraintAccordionEditHeader'; import { @@ -12,9 +12,9 @@ import { cleanConstraint } from 'utils/cleanConstraint'; import useFeatureApi from 'hooks/api/actions/useFeatureApi/useFeatureApi'; import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext'; import { formatUnknownError } from 'utils/formatUnknownError'; -import { IUnleashContextDefinition } from 'interfaces/context'; +import type { IUnleashContextDefinition } from 'interfaces/context'; import { useConstraintInput } from './ConstraintAccordionEditBody/useConstraintInput/useConstraintInput'; -import { Operator } from 'constants/operators'; +import type { Operator } from 'constants/operators'; import { ResolveInput } from './ConstraintAccordionEditBody/ResolveInput/ResolveInput'; interface IConstraintAccordionEditProps { diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ConstraintAccordionEditBody.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ConstraintAccordionEditBody.tsx index 25eb0b9daff..5feac54d667 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ConstraintAccordionEditBody.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ConstraintAccordionEditBody.tsx @@ -1,8 +1,8 @@ import { Button, styled } from '@mui/material'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { CANCEL } from '../ConstraintAccordionEdit'; -import React from 'react'; +import type React from 'react'; import { newOperators } from 'constants/operators'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { oneOf } from 'utils/oneOf'; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ConstraintFormHeader/ConstraintFormHeader.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ConstraintFormHeader/ConstraintFormHeader.tsx index 9034ac8edce..90b0301d6a7 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ConstraintFormHeader/ConstraintFormHeader.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ConstraintFormHeader/ConstraintFormHeader.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import type React from 'react'; import { styled } from '@mui/material'; const StyledHeader = styled('h3')(({ theme }) => ({ diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/FreeTextInput/FreeTextInput.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/FreeTextInput/FreeTextInput.tsx index 5cbe4847fb9..c5e809883e9 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/FreeTextInput/FreeTextInput.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/FreeTextInput/FreeTextInput.tsx @@ -2,7 +2,8 @@ import { Button, Chip } from '@mui/material'; import { makeStyles } from 'tss-react/mui'; import Input from 'component/common/Input/Input'; import StringTruncator from 'component/common/StringTruncator/StringTruncator'; -import React, { useState } from 'react'; +import type React from 'react'; +import { useState } from 'react'; import { ConstraintFormHeader } from '../ConstraintFormHeader/ConstraintFormHeader'; import { parseParameterStrings } from 'utils/parseParameter'; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/LegalValueLabel/LegalValueLabel.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/LegalValueLabel/LegalValueLabel.tsx index ac9772c68c2..7ab93613706 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/LegalValueLabel/LegalValueLabel.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/LegalValueLabel/LegalValueLabel.tsx @@ -1,6 +1,6 @@ -import { ILegalValue } from 'interfaces/context'; +import type { ILegalValue } from 'interfaces/context'; import { useStyles } from './LegalValueLabel.styles'; -import React from 'react'; +import type React from 'react'; import { FormControlLabel } from '@mui/material'; interface ILegalValueTextProps { diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ResolveInput/ResolveInput.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ResolveInput/ResolveInput.tsx index 14b86c6b23f..0a541177d65 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ResolveInput/ResolveInput.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ResolveInput/ResolveInput.tsx @@ -1,5 +1,8 @@ -import { ILegalValue, IUnleashContextDefinition } from 'interfaces/context'; -import { IConstraint } from 'interfaces/strategy'; +import type { + ILegalValue, + IUnleashContextDefinition, +} from 'interfaces/context'; +import type { IConstraint } from 'interfaces/strategy'; import { DateSingleValue } from '../DateSingleValue/DateSingleValue'; import { FreeTextInput } from '../FreeTextInput/FreeTextInput'; import { RestrictiveLegalValues } from '../RestrictiveLegalValues/RestrictiveLegalValues'; @@ -15,9 +18,9 @@ import { SEMVER_OPERATORS_LEGAL_VALUES, DATE_OPERATORS_SINGLE_VALUE, IN_OPERATORS_FREETEXT, - Input, + type Input, } from '../useConstraintInput/useConstraintInput'; -import React from 'react'; +import type React from 'react'; interface IResolveInputProps { contextDefinition: IUnleashContextDefinition; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/RestrictiveLegalValues/RestrictiveLegalValues.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/RestrictiveLegalValues/RestrictiveLegalValues.tsx index 29be7359801..521b06fc8a9 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/RestrictiveLegalValues/RestrictiveLegalValues.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/RestrictiveLegalValues/RestrictiveLegalValues.tsx @@ -4,7 +4,7 @@ import { Alert, Checkbox } from '@mui/material'; import { useThemeStyles } from 'themes/themeStyles'; import { ConstraintValueSearch } from 'component/common/ConstraintAccordion/ConstraintValueSearch/ConstraintValueSearch'; import { ConstraintFormHeader } from '../ConstraintFormHeader/ConstraintFormHeader'; -import { ILegalValue } from 'interfaces/context'; +import type { ILegalValue } from 'interfaces/context'; import { filterLegalValues, LegalValueLabel, diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/SingleLegalValue/SingleLegalValue.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/SingleLegalValue/SingleLegalValue.tsx index 7c75a874d87..e120d4c0edb 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/SingleLegalValue/SingleLegalValue.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/SingleLegalValue/SingleLegalValue.tsx @@ -1,10 +1,11 @@ -import React, { useState } from 'react'; +import type React from 'react'; +import { useState } from 'react'; import { ConstraintFormHeader } from '../ConstraintFormHeader/ConstraintFormHeader'; import { FormControl, RadioGroup, Radio, Alert } from '@mui/material'; import { ConstraintValueSearch } from 'component/common/ConstraintAccordion/ConstraintValueSearch/ConstraintValueSearch'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { useThemeStyles } from 'themes/themeStyles'; -import { ILegalValue } from 'interfaces/context'; +import type { ILegalValue } from 'interfaces/context'; import { LegalValueLabel, filterLegalValues, diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/useConstraintInput/constraintValidators.test.ts b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/useConstraintInput/constraintValidators.test.ts index 0dcd5870f0c..b82b794d292 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/useConstraintInput/constraintValidators.test.ts +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/useConstraintInput/constraintValidators.test.ts @@ -22,7 +22,7 @@ test('number validator should reject value that cannot be parsed to number', () }); test('number validator should reject NaN', () => { - const numValidator = numberValidatorGenerator(NaN); + const numValidator = numberValidatorGenerator(Number.NaN); const [result, err] = numValidator(); expect(result).toBe(false); @@ -102,7 +102,7 @@ test('string validator should reject values that are not arrays', () => { }); test('string validator should reject arrays that are not arrays of strings', () => { - const stringValidator = stringValidatorGenerator(['test', NaN, 5]); + const stringValidator = stringValidatorGenerator(['test', Number.NaN, 5]); const [result, err] = stringValidator(); expect(result).toBe(false); diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/useConstraintInput/useConstraintInput.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/useConstraintInput/useConstraintInput.tsx index bd1c82279a5..f45a53f5101 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/useConstraintInput/useConstraintInput.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/useConstraintInput/useConstraintInput.tsx @@ -5,9 +5,10 @@ import { semVerOperators, dateOperators, } from 'constants/operators'; -import { IUnleashContextDefinition } from 'interfaces/context'; -import { IConstraint } from 'interfaces/strategy'; -import React, { useCallback, useEffect, useState } from 'react'; +import type { IUnleashContextDefinition } from 'interfaces/context'; +import type { IConstraint } from 'interfaces/strategy'; +import type React from 'react'; +import { useCallback, useEffect, useState } from 'react'; import { oneOf } from 'utils/oneOf'; import { @@ -15,7 +16,7 @@ import { stringValidatorGenerator, semVerValidatorGenerator, dateValidatorGenerator, - ConstraintValidatorOutput, + type ConstraintValidatorOutput, } from './constraintValidators'; import { nonEmptyArray } from 'utils/nonEmptyArray'; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/ConstraintAccordionEditHeader.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/ConstraintAccordionEditHeader.tsx index c30e39a0ff8..458f0750e1f 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/ConstraintAccordionEditHeader.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/ConstraintAccordionEditHeader.tsx @@ -1,4 +1,4 @@ -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext'; import GeneralSelect from 'component/common/GeneralSelect/GeneralSelect'; @@ -13,8 +13,9 @@ import { } from 'constants/operators'; import { resolveText } from './helpers'; import { oneOf } from 'utils/oneOf'; -import React, { useEffect, useState } from 'react'; -import { Operator } from 'constants/operators'; +import type React from 'react'; +import { useEffect, useState } from 'react'; +import type { Operator } from 'constants/operators'; import { ConstraintOperatorSelect } from 'component/common/ConstraintAccordion/ConstraintOperatorSelect'; import { operatorsForContext, diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/helpers.ts b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/helpers.ts index f0d2b133845..e9e1f2eee1e 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/helpers.ts +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/helpers.ts @@ -14,7 +14,7 @@ import { SEMVER_EQ, SEMVER_GT, SEMVER_LT, - Operator, + type Operator, } from 'constants/operators'; export const resolveText = (operator: Operator, contextName: string) => { diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/StyledToggleButton/CaseSensitiveButton/CaseSensitiveButton.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/StyledToggleButton/CaseSensitiveButton/CaseSensitiveButton.tsx index 568296017e9..707454d34db 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/StyledToggleButton/CaseSensitiveButton/CaseSensitiveButton.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/StyledToggleButton/CaseSensitiveButton/CaseSensitiveButton.tsx @@ -6,7 +6,7 @@ import { StyledToggleButtonOn, } from '../StyledToggleButton'; import { ConditionallyRender } from '../../../../ConditionallyRender/ConditionallyRender'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; interface CaseSensitiveButtonProps { localConstraint: IConstraint; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/StyledToggleButton/InvertedOperatorButton/InvertedOperatorButton.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/StyledToggleButton/InvertedOperatorButton/InvertedOperatorButton.tsx index 31f523fc86f..42ea96e9ad5 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/StyledToggleButton/InvertedOperatorButton/InvertedOperatorButton.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/StyledToggleButton/InvertedOperatorButton/InvertedOperatorButton.tsx @@ -1,7 +1,7 @@ import { Box, Tooltip } from '@mui/material'; import { ReactComponent as NegatedOnIcon } from 'assets/icons/not_operator_selected.svg'; import { ReactComponent as NegatedOffIcon } from 'assets/icons/not_operator_unselected.svg'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { StyledToggleButtonOff, StyledToggleButtonOn, diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionHeaderActions/ConstraintAccordionHeaderActions.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionHeaderActions/ConstraintAccordionHeaderActions.tsx index 667b4316c28..ac9df0e5d81 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionHeaderActions/ConstraintAccordionHeaderActions.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionHeaderActions/ConstraintAccordionHeaderActions.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import type React from 'react'; import { IconButton, styled, Tooltip } from '@mui/material'; import Delete from '@mui/icons-material/Delete'; import Edit from '@mui/icons-material/Edit'; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionList/ConstraintAccordionList.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionList/ConstraintAccordionList.tsx index f55bdaa8983..53243fd7459 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionList/ConstraintAccordionList.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionList/ConstraintAccordionList.tsx @@ -1,16 +1,17 @@ -import React, { +import type React from 'react'; +import { forwardRef, Fragment, - RefObject, + type RefObject, useImperativeHandle, } from 'react'; import { Button, styled, Tooltip } from '@mui/material'; import HelpOutline from '@mui/icons-material/HelpOutline'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { ConstraintAccordion } from 'component/common/ConstraintAccordion/ConstraintAccordion'; import produce from 'immer'; import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext'; -import { IUseWeakMap, useWeakMap } from 'hooks/useWeakMap'; +import { type IUseWeakMap, useWeakMap } from 'hooks/useWeakMap'; import { objectId } from 'utils/objectId'; import { createEmptyConstraint } from 'component/common/ConstraintAccordion/ConstraintAccordionList/createEmptyConstraint'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionList/createEmptyConstraint.ts b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionList/createEmptyConstraint.ts index 2b2a0c24aae..9e930ae74f7 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionList/createEmptyConstraint.ts +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionList/createEmptyConstraint.ts @@ -1,5 +1,5 @@ import { dateOperators } from 'constants/operators'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { oneOf } from 'utils/oneOf'; import { operatorsForContext } from 'utils/operatorsForContext'; import { v4 as uuidv4 } from 'uuid'; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView.tsx index 5bb0e74d42b..c52b33e5c80 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView.tsx @@ -3,11 +3,11 @@ import { Accordion, AccordionSummary, AccordionDetails, - SxProps, - Theme, + type SxProps, + type Theme, styled, } from '@mui/material'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { ConstraintAccordionViewBody } from './ConstraintAccordionViewBody/ConstraintAccordionViewBody'; import { ConstraintAccordionViewHeader } from './ConstraintAccordionViewHeader/ConstraintAccordionViewHeader'; import { oneOf } from 'utils/oneOf'; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewBody/ConstraintAccordionViewBody.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewBody/ConstraintAccordionViewBody.tsx index 44c43bf7583..83be0159348 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewBody/ConstraintAccordionViewBody.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewBody/ConstraintAccordionViewBody.tsx @@ -1,4 +1,4 @@ -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { formatConstraintValue } from 'utils/formatConstraintValue'; import { useLocationSettings } from 'hooks/useLocationSettings'; import { MultipleValues } from './MultipleValues/MultipleValues'; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeader.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeader.tsx index 65145ce7c06..633aa3dd190 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeader.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeader.tsx @@ -1,5 +1,5 @@ import { ConstraintIcon } from 'component/common/ConstraintAccordion/ConstraintIcon'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { ConstraintAccordionViewHeaderInfo } from './ConstraintAccordionViewHeaderInfo'; import { ConstraintAccordionHeaderActions } from '../../ConstraintAccordionHeaderActions/ConstraintAccordionHeaderActions'; import { styled } from '@mui/system'; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderInfo.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderInfo.tsx index 997a74bf201..f7a4f099125 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderInfo.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderInfo.tsx @@ -3,7 +3,7 @@ import { ConstraintViewHeaderOperator } from './ConstraintViewHeaderOperator'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ConstraintAccordionViewHeaderSingleValue } from './ConstraintAccordionViewHeaderSingleValue'; import { ConstraintAccordionViewHeaderMultipleValues } from './ConstraintAccordionViewHeaderMultipleValues'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; const StyledHeaderText = styled('span')(({ theme }) => ({ display: '-webkit-box', diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderMultipleValues.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderMultipleValues.tsx index dbcaabdd84c..0aff879daa7 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderMultipleValues.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderMultipleValues.tsx @@ -1,7 +1,7 @@ import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { styled } from '@mui/material'; import { useEffect, useMemo, useState } from 'react'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; const StyledValuesSpan = styled('span')(({ theme }) => ({ display: '-webkit-box', diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderSingleValue.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderSingleValue.tsx index f2e91f58d2b..f1ce3b388af 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderSingleValue.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderSingleValue.tsx @@ -1,7 +1,7 @@ import { useEffect } from 'react'; import { Chip, styled } from '@mui/material'; import { formatConstraintValue } from 'utils/formatConstraintValue'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { useLocationSettings } from 'hooks/useLocationSettings'; const StyledSingleValueChip = styled(Chip)(({ theme }) => ({ diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintViewHeaderOperator.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintViewHeaderOperator.tsx index af3ba01a139..2c6416f289d 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintViewHeaderOperator.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintViewHeaderOperator.tsx @@ -1,4 +1,4 @@ -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { ConditionallyRender } from '../../../ConditionallyRender/ConditionallyRender'; import { Tooltip, Box, styled } from '@mui/material'; import { stringOperators } from 'constants/operators'; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/StyledIconWrapper.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/StyledIconWrapper.tsx index ee47d934480..ce0911e7482 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/StyledIconWrapper.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/StyledIconWrapper.tsx @@ -1,4 +1,4 @@ -import { forwardRef, ReactNode } from 'react'; +import { forwardRef, type ReactNode } from 'react'; import { styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintIcon.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintIcon.tsx index e12bc9fe31d..c296ef618e3 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintIcon.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintIcon.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { Box } from '@mui/material'; import TrackChanges from '@mui/icons-material/TrackChanges'; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintOperator/ConstraintOperator.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintOperator/ConstraintOperator.tsx index aa28d10e22d..7efef10d28a 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintOperator/ConstraintOperator.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintOperator/ConstraintOperator.tsx @@ -1,4 +1,4 @@ -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { formatOperatorDescription } from 'component/common/ConstraintAccordion/ConstraintOperator/formatOperatorDescription'; import { styled } from '@mui/material'; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintOperator/formatOperatorDescription.ts b/frontend/src/component/common/ConstraintAccordion/ConstraintOperator/formatOperatorDescription.ts index ef4a76118e5..845d2d14bb8 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintOperator/formatOperatorDescription.ts +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintOperator/formatOperatorDescription.ts @@ -1,4 +1,4 @@ -import { Operator } from 'constants/operators'; +import type { Operator } from 'constants/operators'; export const formatOperatorDescription = (operator: Operator): string => { return constraintOperatorDescriptions[operator]; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintOperatorSelect.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintOperatorSelect.tsx index 4887a44d8f9..15c47fb1d73 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintOperatorSelect.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintOperatorSelect.tsx @@ -3,11 +3,11 @@ import { MenuItem, FormControl, InputLabel, - SelectChangeEvent, + type SelectChangeEvent, styled, } from '@mui/material'; import { - Operator, + type Operator, stringOperators, semVerOperators, dateOperators, diff --git a/frontend/src/component/common/CreateButton/CreateButton.tsx b/frontend/src/component/common/CreateButton/CreateButton.tsx index f0db5930cd6..7956e2e9ba4 100644 --- a/frontend/src/component/common/CreateButton/CreateButton.tsx +++ b/frontend/src/component/common/CreateButton/CreateButton.tsx @@ -1,5 +1,5 @@ import PermissionButton, { - IPermissionButtonProps, + type IPermissionButtonProps, } from 'component/common/PermissionButton/PermissionButton'; interface ICreateButtonProps extends IPermissionButtonProps { diff --git a/frontend/src/component/common/DateTimePicker/DateTimePicker.tsx b/frontend/src/component/common/DateTimePicker/DateTimePicker.tsx index a2b1e6e5f5e..896acafa770 100644 --- a/frontend/src/component/common/DateTimePicker/DateTimePicker.tsx +++ b/frontend/src/component/common/DateTimePicker/DateTimePicker.tsx @@ -1,5 +1,5 @@ import { INPUT_ERROR_TEXT } from 'utils/testIds'; -import { TextField, OutlinedTextFieldProps } from '@mui/material'; +import { TextField, type OutlinedTextFieldProps } from '@mui/material'; import { parseValidDate } from '../util'; import { format } from 'date-fns'; diff --git a/frontend/src/component/common/Dialogue/Dialogue.tsx b/frontend/src/component/common/Dialogue/Dialogue.tsx index 5d58e137a4c..599f49383c9 100644 --- a/frontend/src/component/common/Dialogue/Dialogue.tsx +++ b/frontend/src/component/common/Dialogue/Dialogue.tsx @@ -1,4 +1,5 @@ -import React, { KeyboardEvent } from 'react'; +import type React from 'react'; +import type { KeyboardEvent } from 'react'; import { Button, Dialog, diff --git a/frontend/src/component/common/DropdownMenu/DropdownButton/DropdownButton.tsx b/frontend/src/component/common/DropdownMenu/DropdownButton/DropdownButton.tsx index a4926688995..3fccec5e397 100644 --- a/frontend/src/component/common/DropdownMenu/DropdownButton/DropdownButton.tsx +++ b/frontend/src/component/common/DropdownMenu/DropdownButton/DropdownButton.tsx @@ -1,5 +1,5 @@ -import { ReactNode, VFC } from 'react'; -import { Button, ButtonProps, Icon } from '@mui/material'; +import type { ReactNode, VFC } from 'react'; +import { Button, type ButtonProps, Icon } from '@mui/material'; interface IDropdownButtonProps { label: string; diff --git a/frontend/src/component/common/DropdownMenu/DropdownMenu.tsx b/frontend/src/component/common/DropdownMenu/DropdownMenu.tsx index 0b934cc250b..a6cebddee05 100644 --- a/frontend/src/component/common/DropdownMenu/DropdownMenu.tsx +++ b/frontend/src/component/common/DropdownMenu/DropdownMenu.tsx @@ -1,9 +1,9 @@ import { - CSSProperties, - MouseEventHandler, - ReactNode, + type CSSProperties, + type MouseEventHandler, + type ReactNode, useState, - VFC, + type VFC, } from 'react'; import { Menu } from '@mui/material'; import ArrowDropDown from '@mui/icons-material/ArrowDropDown'; diff --git a/frontend/src/component/common/EnterpriseBadge/EnterpriseBadge.tsx b/frontend/src/component/common/EnterpriseBadge/EnterpriseBadge.tsx index 1f3528dc060..4f50a9b660e 100644 --- a/frontend/src/component/common/EnterpriseBadge/EnterpriseBadge.tsx +++ b/frontend/src/component/common/EnterpriseBadge/EnterpriseBadge.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { ReactComponent as ProPlanIcon } from 'assets/icons/pro-enterprise-feature-badge.svg'; import { ReactComponent as ProPlanIconLight } from 'assets/icons/pro-enterprise-feature-badge-light.svg'; import { ThemeMode } from 'component/common/ThemeMode/ThemeMode'; diff --git a/frontend/src/component/common/ExperimentalFeedback/ExperimentalFeedback.tsx b/frontend/src/component/common/ExperimentalFeedback/ExperimentalFeedback.tsx index 0b910ba5405..c78b3fa18bf 100644 --- a/frontend/src/component/common/ExperimentalFeedback/ExperimentalFeedback.tsx +++ b/frontend/src/component/common/ExperimentalFeedback/ExperimentalFeedback.tsx @@ -2,7 +2,10 @@ import { useState, useEffect } from 'react'; import { Box, Button, Divider, Typography, styled } from '@mui/material'; import PermMedia from '@mui/icons-material/PermMedia'; import Send from '@mui/icons-material/Send'; -import { CustomEvents, usePlausibleTracker } from 'hooks/usePlausibleTracker'; +import { + type CustomEvents, + usePlausibleTracker, +} from 'hooks/usePlausibleTracker'; import { createLocalStorage } from 'utils/createLocalStorage'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/common/FavoriteIconButton/FavoriteIconButton.tsx b/frontend/src/component/common/FavoriteIconButton/FavoriteIconButton.tsx index 358a040a43c..961cadcd72b 100644 --- a/frontend/src/component/common/FavoriteIconButton/FavoriteIconButton.tsx +++ b/frontend/src/component/common/FavoriteIconButton/FavoriteIconButton.tsx @@ -1,5 +1,5 @@ -import { VFC } from 'react'; -import { IconButton, IconButtonProps } from '@mui/material'; +import type { VFC } from 'react'; +import { IconButton, type IconButtonProps } from '@mui/material'; import { ConditionallyRender } from '../ConditionallyRender/ConditionallyRender'; import StarIcon from '@mui/icons-material/Star'; import StarBorderIcon from '@mui/icons-material/StarBorder'; diff --git a/frontend/src/component/common/FeatureArchiveDialog/FeatureArchiveDialog.tsx b/frontend/src/component/common/FeatureArchiveDialog/FeatureArchiveDialog.tsx index 13610fc663a..215aab73e8d 100644 --- a/frontend/src/component/common/FeatureArchiveDialog/FeatureArchiveDialog.tsx +++ b/frontend/src/component/common/FeatureArchiveDialog/FeatureArchiveDialog.tsx @@ -1,4 +1,4 @@ -import { useEffect, useState, VFC } from 'react'; +import { useEffect, useState, type VFC } from 'react'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import useFeatureApi from 'hooks/api/actions/useFeatureApi/useFeatureApi'; import useToast from 'hooks/useToast'; @@ -12,7 +12,7 @@ import { useChangeRequestApi } from 'hooks/api/actions/useChangeRequestApi/useCh import { usePendingChangeRequests } from 'hooks/api/getters/usePendingChangeRequests/usePendingChangeRequests'; import { useHighestPermissionChangeRequestEnvironment } from 'hooks/useHighestPermissionChangeRequestEnvironment'; import { useScheduledChangeRequestsWithFlags } from 'hooks/api/getters/useScheduledChangeRequestsWithFlags/useScheduledChangeRequestsWithFlags'; -import { ScheduledChangeRequestViewModel } from 'hooks/api/getters/useScheduledChangeRequestsWithStrategy/useScheduledChangeRequestsWithStrategy'; +import type { ScheduledChangeRequestViewModel } from 'hooks/api/getters/useScheduledChangeRequestsWithStrategy/useScheduledChangeRequestsWithStrategy'; interface IFeatureArchiveDialogProps { isOpen: boolean; diff --git a/frontend/src/component/common/FeatureArchiveDialog/FeatureArchiveNotAllowedDialog.tsx b/frontend/src/component/common/FeatureArchiveDialog/FeatureArchiveNotAllowedDialog.tsx index 34a5a88b474..d5d00930219 100644 --- a/frontend/src/component/common/FeatureArchiveDialog/FeatureArchiveNotAllowedDialog.tsx +++ b/frontend/src/component/common/FeatureArchiveDialog/FeatureArchiveNotAllowedDialog.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Dialogue } from '../Dialogue/Dialogue'; import { styled } from '@mui/material'; import { Link } from 'react-router-dom'; diff --git a/frontend/src/component/common/FeatureStaleDialog/FeatureStaleDialog.tsx b/frontend/src/component/common/FeatureStaleDialog/FeatureStaleDialog.tsx index e73b71747ed..9936f2a9a9f 100644 --- a/frontend/src/component/common/FeatureStaleDialog/FeatureStaleDialog.tsx +++ b/frontend/src/component/common/FeatureStaleDialog/FeatureStaleDialog.tsx @@ -2,7 +2,7 @@ import useFeatureApi from 'hooks/api/actions/useFeatureApi/useFeatureApi'; import { Typography } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; -import React from 'react'; +import type React from 'react'; import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; diff --git a/frontend/src/component/common/Feedback/Feedback.tsx b/frontend/src/component/common/Feedback/Feedback.tsx index 3b7ad7d3c52..fa952972fdc 100644 --- a/frontend/src/component/common/Feedback/Feedback.tsx +++ b/frontend/src/component/common/Feedback/Feedback.tsx @@ -1,6 +1,9 @@ -import { useState, VFC } from 'react'; +import { useState, type VFC } from 'react'; import { Box, Paper, Button, styled } from '@mui/material'; -import { CustomEvents, usePlausibleTracker } from 'hooks/usePlausibleTracker'; +import { + type CustomEvents, + usePlausibleTracker, +} from 'hooks/usePlausibleTracker'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import { createLocalStorage } from 'utils/createLocalStorage'; diff --git a/frontend/src/component/common/FilterDateItem/FilterDateItem.test.tsx b/frontend/src/component/common/FilterDateItem/FilterDateItem.test.tsx index 0312e80cbe5..8aac7412515 100644 --- a/frontend/src/component/common/FilterDateItem/FilterDateItem.test.tsx +++ b/frontend/src/component/common/FilterDateItem/FilterDateItem.test.tsx @@ -1,7 +1,7 @@ import { screen } from '@testing-library/react'; import { render } from 'utils/testRenderer'; -import { FilterItemParams } from 'component/filter/FilterItem/FilterItem'; -import { FilterDateItem, IFilterDateItemProps } from './FilterDateItem'; +import type { FilterItemParams } from 'component/filter/FilterItem/FilterItem'; +import { FilterDateItem, type IFilterDateItemProps } from './FilterDateItem'; const getDate = (option: string) => screen.getByText(option); diff --git a/frontend/src/component/common/FilterDateItem/FilterDateItem.tsx b/frontend/src/component/common/FilterDateItem/FilterDateItem.tsx index 780f24cc2cc..7e063519afd 100644 --- a/frontend/src/component/common/FilterDateItem/FilterDateItem.tsx +++ b/frontend/src/component/common/FilterDateItem/FilterDateItem.tsx @@ -1,5 +1,5 @@ import { Box } from '@mui/material'; -import { FC, ReactNode, useEffect, useRef, useState } from 'react'; +import { type FC, type ReactNode, useEffect, useRef, useState } from 'react'; import { StyledPopover } from 'component/filter/FilterItem/FilterItem.styles'; import { FilterItemChip } from 'component/filter/FilterItem/FilterItemChip/FilterItemChip'; import { DateCalendar, LocalizationProvider } from '@mui/x-date-pickers'; @@ -7,7 +7,7 @@ import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns'; import { format } from 'date-fns'; import { useLocationSettings } from 'hooks/useLocationSettings'; import { getLocalizedDateString } from '../util'; -import { FilterItemParams } from 'component/filter/FilterItem/FilterItem'; +import type { FilterItemParams } from 'component/filter/FilterItem/FilterItem'; export interface IFilterDateItemProps { name: string; diff --git a/frontend/src/component/common/FormSwitch/FormSwitch.tsx b/frontend/src/component/common/FormSwitch/FormSwitch.tsx index f4f21b26455..44a6a43a18e 100644 --- a/frontend/src/component/common/FormSwitch/FormSwitch.tsx +++ b/frontend/src/component/common/FormSwitch/FormSwitch.tsx @@ -1,5 +1,11 @@ -import { Box, BoxProps, FormControlLabel, Switch, styled } from '@mui/material'; -import { Dispatch, ReactNode, SetStateAction } from 'react'; +import { + Box, + type BoxProps, + FormControlLabel, + Switch, + styled, +} from '@mui/material'; +import type { Dispatch, ReactNode, SetStateAction } from 'react'; const StyledContainer = styled(Box)(({ theme }) => ({ display: 'flex', diff --git a/frontend/src/component/common/FormTemplate/FormTemplate.tsx b/frontend/src/component/common/FormTemplate/FormTemplate.tsx index 551d1b53963..4ab109d196b 100644 --- a/frontend/src/component/common/FormTemplate/FormTemplate.tsx +++ b/frontend/src/component/common/FormTemplate/FormTemplate.tsx @@ -14,7 +14,8 @@ import Info from '@mui/icons-material/Info'; import Loader from '../Loader/Loader'; import copy from 'copy-to-clipboard'; import useToast from 'hooks/useToast'; -import React, { ReactNode, useState } from 'react'; +import type React from 'react'; +import { type ReactNode, useState } from 'react'; import { ReactComponent as MobileGuidanceBG } from 'assets/img/mobileGuidanceBg.svg'; import { formTemplateSidebarWidth } from './FormTemplate.styles'; import { relative } from 'themes/themeStyles'; diff --git a/frontend/src/component/common/GeneralSelect/GeneralSelect.tsx b/frontend/src/component/common/GeneralSelect/GeneralSelect.tsx index b13ccee9c88..b76dd25ed20 100644 --- a/frontend/src/component/common/GeneralSelect/GeneralSelect.tsx +++ b/frontend/src/component/common/GeneralSelect/GeneralSelect.tsx @@ -1,16 +1,16 @@ -import React from 'react'; +import type React from 'react'; import { FormControl, InputLabel, MenuItem, Select, - SelectProps, - SelectChangeEvent, + type SelectProps, + type SelectChangeEvent, } from '@mui/material'; import { SELECT_ITEM_ID } from 'utils/testIds'; import KeyboardArrowDownOutlined from '@mui/icons-material/KeyboardArrowDownOutlined'; -import { SxProps } from '@mui/system'; -import { Theme } from '@mui/material/styles'; +import type { SxProps } from '@mui/system'; +import type { Theme } from '@mui/material/styles'; export interface ISelectOption { key: string; diff --git a/frontend/src/component/common/Gradient/Gradient.tsx b/frontend/src/component/common/Gradient/Gradient.tsx index 4de131d6772..4103644232a 100644 --- a/frontend/src/component/common/Gradient/Gradient.tsx +++ b/frontend/src/component/common/Gradient/Gradient.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import type React from 'react'; interface IGradientProps { from: string; diff --git a/frontend/src/component/common/GridCol/GridCol.tsx b/frontend/src/component/common/GridCol/GridCol.tsx index 7a366a0e51b..688bd0b5ded 100644 --- a/frontend/src/component/common/GridCol/GridCol.tsx +++ b/frontend/src/component/common/GridCol/GridCol.tsx @@ -1,5 +1,5 @@ import { Grid } from '@mui/material'; -import { FC } from 'react'; +import type { FC } from 'react'; export const GridCol: FC<{ vertical?: boolean }> = ({ children, diff --git a/frontend/src/component/common/GridRow/GridRow.tsx b/frontend/src/component/common/GridRow/GridRow.tsx index c1bc43ffedd..b62cb3ac8eb 100644 --- a/frontend/src/component/common/GridRow/GridRow.tsx +++ b/frontend/src/component/common/GridRow/GridRow.tsx @@ -1,5 +1,5 @@ -import { Grid, styled, SxProps, Theme } from '@mui/material'; -import { FC } from 'react'; +import { Grid, styled, type SxProps, type Theme } from '@mui/material'; +import type { FC } from 'react'; const StyledGrid = styled(Grid)(({ theme }) => ({ flexWrap: 'nowrap', diff --git a/frontend/src/component/common/GuidanceIndicator/GuidanceIndicator.tsx b/frontend/src/component/common/GuidanceIndicator/GuidanceIndicator.tsx index 76164aa7c5a..9b7658b19cc 100644 --- a/frontend/src/component/common/GuidanceIndicator/GuidanceIndicator.tsx +++ b/frontend/src/component/common/GuidanceIndicator/GuidanceIndicator.tsx @@ -1,5 +1,5 @@ import { styled, useTheme } from '@mui/material'; -import { FC } from 'react'; +import type { FC } from 'react'; const StyledIndicator = styled('div')(({ style, theme }) => ({ width: '25px', diff --git a/frontend/src/component/common/HelpIcon/HelpIcon.tsx b/frontend/src/component/common/HelpIcon/HelpIcon.tsx index f1e8e06de5a..1c54473b769 100644 --- a/frontend/src/component/common/HelpIcon/HelpIcon.tsx +++ b/frontend/src/component/common/HelpIcon/HelpIcon.tsx @@ -1,4 +1,4 @@ -import { styled, Tooltip, TooltipProps } from '@mui/material'; +import { styled, Tooltip, type TooltipProps } from '@mui/material'; import HelpOutline from '@mui/icons-material/HelpOutline'; import { HtmlTooltip } from 'component/common/HtmlTooltip/HtmlTooltip'; diff --git a/frontend/src/component/common/Highlighter/Highlighter.tsx b/frontend/src/component/common/Highlighter/Highlighter.tsx index f3a24f8da52..9d92eeea207 100644 --- a/frontend/src/component/common/Highlighter/Highlighter.tsx +++ b/frontend/src/component/common/Highlighter/Highlighter.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { safeRegExp } from '@server/util/escape-regex'; import { styled } from '@mui/material'; @@ -41,8 +41,7 @@ export const Highlighter: VFC = ({ const highlightedText = parts.flatMap((part, index) => { return index < matches.length - ? // biome-ignore lint/suspicious/noArrayIndexKey: - [part, {matches[index]}] + ? [part, {matches[index]}] : [part]; }); diff --git a/frontend/src/component/common/HtmlTooltip/HtmlTooltip.tsx b/frontend/src/component/common/HtmlTooltip/HtmlTooltip.tsx index 24ae8783b37..83ff7e886a9 100644 --- a/frontend/src/component/common/HtmlTooltip/HtmlTooltip.tsx +++ b/frontend/src/component/common/HtmlTooltip/HtmlTooltip.tsx @@ -1,5 +1,10 @@ -import { styled, Tooltip, tooltipClasses, TooltipProps } from '@mui/material'; -import { SpacingArgument } from '@mui/system/createTheme/createSpacing'; +import { + styled, + Tooltip, + tooltipClasses, + type TooltipProps, +} from '@mui/material'; +import type { SpacingArgument } from '@mui/system/createTheme/createSpacing'; const StyledHtmlTooltipBody = styled('div')(({ theme }) => ({ overflow: 'auto', diff --git a/frontend/src/component/common/Input/Input.tsx b/frontend/src/component/common/Input/Input.tsx index add7c2667c2..b17a30f5007 100644 --- a/frontend/src/component/common/Input/Input.tsx +++ b/frontend/src/component/common/Input/Input.tsx @@ -1,5 +1,5 @@ import { INPUT_ERROR_TEXT } from 'utils/testIds'; -import { TextField, OutlinedTextFieldProps, styled } from '@mui/material'; +import { TextField, type OutlinedTextFieldProps, styled } from '@mui/material'; import { useStyles } from './Input.styles'; interface IInputProps extends Omit { diff --git a/frontend/src/component/common/InputListField/InputListField.tsx b/frontend/src/component/common/InputListField/InputListField.tsx index 584d52c4a9c..8866d413b9e 100644 --- a/frontend/src/component/common/InputListField/InputListField.tsx +++ b/frontend/src/component/common/InputListField/InputListField.tsx @@ -1,5 +1,5 @@ -import { VFC } from 'react'; -import { TextField, TextFieldProps } from '@mui/material'; +import type { VFC } from 'react'; +import { TextField, type TextFieldProps } from '@mui/material'; interface IInputListFieldProps { label: string; diff --git a/frontend/src/component/common/InstanceStatus/InstanceStatus.tsx b/frontend/src/component/common/InstanceStatus/InstanceStatus.tsx index ab6c44139d6..85e4d0ab072 100644 --- a/frontend/src/component/common/InstanceStatus/InstanceStatus.tsx +++ b/frontend/src/component/common/InstanceStatus/InstanceStatus.tsx @@ -1,11 +1,17 @@ import { useInstanceStatus } from 'hooks/api/getters/useInstanceStatus/useInstanceStatus'; -import React, { FC, VFC, useEffect, useState, useContext } from 'react'; +import React, { + type FC, + type VFC, + useEffect, + useState, + useContext, +} from 'react'; import { InstanceStatusBar } from 'component/common/InstanceStatus/InstanceStatusBar'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { Typography } from '@mui/material'; import { useNavigate } from 'react-router-dom'; -import { IInstanceStatus, InstancePlan } from 'interfaces/instance'; +import { type IInstanceStatus, InstancePlan } from 'interfaces/instance'; import { ADMIN } from 'component/providers/AccessProvider/permissions'; import AccessContext from 'contexts/AccessContext'; import useInstanceStatusApi from 'hooks/api/actions/useInstanceStatusApi/useInstanceStatusApi'; diff --git a/frontend/src/component/common/InstanceStatus/InstanceStatusBar.tsx b/frontend/src/component/common/InstanceStatus/InstanceStatusBar.tsx index c041ee4847f..5a58297086a 100644 --- a/frontend/src/component/common/InstanceStatus/InstanceStatusBar.tsx +++ b/frontend/src/component/common/InstanceStatus/InstanceStatusBar.tsx @@ -1,5 +1,5 @@ import { styled, Button, Typography } from '@mui/material'; -import { IInstanceStatus, InstancePlan } from 'interfaces/instance'; +import { type IInstanceStatus, InstancePlan } from 'interfaces/instance'; import { INSTANCE_STATUS_BAR_ID } from 'utils/testIds'; import InfoOutlined from '@mui/icons-material/InfoOutlined'; import WarningAmber from '@mui/icons-material/WarningAmber'; diff --git a/frontend/src/component/common/ItemList/ItemList.tsx b/frontend/src/component/common/ItemList/ItemList.tsx index 55441d6f2ef..ca5dbc5b2cd 100644 --- a/frontend/src/component/common/ItemList/ItemList.tsx +++ b/frontend/src/component/common/ItemList/ItemList.tsx @@ -64,7 +64,6 @@ export const ItemList = ({ {value?.map((item, index) => ( key={index} label={item} onDelete={() => removeItem(item)} diff --git a/frontend/src/component/common/MainHeader/MainHeader.tsx b/frontend/src/component/common/MainHeader/MainHeader.tsx index 2b46d0237b9..57003541d75 100644 --- a/frontend/src/component/common/MainHeader/MainHeader.tsx +++ b/frontend/src/component/common/MainHeader/MainHeader.tsx @@ -1,6 +1,6 @@ import { Paper, styled } from '@mui/material'; import { usePageTitle } from 'hooks/usePageTitle'; -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { ConditionallyRender } from '../ConditionallyRender/ConditionallyRender'; const StyledMainHeader = styled(Paper)(({ theme }) => ({ diff --git a/frontend/src/component/common/Markdown/Markdown.tsx b/frontend/src/component/common/Markdown/Markdown.tsx index e2e4d964150..d4077c8552a 100644 --- a/frontend/src/component/common/Markdown/Markdown.tsx +++ b/frontend/src/component/common/Markdown/Markdown.tsx @@ -1,5 +1,5 @@ import { Link } from '@mui/material'; -import { AnchorHTMLAttributes, ComponentProps } from 'react'; +import type { AnchorHTMLAttributes, ComponentProps } from 'react'; import ReactMarkdown from 'react-markdown'; import { useNavigate } from 'react-router-dom'; diff --git a/frontend/src/component/common/MultiActionButton/MultiActionButton.tsx b/frontend/src/component/common/MultiActionButton/MultiActionButton.tsx index 64a3e086e2d..72240da9f85 100644 --- a/frontend/src/component/common/MultiActionButton/MultiActionButton.tsx +++ b/frontend/src/component/common/MultiActionButton/MultiActionButton.tsx @@ -1,4 +1,4 @@ -import React, { FC } from 'react'; +import React, { type FC } from 'react'; import { ClickAwayListener, diff --git a/frontend/src/component/common/MultipleRoleSelect/MultipleRoleSelect.tsx b/frontend/src/component/common/MultipleRoleSelect/MultipleRoleSelect.tsx index 5c35e86671b..68738d2087c 100644 --- a/frontend/src/component/common/MultipleRoleSelect/MultipleRoleSelect.tsx +++ b/frontend/src/component/common/MultipleRoleSelect/MultipleRoleSelect.tsx @@ -1,14 +1,14 @@ import { Autocomplete, - AutocompleteProps, - AutocompleteRenderOptionState, + type AutocompleteProps, + type AutocompleteRenderOptionState, Checkbox, TextField, styled, } from '@mui/material'; import CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank'; import CheckBoxIcon from '@mui/icons-material/CheckBox'; -import { IRole } from 'interfaces/role'; +import type { IRole } from 'interfaces/role'; import { RoleDescription } from '../RoleDescription/RoleDescription'; import { ConditionallyRender } from '../ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEdit.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEdit.tsx index 4638a3dea31..83a1c4f9386 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEdit.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEdit.tsx @@ -1,5 +1,5 @@ import { useCallback, useEffect, useState } from 'react'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { ConstraintAccordionEditBody } from './ConstraintAccordionEditBody/ConstraintAccordionEditBody'; import { ConstraintAccordionEditHeader } from './ConstraintAccordionEditHeader/ConstraintAccordionEditHeader'; import { @@ -12,9 +12,9 @@ import { cleanConstraint } from 'utils/cleanConstraint'; import useFeatureApi from 'hooks/api/actions/useFeatureApi/useFeatureApi'; import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext'; import { formatUnknownError } from 'utils/formatUnknownError'; -import { IUnleashContextDefinition } from 'interfaces/context'; +import type { IUnleashContextDefinition } from 'interfaces/context'; import { useConstraintInput } from './ConstraintAccordionEditBody/useConstraintInput/useConstraintInput'; -import { Operator } from 'constants/operators'; +import type { Operator } from 'constants/operators'; import { ResolveInput } from './ConstraintAccordionEditBody/ResolveInput/ResolveInput'; interface IConstraintAccordionEditProps { diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ConstraintAccordionEditBody.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ConstraintAccordionEditBody.tsx index b9636f1ec7a..8aeb23388e0 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ConstraintAccordionEditBody.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ConstraintAccordionEditBody.tsx @@ -1,7 +1,7 @@ import { Button, styled } from '@mui/material'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; -import React from 'react'; +import type React from 'react'; import { newOperators } from 'constants/operators'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { oneOf } from 'utils/oneOf'; diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ConstraintFormHeader/ConstraintFormHeader.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ConstraintFormHeader/ConstraintFormHeader.tsx index 9034ac8edce..90b0301d6a7 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ConstraintFormHeader/ConstraintFormHeader.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ConstraintFormHeader/ConstraintFormHeader.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import type React from 'react'; import { styled } from '@mui/material'; const StyledHeader = styled('h3')(({ theme }) => ({ diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/FreeTextInput/FreeTextInput.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/FreeTextInput/FreeTextInput.tsx index deb08c4977b..19613ecd6a0 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/FreeTextInput/FreeTextInput.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/FreeTextInput/FreeTextInput.tsx @@ -2,7 +2,8 @@ import { Button, Chip } from '@mui/material'; import { makeStyles } from 'tss-react/mui'; import Input from 'component/common/Input/Input'; import StringTruncator from 'component/common/StringTruncator/StringTruncator'; -import React, { useState } from 'react'; +import type React from 'react'; +import { useState } from 'react'; import { ConstraintFormHeader } from '../ConstraintFormHeader/ConstraintFormHeader'; import { parseParameterStrings } from 'utils/parseParameter'; diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/LegalValueLabel/LegalValueLabel.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/LegalValueLabel/LegalValueLabel.tsx index ac9772c68c2..7ab93613706 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/LegalValueLabel/LegalValueLabel.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/LegalValueLabel/LegalValueLabel.tsx @@ -1,6 +1,6 @@ -import { ILegalValue } from 'interfaces/context'; +import type { ILegalValue } from 'interfaces/context'; import { useStyles } from './LegalValueLabel.styles'; -import React from 'react'; +import type React from 'react'; import { FormControlLabel } from '@mui/material'; interface ILegalValueTextProps { diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ResolveInput/ResolveInput.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ResolveInput/ResolveInput.tsx index e417a2c650c..f8c6250719f 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ResolveInput/ResolveInput.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/ResolveInput/ResolveInput.tsx @@ -1,5 +1,8 @@ -import { ILegalValue, IUnleashContextDefinition } from 'interfaces/context'; -import { IConstraint } from 'interfaces/strategy'; +import type { + ILegalValue, + IUnleashContextDefinition, +} from 'interfaces/context'; +import type { IConstraint } from 'interfaces/strategy'; import { DateSingleValue } from '../DateSingleValue/DateSingleValue'; import { FreeTextInput } from '../FreeTextInput/FreeTextInput'; import { RestrictiveLegalValues } from '../RestrictiveLegalValues/RestrictiveLegalValues'; @@ -15,9 +18,9 @@ import { SEMVER_OPERATORS_LEGAL_VALUES, DATE_OPERATORS_SINGLE_VALUE, IN_OPERATORS_FREETEXT, - Input, + type Input, } from '../useConstraintInput/useConstraintInput'; -import React from 'react'; +import type React from 'react'; interface IResolveInputProps { contextDefinition: Pick; diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/RestrictiveLegalValues/RestrictiveLegalValues.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/RestrictiveLegalValues/RestrictiveLegalValues.tsx index e3abe8659cf..6d4fed722b0 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/RestrictiveLegalValues/RestrictiveLegalValues.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/RestrictiveLegalValues/RestrictiveLegalValues.tsx @@ -4,7 +4,7 @@ import { Alert, Checkbox } from '@mui/material'; import { useThemeStyles } from 'themes/themeStyles'; import { ConstraintValueSearch } from 'component/common/ConstraintAccordion/ConstraintValueSearch/ConstraintValueSearch'; import { ConstraintFormHeader } from '../ConstraintFormHeader/ConstraintFormHeader'; -import { ILegalValue } from 'interfaces/context'; +import type { ILegalValue } from 'interfaces/context'; import { filterLegalValues, LegalValueLabel, diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/SingleLegalValue/SingleLegalValue.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/SingleLegalValue/SingleLegalValue.tsx index 7c75a874d87..e120d4c0edb 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/SingleLegalValue/SingleLegalValue.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/SingleLegalValue/SingleLegalValue.tsx @@ -1,10 +1,11 @@ -import React, { useState } from 'react'; +import type React from 'react'; +import { useState } from 'react'; import { ConstraintFormHeader } from '../ConstraintFormHeader/ConstraintFormHeader'; import { FormControl, RadioGroup, Radio, Alert } from '@mui/material'; import { ConstraintValueSearch } from 'component/common/ConstraintAccordion/ConstraintValueSearch/ConstraintValueSearch'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { useThemeStyles } from 'themes/themeStyles'; -import { ILegalValue } from 'interfaces/context'; +import type { ILegalValue } from 'interfaces/context'; import { LegalValueLabel, filterLegalValues, diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/useConstraintInput/constraintValidators.test.ts b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/useConstraintInput/constraintValidators.test.ts index 0dcd5870f0c..b82b794d292 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/useConstraintInput/constraintValidators.test.ts +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/useConstraintInput/constraintValidators.test.ts @@ -22,7 +22,7 @@ test('number validator should reject value that cannot be parsed to number', () }); test('number validator should reject NaN', () => { - const numValidator = numberValidatorGenerator(NaN); + const numValidator = numberValidatorGenerator(Number.NaN); const [result, err] = numValidator(); expect(result).toBe(false); @@ -102,7 +102,7 @@ test('string validator should reject values that are not arrays', () => { }); test('string validator should reject arrays that are not arrays of strings', () => { - const stringValidator = stringValidatorGenerator(['test', NaN, 5]); + const stringValidator = stringValidatorGenerator(['test', Number.NaN, 5]); const [result, err] = stringValidator(); expect(result).toBe(false); diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/useConstraintInput/useConstraintInput.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/useConstraintInput/useConstraintInput.tsx index 3df3d08a834..3528c2d338d 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/useConstraintInput/useConstraintInput.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/useConstraintInput/useConstraintInput.tsx @@ -5,9 +5,10 @@ import { semVerOperators, dateOperators, } from 'constants/operators'; -import { IUnleashContextDefinition } from 'interfaces/context'; -import { IConstraint } from 'interfaces/strategy'; -import React, { useCallback, useEffect, useState } from 'react'; +import type { IUnleashContextDefinition } from 'interfaces/context'; +import type { IConstraint } from 'interfaces/strategy'; +import type React from 'react'; +import { useCallback, useEffect, useState } from 'react'; import { oneOf } from 'utils/oneOf'; import { @@ -15,7 +16,7 @@ import { stringValidatorGenerator, semVerValidatorGenerator, dateValidatorGenerator, - ConstraintValidatorOutput, + type ConstraintValidatorOutput, } from './constraintValidators'; import { nonEmptyArray } from 'utils/nonEmptyArray'; diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/ConstraintAccordionEditHeader.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/ConstraintAccordionEditHeader.tsx index 96221a0eff9..c15987f5837 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/ConstraintAccordionEditHeader.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/ConstraintAccordionEditHeader.tsx @@ -1,4 +1,4 @@ -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext'; import GeneralSelect from 'component/common/GeneralSelect/GeneralSelect'; @@ -13,8 +13,9 @@ import { } from 'constants/operators'; import { resolveText } from './helpers'; import { oneOf } from 'utils/oneOf'; -import React, { useEffect, useState } from 'react'; -import { Operator } from 'constants/operators'; +import type React from 'react'; +import { useEffect, useState } from 'react'; +import type { Operator } from 'constants/operators'; import { ConstraintOperatorSelect } from 'component/common/ConstraintAccordion/ConstraintOperatorSelect'; import { operatorsForContext, diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/helpers.ts b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/helpers.ts index f0d2b133845..e9e1f2eee1e 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/helpers.ts +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/helpers.ts @@ -14,7 +14,7 @@ import { SEMVER_EQ, SEMVER_GT, SEMVER_LT, - Operator, + type Operator, } from 'constants/operators'; export const resolveText = (operator: Operator, contextName: string) => { diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/StyledToggleButton/CaseSensitiveButton/CaseSensitiveButton.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/StyledToggleButton/CaseSensitiveButton/CaseSensitiveButton.tsx index 54a29fc0d9b..66586a7e718 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/StyledToggleButton/CaseSensitiveButton/CaseSensitiveButton.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/StyledToggleButton/CaseSensitiveButton/CaseSensitiveButton.tsx @@ -6,7 +6,7 @@ import { StyledToggleButtonOn, } from '../StyledToggleButton'; import { ConditionallyRender } from '../../../../ConditionallyRender/ConditionallyRender'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; interface CaseSensitiveButtonProps { localConstraint: Pick; diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/StyledToggleButton/InvertedOperatorButton/InvertedOperatorButton.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/StyledToggleButton/InvertedOperatorButton/InvertedOperatorButton.tsx index 0a31a1964bf..ec75f0bd369 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/StyledToggleButton/InvertedOperatorButton/InvertedOperatorButton.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/StyledToggleButton/InvertedOperatorButton/InvertedOperatorButton.tsx @@ -1,7 +1,7 @@ import { Box, Tooltip } from '@mui/material'; import { ReactComponent as NegatedOnIcon } from 'assets/icons/not_operator_selected.svg'; import { ReactComponent as NegatedOffIcon } from 'assets/icons/not_operator_unselected.svg'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { StyledToggleButtonOff, StyledToggleButtonOn, diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionHeaderActions/ConstraintAccordionHeaderActions.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionHeaderActions/ConstraintAccordionHeaderActions.tsx index dfe4a48c270..8443c306005 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionHeaderActions/ConstraintAccordionHeaderActions.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionHeaderActions/ConstraintAccordionHeaderActions.tsx @@ -1,10 +1,10 @@ -import React from 'react'; +import type React from 'react'; import { IconButton, styled, Tooltip } from '@mui/material'; import Delete from '@mui/icons-material/Delete'; import Edit from '@mui/icons-material/Edit'; import Undo from '@mui/icons-material/Undo'; import { ConditionallyRender } from '../../ConditionallyRender/ConditionallyRender'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; interface ConstraintAccordionHeaderActionsProps { onDelete?: () => void; diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView.tsx index 5bb0e74d42b..c52b33e5c80 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView.tsx @@ -3,11 +3,11 @@ import { Accordion, AccordionSummary, AccordionDetails, - SxProps, - Theme, + type SxProps, + type Theme, styled, } from '@mui/material'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { ConstraintAccordionViewBody } from './ConstraintAccordionViewBody/ConstraintAccordionViewBody'; import { ConstraintAccordionViewHeader } from './ConstraintAccordionViewHeader/ConstraintAccordionViewHeader'; import { oneOf } from 'utils/oneOf'; diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewBody/ConstraintAccordionViewBody.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewBody/ConstraintAccordionViewBody.tsx index 44c43bf7583..83be0159348 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewBody/ConstraintAccordionViewBody.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewBody/ConstraintAccordionViewBody.tsx @@ -1,4 +1,4 @@ -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { formatConstraintValue } from 'utils/formatConstraintValue'; import { useLocationSettings } from 'hooks/useLocationSettings'; import { MultipleValues } from './MultipleValues/MultipleValues'; diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeader.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeader.tsx index 65145ce7c06..633aa3dd190 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeader.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeader.tsx @@ -1,5 +1,5 @@ import { ConstraintIcon } from 'component/common/ConstraintAccordion/ConstraintIcon'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { ConstraintAccordionViewHeaderInfo } from './ConstraintAccordionViewHeaderInfo'; import { ConstraintAccordionHeaderActions } from '../../ConstraintAccordionHeaderActions/ConstraintAccordionHeaderActions'; import { styled } from '@mui/system'; diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderInfo.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderInfo.tsx index 997a74bf201..f7a4f099125 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderInfo.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderInfo.tsx @@ -3,7 +3,7 @@ import { ConstraintViewHeaderOperator } from './ConstraintViewHeaderOperator'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ConstraintAccordionViewHeaderSingleValue } from './ConstraintAccordionViewHeaderSingleValue'; import { ConstraintAccordionViewHeaderMultipleValues } from './ConstraintAccordionViewHeaderMultipleValues'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; const StyledHeaderText = styled('span')(({ theme }) => ({ display: '-webkit-box', diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderMultipleValues.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderMultipleValues.tsx index dbcaabdd84c..0aff879daa7 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderMultipleValues.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderMultipleValues.tsx @@ -1,7 +1,7 @@ import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { styled } from '@mui/material'; import { useEffect, useMemo, useState } from 'react'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; const StyledValuesSpan = styled('span')(({ theme }) => ({ display: '-webkit-box', diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderSingleValue.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderSingleValue.tsx index f2e91f58d2b..f1ce3b388af 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderSingleValue.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintAccordionViewHeaderSingleValue.tsx @@ -1,7 +1,7 @@ import { useEffect } from 'react'; import { Chip, styled } from '@mui/material'; import { formatConstraintValue } from 'utils/formatConstraintValue'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { useLocationSettings } from 'hooks/useLocationSettings'; const StyledSingleValueChip = styled(Chip)(({ theme }) => ({ diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintViewHeaderOperator.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintViewHeaderOperator.tsx index af3ba01a139..2c6416f289d 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintViewHeaderOperator.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/ConstraintViewHeaderOperator.tsx @@ -1,4 +1,4 @@ -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { ConditionallyRender } from '../../../ConditionallyRender/ConditionallyRender'; import { Tooltip, Box, styled } from '@mui/material'; import { stringOperators } from 'constants/operators'; diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/StyledIconWrapper.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/StyledIconWrapper.tsx index ee47d934480..ce0911e7482 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/StyledIconWrapper.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionViewHeader/StyledIconWrapper.tsx @@ -1,4 +1,4 @@ -import { forwardRef, ReactNode } from 'react'; +import { forwardRef, type ReactNode } from 'react'; import { styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintIcon.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintIcon.tsx index b2532e58dbc..3523cf5f229 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintIcon.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintIcon.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { Box } from '@mui/material'; import TrackChanges from '@mui/icons-material/TrackChanges'; diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintOperator/ConstraintOperator.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintOperator/ConstraintOperator.tsx index aa28d10e22d..7efef10d28a 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintOperator/ConstraintOperator.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintOperator/ConstraintOperator.tsx @@ -1,4 +1,4 @@ -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { formatOperatorDescription } from 'component/common/ConstraintAccordion/ConstraintOperator/formatOperatorDescription'; import { styled } from '@mui/material'; diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintOperator/formatOperatorDescription.ts b/frontend/src/component/common/NewConstraintAccordion/ConstraintOperator/formatOperatorDescription.ts index ef4a76118e5..845d2d14bb8 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintOperator/formatOperatorDescription.ts +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintOperator/formatOperatorDescription.ts @@ -1,4 +1,4 @@ -import { Operator } from 'constants/operators'; +import type { Operator } from 'constants/operators'; export const formatOperatorDescription = (operator: Operator): string => { return constraintOperatorDescriptions[operator]; diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintOperatorSelect.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintOperatorSelect.tsx index 4887a44d8f9..15c47fb1d73 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintOperatorSelect.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintOperatorSelect.tsx @@ -3,11 +3,11 @@ import { MenuItem, FormControl, InputLabel, - SelectChangeEvent, + type SelectChangeEvent, styled, } from '@mui/material'; import { - Operator, + type Operator, stringOperators, semVerOperators, dateOperators, diff --git a/frontend/src/component/common/NewConstraintAccordion/NewConstraintAccordion.tsx b/frontend/src/component/common/NewConstraintAccordion/NewConstraintAccordion.tsx index 6087195116b..da4f98a5fbd 100644 --- a/frontend/src/component/common/NewConstraintAccordion/NewConstraintAccordion.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/NewConstraintAccordion.tsx @@ -1,4 +1,4 @@ -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ConstraintAccordionEdit } from './ConstraintAccordionEdit/ConstraintAccordionEdit'; diff --git a/frontend/src/component/common/NewConstraintAccordion/NewConstraintAccordionList/NewConstraintAccordionList.tsx b/frontend/src/component/common/NewConstraintAccordion/NewConstraintAccordionList/NewConstraintAccordionList.tsx index febbc465a64..f3dec38b255 100644 --- a/frontend/src/component/common/NewConstraintAccordion/NewConstraintAccordionList/NewConstraintAccordionList.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/NewConstraintAccordionList/NewConstraintAccordionList.tsx @@ -1,10 +1,11 @@ -import React, { forwardRef, Fragment, useImperativeHandle } from 'react'; +import type React from 'react'; +import { forwardRef, Fragment, useImperativeHandle } from 'react'; import { styled, Tooltip } from '@mui/material'; import HelpOutline from '@mui/icons-material/HelpOutline'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import produce from 'immer'; import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext'; -import { IUseWeakMap, useWeakMap } from 'hooks/useWeakMap'; +import { type IUseWeakMap, useWeakMap } from 'hooks/useWeakMap'; import { constraintId, createEmptyConstraint, diff --git a/frontend/src/component/common/NewConstraintAccordion/NewConstraintAccordionList/createEmptyConstraint.ts b/frontend/src/component/common/NewConstraintAccordion/NewConstraintAccordionList/createEmptyConstraint.ts index 5ad8f8edfa6..a8c7c8c7e6f 100644 --- a/frontend/src/component/common/NewConstraintAccordion/NewConstraintAccordionList/createEmptyConstraint.ts +++ b/frontend/src/component/common/NewConstraintAccordion/NewConstraintAccordionList/createEmptyConstraint.ts @@ -1,5 +1,5 @@ import { dateOperators } from 'constants/operators'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { oneOf } from 'utils/oneOf'; import { operatorsForContext } from 'utils/operatorsForContext'; diff --git a/frontend/src/component/common/NoItems/NoItems.tsx b/frontend/src/component/common/NoItems/NoItems.tsx index 60b3e189979..9ba4127842a 100644 --- a/frontend/src/component/common/NoItems/NoItems.tsx +++ b/frontend/src/component/common/NoItems/NoItems.tsx @@ -1,5 +1,5 @@ import { ReactComponent as NoItemsIcon } from 'assets/icons/addfiles.svg'; -import React from 'react'; +import type React from 'react'; import { styled } from '@mui/material'; const StyledContainer = styled('div')(({ theme }) => ({ diff --git a/frontend/src/component/common/NotFound/NotFound.tsx b/frontend/src/component/common/NotFound/NotFound.tsx index bc821c52d23..c5a9294fd0d 100644 --- a/frontend/src/component/common/NotFound/NotFound.tsx +++ b/frontend/src/component/common/NotFound/NotFound.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Button, styled, Typography } from '@mui/material'; import { useNavigate } from 'react-router'; diff --git a/frontend/src/component/common/Notifications/Notification.tsx b/frontend/src/component/common/Notifications/Notification.tsx index 239f4404dc0..0bd7c325f90 100644 --- a/frontend/src/component/common/Notifications/Notification.tsx +++ b/frontend/src/component/common/Notifications/Notification.tsx @@ -6,7 +6,7 @@ import { ListItemButton, useTheme, } from '@mui/material'; -import { +import type { NotificationsSchemaItem, NotificationsSchemaItemNotificationType, } from 'openapi'; diff --git a/frontend/src/component/common/Notifications/Notifications.tsx b/frontend/src/component/common/Notifications/Notifications.tsx index 8845a66b730..be4f734ec82 100644 --- a/frontend/src/component/common/Notifications/Notifications.tsx +++ b/frontend/src/component/common/Notifications/Notifications.tsx @@ -1,4 +1,4 @@ -import { KeyboardEvent, useState } from 'react'; +import { type KeyboardEvent, useState } from 'react'; import { Paper, Typography, @@ -17,7 +17,7 @@ import { NotificationsHeader } from './NotificationsHeader'; import { NotificationsList } from './NotificationsList'; import { Notification } from './Notification'; import { EmptyNotifications } from './EmptyNotifications'; -import { NotificationsSchemaItem } from 'openapi'; +import type { NotificationsSchemaItem } from 'openapi'; import { useNavigate } from 'react-router-dom'; import { useNotificationsApi } from 'hooks/api/actions/useNotificationsApi/useNotificationsApi'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; diff --git a/frontend/src/component/common/Notifications/NotificationsHeader.tsx b/frontend/src/component/common/Notifications/NotificationsHeader.tsx index 429d8aee4a9..763fba415d4 100644 --- a/frontend/src/component/common/Notifications/NotificationsHeader.tsx +++ b/frontend/src/component/common/Notifications/NotificationsHeader.tsx @@ -1,5 +1,5 @@ import { Typography, styled, Box } from '@mui/material'; -import { FC } from 'react'; +import type { FC } from 'react'; const StyledOuterContainerBox = styled(Box)(({ theme }) => ({ padding: theme.spacing(1, 1.5, 1, 3), diff --git a/frontend/src/component/common/Notifications/NotificationsList.tsx b/frontend/src/component/common/Notifications/NotificationsList.tsx index 599c1f5f01e..612cfc10293 100644 --- a/frontend/src/component/common/Notifications/NotificationsList.tsx +++ b/frontend/src/component/common/Notifications/NotificationsList.tsx @@ -1,5 +1,5 @@ import { List, styled } from '@mui/material'; -import { FC } from 'react'; +import type { FC } from 'react'; const StyledListContainer = styled(List)(({ theme }) => ({ padding: theme.spacing(1, 1, 3, 1), diff --git a/frontend/src/component/common/PageContent/PageContent.tsx b/frontend/src/component/common/PageContent/PageContent.tsx index 5a7cb3dcaee..5f23a6e5299 100644 --- a/frontend/src/component/common/PageContent/PageContent.tsx +++ b/frontend/src/component/common/PageContent/PageContent.tsx @@ -1,7 +1,7 @@ -import { FC, ReactNode } from 'react'; +import type { FC, ReactNode } from 'react'; import classnames from 'classnames'; import { PageHeader } from 'component/common/PageHeader/PageHeader'; -import { Paper, PaperProps, styled } from '@mui/material'; +import { Paper, type PaperProps, styled } from '@mui/material'; import { useStyles } from './PageContent.styles'; import useLoading from 'hooks/useLoading'; import { ConditionallyRender } from '../ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/common/PageHeader/PageHeader.tsx b/frontend/src/component/common/PageHeader/PageHeader.tsx index 5539b07779f..4ad55d2ac7d 100644 --- a/frontend/src/component/common/PageHeader/PageHeader.tsx +++ b/frontend/src/component/common/PageHeader/PageHeader.tsx @@ -1,13 +1,13 @@ -import { ReactNode, FC, VFC } from 'react'; +import type { ReactNode, FC, VFC } from 'react'; import classnames from 'classnames'; import { Divider, styled, - SxProps, - Theme, + type SxProps, + type Theme, Typography, - TypographyProps, + type TypographyProps, } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/common/PasswordField/PasswordField.tsx b/frontend/src/component/common/PasswordField/PasswordField.tsx index 51eadcff8f8..66ee9a4ebc2 100644 --- a/frontend/src/component/common/PasswordField/PasswordField.tsx +++ b/frontend/src/component/common/PasswordField/PasswordField.tsx @@ -2,11 +2,12 @@ import { IconButton, InputAdornment, TextField, - TextFieldProps, + type TextFieldProps, } from '@mui/material'; import Visibility from '@mui/icons-material/Visibility'; import VisibilityOff from '@mui/icons-material/VisibilityOff'; -import React, { useState, VFC } from 'react'; +import type React from 'react'; +import { useState, type VFC } from 'react'; const PasswordField: VFC = ({ ...rest }) => { const [showPassword, setShowPassword] = useState(false); diff --git a/frontend/src/component/common/PercentageCircle/DisabledPercentageCircle.tsx b/frontend/src/component/common/PercentageCircle/DisabledPercentageCircle.tsx index 9f8105ac15a..d957b9ac5e3 100644 --- a/frontend/src/component/common/PercentageCircle/DisabledPercentageCircle.tsx +++ b/frontend/src/component/common/PercentageCircle/DisabledPercentageCircle.tsx @@ -1,5 +1,5 @@ import { useTheme } from '@mui/material'; -import { CSSProperties } from 'react'; +import type { CSSProperties } from 'react'; interface IPercentageCircleProps { percentage: number; diff --git a/frontend/src/component/common/PercentageCircle/PercentageCircle.tsx b/frontend/src/component/common/PercentageCircle/PercentageCircle.tsx index 175d42e860f..e7b94d2b296 100644 --- a/frontend/src/component/common/PercentageCircle/PercentageCircle.tsx +++ b/frontend/src/component/common/PercentageCircle/PercentageCircle.tsx @@ -1,5 +1,5 @@ import { useTheme } from '@mui/material'; -import { CSSProperties } from 'react'; +import type { CSSProperties } from 'react'; interface IPercentageCircleProps { percentage: number; diff --git a/frontend/src/component/common/PermissionButton/PermissionButton.tsx b/frontend/src/component/common/PermissionButton/PermissionButton.tsx index 604e7081e46..6dfd2caaf9c 100644 --- a/frontend/src/component/common/PermissionButton/PermissionButton.tsx +++ b/frontend/src/component/common/PermissionButton/PermissionButton.tsx @@ -1,9 +1,9 @@ -import { Button, ButtonProps } from '@mui/material'; +import { Button, type ButtonProps } from '@mui/material'; import Lock from '@mui/icons-material/Lock'; import React from 'react'; import { TooltipResolver, - ITooltipResolverProps, + type ITooltipResolverProps, } from 'component/common/TooltipResolver/TooltipResolver'; import { formatAccessText } from 'utils/formatAccessText'; import { useId } from 'hooks/useId'; diff --git a/frontend/src/component/common/PermissionHOC/PermissionHOC.tsx b/frontend/src/component/common/PermissionHOC/PermissionHOC.tsx index f24c5866a70..8f34d02b45e 100644 --- a/frontend/src/component/common/PermissionHOC/PermissionHOC.tsx +++ b/frontend/src/component/common/PermissionHOC/PermissionHOC.tsx @@ -1,7 +1,7 @@ -import { useContext, FC, ReactElement } from 'react'; +import { useContext, type FC, type ReactElement } from 'react'; import AccessContext from 'contexts/AccessContext'; import { - ITooltipResolverProps, + type ITooltipResolverProps, TooltipResolver, } from 'component/common/TooltipResolver/TooltipResolver'; import { formatAccessText } from 'utils/formatAccessText'; diff --git a/frontend/src/component/common/PermissionIconButton/PermissionIconButton.tsx b/frontend/src/component/common/PermissionIconButton/PermissionIconButton.tsx index bcbaf96be6f..c558a06b364 100644 --- a/frontend/src/component/common/PermissionIconButton/PermissionIconButton.tsx +++ b/frontend/src/component/common/PermissionIconButton/PermissionIconButton.tsx @@ -1,8 +1,9 @@ -import { IconButton, IconButtonProps } from '@mui/material'; -import React, { ReactNode } from 'react'; -import { Link } from 'react-router-dom'; +import { IconButton, type IconButtonProps } from '@mui/material'; +import type React from 'react'; +import type { ReactNode } from 'react'; +import type { Link } from 'react-router-dom'; import { - ITooltipResolverProps, + type ITooltipResolverProps, TooltipResolver, } from 'component/common/TooltipResolver/TooltipResolver'; import { formatAccessText } from 'utils/formatAccessText'; diff --git a/frontend/src/component/common/PermissionSwitch/PermissionSwitch.tsx b/frontend/src/component/common/PermissionSwitch/PermissionSwitch.tsx index d2b22b1a0e9..362fe879481 100644 --- a/frontend/src/component/common/PermissionSwitch/PermissionSwitch.tsx +++ b/frontend/src/component/common/PermissionSwitch/PermissionSwitch.tsx @@ -1,4 +1,4 @@ -import { Switch, SwitchProps } from '@mui/material'; +import { Switch, type SwitchProps } from '@mui/material'; import React from 'react'; import { formatAccessText } from 'utils/formatAccessText'; import { TooltipResolver } from 'component/common/TooltipResolver/TooltipResolver'; diff --git a/frontend/src/component/common/PrettifyLargeNumber/PrettifyLargeNumber.tsx b/frontend/src/component/common/PrettifyLargeNumber/PrettifyLargeNumber.tsx index 50e42095b96..2051bab69bc 100644 --- a/frontend/src/component/common/PrettifyLargeNumber/PrettifyLargeNumber.tsx +++ b/frontend/src/component/common/PrettifyLargeNumber/PrettifyLargeNumber.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import millify from 'millify'; import { Tooltip } from '@mui/material'; import { LARGE_NUMBER_PRETTIFIED } from 'utils/testIds'; diff --git a/frontend/src/component/common/Proclamation/Proclamation.tsx b/frontend/src/component/common/Proclamation/Proclamation.tsx index d8bd3ee5d2f..8ba2c8e3437 100644 --- a/frontend/src/component/common/Proclamation/Proclamation.tsx +++ b/frontend/src/component/common/Proclamation/Proclamation.tsx @@ -2,7 +2,7 @@ import { useState, useEffect } from 'react'; import { Alert, styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { Typography } from '@mui/material'; -import { IProclamationToast } from 'interfaces/uiConfig'; +import type { IProclamationToast } from 'interfaces/uiConfig'; interface IProclamationProps { toast?: IProclamationToast; diff --git a/frontend/src/component/common/ProjectSelect/ProjectSelect.tsx b/frontend/src/component/common/ProjectSelect/ProjectSelect.tsx index 1c2673168eb..ecd3806df1b 100644 --- a/frontend/src/component/common/ProjectSelect/ProjectSelect.tsx +++ b/frontend/src/component/common/ProjectSelect/ProjectSelect.tsx @@ -1,5 +1,5 @@ -import { ComponentProps, Dispatch, SetStateAction, VFC } from 'react'; -import { Autocomplete, SxProps, TextField } from '@mui/material'; +import type { ComponentProps, Dispatch, SetStateAction, VFC } from 'react'; +import { Autocomplete, type SxProps, TextField } from '@mui/material'; import { renderOption } from 'component/playground/Playground/PlaygroundForm/renderOption'; import useProjects from 'hooks/api/getters/useProjects/useProjects'; diff --git a/frontend/src/component/common/ProtectedRoute/ProtectedRoute.tsx b/frontend/src/component/common/ProtectedRoute/ProtectedRoute.tsx index ca1ff60804e..e57e889aa53 100644 --- a/frontend/src/component/common/ProtectedRoute/ProtectedRoute.tsx +++ b/frontend/src/component/common/ProtectedRoute/ProtectedRoute.tsx @@ -1,4 +1,4 @@ -import { IRoute } from 'interfaces/route'; +import type { IRoute } from 'interfaces/route'; import { useAuthUser } from 'hooks/api/getters/useAuth/useAuthUser'; import { LoginRedirect } from 'component/common/LoginRedirect/LoginRedirect'; diff --git a/frontend/src/component/common/ReactJSONEditor/ReactJSONEditor.tsx b/frontend/src/component/common/ReactJSONEditor/ReactJSONEditor.tsx index 2620dbfc497..924ec69faf5 100644 --- a/frontend/src/component/common/ReactJSONEditor/ReactJSONEditor.tsx +++ b/frontend/src/component/common/ReactJSONEditor/ReactJSONEditor.tsx @@ -1,4 +1,8 @@ -import { JSONEditorPropsOptional, JSONEditor, Mode } from 'vanilla-jsoneditor'; +import { + type JSONEditorPropsOptional, + JSONEditor, + Mode, +} from 'vanilla-jsoneditor'; import { useContext, useEffect, useRef } from 'react'; import 'vanilla-jsoneditor/themes/jse-theme-dark.css'; import { styled } from '@mui/material'; diff --git a/frontend/src/component/common/ResponsiveButton/ResponsiveButton.tsx b/frontend/src/component/common/ResponsiveButton/ResponsiveButton.tsx index 0573f2ca423..4ccfc604432 100644 --- a/frontend/src/component/common/ResponsiveButton/ResponsiveButton.tsx +++ b/frontend/src/component/common/ResponsiveButton/ResponsiveButton.tsx @@ -1,9 +1,9 @@ -import React from 'react'; +import type React from 'react'; import { useMediaQuery } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import PermissionButton from 'component/common/PermissionButton/PermissionButton'; import PermissionIconButton from 'component/common/PermissionIconButton/PermissionIconButton'; -import { ITooltipResolverProps } from '../TooltipResolver/TooltipResolver'; +import type { ITooltipResolverProps } from '../TooltipResolver/TooltipResolver'; interface IResponsiveButtonProps { Icon: React.ElementType; diff --git a/frontend/src/component/common/RoleDescription/RoleDescription.tsx b/frontend/src/component/common/RoleDescription/RoleDescription.tsx index aec632e378e..c896e03b512 100644 --- a/frontend/src/component/common/RoleDescription/RoleDescription.tsx +++ b/frontend/src/component/common/RoleDescription/RoleDescription.tsx @@ -1,4 +1,4 @@ -import { SxProps, Theme, styled } from '@mui/material'; +import { type SxProps, type Theme, styled } from '@mui/material'; import SupervisedUserCircle from '@mui/icons-material/SupervisedUserCircle'; import { ConditionallyRender } from '../ConditionallyRender/ConditionallyRender'; import { useRole } from 'hooks/api/getters/useRole/useRole'; diff --git a/frontend/src/component/common/RoleSelect/RoleSelect.tsx b/frontend/src/component/common/RoleSelect/RoleSelect.tsx index 42f851579b5..a919292fdac 100644 --- a/frontend/src/component/common/RoleSelect/RoleSelect.tsx +++ b/frontend/src/component/common/RoleSelect/RoleSelect.tsx @@ -1,10 +1,10 @@ import { Autocomplete, - AutocompleteProps, + type AutocompleteProps, TextField, styled, } from '@mui/material'; -import { IRole } from 'interfaces/role'; +import type { IRole } from 'interfaces/role'; import { RoleDescription } from '../RoleDescription/RoleDescription'; import { ConditionallyRender } from '../ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/common/Search/Search.tsx b/frontend/src/component/common/Search/Search.tsx index 94f2b55c5dc..a303dd35a10 100644 --- a/frontend/src/component/common/Search/Search.tsx +++ b/frontend/src/component/common/Search/Search.tsx @@ -1,4 +1,5 @@ -import React, { useEffect, useRef, useState } from 'react'; +import type React from 'react'; +import { useEffect, useRef, useState } from 'react'; import { useAsyncDebounce } from 'react-table'; import { Box, @@ -12,7 +13,7 @@ import Close from '@mui/icons-material/Close'; import SearchIcon from '@mui/icons-material/Search'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { SearchSuggestions } from './SearchSuggestions/SearchSuggestions'; -import { IGetSearchContextOutput } from 'hooks/useSearch'; +import type { IGetSearchContextOutput } from 'hooks/useSearch'; import { useKeyboardShortcut } from 'hooks/useKeyboardShortcut'; import { SEARCH_INPUT } from 'utils/testIds'; import { useOnClickOutside } from 'hooks/useOnClickOutside'; diff --git a/frontend/src/component/common/Search/SearchSuggestions/SearchDescription/SearchDescription.tsx b/frontend/src/component/common/Search/SearchSuggestions/SearchDescription/SearchDescription.tsx index 6d2df6ee457..fd964760083 100644 --- a/frontend/src/component/common/Search/SearchSuggestions/SearchDescription/SearchDescription.tsx +++ b/frontend/src/component/common/Search/SearchSuggestions/SearchDescription/SearchDescription.tsx @@ -2,9 +2,9 @@ import { styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { getSearchTextGenerator, - IGetSearchContextOutput, + type IGetSearchContextOutput, } from 'hooks/useSearch'; -import { VFC } from 'react'; +import type { VFC } from 'react'; const StyledHeader = styled('span')(({ theme }) => ({ fontSize: theme.fontSizes.smallBody, diff --git a/frontend/src/component/common/Search/SearchSuggestions/SearchHistory.tsx b/frontend/src/component/common/Search/SearchSuggestions/SearchHistory.tsx index caf860b14d4..d5653fd441e 100644 --- a/frontend/src/component/common/Search/SearchSuggestions/SearchHistory.tsx +++ b/frontend/src/component/common/Search/SearchSuggestions/SearchHistory.tsx @@ -1,7 +1,7 @@ import History from '@mui/icons-material/History'; import { Box, styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { VFC } from 'react'; +import type { VFC } from 'react'; import { StyledCode } from './SearchInstructions/SearchInstructions'; import { usePlausibleTracker } from 'hooks/usePlausibleTracker'; import { onEnter } from './onEnter'; diff --git a/frontend/src/component/common/Search/SearchSuggestions/SearchInstructions/SearchInstructions.tsx b/frontend/src/component/common/Search/SearchSuggestions/SearchInstructions/SearchInstructions.tsx index ad48711f124..03082dbf8d1 100644 --- a/frontend/src/component/common/Search/SearchSuggestions/SearchInstructions/SearchInstructions.tsx +++ b/frontend/src/component/common/Search/SearchSuggestions/SearchInstructions/SearchInstructions.tsx @@ -1,6 +1,6 @@ import { styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { VFC } from 'react'; +import type { VFC } from 'react'; import { onEnter } from '../onEnter'; const StyledHeader = styled('span')(({ theme }) => ({ diff --git a/frontend/src/component/common/Search/SearchSuggestions/SearchSuggestions.tsx b/frontend/src/component/common/Search/SearchSuggestions/SearchSuggestions.tsx index 633d667f76b..9ac99b59084 100644 --- a/frontend/src/component/common/Search/SearchSuggestions/SearchSuggestions.tsx +++ b/frontend/src/component/common/Search/SearchSuggestions/SearchSuggestions.tsx @@ -6,9 +6,9 @@ import { getColumnValues, getFilterableColumns, getFilterValues, - IGetSearchContextOutput, + type IGetSearchContextOutput, } from 'hooks/useSearch'; -import { VFC } from 'react'; +import type { VFC } from 'react'; import { SearchDescription } from './SearchDescription/SearchDescription'; import { SearchInstructions, diff --git a/frontend/src/component/common/SegmentItem/SegmentItem.tsx b/frontend/src/component/common/SegmentItem/SegmentItem.tsx index c913a7293cb..a926e6ff152 100644 --- a/frontend/src/component/common/SegmentItem/SegmentItem.tsx +++ b/frontend/src/component/common/SegmentItem/SegmentItem.tsx @@ -1,7 +1,7 @@ -import { useState, VFC } from 'react'; +import { useState, type VFC } from 'react'; import { Link } from 'react-router-dom'; import DonutLarge from '@mui/icons-material/DonutLarge'; -import { ISegment } from 'interfaces/segment'; +import type { ISegment } from 'interfaces/segment'; import { Accordion, AccordionDetails, diff --git a/frontend/src/component/common/SidePanelList/SidePanelList.tsx b/frontend/src/component/common/SidePanelList/SidePanelList.tsx index 67af7b75db1..edb1cf78114 100644 --- a/frontend/src/component/common/SidePanelList/SidePanelList.tsx +++ b/frontend/src/component/common/SidePanelList/SidePanelList.tsx @@ -1,5 +1,5 @@ import { styled } from '@mui/material'; -import { ReactNode, useState } from 'react'; +import { type ReactNode, useState } from 'react'; import { SidePanelListHeader } from './SidePanelListHeader'; import { SidePanelListItem } from './SidePanelListItem'; diff --git a/frontend/src/component/common/SidePanelList/SidePanelListHeader.tsx b/frontend/src/component/common/SidePanelList/SidePanelListHeader.tsx index bf60881fcea..59646b37d71 100644 --- a/frontend/src/component/common/SidePanelList/SidePanelListHeader.tsx +++ b/frontend/src/component/common/SidePanelList/SidePanelListHeader.tsx @@ -1,6 +1,6 @@ import { styled } from '@mui/material'; import { - SidePanelListColumn, + type SidePanelListColumn, StyledSidePanelListColumn, } from './SidePanelList'; diff --git a/frontend/src/component/common/SidePanelList/SidePanelListItem.tsx b/frontend/src/component/common/SidePanelList/SidePanelListItem.tsx index 2fa26736c28..5e8e120f5cf 100644 --- a/frontend/src/component/common/SidePanelList/SidePanelListItem.tsx +++ b/frontend/src/component/common/SidePanelList/SidePanelListItem.tsx @@ -1,5 +1,5 @@ import { Button, styled } from '@mui/material'; -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; const StyledItemRow = styled('div')(({ theme }) => ({ borderBottom: `1px solid ${theme.palette.divider}`, diff --git a/frontend/src/component/common/SidebarModal/SidebarModal.tsx b/frontend/src/component/common/SidebarModal/SidebarModal.tsx index f3c95d91cf2..26f319c514e 100644 --- a/frontend/src/component/common/SidebarModal/SidebarModal.tsx +++ b/frontend/src/component/common/SidebarModal/SidebarModal.tsx @@ -1,9 +1,9 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Modal, Backdrop, styled, IconButton, Tooltip } from '@mui/material'; import CloseIcon from '@mui/icons-material/Close'; import Fade from '@mui/material/Fade'; import { SIDEBAR_MODAL_ID } from 'utils/testIds'; -import * as React from 'react'; +import type * as React from 'react'; interface ISidebarModalProps { open: boolean; diff --git a/frontend/src/component/common/Sticky/Sticky.test.tsx b/frontend/src/component/common/Sticky/Sticky.test.tsx index 4b01c04bc4d..952b8e344da 100644 --- a/frontend/src/component/common/Sticky/Sticky.test.tsx +++ b/frontend/src/component/common/Sticky/Sticky.test.tsx @@ -1,6 +1,6 @@ import { render, screen, cleanup } from '@testing-library/react'; import { Sticky } from './Sticky'; -import { IStickyContext, StickyContext } from './StickyContext'; +import { type IStickyContext, StickyContext } from './StickyContext'; import { vi, expect } from 'vitest'; describe('Sticky component', () => { diff --git a/frontend/src/component/common/Sticky/Sticky.tsx b/frontend/src/component/common/Sticky/Sticky.tsx index 1a8d8c6b19b..083cdffc733 100644 --- a/frontend/src/component/common/Sticky/Sticky.tsx +++ b/frontend/src/component/common/Sticky/Sticky.tsx @@ -1,6 +1,6 @@ import { - HTMLAttributes, - ReactNode, + type HTMLAttributes, + type ReactNode, useContext, useEffect, useRef, @@ -49,7 +49,9 @@ export const Sticky = ({ children, ...props }: IStickyProps) => { // After that, the top will be calculated based on the height of the previous sticky items + this initial top offset if (ref.current && initialTopOffset === null) { setInitialTopOffset( - parseInt(getComputedStyle(ref.current).getPropertyValue('top')), + Number.parseInt( + getComputedStyle(ref.current).getPropertyValue('top'), + ), ); } }, []); diff --git a/frontend/src/component/common/Sticky/StickyContext.tsx b/frontend/src/component/common/Sticky/StickyContext.tsx index b6257162851..53c95806bb6 100644 --- a/frontend/src/component/common/Sticky/StickyContext.tsx +++ b/frontend/src/component/common/Sticky/StickyContext.tsx @@ -1,4 +1,4 @@ -import { RefObject, createContext } from 'react'; +import { type RefObject, createContext } from 'react'; export interface IStickyContext { stickyItems: RefObject[]; diff --git a/frontend/src/component/common/Sticky/StickyProvider.test.tsx b/frontend/src/component/common/Sticky/StickyProvider.test.tsx index ebe51a24e5a..af248519393 100644 --- a/frontend/src/component/common/Sticky/StickyProvider.test.tsx +++ b/frontend/src/component/common/Sticky/StickyProvider.test.tsx @@ -1,6 +1,6 @@ import { render, cleanup } from '@testing-library/react'; import { StickyProvider } from './StickyProvider'; -import { IStickyContext, StickyContext } from './StickyContext'; +import { type IStickyContext, StickyContext } from './StickyContext'; import { expect } from 'vitest'; const defaultGetBoundingClientRect = { diff --git a/frontend/src/component/common/Sticky/StickyProvider.tsx b/frontend/src/component/common/Sticky/StickyProvider.tsx index 7e61d6fb3b2..5a2d701de80 100644 --- a/frontend/src/component/common/Sticky/StickyProvider.tsx +++ b/frontend/src/component/common/Sticky/StickyProvider.tsx @@ -1,4 +1,10 @@ -import { useState, useCallback, ReactNode, RefObject, useEffect } from 'react'; +import { + useState, + useCallback, + type ReactNode, + type RefObject, + useEffect, +} from 'react'; import { StickyContext } from './StickyContext'; interface IStickyProviderProps { diff --git a/frontend/src/component/common/StrategyItemContainer/StrategyItemContainer.test.tsx b/frontend/src/component/common/StrategyItemContainer/StrategyItemContainer.test.tsx index 21dbcaac4e6..c83f2cccac2 100644 --- a/frontend/src/component/common/StrategyItemContainer/StrategyItemContainer.test.tsx +++ b/frontend/src/component/common/StrategyItemContainer/StrategyItemContainer.test.tsx @@ -1,7 +1,7 @@ import { screen } from '@testing-library/react'; import { render } from 'utils/testRenderer'; import { StrategyItemContainer } from './StrategyItemContainer'; -import { IFeatureStrategy } from 'interfaces/strategy'; +import type { IFeatureStrategy } from 'interfaces/strategy'; test('should render strategy name, custom title and description', async () => { const strategy: IFeatureStrategy = { diff --git a/frontend/src/component/common/StrategyItemContainer/StrategyItemContainer.tsx b/frontend/src/component/common/StrategyItemContainer/StrategyItemContainer.tsx index 50e1af71b55..3c0b3d00f77 100644 --- a/frontend/src/component/common/StrategyItemContainer/StrategyItemContainer.tsx +++ b/frontend/src/component/common/StrategyItemContainer/StrategyItemContainer.tsx @@ -1,14 +1,14 @@ -import { DragEventHandler, FC, ReactNode } from 'react'; +import type { DragEventHandler, FC, ReactNode } from 'react'; import DragIndicator from '@mui/icons-material/DragIndicator'; import { Box, IconButton, styled } from '@mui/material'; -import { IFeatureStrategy } from 'interfaces/strategy'; +import type { IFeatureStrategy } from 'interfaces/strategy'; import { formatStrategyName, getFeatureStrategyIcon, } from 'utils/strategyNames'; import StringTruncator from 'component/common/StringTruncator/StringTruncator'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { PlaygroundStrategySchema } from 'openapi'; +import type { PlaygroundStrategySchema } from 'openapi'; import { Badge } from '../Badge/Badge'; import { Link } from 'react-router-dom'; diff --git a/frontend/src/component/common/TabNav/TabLink.tsx b/frontend/src/component/common/TabNav/TabLink.tsx index 48c0ea5d7a4..9ecaf3cd5ab 100644 --- a/frontend/src/component/common/TabNav/TabLink.tsx +++ b/frontend/src/component/common/TabNav/TabLink.tsx @@ -1,5 +1,5 @@ import { styled } from '@mui/material'; -import { FC } from 'react'; +import type { FC } from 'react'; import { Link } from 'react-router-dom'; const StyledTabLink = styled(Link)(({ theme }) => ({ diff --git a/frontend/src/component/common/TabNav/TabPanel/TabPanel.tsx b/frontend/src/component/common/TabNav/TabPanel/TabPanel.tsx index 3ff0c81fcdb..e86858a355d 100644 --- a/frontend/src/component/common/TabNav/TabPanel/TabPanel.tsx +++ b/frontend/src/component/common/TabNav/TabPanel/TabPanel.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; interface ITabPanelProps { value: number; diff --git a/frontend/src/component/common/Table/FavoriteIconHeader/FavoriteIconHeader.tsx b/frontend/src/component/common/Table/FavoriteIconHeader/FavoriteIconHeader.tsx index 85514e0989e..0e897989cb4 100644 --- a/frontend/src/component/common/Table/FavoriteIconHeader/FavoriteIconHeader.tsx +++ b/frontend/src/component/common/Table/FavoriteIconHeader/FavoriteIconHeader.tsx @@ -1,4 +1,4 @@ -import { useState, VFC } from 'react'; +import { useState, type VFC } from 'react'; import { IconButton } from '@mui/material'; import StarIcon from '@mui/icons-material/Star'; import StarBorderIcon from '@mui/icons-material/StarBorder'; diff --git a/frontend/src/component/common/Table/PaginatedTable/PaginatedTable.tsx b/frontend/src/component/common/Table/PaginatedTable/PaginatedTable.tsx index b2f11eecf88..34556e7de8f 100644 --- a/frontend/src/component/common/Table/PaginatedTable/PaginatedTable.tsx +++ b/frontend/src/component/common/Table/PaginatedTable/PaginatedTable.tsx @@ -1,7 +1,7 @@ import { TableBody, TableRow, TableHead } from '@mui/material'; import { Table } from 'component/common/Table/Table/Table'; import { - Header, + type Header, type Table as TableType, flexRender, } from '@tanstack/react-table'; diff --git a/frontend/src/component/common/Table/PaginationBar/PaginationBar.tsx b/frontend/src/component/common/Table/PaginationBar/PaginationBar.tsx index d1f2bc8221e..b358bcdcf8a 100644 --- a/frontend/src/component/common/Table/PaginationBar/PaginationBar.tsx +++ b/frontend/src/component/common/Table/PaginationBar/PaginationBar.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import type React from 'react'; import { Box, Typography, Button, styled } from '@mui/material'; import { ConditionallyRender } from '../../ConditionallyRender/ConditionallyRender'; import { ReactComponent as ArrowRight } from 'assets/icons/arrowRight.svg'; diff --git a/frontend/src/component/common/Table/SortableTableHeader/CellSortable/CellSortable.tsx b/frontend/src/component/common/Table/SortableTableHeader/CellSortable/CellSortable.tsx index ca31f01fbc4..eb8c1f919f2 100644 --- a/frontend/src/component/common/Table/SortableTableHeader/CellSortable/CellSortable.tsx +++ b/frontend/src/component/common/Table/SortableTableHeader/CellSortable/CellSortable.tsx @@ -1,6 +1,6 @@ import { - FC, - MouseEventHandler, + type FC, + type MouseEventHandler, useContext, useEffect, useMemo, diff --git a/frontend/src/component/common/Table/SortableTableHeader/CellSortable/SortArrow/SortArrow.tsx b/frontend/src/component/common/Table/SortableTableHeader/CellSortable/SortArrow/SortArrow.tsx index dee80ee21d3..cacd9cb67f2 100644 --- a/frontend/src/component/common/Table/SortableTableHeader/CellSortable/SortArrow/SortArrow.tsx +++ b/frontend/src/component/common/Table/SortableTableHeader/CellSortable/SortArrow/SortArrow.tsx @@ -1,10 +1,10 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import KeyboardArrowDown from '@mui/icons-material/KeyboardArrowDown'; import KeyboardArrowUp from '@mui/icons-material/KeyboardArrowUp'; import UnfoldMoreOutlined from '@mui/icons-material/UnfoldMoreOutlined'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import classnames from 'classnames'; -import { Theme } from '@mui/material'; +import type { Theme } from '@mui/material'; interface ISortArrowProps { isSorted?: boolean; diff --git a/frontend/src/component/common/Table/SortableTableHeader/SortableTableHeader.tsx b/frontend/src/component/common/Table/SortableTableHeader/SortableTableHeader.tsx index bc648f3bc51..beaef77ae49 100644 --- a/frontend/src/component/common/Table/SortableTableHeader/SortableTableHeader.tsx +++ b/frontend/src/component/common/Table/SortableTableHeader/SortableTableHeader.tsx @@ -1,5 +1,5 @@ import { TableHead, TableRow } from '@mui/material'; -import { HeaderGroup } from 'react-table'; +import type { HeaderGroup } from 'react-table'; import { CellSortable } from './CellSortable/CellSortable'; export const SortableTableHeader = ({ diff --git a/frontend/src/component/common/Table/StickyPaginationBar/StickyPaginationBar.tsx b/frontend/src/component/common/Table/StickyPaginationBar/StickyPaginationBar.tsx index e2fd15249e5..e737ed882d5 100644 --- a/frontend/src/component/common/Table/StickyPaginationBar/StickyPaginationBar.tsx +++ b/frontend/src/component/common/Table/StickyPaginationBar/StickyPaginationBar.tsx @@ -1,6 +1,6 @@ import { Box, styled } from '@mui/material'; import { PaginationBar } from '../PaginationBar/PaginationBar'; -import { ComponentProps, FC } from 'react'; +import type { ComponentProps, FC } from 'react'; const StyledStickyBar = styled('div')(({ theme }) => ({ position: 'sticky', diff --git a/frontend/src/component/common/Table/Table/Table.tsx b/frontend/src/component/common/Table/Table/Table.tsx index d5935701fc1..7245dfe649c 100644 --- a/frontend/src/component/common/Table/Table/Table.tsx +++ b/frontend/src/component/common/Table/Table/Table.tsx @@ -1,5 +1,5 @@ -import { FC } from 'react'; -import { Table as MUITable, TableProps } from '@mui/material'; +import type { FC } from 'react'; +import { Table as MUITable, type TableProps } from '@mui/material'; export const Table: FC< TableProps & { diff --git a/frontend/src/component/common/Table/TableCell/TableCell.tsx b/frontend/src/component/common/Table/TableCell/TableCell.tsx index ab4b494314d..d61be9a0d30 100644 --- a/frontend/src/component/common/Table/TableCell/TableCell.tsx +++ b/frontend/src/component/common/Table/TableCell/TableCell.tsx @@ -1,8 +1,8 @@ -import { FC, ForwardedRef, forwardRef } from 'react'; +import { type FC, type ForwardedRef, forwardRef } from 'react'; import { styled, TableCell as MUITableCell, - TableCellProps, + type TableCellProps, } from '@mui/material'; const StyledTableCell = styled(MUITableCell)(({ theme }) => ({ diff --git a/frontend/src/component/common/Table/TablePlaceholder/TablePlaceholder.tsx b/frontend/src/component/common/Table/TablePlaceholder/TablePlaceholder.tsx index 795ad1906e5..0610db1137d 100644 --- a/frontend/src/component/common/Table/TablePlaceholder/TablePlaceholder.tsx +++ b/frontend/src/component/common/Table/TablePlaceholder/TablePlaceholder.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Box } from '@mui/material'; export const TablePlaceholder: FC = ({ children }) => ( diff --git a/frontend/src/component/common/Table/VirtualizedTable/VirtualizedTable.tsx b/frontend/src/component/common/Table/VirtualizedTable/VirtualizedTable.tsx index 31a9bb3b5a8..4bf48d5105b 100644 --- a/frontend/src/component/common/Table/VirtualizedTable/VirtualizedTable.tsx +++ b/frontend/src/component/common/Table/VirtualizedTable/VirtualizedTable.tsx @@ -1,10 +1,10 @@ -import { RefObject, useMemo } from 'react'; +import { type RefObject, useMemo } from 'react'; import { useTheme, TableBody, TableRow } from '@mui/material'; import { SortableTableHeader } from 'component/common/Table/SortableTableHeader/SortableTableHeader'; import { TableCell } from 'component/common/Table/TableCell/TableCell'; import { Table } from 'component/common/Table/Table/Table'; import { useVirtualizedRange } from 'hooks/useVirtualizedRange'; -import { HeaderGroup, Row } from 'react-table'; +import type { HeaderGroup, Row } from 'react-table'; /** * READ BEFORE USE diff --git a/frontend/src/component/common/Table/cells/ActionCell/ActionCell.tsx b/frontend/src/component/common/Table/cells/ActionCell/ActionCell.tsx index 978e457b1c2..9abfe70f6f8 100644 --- a/frontend/src/component/common/Table/cells/ActionCell/ActionCell.tsx +++ b/frontend/src/component/common/Table/cells/ActionCell/ActionCell.tsx @@ -1,5 +1,5 @@ import { Box, Divider, styled } from '@mui/material'; -import { FC, VFC } from 'react'; +import type { FC, VFC } from 'react'; const StyledContainer = styled(Box)(({ theme }) => ({ display: 'flex', diff --git a/frontend/src/component/common/Table/cells/DateCell/DateCell.tsx b/frontend/src/component/common/Table/cells/DateCell/DateCell.tsx index a1845c2d40d..94b3ed8178b 100644 --- a/frontend/src/component/common/Table/cells/DateCell/DateCell.tsx +++ b/frontend/src/component/common/Table/cells/DateCell/DateCell.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { useLocationSettings } from 'hooks/useLocationSettings'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; import { getLocalizedDateString } from '../../../util'; diff --git a/frontend/src/component/common/Table/cells/DateTimeCell/DateTimeCell.tsx b/frontend/src/component/common/Table/cells/DateTimeCell/DateTimeCell.tsx index 174651ef42f..25a09f9aed1 100644 --- a/frontend/src/component/common/Table/cells/DateTimeCell/DateTimeCell.tsx +++ b/frontend/src/component/common/Table/cells/DateTimeCell/DateTimeCell.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { useLocationSettings } from 'hooks/useLocationSettings'; import { formatDateYMDHM } from 'utils/formatDate'; import { parseISO } from 'date-fns'; diff --git a/frontend/src/component/common/Table/cells/FavoriteIconCell/FavoriteIconCell.tsx b/frontend/src/component/common/Table/cells/FavoriteIconCell/FavoriteIconCell.tsx index 26729422226..8a706355a89 100644 --- a/frontend/src/component/common/Table/cells/FavoriteIconCell/FavoriteIconCell.tsx +++ b/frontend/src/component/common/Table/cells/FavoriteIconCell/FavoriteIconCell.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { Box, IconButton, styled } from '@mui/material'; import StarIcon from '@mui/icons-material/Star'; import StarBorderIcon from '@mui/icons-material/StarBorder'; diff --git a/frontend/src/component/common/Table/cells/FeatureNameCell/FeatureNameCell.tsx b/frontend/src/component/common/Table/cells/FeatureNameCell/FeatureNameCell.tsx index 88a84c2d8ec..586846cdfcb 100644 --- a/frontend/src/component/common/Table/cells/FeatureNameCell/FeatureNameCell.tsx +++ b/frontend/src/component/common/Table/cells/FeatureNameCell/FeatureNameCell.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { LinkCell } from 'component/common/Table/cells/LinkCell/LinkCell'; interface IFeatureNameCellProps { diff --git a/frontend/src/component/common/Table/cells/FeatureSeenCell/FeatureEnvironmentSeenCell.tsx b/frontend/src/component/common/Table/cells/FeatureSeenCell/FeatureEnvironmentSeenCell.tsx index 1450e12fbcc..5a5eefd1407 100644 --- a/frontend/src/component/common/Table/cells/FeatureSeenCell/FeatureEnvironmentSeenCell.tsx +++ b/frontend/src/component/common/Table/cells/FeatureSeenCell/FeatureEnvironmentSeenCell.tsx @@ -1,6 +1,6 @@ -import React, { VFC } from 'react'; +import React, { type VFC } from 'react'; import { FeatureEnvironmentSeen } from 'component/feature/FeatureView/FeatureEnvironmentSeen/FeatureEnvironmentSeen'; -import { FeatureEnvironmentSchema } from 'openapi'; +import type { FeatureEnvironmentSchema } from 'openapi'; interface IFeatureSeenCellProps { feature: { diff --git a/frontend/src/component/common/Table/cells/FeatureSeenCell/FeatureSeenCell.tsx b/frontend/src/component/common/Table/cells/FeatureSeenCell/FeatureSeenCell.tsx index 85b81c85fb3..593970a3d7d 100644 --- a/frontend/src/component/common/Table/cells/FeatureSeenCell/FeatureSeenCell.tsx +++ b/frontend/src/component/common/Table/cells/FeatureSeenCell/FeatureSeenCell.tsx @@ -1,4 +1,4 @@ -import { FC, VFC } from 'react'; +import type { FC, VFC } from 'react'; import TimeAgo from 'react-timeago'; import { styled, Tooltip, useTheme } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/common/Table/cells/FeatureSeenCell/LastSeenTooltip.tsx b/frontend/src/component/common/Table/cells/FeatureSeenCell/LastSeenTooltip.tsx index 0bc9563edd1..549580a6d3e 100644 --- a/frontend/src/component/common/Table/cells/FeatureSeenCell/LastSeenTooltip.tsx +++ b/frontend/src/component/common/Table/cells/FeatureSeenCell/LastSeenTooltip.tsx @@ -1,6 +1,6 @@ -import { styled, SxProps, Theme, Typography } from '@mui/material'; +import { styled, type SxProps, type Theme, Typography } from '@mui/material'; import TimeAgo from 'react-timeago'; -import { ILastSeenEnvironments } from 'interfaces/featureToggle'; +import type { ILastSeenEnvironments } from 'interfaces/featureToggle'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { useLastSeenColors } from 'component/feature/FeatureView/FeatureEnvironmentSeen/useLastSeenColors'; diff --git a/frontend/src/component/common/Table/cells/FeatureSegmentCell/FeatureSegmentCell.tsx b/frontend/src/component/common/Table/cells/FeatureSegmentCell/FeatureSegmentCell.tsx index 425c240ed05..1fe613aa7ef 100644 --- a/frontend/src/component/common/Table/cells/FeatureSegmentCell/FeatureSegmentCell.tsx +++ b/frontend/src/component/common/Table/cells/FeatureSegmentCell/FeatureSegmentCell.tsx @@ -1,5 +1,5 @@ -import { VFC } from 'react'; -import { FeatureSearchResponseSchema } from 'openapi'; +import type { VFC } from 'react'; +import type { FeatureSearchResponseSchema } from 'openapi'; import { styled, Typography } from '@mui/material'; import { TextCell } from '../TextCell/TextCell'; import { Highlighter } from 'component/common/Highlighter/Highlighter'; diff --git a/frontend/src/component/common/Table/cells/FeatureTagCell/FeatureTagCell.tsx b/frontend/src/component/common/Table/cells/FeatureTagCell/FeatureTagCell.tsx index dbc3d6af7cd..19e370f7a9b 100644 --- a/frontend/src/component/common/Table/cells/FeatureTagCell/FeatureTagCell.tsx +++ b/frontend/src/component/common/Table/cells/FeatureTagCell/FeatureTagCell.tsx @@ -1,5 +1,5 @@ -import { VFC } from 'react'; -import { FeatureSchema } from 'openapi'; +import type { VFC } from 'react'; +import type { FeatureSchema } from 'openapi'; import { styled, Typography } from '@mui/material'; import { TextCell } from '../TextCell/TextCell'; import { Highlighter } from 'component/common/Highlighter/Highlighter'; diff --git a/frontend/src/component/common/Table/cells/FeatureTypeCell/FeatureTypeCell.tsx b/frontend/src/component/common/Table/cells/FeatureTypeCell/FeatureTypeCell.tsx index 18f391a057e..849f084ecff 100644 --- a/frontend/src/component/common/Table/cells/FeatureTypeCell/FeatureTypeCell.tsx +++ b/frontend/src/component/common/Table/cells/FeatureTypeCell/FeatureTypeCell.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { styled, Tooltip } from '@mui/material'; import { getFeatureTypeIcons } from 'utils/getFeatureTypeIcons'; import useFeatureTypes from 'hooks/api/getters/useFeatureTypes/useFeatureTypes'; diff --git a/frontend/src/component/common/Table/cells/HighlightCell/HighlightCell.tsx b/frontend/src/component/common/Table/cells/HighlightCell/HighlightCell.tsx index 1a9d6c2060c..5a3fa544ba8 100644 --- a/frontend/src/component/common/Table/cells/HighlightCell/HighlightCell.tsx +++ b/frontend/src/component/common/Table/cells/HighlightCell/HighlightCell.tsx @@ -1,4 +1,5 @@ -import React, { VFC } from 'react'; +import type React from 'react'; +import type { VFC } from 'react'; import { Highlighter } from 'component/common/Highlighter/Highlighter'; import { useSearchHighlightContext } from 'component/common/Table/SearchHighlightContext/SearchHighlightContext'; import { Box, styled } from '@mui/material'; diff --git a/frontend/src/component/common/Table/cells/IconCell/IconCell.tsx b/frontend/src/component/common/Table/cells/IconCell/IconCell.tsx index 5c44952b079..d5b88d4f20f 100644 --- a/frontend/src/component/common/Table/cells/IconCell/IconCell.tsx +++ b/frontend/src/component/common/Table/cells/IconCell/IconCell.tsx @@ -1,5 +1,5 @@ import { Box } from '@mui/material'; -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; interface IIconCellProps { icon: ReactNode; diff --git a/frontend/src/component/common/Table/cells/LinkCell/LinkCell.styles.ts b/frontend/src/component/common/Table/cells/LinkCell/LinkCell.styles.ts index 8b3e1ae3302..0a228d38dcc 100644 --- a/frontend/src/component/common/Table/cells/LinkCell/LinkCell.styles.ts +++ b/frontend/src/component/common/Table/cells/LinkCell/LinkCell.styles.ts @@ -1,5 +1,5 @@ -import { Link, styled, Theme } from '@mui/material'; -import { ComponentType } from 'react'; +import { Link, styled, type Theme } from '@mui/material'; +import type { ComponentType } from 'react'; export const wrapperStyles = (theme: Theme) => ({ paddingTop: theme.spacing(1.5), diff --git a/frontend/src/component/common/Table/cells/LinkCell/LinkCell.tsx b/frontend/src/component/common/Table/cells/LinkCell/LinkCell.tsx index 867d0d9ebf3..81c73ecca49 100644 --- a/frontend/src/component/common/Table/cells/LinkCell/LinkCell.tsx +++ b/frontend/src/component/common/Table/cells/LinkCell/LinkCell.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import type React from 'react'; import { Link as RouterLink } from 'react-router-dom'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { Highlighter } from 'component/common/Highlighter/Highlighter'; diff --git a/frontend/src/component/common/Table/cells/RoleCell/RoleCell.tsx b/frontend/src/component/common/Table/cells/RoleCell/RoleCell.tsx index 1bc49d2128d..919762bcaa0 100644 --- a/frontend/src/component/common/Table/cells/RoleCell/RoleCell.tsx +++ b/frontend/src/component/common/Table/cells/RoleCell/RoleCell.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; import { TooltipLink } from 'component/common/TooltipLink/TooltipLink'; import { RoleDescription } from 'component/common/RoleDescription/RoleDescription'; diff --git a/frontend/src/component/common/Table/cells/StringArrayCell.tsx b/frontend/src/component/common/Table/cells/StringArrayCell.tsx index 1124a7eab18..b9b788b7199 100644 --- a/frontend/src/component/common/Table/cells/StringArrayCell.tsx +++ b/frontend/src/component/common/Table/cells/StringArrayCell.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { styled, Typography } from '@mui/material'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; import { Highlighter } from 'component/common/Highlighter/Highlighter'; diff --git a/frontend/src/component/common/Table/cells/TextCell/TextCell.tsx b/frontend/src/component/common/Table/cells/TextCell/TextCell.tsx index d0f8e898d73..41b81d1e639 100644 --- a/frontend/src/component/common/Table/cells/TextCell/TextCell.tsx +++ b/frontend/src/component/common/Table/cells/TextCell/TextCell.tsx @@ -1,5 +1,5 @@ -import { FC } from 'react'; -import { Box, styled, SxProps, Theme } from '@mui/material'; +import type { FC } from 'react'; +import { Box, styled, type SxProps, type Theme } from '@mui/material'; interface ITextCellProps { value?: string | null; diff --git a/frontend/src/component/common/Table/cells/TimeAgoCell/TimeAgoCell.tsx b/frontend/src/component/common/Table/cells/TimeAgoCell/TimeAgoCell.tsx index 11dfdf3fed8..859ad790ba6 100644 --- a/frontend/src/component/common/Table/cells/TimeAgoCell/TimeAgoCell.tsx +++ b/frontend/src/component/common/Table/cells/TimeAgoCell/TimeAgoCell.tsx @@ -1,6 +1,6 @@ import { Tooltip, Typography } from '@mui/material'; import { useLocationSettings } from 'hooks/useLocationSettings'; -import { VFC } from 'react'; +import type { VFC } from 'react'; import { formatDateYMD } from 'utils/formatDate'; import { TextCell } from '../TextCell/TextCell'; import TimeAgo from 'react-timeago'; diff --git a/frontend/src/component/common/ToastRenderer/Toast/Toast.tsx b/frontend/src/component/common/ToastRenderer/Toast/Toast.tsx index 1b06cd90ed9..52b06f17261 100644 --- a/frontend/src/component/common/ToastRenderer/Toast/Toast.tsx +++ b/frontend/src/component/common/ToastRenderer/Toast/Toast.tsx @@ -6,7 +6,7 @@ import CheckMarkBadge from 'component/common/CheckmarkBadge/CheckMarkBadge'; import UIContext from 'contexts/UIContext'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import Close from '@mui/icons-material/Close'; -import { IToast } from 'interfaces/toast'; +import type { IToast } from 'interfaces/toast'; import { TOAST_TEXT } from 'utils/testIds'; const Toast = ({ title, text, type, confetti }: IToast) => { @@ -41,7 +41,6 @@ const Toast = ({ title, text, type, confetti }: IToast) => { return (
key={index} style={style} className={classnames(styles.starting, styles.anim)} diff --git a/frontend/src/component/common/ToastRenderer/ToastRenderer.tsx b/frontend/src/component/common/ToastRenderer/ToastRenderer.tsx index b9eb52f9582..67bb6e3d076 100644 --- a/frontend/src/component/common/ToastRenderer/ToastRenderer.tsx +++ b/frontend/src/component/common/ToastRenderer/ToastRenderer.tsx @@ -8,7 +8,7 @@ import { import UIContext from 'contexts/UIContext'; import AnimateOnMount from '../AnimateOnMount/AnimateOnMount'; import Toast from './Toast/Toast'; -import { IToast } from 'interfaces/toast'; +import type { IToast } from 'interfaces/toast'; const ToastRenderer = () => { const { toastData, setToast } = useContext(UIContext); diff --git a/frontend/src/component/common/TooltipLink/TooltipLink.tsx b/frontend/src/component/common/TooltipLink/TooltipLink.tsx index a2998e15cce..6ff84e268d6 100644 --- a/frontend/src/component/common/TooltipLink/TooltipLink.tsx +++ b/frontend/src/component/common/TooltipLink/TooltipLink.tsx @@ -1,6 +1,9 @@ -import { ReactNode } from 'react'; -import { Link, LinkProps, styled } from '@mui/material'; -import { HtmlTooltip, IHtmlTooltipProps } from '../HtmlTooltip/HtmlTooltip'; +import type { ReactNode } from 'react'; +import { Link, type LinkProps, styled } from '@mui/material'; +import { + HtmlTooltip, + type IHtmlTooltipProps, +} from '../HtmlTooltip/HtmlTooltip'; const StyledLink = styled(Link, { shouldForwardProp: (prop) => prop !== 'highlighted', diff --git a/frontend/src/component/common/TooltipResolver/TooltipResolver.tsx b/frontend/src/component/common/TooltipResolver/TooltipResolver.tsx index d4860ac7ff2..168ad6c6a10 100644 --- a/frontend/src/component/common/TooltipResolver/TooltipResolver.tsx +++ b/frontend/src/component/common/TooltipResolver/TooltipResolver.tsx @@ -1,5 +1,5 @@ -import { ReactNode } from 'react'; -import { Tooltip, TooltipProps } from '@mui/material'; +import type { ReactNode } from 'react'; +import { Tooltip, type TooltipProps } from '@mui/material'; import { HtmlTooltip } from '../HtmlTooltip/HtmlTooltip'; export interface ITooltipResolverProps extends Omit { diff --git a/frontend/src/component/common/UpdateButton/UpdateButton.tsx b/frontend/src/component/common/UpdateButton/UpdateButton.tsx index 89f1b3ee4f8..232926b774a 100644 --- a/frontend/src/component/common/UpdateButton/UpdateButton.tsx +++ b/frontend/src/component/common/UpdateButton/UpdateButton.tsx @@ -1,5 +1,5 @@ import PermissionButton, { - IPermissionButtonProps, + type IPermissionButtonProps, } from 'component/common/PermissionButton/PermissionButton'; export const UpdateButton = ({ diff --git a/frontend/src/component/common/UserAvatar/UserAvatar.tsx b/frontend/src/component/common/UserAvatar/UserAvatar.tsx index 31a1a2f07e4..e6106cb49eb 100644 --- a/frontend/src/component/common/UserAvatar/UserAvatar.tsx +++ b/frontend/src/component/common/UserAvatar/UserAvatar.tsx @@ -1,6 +1,12 @@ -import { Avatar, AvatarProps, styled, SxProps, Theme } from '@mui/material'; -import { IUser } from 'interfaces/user'; -import { FC } from 'react'; +import { + Avatar, + type AvatarProps, + styled, + type SxProps, + type Theme, +} from '@mui/material'; +import type { IUser } from 'interfaces/user'; +import type { FC } from 'react'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; const StyledAvatar = styled(Avatar)(({ theme }) => ({ diff --git a/frontend/src/component/common/VariantInfoAlert/VariantInfoAlert.tsx b/frontend/src/component/common/VariantInfoAlert/VariantInfoAlert.tsx index 27e88c5b496..b0ed1dcebfc 100644 --- a/frontend/src/component/common/VariantInfoAlert/VariantInfoAlert.tsx +++ b/frontend/src/component/common/VariantInfoAlert/VariantInfoAlert.tsx @@ -1,5 +1,5 @@ import { Alert, styled } from '@mui/material'; -import { FC } from 'react'; +import type { FC } from 'react'; const StyledAlert = styled(Alert)(({ theme }) => ({ marginBottom: theme.spacing(2), diff --git a/frontend/src/component/common/index.jsx b/frontend/src/component/common/index.jsx index fea0f61284a..9e5e577e057 100644 --- a/frontend/src/component/common/index.jsx +++ b/frontend/src/component/common/index.jsx @@ -134,7 +134,11 @@ MenuItemWithIcon.propTypes = { disabled: PropTypes.bool, }; -const badNumbers = [NaN, Infinity, -Infinity]; +const badNumbers = [ + Number.NaN, + Number.POSITIVE_INFINITY, + Number.NEGATIVE_INFINITY, +]; export function calc(value, total, decimal) { if ( typeof value !== 'number' || diff --git a/frontend/src/component/common/select.tsx b/frontend/src/component/common/select.tsx index 9129a85742c..aabb1a7bd02 100644 --- a/frontend/src/component/common/select.tsx +++ b/frontend/src/component/common/select.tsx @@ -1,10 +1,10 @@ -import React from 'react'; +import type React from 'react'; import { FormControl, InputLabel, MenuItem, Select, - SelectChangeEvent, + type SelectChangeEvent, } from '@mui/material'; import { SELECT_ITEM_ID } from 'utils/testIds'; diff --git a/frontend/src/component/common/util.ts b/frontend/src/component/common/util.ts index 3cc584c7720..f747faac8ce 100644 --- a/frontend/src/component/common/util.ts +++ b/frontend/src/component/common/util.ts @@ -1,9 +1,9 @@ import { weightTypes } from 'constants/weightTypes'; -import { IUiConfig } from 'interfaces/uiConfig'; -import { INavigationMenuItem } from 'interfaces/route'; -import { IFeatureVariant } from 'interfaces/featureToggle'; +import type { IUiConfig } from 'interfaces/uiConfig'; +import type { INavigationMenuItem } from 'interfaces/route'; +import type { IFeatureVariant } from 'interfaces/featureToggle'; import { format, isValid, parseISO } from 'date-fns'; -import { IFeatureVariantEdit } from 'component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/EnvironmentVariantsModal'; +import type { IFeatureVariantEdit } from 'component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/EnvironmentVariantsModal'; import { formatDateYMD } from '../../utils/formatDate'; /** @@ -107,7 +107,7 @@ export function updateWeight(variants: IFeatureVariant[], totalWeight: number) { throw new Error('There must be at least one variable variant'); } - const percentage = parseInt( + const percentage = Number.parseInt( String(remainingPercentage / variableVariantCount), ); diff --git a/frontend/src/component/context/ContectFormChip/ContextFormChipList.tsx b/frontend/src/component/context/ContectFormChip/ContextFormChipList.tsx index ec27c2562a3..5c5ced7124b 100644 --- a/frontend/src/component/context/ContectFormChip/ContextFormChipList.tsx +++ b/frontend/src/component/context/ContectFormChip/ContextFormChipList.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import type React from 'react'; import { styled } from '@mui/material'; const StyledContainer = styled('ul')(({ theme }) => ({ diff --git a/frontend/src/component/context/ContextFieldUsage/ContextFieldUsage.tsx b/frontend/src/component/context/ContextFieldUsage/ContextFieldUsage.tsx index 67e48f4b0b9..e22bfb24fc0 100644 --- a/frontend/src/component/context/ContextFieldUsage/ContextFieldUsage.tsx +++ b/frontend/src/component/context/ContextFieldUsage/ContextFieldUsage.tsx @@ -1,6 +1,6 @@ import { Alert, styled } from '@mui/material'; import { formatEditStrategyPath } from 'component/feature/FeatureStrategy/FeatureStrategyEdit/FeatureStrategyEdit'; -import { IFeatureStrategy } from 'interfaces/strategy'; +import type { IFeatureStrategy } from 'interfaces/strategy'; import { Link } from 'react-router-dom'; import { formatStrategyName } from 'utils/strategyNames'; import { useStrategiesByContext } from 'hooks/api/getters/useStrategiesByContext/useStrategiesByContext'; diff --git a/frontend/src/component/context/ContextForm/ContextForm.tsx b/frontend/src/component/context/ContextForm/ContextForm.tsx index 6eab61b94bf..e7a1ed3e6d9 100644 --- a/frontend/src/component/context/ContextForm/ContextForm.tsx +++ b/frontend/src/component/context/ContextForm/ContextForm.tsx @@ -5,12 +5,13 @@ import { Switch, Typography, styled, - Theme, + type Theme, Link, } from '@mui/material'; -import React, { useState, useEffect } from 'react'; +import type React from 'react'; +import { useState, useEffect } from 'react'; import Add from '@mui/icons-material/Add'; -import { ILegalValue } from 'interfaces/context'; +import type { ILegalValue } from 'interfaces/context'; import { ContextFormChip } from 'component/context/ContectFormChip/ContextFormChip'; import { ContextFormChipList } from 'component/context/ContectFormChip/ContextFormChipList'; import { ContextFieldUsage } from '../ContextFieldUsage/ContextFieldUsage'; diff --git a/frontend/src/component/context/ContextList/AddContextButton.tsx b/frontend/src/component/context/ContextList/AddContextButton.tsx index 6875d3413b3..f8a548559f4 100644 --- a/frontend/src/component/context/ContextList/AddContextButton.tsx +++ b/frontend/src/component/context/ContextList/AddContextButton.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { useNavigate } from 'react-router-dom'; import { useMediaQuery } from '@mui/material'; import Add from '@mui/icons-material/Add'; diff --git a/frontend/src/component/context/ContextList/ContextActionsCell.tsx b/frontend/src/component/context/ContextList/ContextActionsCell.tsx index 9940c3b6a84..3aee67a8a1f 100644 --- a/frontend/src/component/context/ContextList/ContextActionsCell.tsx +++ b/frontend/src/component/context/ContextList/ContextActionsCell.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { useNavigate } from 'react-router-dom'; import Delete from '@mui/icons-material/Delete'; import Edit from '@mui/icons-material/Edit'; diff --git a/frontend/src/component/context/ContextList/ContextList/ContextList.tsx b/frontend/src/component/context/ContextList/ContextList/ContextList.tsx index 09426c7f765..e2e5a7cf5a9 100644 --- a/frontend/src/component/context/ContextList/ContextList/ContextList.tsx +++ b/frontend/src/component/context/ContextList/ContextList/ContextList.tsx @@ -1,4 +1,4 @@ -import { useMemo, useState, VFC } from 'react'; +import { useMemo, useState, type VFC } from 'react'; import { useGlobalFilter, useSortBy, useTable } from 'react-table'; import { Table, diff --git a/frontend/src/component/context/ContextList/UsedInCell.tsx b/frontend/src/component/context/ContextList/UsedInCell.tsx index 57da85dfdec..f1ebe2f134b 100644 --- a/frontend/src/component/context/ContextList/UsedInCell.tsx +++ b/frontend/src/component/context/ContextList/UsedInCell.tsx @@ -1,8 +1,8 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; import theme from 'themes/theme'; import { Box } from '@mui/material'; -import { IUnleashContextDefinition } from 'interfaces/context'; +import type { IUnleashContextDefinition } from 'interfaces/context'; interface IUsedInCellProps { original: IUnleashContextDefinition; diff --git a/frontend/src/component/context/hooks/useContextForm.ts b/frontend/src/component/context/hooks/useContextForm.ts index dbd3d8a19bc..8db78405c48 100644 --- a/frontend/src/component/context/hooks/useContextForm.ts +++ b/frontend/src/component/context/hooks/useContextForm.ts @@ -1,6 +1,6 @@ import { useEffect, useState } from 'react'; import useContextsApi from 'hooks/api/actions/useContextsApi/useContextsApi'; -import { ILegalValue } from 'interfaces/context'; +import type { ILegalValue } from 'interfaces/context'; import { formatUnknownError } from 'utils/formatUnknownError'; export const useContextForm = ( diff --git a/frontend/src/component/demo/DemoDialog/DemoDialog.tsx b/frontend/src/component/demo/DemoDialog/DemoDialog.tsx index 834e609839f..2242a36e1fe 100644 --- a/frontend/src/component/demo/DemoDialog/DemoDialog.tsx +++ b/frontend/src/component/demo/DemoDialog/DemoDialog.tsx @@ -1,6 +1,6 @@ import { Dialog, - DialogProps, + type DialogProps, IconButton, Typography, styled, diff --git a/frontend/src/component/demo/DemoSteps/DemoStepTooltip/DemoStepTooltip.tsx b/frontend/src/component/demo/DemoSteps/DemoStepTooltip/DemoStepTooltip.tsx index 545241fe5c1..84c819b7c69 100644 --- a/frontend/src/component/demo/DemoSteps/DemoStepTooltip/DemoStepTooltip.tsx +++ b/frontend/src/component/demo/DemoSteps/DemoStepTooltip/DemoStepTooltip.tsx @@ -7,8 +7,11 @@ import { styled, } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { ITutorialTopic, ITutorialTopicStep } from 'component/demo/demo-topics'; -import { TooltipRenderProps } from 'react-joyride'; +import type { + ITutorialTopic, + ITutorialTopicStep, +} from 'component/demo/demo-topics'; +import type { TooltipRenderProps } from 'react-joyride'; import CloseIcon from '@mui/icons-material/Close'; const StyledDialog = styled(Dialog)(({ theme }) => ({ diff --git a/frontend/src/component/demo/DemoSteps/DemoSteps.tsx b/frontend/src/component/demo/DemoSteps/DemoSteps.tsx index bb318e3218f..7e51695b7a1 100644 --- a/frontend/src/component/demo/DemoSteps/DemoSteps.tsx +++ b/frontend/src/component/demo/DemoSteps/DemoSteps.tsx @@ -1,10 +1,10 @@ import Joyride, { ACTIONS, - CallBackProps, - TooltipRenderProps, + type CallBackProps, + type TooltipRenderProps, } from 'react-joyride'; import { useTheme } from '@mui/material'; -import { ITutorialTopic, ITutorialTopicStep } from '../demo-topics'; +import type { ITutorialTopic, ITutorialTopicStep } from '../demo-topics'; import { useEffect, useState } from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; import { DemoStepTooltip } from './DemoStepTooltip/DemoStepTooltip'; diff --git a/frontend/src/component/demo/DemoTopics/DemoTopics.tsx b/frontend/src/component/demo/DemoTopics/DemoTopics.tsx index 671057acd0f..c1c6552e552 100644 --- a/frontend/src/component/demo/DemoTopics/DemoTopics.tsx +++ b/frontend/src/component/demo/DemoTopics/DemoTopics.tsx @@ -12,7 +12,7 @@ import { import CheckCircle from '@mui/icons-material/CheckCircle'; import CircleOutlined from '@mui/icons-material/CircleOutlined'; import ExpandMore from '@mui/icons-material/ExpandMore'; -import { ITutorialTopic } from '../demo-topics'; +import type { ITutorialTopic } from '../demo-topics'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ReactComponent as StarsIcon } from 'assets/img/stars.svg'; diff --git a/frontend/src/component/demo/demo-setup.ts b/frontend/src/component/demo/demo-setup.ts index be0c9051dc9..dfecfd26a70 100644 --- a/frontend/src/component/demo/demo-setup.ts +++ b/frontend/src/component/demo/demo-setup.ts @@ -1,5 +1,5 @@ -import { IUnleashContextDefinition } from 'interfaces/context'; -import { IFeatureToggle } from 'interfaces/featureToggle'; +import type { IUnleashContextDefinition } from 'interfaces/context'; +import type { IFeatureToggle } from 'interfaces/featureToggle'; import { formatApiPath } from 'utils/formatPath'; const PROJECT = 'demo-app'; diff --git a/frontend/src/component/demo/demo-topics.tsx b/frontend/src/component/demo/demo-topics.tsx index 442da2002d9..8be85e7e57e 100644 --- a/frontend/src/component/demo/demo-topics.tsx +++ b/frontend/src/component/demo/demo-topics.tsx @@ -1,7 +1,7 @@ -import { Typography, TypographyProps, styled } from '@mui/material'; +import { Typography, type TypographyProps, styled } from '@mui/material'; import InfoOutlinedIcon from '@mui/icons-material/InfoOutlined'; import { Badge } from 'component/common/Badge/Badge'; -import { Step } from 'react-joyride'; +import type { Step } from 'react-joyride'; import { specificUser, gradualRollout, variants } from './demo-setup'; import { basePath, formatAssetPath } from 'utils/formatPath'; import demoUserId from 'assets/img/demo-userid.png'; diff --git a/frontend/src/component/environments/EnvironmentForm/EnvironmentForm.tsx b/frontend/src/component/environments/EnvironmentForm/EnvironmentForm.tsx index c23c92a37b5..82027fb21c2 100644 --- a/frontend/src/component/environments/EnvironmentForm/EnvironmentForm.tsx +++ b/frontend/src/component/environments/EnvironmentForm/EnvironmentForm.tsx @@ -1,5 +1,5 @@ import { Button, styled } from '@mui/material'; -import React from 'react'; +import type React from 'react'; import Input from 'component/common/Input/Input'; import EnvironmentTypeSelector from './EnvironmentTypeSelector/EnvironmentTypeSelector'; import { trim } from 'component/common/util'; diff --git a/frontend/src/component/environments/EnvironmentForm/EnvironmentTypeSelector/EnvironmentTypeSelector.tsx b/frontend/src/component/environments/EnvironmentForm/EnvironmentTypeSelector/EnvironmentTypeSelector.tsx index 75be35ba017..60f73f2c8c5 100644 --- a/frontend/src/component/environments/EnvironmentForm/EnvironmentTypeSelector/EnvironmentTypeSelector.tsx +++ b/frontend/src/component/environments/EnvironmentForm/EnvironmentTypeSelector/EnvironmentTypeSelector.tsx @@ -5,7 +5,7 @@ import { RadioGroup, styled, } from '@mui/material'; -import React from 'react'; +import type React from 'react'; interface IEnvironmentTypeSelectorProps { onChange: (event: React.FormEvent) => void; diff --git a/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentActionCell.tsx b/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentActionCell.tsx index ec190151be0..860178bdf83 100644 --- a/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentActionCell.tsx +++ b/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentActionCell.tsx @@ -1,7 +1,7 @@ import { ActionCell } from 'component/common/Table/cells/ActionCell/ActionCell'; import { useNavigate } from 'react-router-dom'; import { useState } from 'react'; -import { IEnvironment } from 'interfaces/environments'; +import type { IEnvironment } from 'interfaces/environments'; import { formatUnknownError } from 'utils/formatUnknownError'; import useEnvironmentApi from 'hooks/api/actions/useEnvironmentApi/useEnvironmentApi'; import usePermissions from 'hooks/api/getters/usePermissions/usePermissions'; @@ -9,7 +9,7 @@ import { useEnvironments } from 'hooks/api/getters/useEnvironments/useEnvironmen import useToast from 'hooks/useToast'; import { EnvironmentActionCellPopover } from './EnvironmentActionCellPopover/EnvironmentActionCellPopover'; import { EnvironmentCloneModal } from './EnvironmentCloneModal/EnvironmentCloneModal'; -import { IApiToken } from 'hooks/api/getters/useApiTokens/useApiTokens'; +import type { IApiToken } from 'hooks/api/getters/useApiTokens/useApiTokens'; import { EnvironmentTokenDialog } from './EnvironmentTokenDialog/EnvironmentTokenDialog'; import { ENV_LIMIT } from 'constants/values'; import { EnvironmentDeprecateToggleDialog } from './EnvironmentDeprecateToggleDialog/EnvironmentDeprecateToggleDialog'; diff --git a/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentActionCellPopover/EnvironmentActionCellPopover.tsx b/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentActionCellPopover/EnvironmentActionCellPopover.tsx index 10aab78df73..77b645b1e21 100644 --- a/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentActionCellPopover/EnvironmentActionCellPopover.tsx +++ b/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentActionCellPopover/EnvironmentActionCellPopover.tsx @@ -11,7 +11,7 @@ import { } from '@mui/material'; import MoreVertIcon from '@mui/icons-material/MoreVert'; import { useState } from 'react'; -import { IEnvironment } from 'interfaces/environments'; +import type { IEnvironment } from 'interfaces/environments'; import { PermissionHOC } from 'component/common/PermissionHOC/PermissionHOC'; import { ADMIN, diff --git a/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentCloneModal/EnvironmentCloneModal.tsx b/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentCloneModal/EnvironmentCloneModal.tsx index 626c0bda29e..f3782c739ea 100644 --- a/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentCloneModal/EnvironmentCloneModal.tsx +++ b/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentCloneModal/EnvironmentCloneModal.tsx @@ -12,10 +12,10 @@ import FormTemplate from 'component/common/FormTemplate/FormTemplate'; import { SidebarModal } from 'component/common/SidebarModal/SidebarModal'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import useToast from 'hooks/useToast'; -import { FormEvent, useEffect, useState } from 'react'; +import { type FormEvent, useEffect, useState } from 'react'; import { formatUnknownError } from 'utils/formatUnknownError'; import Input from 'component/common/Input/Input'; -import { +import type { IEnvironment, IEnvironmentClonePayload, } from 'interfaces/environments'; @@ -27,9 +27,9 @@ import { EnvironmentProjectSelect } from './EnvironmentProjectSelect/Environment import { SelectProjectInput } from 'component/admin/apiToken/ApiTokenForm/ProjectSelector/SelectProjectInput/SelectProjectInput'; import useProjects from 'hooks/api/getters/useProjects/useProjects'; import useApiTokensApi, { - IApiTokenCreate, + type IApiTokenCreate, } from 'hooks/api/actions/useApiTokensApi/useApiTokensApi'; -import { IApiToken } from 'hooks/api/getters/useApiTokens/useApiTokens'; +import type { IApiToken } from 'hooks/api/getters/useApiTokens/useApiTokens'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; const StyledForm = styled('form')(() => ({ diff --git a/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentCloneModal/EnvironmentProjectSelect/EnvironmentProjectSelect.tsx b/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentCloneModal/EnvironmentProjectSelect/EnvironmentProjectSelect.tsx index 9e6d1c3cbf0..d3280263850 100644 --- a/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentCloneModal/EnvironmentProjectSelect/EnvironmentProjectSelect.tsx +++ b/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentCloneModal/EnvironmentProjectSelect/EnvironmentProjectSelect.tsx @@ -1,6 +1,6 @@ import { Autocomplete, - AutocompleteRenderGroupParams, + type AutocompleteRenderGroupParams, Checkbox, styled, TextField, diff --git a/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentDeleteDialog/EnvironmentDeleteDialog.tsx b/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentDeleteDialog/EnvironmentDeleteDialog.tsx index 187656172f3..76a6ddf272d 100644 --- a/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentDeleteDialog/EnvironmentDeleteDialog.tsx +++ b/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentDeleteDialog/EnvironmentDeleteDialog.tsx @@ -1,6 +1,7 @@ import { styled, Alert } from '@mui/material'; -import React, { useEffect, useState } from 'react'; -import { IEnvironment } from 'interfaces/environments'; +import type React from 'react'; +import { useEffect, useState } from 'react'; +import type { IEnvironment } from 'interfaces/environments'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import Input from 'component/common/Input/Input'; import { EnvironmentTableSingle } from 'component/environments/EnvironmentTable/EnvironmentTableSingle'; diff --git a/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentDeprecateToggleDialog/EnvironmentDeprecateToggleDialog.tsx b/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentDeprecateToggleDialog/EnvironmentDeprecateToggleDialog.tsx index ea0a8ea67f3..a57c469949b 100644 --- a/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentDeprecateToggleDialog/EnvironmentDeprecateToggleDialog.tsx +++ b/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentDeprecateToggleDialog/EnvironmentDeprecateToggleDialog.tsx @@ -1,6 +1,6 @@ import { Alert } from '@mui/material'; -import React from 'react'; -import { IEnvironment } from 'interfaces/environments'; +import type React from 'react'; +import type { IEnvironment } from 'interfaces/environments'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { EnvironmentTableSingle } from 'component/environments/EnvironmentTable/EnvironmentTableSingle'; diff --git a/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentTokenDialog/EnvironmentTokenDialog.tsx b/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentTokenDialog/EnvironmentTokenDialog.tsx index 21502ab5212..9b3e0759801 100644 --- a/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentTokenDialog/EnvironmentTokenDialog.tsx +++ b/frontend/src/component/environments/EnvironmentTable/EnvironmentActionCell/EnvironmentTokenDialog/EnvironmentTokenDialog.tsx @@ -1,7 +1,7 @@ import { Typography } from '@mui/material'; import { UserToken } from 'component/admin/apiToken/ConfirmToken/UserToken/UserToken'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; -import { IApiToken } from 'hooks/api/getters/useApiTokens/useApiTokens'; +import type { IApiToken } from 'hooks/api/getters/useApiTokens/useApiTokens'; import { Link } from 'react-router-dom'; interface IEnvironmentTokenDialogProps { diff --git a/frontend/src/component/environments/EnvironmentTable/EnvironmentIconCell/EnvironmentIconCell.tsx b/frontend/src/component/environments/EnvironmentTable/EnvironmentIconCell/EnvironmentIconCell.tsx index 7228dc921d4..970a5795eaf 100644 --- a/frontend/src/component/environments/EnvironmentTable/EnvironmentIconCell/EnvironmentIconCell.tsx +++ b/frontend/src/component/environments/EnvironmentTable/EnvironmentIconCell/EnvironmentIconCell.tsx @@ -1,9 +1,9 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { styled } from '@mui/material'; import { Box, IconButton } from '@mui/material'; import CloudCircle from '@mui/icons-material/CloudCircle'; import DragIndicator from '@mui/icons-material/DragIndicator'; -import { IEnvironment } from 'interfaces/environments'; +import type { IEnvironment } from 'interfaces/environments'; const StyledCell = styled(Box)(({ theme }) => ({ display: 'flex', diff --git a/frontend/src/component/environments/EnvironmentTable/EnvironmentNameCell/EnvironmentNameCell.tsx b/frontend/src/component/environments/EnvironmentTable/EnvironmentNameCell/EnvironmentNameCell.tsx index 116668b8412..f93712e0f45 100644 --- a/frontend/src/component/environments/EnvironmentTable/EnvironmentNameCell/EnvironmentNameCell.tsx +++ b/frontend/src/component/environments/EnvironmentTable/EnvironmentNameCell/EnvironmentNameCell.tsx @@ -1,5 +1,5 @@ import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; -import { IEnvironment } from 'interfaces/environments'; +import type { IEnvironment } from 'interfaces/environments'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { Badge } from 'component/common/Badge/Badge'; import { Highlighter } from 'component/common/Highlighter/Highlighter'; diff --git a/frontend/src/component/environments/EnvironmentTable/EnvironmentRow/EnvironmentRow.tsx b/frontend/src/component/environments/EnvironmentTable/EnvironmentRow/EnvironmentRow.tsx index 3945c63e4b0..b5b422e8817 100644 --- a/frontend/src/component/environments/EnvironmentTable/EnvironmentRow/EnvironmentRow.tsx +++ b/frontend/src/component/environments/EnvironmentTable/EnvironmentRow/EnvironmentRow.tsx @@ -1,11 +1,11 @@ -import { MoveListItem, useDragItem } from 'hooks/useDragItem'; -import { Row } from 'react-table'; +import { type MoveListItem, useDragItem } from 'hooks/useDragItem'; +import type { Row } from 'react-table'; import { styled, TableRow } from '@mui/material'; import { TableCell } from 'component/common/Table'; import { useSearchHighlightContext } from 'component/common/Table/SearchHighlightContext/SearchHighlightContext'; import { UPDATE_ENVIRONMENT } from 'component/providers/AccessProvider/permissions'; import AccessContext from 'contexts/AccessContext'; -import { ForwardedRef, useContext, useRef } from 'react'; +import { type ForwardedRef, useContext, useRef } from 'react'; const StyledTableRow = styled(TableRow)(() => ({ '&:hover': { diff --git a/frontend/src/component/environments/EnvironmentTable/EnvironmentTable.tsx b/frontend/src/component/environments/EnvironmentTable/EnvironmentTable.tsx index d5378a9a9de..f53ba352920 100644 --- a/frontend/src/component/environments/EnvironmentTable/EnvironmentTable.tsx +++ b/frontend/src/component/environments/EnvironmentTable/EnvironmentTable.tsx @@ -11,7 +11,7 @@ import { import { useCallback } from 'react'; import { SearchHighlightProvider } from 'component/common/Table/SearchHighlightContext/SearchHighlightContext'; import { Alert, styled, TableBody } from '@mui/material'; -import { MoveListItem } from 'hooks/useDragItem'; +import type { MoveListItem } from 'hooks/useDragItem'; import useToast from 'hooks/useToast'; import useEnvironmentApi, { createSortOrderPayload, @@ -25,7 +25,7 @@ import { EnvironmentIconCell } from './EnvironmentIconCell/EnvironmentIconCell'; import { Search } from 'component/common/Search/Search'; import { HighlightCell } from 'component/common/Table/cells/HighlightCell/HighlightCell'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; -import { IEnvironment } from 'interfaces/environments'; +import type { IEnvironment } from 'interfaces/environments'; const StyledAlert = styled(Alert)(({ theme }) => ({ marginBottom: theme.spacing(4), diff --git a/frontend/src/component/environments/EnvironmentTable/EnvironmentTableSingle.tsx b/frontend/src/component/environments/EnvironmentTable/EnvironmentTableSingle.tsx index eabaebfa493..1db478e6654 100644 --- a/frontend/src/component/environments/EnvironmentTable/EnvironmentTableSingle.tsx +++ b/frontend/src/component/environments/EnvironmentTable/EnvironmentTableSingle.tsx @@ -1,5 +1,5 @@ import { styled, TableBody, TableRow } from '@mui/material'; -import { IEnvironment } from 'interfaces/environments'; +import type { IEnvironment } from 'interfaces/environments'; import { useTable } from 'react-table'; import { SortableTableHeader, Table, TableCell } from 'component/common/Table'; import { EnvironmentIconCell } from 'component/environments/EnvironmentTable/EnvironmentIconCell/EnvironmentIconCell'; diff --git a/frontend/src/component/events/EventCard/EventCard.tsx b/frontend/src/component/events/EventCard/EventCard.tsx index d924572df3b..0a59ad530b1 100644 --- a/frontend/src/component/events/EventCard/EventCard.tsx +++ b/frontend/src/component/events/EventCard/EventCard.tsx @@ -1,6 +1,6 @@ import EventDiff from 'component/events/EventDiff/EventDiff'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { IEvent } from 'interfaces/event'; +import type { IEvent } from 'interfaces/event'; import { useLocationSettings } from 'hooks/useLocationSettings'; import { formatDateYMDHMS } from 'utils/formatDate'; import { Link } from 'react-router-dom'; diff --git a/frontend/src/component/events/EventDiff/EventDiff.tsx b/frontend/src/component/events/EventDiff/EventDiff.tsx index 04447722dc1..bdf0fb4b110 100644 --- a/frontend/src/component/events/EventDiff/EventDiff.tsx +++ b/frontend/src/component/events/EventDiff/EventDiff.tsx @@ -1,7 +1,7 @@ import { diff } from 'deep-diff'; -import { IEvent } from 'interfaces/event'; +import type { IEvent } from 'interfaces/event'; import { useTheme } from '@mui/system'; -import { JSX, CSSProperties } from 'react'; +import type { JSX, CSSProperties } from 'react'; const DIFF_PREFIXES: Record = { A: ' ', diff --git a/frontend/src/component/events/EventJson/EventJson.tsx b/frontend/src/component/events/EventJson/EventJson.tsx index eabeef49f2f..f83bda96920 100644 --- a/frontend/src/component/events/EventJson/EventJson.tsx +++ b/frontend/src/component/events/EventJson/EventJson.tsx @@ -1,4 +1,4 @@ -import { IEvent } from 'interfaces/event'; +import type { IEvent } from 'interfaces/event'; import { styled } from '@mui/material'; interface IEventJsonProps { diff --git a/frontend/src/component/events/EventLog/EventLog.tsx b/frontend/src/component/events/EventLog/EventLog.tsx index 5064ba05cce..dd096134aec 100644 --- a/frontend/src/component/events/EventLog/EventLog.tsx +++ b/frontend/src/component/events/EventLog/EventLog.tsx @@ -10,7 +10,7 @@ import theme from 'themes/theme'; import { useEventSearch } from 'hooks/api/getters/useEventSearch/useEventSearch'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { useOnVisible } from 'hooks/useOnVisible'; -import { IEvent } from 'interfaces/event'; +import type { IEvent } from 'interfaces/event'; import { styled } from '@mui/system'; interface IEventLogProps { diff --git a/frontend/src/component/executiveDashboard/ExecutiveDashboard.tsx b/frontend/src/component/executiveDashboard/ExecutiveDashboard.tsx index 427a9780dba..89c0664bd51 100644 --- a/frontend/src/component/executiveDashboard/ExecutiveDashboard.tsx +++ b/frontend/src/component/executiveDashboard/ExecutiveDashboard.tsx @@ -1,4 +1,4 @@ -import { useState, VFC } from 'react'; +import { useState, type VFC } from 'react'; import { Box, styled } from '@mui/material'; import { ArrayParam, withDefault } from 'use-query-params'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/executiveDashboard/components/DashboardHeader/DashboardHeader.tsx b/frontend/src/component/executiveDashboard/components/DashboardHeader/DashboardHeader.tsx index 2ee3f9560dc..b342c61e4cf 100644 --- a/frontend/src/component/executiveDashboard/components/DashboardHeader/DashboardHeader.tsx +++ b/frontend/src/component/executiveDashboard/components/DashboardHeader/DashboardHeader.tsx @@ -1,4 +1,4 @@ -import { ReactNode, VFC } from 'react'; +import type { ReactNode, VFC } from 'react'; import { useUiFlag } from 'hooks/useUiFlag'; import { useFeedback } from 'component/feedbackNew/useFeedback'; import ReviewsOutlined from '@mui/icons-material/ReviewsOutlined'; diff --git a/frontend/src/component/executiveDashboard/components/DashboardHeader/ShareLink/ShareLink.tsx b/frontend/src/component/executiveDashboard/components/DashboardHeader/ShareLink/ShareLink.tsx index 2d9053278e4..708cf8c3738 100644 --- a/frontend/src/component/executiveDashboard/components/DashboardHeader/ShareLink/ShareLink.tsx +++ b/frontend/src/component/executiveDashboard/components/DashboardHeader/ShareLink/ShareLink.tsx @@ -1,4 +1,4 @@ -import { VFC, useEffect, useState } from 'react'; +import { type VFC, useEffect, useState } from 'react'; import Share from '@mui/icons-material/Share'; import { Box, Button, Typography } from '@mui/material'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; diff --git a/frontend/src/component/executiveDashboard/components/Gauge/Gauge.tsx b/frontend/src/component/executiveDashboard/components/Gauge/Gauge.tsx index 17867b51e32..def392ceda8 100644 --- a/frontend/src/component/executiveDashboard/components/Gauge/Gauge.tsx +++ b/frontend/src/component/executiveDashboard/components/Gauge/Gauge.tsx @@ -1,4 +1,4 @@ -import { Fragment, VFC } from 'react'; +import { Fragment, type VFC } from 'react'; import { Box, useTheme } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/executiveDashboard/components/HorizontalDistributionChart/HorizontalDistributionChart.tsx b/frontend/src/component/executiveDashboard/components/HorizontalDistributionChart/HorizontalDistributionChart.tsx index 06b0d218603..5a1749dbb91 100644 --- a/frontend/src/component/executiveDashboard/components/HorizontalDistributionChart/HorizontalDistributionChart.tsx +++ b/frontend/src/component/executiveDashboard/components/HorizontalDistributionChart/HorizontalDistributionChart.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { Box, styled } from '@mui/material'; type DistributionLineTypes = 'default' | 'success' | 'warning' | 'error'; diff --git a/frontend/src/component/executiveDashboard/components/LineChart/ChartTooltip/ChartTooltip.tsx b/frontend/src/component/executiveDashboard/components/LineChart/ChartTooltip/ChartTooltip.tsx index d0c0732d3d7..22cc719e302 100644 --- a/frontend/src/component/executiveDashboard/components/LineChart/ChartTooltip/ChartTooltip.tsx +++ b/frontend/src/component/executiveDashboard/components/LineChart/ChartTooltip/ChartTooltip.tsx @@ -1,6 +1,6 @@ import { Box, Paper, styled, Typography } from '@mui/material'; -import { TooltipItem } from 'chart.js'; -import { FC, VFC } from 'react'; +import type { TooltipItem } from 'chart.js'; +import type { FC, VFC } from 'react'; import { objectId } from 'utils/objectId'; export type TooltipState = { diff --git a/frontend/src/component/executiveDashboard/components/LineChart/LineChart.tsx b/frontend/src/component/executiveDashboard/components/LineChart/LineChart.tsx index d55d4469fdf..7a11da07f92 100644 --- a/frontend/src/component/executiveDashboard/components/LineChart/LineChart.tsx +++ b/frontend/src/component/executiveDashboard/components/LineChart/LineChart.tsx @@ -1,5 +1,5 @@ import { lazy } from 'react'; -import { type ScriptableContext } from 'chart.js'; +import type { ScriptableContext } from 'chart.js'; import { Typography } from '@mui/material'; export const LineChart = lazy(() => import('./LineChartComponent')); diff --git a/frontend/src/component/executiveDashboard/components/LineChart/LineChartComponent.tsx b/frontend/src/component/executiveDashboard/components/LineChart/LineChartComponent.tsx index 3f23d028190..0fe5f8aef24 100644 --- a/frontend/src/component/executiveDashboard/components/LineChart/LineChartComponent.tsx +++ b/frontend/src/component/executiveDashboard/components/LineChart/LineChartComponent.tsx @@ -19,7 +19,7 @@ import { useLocationSettings } from 'hooks/useLocationSettings'; import { ChartTooltip, ChartTooltipContainer, - TooltipState, + type TooltipState, } from './ChartTooltip/ChartTooltip'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { styled } from '@mui/material'; diff --git a/frontend/src/component/executiveDashboard/components/LineChart/createChartOptions.ts b/frontend/src/component/executiveDashboard/components/LineChart/createChartOptions.ts index 607765eeb9a..e4e101a644a 100644 --- a/frontend/src/component/executiveDashboard/components/LineChart/createChartOptions.ts +++ b/frontend/src/component/executiveDashboard/components/LineChart/createChartOptions.ts @@ -1,6 +1,6 @@ -import { Theme } from '@mui/material'; -import { ILocationSettings } from 'hooks/useLocationSettings'; -import { TooltipState } from './ChartTooltip/ChartTooltip'; +import type { Theme } from '@mui/material'; +import type { ILocationSettings } from 'hooks/useLocationSettings'; +import type { TooltipState } from './ChartTooltip/ChartTooltip'; import { createTooltip } from './createTooltip'; import { legendOptions } from './legendOptions'; diff --git a/frontend/src/component/executiveDashboard/components/LineChart/createTooltip.ts b/frontend/src/component/executiveDashboard/components/LineChart/createTooltip.ts index 6bdf661ad1d..83bb59644fb 100644 --- a/frontend/src/component/executiveDashboard/components/LineChart/createTooltip.ts +++ b/frontend/src/component/executiveDashboard/components/LineChart/createTooltip.ts @@ -1,5 +1,5 @@ -import { type Chart, type TooltipModel } from 'chart.js'; -import { type TooltipState } from './ChartTooltip/ChartTooltip'; +import type { Chart, TooltipModel } from 'chart.js'; +import type { TooltipState } from './ChartTooltip/ChartTooltip'; export const createTooltip = (setTooltip: React.Dispatch>) => diff --git a/frontend/src/component/executiveDashboard/components/LineChart/legendOptions.ts b/frontend/src/component/executiveDashboard/components/LineChart/legendOptions.ts index 9accee5c4cd..2ecdb9156b5 100644 --- a/frontend/src/component/executiveDashboard/components/LineChart/legendOptions.ts +++ b/frontend/src/component/executiveDashboard/components/LineChart/legendOptions.ts @@ -1,4 +1,4 @@ -import { Chart } from 'chart.js'; +import type { Chart } from 'chart.js'; export const legendOptions = { position: 'bottom', diff --git a/frontend/src/component/executiveDashboard/components/Widget/Widget.tsx b/frontend/src/component/executiveDashboard/components/Widget/Widget.tsx index ad4d47c2f6d..d7b8499f93d 100644 --- a/frontend/src/component/executiveDashboard/components/Widget/Widget.tsx +++ b/frontend/src/component/executiveDashboard/components/Widget/Widget.tsx @@ -1,8 +1,8 @@ -import { FC, ReactNode } from 'react'; -import { Paper, Typography, styled, SxProps } from '@mui/material'; +import type { FC, ReactNode } from 'react'; +import { Paper, Typography, styled, type SxProps } from '@mui/material'; import { HelpIcon } from 'component/common/HelpIcon/HelpIcon'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { Theme } from '@mui/material/styles/createTheme'; +import type { Theme } from '@mui/material/styles/createTheme'; import InfoOutlined from '@mui/icons-material/InfoOutlined'; const StyledPaper = styled(Paper)(({ theme }) => ({ diff --git a/frontend/src/component/executiveDashboard/componentsChart/FlagsChart/FlagsChart.tsx b/frontend/src/component/executiveDashboard/componentsChart/FlagsChart/FlagsChart.tsx index 254ce2ee4e6..0ef77bc6527 100644 --- a/frontend/src/component/executiveDashboard/componentsChart/FlagsChart/FlagsChart.tsx +++ b/frontend/src/component/executiveDashboard/componentsChart/FlagsChart/FlagsChart.tsx @@ -1,7 +1,7 @@ import { useMemo, type VFC } from 'react'; import 'chartjs-adapter-date-fns'; import { useTheme } from '@mui/material'; -import { ExecutiveSummarySchema } from 'openapi'; +import type { ExecutiveSummarySchema } from 'openapi'; import { LineChart, NotEnoughData } from '../../components/LineChart/LineChart'; import { usePlaceholderData } from 'component/executiveDashboard/hooks/usePlaceholderData'; diff --git a/frontend/src/component/executiveDashboard/componentsChart/FlagsProjectChart/FlagsProjectChart.tsx b/frontend/src/component/executiveDashboard/componentsChart/FlagsProjectChart/FlagsProjectChart.tsx index 11f419a319e..5b5bc26ca2a 100644 --- a/frontend/src/component/executiveDashboard/componentsChart/FlagsProjectChart/FlagsProjectChart.tsx +++ b/frontend/src/component/executiveDashboard/componentsChart/FlagsProjectChart/FlagsProjectChart.tsx @@ -1,10 +1,10 @@ import { useMemo, type VFC } from 'react'; import 'chartjs-adapter-date-fns'; -import { ExecutiveSummarySchema } from 'openapi'; +import type { ExecutiveSummarySchema } from 'openapi'; import { LineChart, NotEnoughData } from '../../components/LineChart/LineChart'; import { useProjectChartData } from 'component/executiveDashboard/hooks/useProjectChartData'; import { usePlaceholderData } from 'component/executiveDashboard/hooks/usePlaceholderData'; -import { GroupedDataByProject } from '../../hooks/useGroupedProjectTrends'; +import type { GroupedDataByProject } from '../../hooks/useGroupedProjectTrends'; interface IFlagsProjectChartProps { projectFlagTrends: GroupedDataByProject< diff --git a/frontend/src/component/executiveDashboard/componentsChart/MetricsSummaryChart/MetricsChartTooltip/MetricsChartTooltip.tsx b/frontend/src/component/executiveDashboard/componentsChart/MetricsSummaryChart/MetricsChartTooltip/MetricsChartTooltip.tsx index 974f3b2dc65..5d3e4fae97e 100644 --- a/frontend/src/component/executiveDashboard/componentsChart/MetricsSummaryChart/MetricsChartTooltip/MetricsChartTooltip.tsx +++ b/frontend/src/component/executiveDashboard/componentsChart/MetricsSummaryChart/MetricsChartTooltip/MetricsChartTooltip.tsx @@ -1,7 +1,7 @@ -import { type VFC } from 'react'; -import { ExecutiveSummarySchemaMetricsSummaryTrendsItem } from 'openapi'; +import type { VFC } from 'react'; +import type { ExecutiveSummarySchemaMetricsSummaryTrendsItem } from 'openapi'; import { Box, Divider, Paper, styled, Typography } from '@mui/material'; -import { TooltipState } from '../../../components/LineChart/ChartTooltip/ChartTooltip'; +import type { TooltipState } from '../../../components/LineChart/ChartTooltip/ChartTooltip'; const StyledTooltipItemContainer = styled(Paper)(({ theme }) => ({ padding: theme.spacing(2), diff --git a/frontend/src/component/executiveDashboard/componentsChart/MetricsSummaryChart/MetricsSummaryChart.tsx b/frontend/src/component/executiveDashboard/componentsChart/MetricsSummaryChart/MetricsSummaryChart.tsx index 0d887cf3bb3..984720c6427 100644 --- a/frontend/src/component/executiveDashboard/componentsChart/MetricsSummaryChart/MetricsSummaryChart.tsx +++ b/frontend/src/component/executiveDashboard/componentsChart/MetricsSummaryChart/MetricsSummaryChart.tsx @@ -1,11 +1,11 @@ import { useMemo, type VFC } from 'react'; import 'chartjs-adapter-date-fns'; -import { ExecutiveSummarySchema } from 'openapi'; +import type { ExecutiveSummarySchema } from 'openapi'; import { LineChart, NotEnoughData } from '../../components/LineChart/LineChart'; import { MetricsSummaryTooltip } from './MetricsChartTooltip/MetricsChartTooltip'; import { useMetricsSummary } from '../../hooks/useMetricsSummary'; import { usePlaceholderData } from 'component/executiveDashboard/hooks/usePlaceholderData'; -import { GroupedDataByProject } from '../../hooks/useGroupedProjectTrends'; +import type { GroupedDataByProject } from '../../hooks/useGroupedProjectTrends'; interface IMetricsSummaryChartProps { metricsSummaryTrends: GroupedDataByProject< diff --git a/frontend/src/component/executiveDashboard/componentsChart/ProjectHealthChart/HealthChartTooltip/HealthChartTooltip.tsx b/frontend/src/component/executiveDashboard/componentsChart/ProjectHealthChart/HealthChartTooltip/HealthChartTooltip.tsx index 22dfa040604..f9219e521e5 100644 --- a/frontend/src/component/executiveDashboard/componentsChart/ProjectHealthChart/HealthChartTooltip/HealthChartTooltip.tsx +++ b/frontend/src/component/executiveDashboard/componentsChart/ProjectHealthChart/HealthChartTooltip/HealthChartTooltip.tsx @@ -1,8 +1,8 @@ -import { type VFC } from 'react'; -import { type ExecutiveSummarySchemaProjectFlagTrendsItem } from 'openapi'; +import type { VFC } from 'react'; +import type { ExecutiveSummarySchemaProjectFlagTrendsItem } from 'openapi'; import { Box, Divider, Paper, Typography, styled } from '@mui/material'; import { Badge } from 'component/common/Badge/Badge'; -import { TooltipState } from '../../../components/LineChart/ChartTooltip/ChartTooltip'; +import type { TooltipState } from '../../../components/LineChart/ChartTooltip/ChartTooltip'; import { HorizontalDistributionChart } from '../../../components/HorizontalDistributionChart/HorizontalDistributionChart'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/executiveDashboard/componentsChart/ProjectHealthChart/ProjectHealthChart.tsx b/frontend/src/component/executiveDashboard/componentsChart/ProjectHealthChart/ProjectHealthChart.tsx index 3bd3485307a..392ebba141f 100644 --- a/frontend/src/component/executiveDashboard/componentsChart/ProjectHealthChart/ProjectHealthChart.tsx +++ b/frontend/src/component/executiveDashboard/componentsChart/ProjectHealthChart/ProjectHealthChart.tsx @@ -1,6 +1,6 @@ import 'chartjs-adapter-date-fns'; import { useMemo, type VFC } from 'react'; -import { type ExecutiveSummarySchema } from 'openapi'; +import type { ExecutiveSummarySchema } from 'openapi'; import { HealthTooltip } from './HealthChartTooltip/HealthChartTooltip'; import { useProjectChartData } from 'component/executiveDashboard/hooks/useProjectChartData'; import { @@ -8,7 +8,7 @@ import { NotEnoughData, } from 'component/executiveDashboard/components/LineChart/LineChart'; import { useTheme } from '@mui/material'; -import { GroupedDataByProject } from '../../hooks/useGroupedProjectTrends'; +import type { GroupedDataByProject } from '../../hooks/useGroupedProjectTrends'; interface IProjectHealthChartProps { projectFlagTrends: GroupedDataByProject< diff --git a/frontend/src/component/executiveDashboard/componentsChart/TimeToProductionChart/TimeToProductionChart.tsx b/frontend/src/component/executiveDashboard/componentsChart/TimeToProductionChart/TimeToProductionChart.tsx index c3b95b5d603..9b4a305c43b 100644 --- a/frontend/src/component/executiveDashboard/componentsChart/TimeToProductionChart/TimeToProductionChart.tsx +++ b/frontend/src/component/executiveDashboard/componentsChart/TimeToProductionChart/TimeToProductionChart.tsx @@ -1,9 +1,9 @@ import { useMemo, type VFC } from 'react'; import 'chartjs-adapter-date-fns'; -import { ExecutiveSummarySchema } from 'openapi'; +import type { ExecutiveSummarySchema } from 'openapi'; import { LineChart } from '../../components/LineChart/LineChart'; import { useProjectChartData } from '../../hooks/useProjectChartData'; -import { GroupedDataByProject } from '../../hooks/useGroupedProjectTrends'; +import type { GroupedDataByProject } from '../../hooks/useGroupedProjectTrends'; import { usePlaceholderData } from '../../hooks/usePlaceholderData'; import { TimeToProductionTooltip } from './TimeToProductionTooltip/TimeToProductionTooltip'; diff --git a/frontend/src/component/executiveDashboard/componentsChart/TimeToProductionChart/TimeToProductionTooltip/TimeToProductionTooltip.tsx b/frontend/src/component/executiveDashboard/componentsChart/TimeToProductionChart/TimeToProductionTooltip/TimeToProductionTooltip.tsx index 49ce76b8099..20362fb8edb 100644 --- a/frontend/src/component/executiveDashboard/componentsChart/TimeToProductionChart/TimeToProductionTooltip/TimeToProductionTooltip.tsx +++ b/frontend/src/component/executiveDashboard/componentsChart/TimeToProductionChart/TimeToProductionTooltip/TimeToProductionTooltip.tsx @@ -1,8 +1,8 @@ -import { type VFC } from 'react'; -import { type ExecutiveSummarySchemaProjectFlagTrendsItem } from 'openapi'; +import type { VFC } from 'react'; +import type { ExecutiveSummarySchemaProjectFlagTrendsItem } from 'openapi'; import { Box, Paper, Typography, styled } from '@mui/material'; import { Badge } from 'component/common/Badge/Badge'; -import { TooltipState } from '../../../components/LineChart/ChartTooltip/ChartTooltip'; +import type { TooltipState } from '../../../components/LineChart/ChartTooltip/ChartTooltip'; const StyledTooltipItemContainer = styled(Paper)(({ theme }) => ({ padding: theme.spacing(2), diff --git a/frontend/src/component/executiveDashboard/componentsChart/UpdatesPerEnvironmentTypeChart/UpdatesPerEnvironmentTypeChart.tsx b/frontend/src/component/executiveDashboard/componentsChart/UpdatesPerEnvironmentTypeChart/UpdatesPerEnvironmentTypeChart.tsx index 56c42cef877..5e2d7fa8465 100644 --- a/frontend/src/component/executiveDashboard/componentsChart/UpdatesPerEnvironmentTypeChart/UpdatesPerEnvironmentTypeChart.tsx +++ b/frontend/src/component/executiveDashboard/componentsChart/UpdatesPerEnvironmentTypeChart/UpdatesPerEnvironmentTypeChart.tsx @@ -1,7 +1,7 @@ import { useMemo, type VFC } from 'react'; import 'chartjs-adapter-date-fns'; import { useTheme } from '@mui/material'; -import { +import type { ExecutiveSummarySchema, ExecutiveSummarySchemaEnvironmentTypeTrendsItem, } from 'openapi'; diff --git a/frontend/src/component/executiveDashboard/componentsChart/UpdatesPerEnvironmentTypeChart/UpdatesPerEnvironmentTypeChartTooltip/UpdatesPerEnvironmentTypeChartTooltip.tsx b/frontend/src/component/executiveDashboard/componentsChart/UpdatesPerEnvironmentTypeChart/UpdatesPerEnvironmentTypeChartTooltip/UpdatesPerEnvironmentTypeChartTooltip.tsx index ae9d69c9269..8c6c9406cbb 100644 --- a/frontend/src/component/executiveDashboard/componentsChart/UpdatesPerEnvironmentTypeChart/UpdatesPerEnvironmentTypeChartTooltip/UpdatesPerEnvironmentTypeChartTooltip.tsx +++ b/frontend/src/component/executiveDashboard/componentsChart/UpdatesPerEnvironmentTypeChart/UpdatesPerEnvironmentTypeChartTooltip/UpdatesPerEnvironmentTypeChartTooltip.tsx @@ -1,7 +1,7 @@ -import { type VFC } from 'react'; -import { ExecutiveSummarySchemaEnvironmentTypeTrendsItem } from 'openapi'; +import type { VFC } from 'react'; +import type { ExecutiveSummarySchemaEnvironmentTypeTrendsItem } from 'openapi'; import { Box, Divider, Paper, styled, Typography } from '@mui/material'; -import { TooltipState } from '../../../components/LineChart/ChartTooltip/ChartTooltip'; +import type { TooltipState } from '../../../components/LineChart/ChartTooltip/ChartTooltip'; const StyledTooltipItemContainer = styled(Paper)(({ theme }) => ({ padding: theme.spacing(2), diff --git a/frontend/src/component/executiveDashboard/componentsChart/UsersChart/UsersChart.tsx b/frontend/src/component/executiveDashboard/componentsChart/UsersChart/UsersChart.tsx index e7892745c9a..6125704d413 100644 --- a/frontend/src/component/executiveDashboard/componentsChart/UsersChart/UsersChart.tsx +++ b/frontend/src/component/executiveDashboard/componentsChart/UsersChart/UsersChart.tsx @@ -1,7 +1,7 @@ import { useMemo, type VFC } from 'react'; import 'chartjs-adapter-date-fns'; import { useTheme } from '@mui/material'; -import { ExecutiveSummarySchema } from 'openapi'; +import type { ExecutiveSummarySchema } from 'openapi'; import { fillGradientPrimary, LineChart, diff --git a/frontend/src/component/executiveDashboard/componentsChart/UsersPerProjectChart/UsersPerProjectChart.tsx b/frontend/src/component/executiveDashboard/componentsChart/UsersPerProjectChart/UsersPerProjectChart.tsx index e86301c73de..bed0ac29258 100644 --- a/frontend/src/component/executiveDashboard/componentsChart/UsersPerProjectChart/UsersPerProjectChart.tsx +++ b/frontend/src/component/executiveDashboard/componentsChart/UsersPerProjectChart/UsersPerProjectChart.tsx @@ -1,10 +1,10 @@ import { useMemo, type VFC } from 'react'; import 'chartjs-adapter-date-fns'; -import { ExecutiveSummarySchema } from 'openapi'; +import type { ExecutiveSummarySchema } from 'openapi'; import { LineChart, NotEnoughData } from '../../components/LineChart/LineChart'; import { useProjectChartData } from 'component/executiveDashboard/hooks/useProjectChartData'; import { usePlaceholderData } from 'component/executiveDashboard/hooks/usePlaceholderData'; -import { GroupedDataByProject } from '../../hooks/useGroupedProjectTrends'; +import type { GroupedDataByProject } from '../../hooks/useGroupedProjectTrends'; interface IUsersPerProjectChartProps { projectFlagTrends: GroupedDataByProject< diff --git a/frontend/src/component/executiveDashboard/componentsStat/HealthStats/HealthStats.tsx b/frontend/src/component/executiveDashboard/componentsStat/HealthStats/HealthStats.tsx index d6c35f11f97..b0e092c79ae 100644 --- a/frontend/src/component/executiveDashboard/componentsStat/HealthStats/HealthStats.tsx +++ b/frontend/src/component/executiveDashboard/componentsStat/HealthStats/HealthStats.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { useThemeMode } from 'hooks/useThemeMode'; import { useTheme } from '@mui/material'; diff --git a/frontend/src/component/executiveDashboard/componentsStat/TimeToProduction/TimeToProduction.tsx b/frontend/src/component/executiveDashboard/componentsStat/TimeToProduction/TimeToProduction.tsx index 77172306b38..3a5725e0cd2 100644 --- a/frontend/src/component/executiveDashboard/componentsStat/TimeToProduction/TimeToProduction.tsx +++ b/frontend/src/component/executiveDashboard/componentsStat/TimeToProduction/TimeToProduction.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { Typography, styled } from '@mui/material'; import { Gauge } from '../../components/Gauge/Gauge'; diff --git a/frontend/src/component/executiveDashboard/componentsStat/UserStats/UserDistributionInfo.tsx b/frontend/src/component/executiveDashboard/componentsStat/UserStats/UserDistributionInfo.tsx index b2bc3e30f4e..d685f810476 100644 --- a/frontend/src/component/executiveDashboard/componentsStat/UserStats/UserDistributionInfo.tsx +++ b/frontend/src/component/executiveDashboard/componentsStat/UserStats/UserDistributionInfo.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import type React from 'react'; import { Box, Typography, styled } from '@mui/material'; type UserType = 'active' | 'inactive'; diff --git a/frontend/src/component/executiveDashboard/componentsStat/UserStats/UserStats.tsx b/frontend/src/component/executiveDashboard/componentsStat/UserStats/UserStats.tsx index 290c7c19df5..00ce67f9683 100644 --- a/frontend/src/component/executiveDashboard/componentsStat/UserStats/UserStats.tsx +++ b/frontend/src/component/executiveDashboard/componentsStat/UserStats/UserStats.tsx @@ -1,4 +1,4 @@ -import { type FC } from 'react'; +import type { FC } from 'react'; import ChevronRight from '@mui/icons-material/ChevronRight'; import { Box, Typography, styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; @@ -83,7 +83,7 @@ export const UserStats: FC = ({ count, active, inactive }) => { - {parseInt(`${count}`, 10) === count + {Number.parseInt(`${count}`, 10) === count ? count : count.toFixed(2)} diff --git a/frontend/src/component/executiveDashboard/hooks/useFilteredFlagsSummary.ts b/frontend/src/component/executiveDashboard/hooks/useFilteredFlagsSummary.ts index dbe7afd3983..026ed357d7b 100644 --- a/frontend/src/component/executiveDashboard/hooks/useFilteredFlagsSummary.ts +++ b/frontend/src/component/executiveDashboard/hooks/useFilteredFlagsSummary.ts @@ -1,5 +1,5 @@ import { useMemo } from 'react'; -import { ExecutiveSummarySchemaProjectFlagTrendsItem } from 'openapi'; +import type { ExecutiveSummarySchemaProjectFlagTrendsItem } from 'openapi'; // NOTE: should we move project filtering to the backend? export const useFilteredFlagsSummary = ( diff --git a/frontend/src/component/executiveDashboard/hooks/useMetricsSummary.ts b/frontend/src/component/executiveDashboard/hooks/useMetricsSummary.ts index 05e99732d99..3cbe80493cb 100644 --- a/frontend/src/component/executiveDashboard/hooks/useMetricsSummary.ts +++ b/frontend/src/component/executiveDashboard/hooks/useMetricsSummary.ts @@ -1,8 +1,8 @@ import { useMemo } from 'react'; import { useTheme } from '@mui/material'; -import { ExecutiveSummarySchema } from 'openapi'; +import type { ExecutiveSummarySchema } from 'openapi'; import { useProjectColor } from './useProjectColor'; -import { GroupedDataByProject } from './useGroupedProjectTrends'; +import type { GroupedDataByProject } from './useGroupedProjectTrends'; type MetricsSummaryTrends = ExecutiveSummarySchema['metricsSummaryTrends']; diff --git a/frontend/src/component/executiveDashboard/hooks/useProjectChartData.ts b/frontend/src/component/executiveDashboard/hooks/useProjectChartData.ts index f156225ca61..915bf584a8e 100644 --- a/frontend/src/component/executiveDashboard/hooks/useProjectChartData.ts +++ b/frontend/src/component/executiveDashboard/hooks/useProjectChartData.ts @@ -1,8 +1,8 @@ import { useMemo } from 'react'; -import { ExecutiveSummarySchema } from 'openapi'; +import type { ExecutiveSummarySchema } from 'openapi'; import { useProjectColor } from './useProjectColor'; import { useTheme } from '@mui/material'; -import { GroupedDataByProject } from './useGroupedProjectTrends'; +import type { GroupedDataByProject } from './useGroupedProjectTrends'; type ProjectFlagTrends = ExecutiveSummarySchema['projectFlagTrends']; diff --git a/frontend/src/component/feature/CopyFeature/CopyFeature.tsx b/frontend/src/component/feature/CopyFeature/CopyFeature.tsx index 0b957de2101..55467cbbc25 100644 --- a/frontend/src/component/feature/CopyFeature/CopyFeature.tsx +++ b/frontend/src/component/feature/CopyFeature/CopyFeature.tsx @@ -1,4 +1,8 @@ -import { useState, FormEventHandler, ChangeEventHandler } from 'react'; +import { + useState, + type FormEventHandler, + type ChangeEventHandler, +} from 'react'; import { Link, useNavigate } from 'react-router-dom'; import { Button, diff --git a/frontend/src/component/feature/Dependencies/AddDependencyDialogue.tsx b/frontend/src/component/feature/Dependencies/AddDependencyDialogue.tsx index 087a22d521e..2c7f29e20ea 100644 --- a/frontend/src/component/feature/Dependencies/AddDependencyDialogue.tsx +++ b/frontend/src/component/feature/Dependencies/AddDependencyDialogue.tsx @@ -1,4 +1,4 @@ -import { FC, useState } from 'react'; +import { type FC, useState } from 'react'; import { Box, styled, Typography } from '@mui/material'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import GeneralSelect from 'component/common/GeneralSelect/GeneralSelect'; diff --git a/frontend/src/component/feature/FeatureForm/FeatureForm.tsx b/frontend/src/component/feature/FeatureForm/FeatureForm.tsx index fed2e3413e0..a5a063fc344 100644 --- a/frontend/src/component/feature/FeatureForm/FeatureForm.tsx +++ b/frontend/src/component/feature/FeatureForm/FeatureForm.tsx @@ -4,7 +4,7 @@ import { FormControlLabel, styled, Switch, - Theme, + type Theme, Typography, Link, } from '@mui/material'; @@ -21,7 +21,7 @@ import { CREATE_FEATURE } from 'component/providers/AccessProvider/permissions'; import { useNavigate } from 'react-router-dom'; import React from 'react'; import { useAuthPermissions } from 'hooks/api/getters/useAuth/useAuthPermissions'; -import { FeatureNamingType } from 'interfaces/project'; +import type { FeatureNamingType } from 'interfaces/project'; import { FeatureNamingPatternInfo } from '../FeatureNamingPatternInfo/FeatureNamingPatternInfo'; interface IFeatureToggleForm { diff --git a/frontend/src/component/feature/FeatureNamingPatternInfo/FeatureNamingPatternInfo.tsx b/frontend/src/component/feature/FeatureNamingPatternInfo/FeatureNamingPatternInfo.tsx index c3e773a086a..4bb10c64a6a 100644 --- a/frontend/src/component/feature/FeatureNamingPatternInfo/FeatureNamingPatternInfo.tsx +++ b/frontend/src/component/feature/FeatureNamingPatternInfo/FeatureNamingPatternInfo.tsx @@ -1,6 +1,6 @@ import { styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { FeatureNamingType } from 'interfaces/project'; +import type { FeatureNamingType } from 'interfaces/project'; const StyledFlagNamingInfo = styled('article')(({ theme }) => ({ fontSize: theme.fontSizes.smallBody, diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/FeatureStrategyConstraintAccordionList/FeatureStrategyConstraintAccordionList.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/FeatureStrategyConstraintAccordionList/FeatureStrategyConstraintAccordionList.tsx index c29f304324d..4f8b5fa2de2 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/FeatureStrategyConstraintAccordionList/FeatureStrategyConstraintAccordionList.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/FeatureStrategyConstraintAccordionList/FeatureStrategyConstraintAccordionList.tsx @@ -1,13 +1,14 @@ -import React, { forwardRef, RefObject } from 'react'; +import type React from 'react'; +import { forwardRef, type RefObject } from 'react'; import { Box, Button, styled, Tooltip, Typography } from '@mui/material'; import Add from '@mui/icons-material/Add'; import HelpOutline from '@mui/icons-material/HelpOutline'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { HelpIcon } from 'component/common/HelpIcon/HelpIcon'; import { - IConstraintAccordionListRef, + type IConstraintAccordionListRef, useConstraintAccordionList, } from 'component/common/ConstraintAccordion/ConstraintAccordionList/ConstraintAccordionList'; import { NewConstraintAccordionList } from 'component/common/NewConstraintAccordion/NewConstraintAccordionList/NewConstraintAccordionList'; diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/FeatureStrategyConstraints.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/FeatureStrategyConstraints.tsx index 80af1adfc63..95e5d47191f 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/FeatureStrategyConstraints.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/FeatureStrategyConstraints.tsx @@ -1,5 +1,6 @@ -import { IConstraint, IFeatureStrategy } from 'interfaces/strategy'; -import React, { useEffect } from 'react'; +import type { IConstraint, IFeatureStrategy } from 'interfaces/strategy'; +import type React from 'react'; +import { useEffect } from 'react'; import { UPDATE_FEATURE_STRATEGY, CREATE_FEATURE_STRATEGY, diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyCreate/FeatureStrategyCreate.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyCreate/FeatureStrategyCreate.tsx index fa0590cb45a..9a2094ac977 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyCreate/FeatureStrategyCreate.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyCreate/FeatureStrategyCreate.tsx @@ -7,7 +7,10 @@ import useFeatureStrategyApi from 'hooks/api/actions/useFeatureStrategyApi/useFe import { formatUnknownError } from 'utils/formatUnknownError'; import { useNavigate } from 'react-router-dom'; import useToast from 'hooks/useToast'; -import { IFeatureStrategy, IFeatureStrategyPayload } from 'interfaces/strategy'; +import type { + IFeatureStrategy, + IFeatureStrategyPayload, +} from 'interfaces/strategy'; import { createStrategyPayload, featureStrategyDocsLink, @@ -16,13 +19,13 @@ import { formatFeaturePath, } from '../FeatureStrategyEdit/FeatureStrategyEdit'; import { CREATE_FEATURE_STRATEGY } from 'component/providers/AccessProvider/permissions'; -import { ISegment } from 'interfaces/segment'; +import type { ISegment } from 'interfaces/segment'; import { useFormErrors } from 'hooks/useFormErrors'; import { createFeatureStrategy } from 'utils/createFeatureStrategy'; import { useStrategy } from 'hooks/api/getters/useStrategy/useStrategy'; import { useCollaborateData } from 'hooks/useCollaborateData'; import { useFeature } from 'hooks/api/getters/useFeature/useFeature'; -import { IFeatureToggle } from 'interfaces/featureToggle'; +import type { IFeatureToggle } from 'interfaces/featureToggle'; import { comparisonModerator } from '../featureStrategy.utils'; import { useChangeRequestApi } from 'hooks/api/actions/useChangeRequestApi/useChangeRequestApi'; import { useChangeRequestsEnabled } from 'hooks/useChangeRequestsEnabled'; diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEdit/FeatureStrategyEdit.test.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEdit/FeatureStrategyEdit.test.tsx index 19a542924fa..003de42d04a 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEdit/FeatureStrategyEdit.test.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEdit/FeatureStrategyEdit.test.tsx @@ -1,5 +1,5 @@ import { formatUpdateStrategyApiCode } from 'component/feature/FeatureStrategy/FeatureStrategyEdit/FeatureStrategyEdit'; -import { IFeatureStrategy, IStrategy } from 'interfaces/strategy'; +import type { IFeatureStrategy, IStrategy } from 'interfaces/strategy'; import { screen, waitFor, fireEvent } from '@testing-library/react'; import { render } from 'utils/testRenderer'; import { Route, Routes } from 'react-router-dom'; diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEdit/FeatureStrategyEdit.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEdit/FeatureStrategyEdit.tsx index 85d6ee88737..877b8880b8b 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEdit/FeatureStrategyEdit.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEdit/FeatureStrategyEdit.tsx @@ -7,20 +7,20 @@ import useFeatureStrategyApi from 'hooks/api/actions/useFeatureStrategyApi/useFe import { formatUnknownError } from 'utils/formatUnknownError'; import { useNavigate } from 'react-router-dom'; import useToast from 'hooks/useToast'; -import { +import type { IFeatureStrategy, IFeatureStrategyPayload, IStrategy, } from 'interfaces/strategy'; import { UPDATE_FEATURE_STRATEGY } from 'component/providers/AccessProvider/permissions'; -import { ISegment } from 'interfaces/segment'; +import type { ISegment } from 'interfaces/segment'; import { useSegments } from 'hooks/api/getters/useSegments/useSegments'; import { useFormErrors } from 'hooks/useFormErrors'; import { useStrategy } from 'hooks/api/getters/useStrategy/useStrategy'; import { sortStrategyParameters } from 'utils/sortStrategyParameters'; import { useCollaborateData } from 'hooks/useCollaborateData'; import { useFeature } from 'hooks/api/getters/useFeature/useFeature'; -import { IFeatureToggle } from 'interfaces/featureToggle'; +import type { IFeatureToggle } from 'interfaces/featureToggle'; import { comparisonModerator } from '../featureStrategy.utils'; import { useChangeRequestsEnabled } from 'hooks/useChangeRequestsEnabled'; import { useChangeRequestApi } from 'hooks/api/actions/useChangeRequestApi/useChangeRequestApi'; diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEdit/change-request-conflict-data.test.ts b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEdit/change-request-conflict-data.test.ts index 262b20bf4d5..411b27b804d 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEdit/change-request-conflict-data.test.ts +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEdit/change-request-conflict-data.test.ts @@ -1,4 +1,4 @@ -import { IUiConfig } from 'interfaces/uiConfig'; +import type { IUiConfig } from 'interfaces/uiConfig'; import { getChangeRequestConflictCreatedData, getChangeRequestConflictCreatedDataFromScheduleData, diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEdit/change-request-conflict-data.ts b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEdit/change-request-conflict-data.ts index 8df88432e70..58474b431be 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEdit/change-request-conflict-data.ts +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEdit/change-request-conflict-data.ts @@ -1,11 +1,11 @@ -import { +import type { ChangeRequestState, ChangeRequestType, IChangeRequestFeature, IFeatureChange, } from 'component/changeRequest/changeRequest.types'; -import { ScheduledChangeRequestViewModel } from 'hooks/api/getters/useScheduledChangeRequestsWithStrategy/useScheduledChangeRequestsWithStrategy'; -import { IUiConfig } from 'interfaces/uiConfig'; +import type { ScheduledChangeRequestViewModel } from 'hooks/api/getters/useScheduledChangeRequestsWithStrategy/useScheduledChangeRequestsWithStrategy'; +import type { IUiConfig } from 'interfaces/uiConfig'; import { getUniqueChangeRequestId } from 'utils/unique-change-request-id'; type ChangeRequestConflictCreatedData = { diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEmpty/CopyButton/CopyButton.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEmpty/CopyButton/CopyButton.tsx index 596e7fd15b2..4d849dca5fd 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEmpty/CopyButton/CopyButton.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyEmpty/CopyButton/CopyButton.tsx @@ -1,4 +1,4 @@ -import { MouseEvent, useContext, useState, VFC } from 'react'; +import { type MouseEvent, useContext, useState, type VFC } from 'react'; import { Button, ListItemIcon, @@ -9,7 +9,7 @@ import { } from '@mui/material'; import Lock from '@mui/icons-material/Lock'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; -import { IFeatureEnvironment } from 'interfaces/featureToggle'; +import type { IFeatureEnvironment } from 'interfaces/featureToggle'; import AccessContext from 'contexts/AccessContext'; import { CREATE_FEATURE_STRATEGY } from 'component/providers/AccessProvider/permissions'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyChangeRequestAlert/FeatureStrategyChangeRequestAlert.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyChangeRequestAlert/FeatureStrategyChangeRequestAlert.tsx index 0427851aa37..564e9c796b3 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyChangeRequestAlert/FeatureStrategyChangeRequestAlert.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyChangeRequestAlert/FeatureStrategyChangeRequestAlert.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { Alert } from '@mui/material'; interface IFeatureStrategyChangeRequestAlertProps { diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyEnabled/FeatureStrategyEnabled.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyEnabled/FeatureStrategyEnabled.tsx index 3e363475b76..5d35e8d4732 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyEnabled/FeatureStrategyEnabled.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyEnabled/FeatureStrategyEnabled.tsx @@ -1,8 +1,8 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Link } from 'react-router-dom'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { Alert } from '@mui/material'; -import { IFeatureToggle } from 'interfaces/featureToggle'; +import type { IFeatureToggle } from 'interfaces/featureToggle'; import { formatFeaturePath } from '../../FeatureStrategyEdit/FeatureStrategyEdit'; import { useFeature } from 'hooks/api/getters/useFeature/useFeature'; diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyEnabledDisabled/FeatureStrategyEnabledDisabled.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyEnabledDisabled/FeatureStrategyEnabledDisabled.tsx index 0a5a6aabf88..c72bfb80272 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyEnabledDisabled/FeatureStrategyEnabledDisabled.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyEnabledDisabled/FeatureStrategyEnabledDisabled.tsx @@ -5,7 +5,7 @@ import { Switch, Typography, } from '@mui/material'; -import { VFC } from 'react'; +import type { VFC } from 'react'; interface IFeatureStrategyEnabledDisabledProps { enabled: boolean; diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyForm.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyForm.tsx index d29ad414083..ca9237eff6e 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyForm.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyForm.tsx @@ -1,4 +1,5 @@ -import React, { useEffect, useState } from 'react'; +import type React from 'react'; +import { useEffect, useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { Alert, @@ -10,7 +11,7 @@ import { Divider, Typography, } from '@mui/material'; -import { +import type { IFeatureStrategy, IFeatureStrategyParameters, IStrategyParameter, @@ -18,15 +19,15 @@ import { import { FeatureStrategyType } from '../FeatureStrategyType/FeatureStrategyType'; import { FeatureStrategyEnabled } from './FeatureStrategyEnabled/FeatureStrategyEnabled'; import { FeatureStrategyConstraints } from '../FeatureStrategyConstraints/FeatureStrategyConstraints'; -import { IFeatureToggle } from 'interfaces/featureToggle'; +import type { IFeatureToggle } from 'interfaces/featureToggle'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { STRATEGY_FORM_SUBMIT_ID } from 'utils/testIds'; import { useConstraintsValidation } from 'hooks/api/getters/useConstraintsValidation/useConstraintsValidation'; import PermissionButton from 'component/common/PermissionButton/PermissionButton'; import { FeatureStrategySegment } from 'component/feature/FeatureStrategy/FeatureStrategySegment/FeatureStrategySegment'; -import { ISegment } from 'interfaces/segment'; -import { IFormErrors } from 'hooks/useFormErrors'; +import type { ISegment } from 'interfaces/segment'; +import type { IFormErrors } from 'hooks/useFormErrors'; import { validateParameterValue } from 'utils/validateParameterValue'; import { useStrategy } from 'hooks/api/getters/useStrategy/useStrategy'; import { FeatureStrategyChangeRequestAlert } from './FeatureStrategyChangeRequestAlert/FeatureStrategyChangeRequestAlert'; diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyTitle/FeatureStrategyTitle.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyTitle/FeatureStrategyTitle.tsx index 0e57114ca4d..8978a759a78 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyTitle/FeatureStrategyTitle.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyTitle/FeatureStrategyTitle.tsx @@ -1,6 +1,6 @@ import { Box, Typography } from '@mui/material'; import Input from 'component/common/Input/Input'; -import { VFC } from 'react'; +import type { VFC } from 'react'; interface IFeatureStrategyTitleProps { title: string; diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyIcon/FeatureStrategyIcon.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyIcon/FeatureStrategyIcon.tsx index b3063be05b7..8ef2e00c8f5 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyIcon/FeatureStrategyIcon.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyIcon/FeatureStrategyIcon.tsx @@ -3,7 +3,7 @@ import { formatStrategyName, } from 'utils/strategyNames'; import { styled, Tooltip } from '@mui/material'; -import { IFeatureStrategy } from 'interfaces/strategy'; +import type { IFeatureStrategy } from 'interfaces/strategy'; interface IFeatureStrategyIconProps { strategy: IFeatureStrategy; diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyIcons/FeatureStrategyIcons.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyIcons/FeatureStrategyIcons.tsx index 04a3840ead3..e856d7226d7 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyIcons/FeatureStrategyIcons.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyIcons/FeatureStrategyIcons.tsx @@ -1,4 +1,4 @@ -import { IFeatureStrategy } from 'interfaces/strategy'; +import type { IFeatureStrategy } from 'interfaces/strategy'; import { FeatureStrategyIcon } from 'component/feature/FeatureStrategy/FeatureStrategyIcon/FeatureStrategyIcon'; import { styled } from '@mui/material'; import { TooltipLink } from 'component/common/TooltipLink/TooltipLink'; diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenu.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenu.tsx index 2824f42529b..a961ef03bb1 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenu.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenu.tsx @@ -1,7 +1,8 @@ -import React, { useState } from 'react'; +import type React from 'react'; +import { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import PermissionButton, { - IPermissionButtonProps, + type IPermissionButtonProps, } from 'component/common/PermissionButton/PermissionButton'; import { CREATE_FEATURE_STRATEGY } from 'component/providers/AccessProvider/permissions'; import { Popover, styled } from '@mui/material'; diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenuCard/FeatureStrategyMenuCard.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenuCard/FeatureStrategyMenuCard.tsx index 9a35c4011c3..64f271b3f14 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenuCard/FeatureStrategyMenuCard.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenuCard/FeatureStrategyMenuCard.tsx @@ -1,4 +1,4 @@ -import { IStrategy } from 'interfaces/strategy'; +import type { IStrategy } from 'interfaces/strategy'; import { Link } from 'react-router-dom'; import { getFeatureStrategyIcon, diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyProdGuard/FeatureStrategyProdGuard.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyProdGuard/FeatureStrategyProdGuard.tsx index 57aaf846990..c640896d56c 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyProdGuard/FeatureStrategyProdGuard.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyProdGuard/FeatureStrategyProdGuard.tsx @@ -3,7 +3,7 @@ import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { Alert } from '@mui/material'; import { Checkbox, FormControlLabel } from '@mui/material'; import { PRODUCTION } from 'constants/environmentTypes'; -import { IFeatureToggle } from 'interfaces/featureToggle'; +import type { IFeatureToggle } from 'interfaces/featureToggle'; import { createLocalStorage } from 'utils/createLocalStorage'; interface IFeatureStrategyProdGuardProps { diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategySegment/FeatureStrategySegment.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategySegment/FeatureStrategySegment.tsx index 858d4b95f07..ea044c517e3 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategySegment/FeatureStrategySegment.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategySegment/FeatureStrategySegment.tsx @@ -1,9 +1,9 @@ -import React from 'react'; +import type React from 'react'; import { useSegments } from 'hooks/api/getters/useSegments/useSegments'; -import { ISegment } from 'interfaces/segment'; +import type { ISegment } from 'interfaces/segment'; import { AutocompleteBox, - IAutocompleteBoxOption, + type IAutocompleteBoxOption, } from 'component/common/AutocompleteBox/AutocompleteBox'; import { FeatureStrategySegmentList } from 'component/feature/FeatureStrategy/FeatureStrategySegment/FeatureStrategySegmentList'; import { SegmentDocsStrategyWarning } from 'component/segments/SegmentDocs'; diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategySegment/FeatureStrategySegmentChip.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategySegment/FeatureStrategySegmentChip.tsx index 5f460d70fdd..1a7664767cb 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategySegment/FeatureStrategySegmentChip.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategySegment/FeatureStrategySegmentChip.tsx @@ -1,12 +1,12 @@ -import React from 'react'; +import type React from 'react'; import { Link } from 'react-router-dom'; -import { ISegment } from 'interfaces/segment'; +import type { ISegment } from 'interfaces/segment'; import Clear from '@mui/icons-material/Clear'; import VisibilityOff from '@mui/icons-material/VisibilityOff'; import Visibility from '@mui/icons-material/Visibility'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { constraintAccordionListId } from 'component/common/ConstraintAccordion/ConstraintAccordionList/ConstraintAccordionList'; -import { styled, Theme, Tooltip } from '@mui/material'; +import { styled, type Theme, Tooltip } from '@mui/material'; interface IFeatureStrategySegmentListProps { segment: ISegment; diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategySegment/FeatureStrategySegmentList.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategySegment/FeatureStrategySegmentList.tsx index bc01ac09339..b33e5b51743 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategySegment/FeatureStrategySegmentList.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategySegment/FeatureStrategySegmentList.tsx @@ -1,5 +1,6 @@ -import React, { Fragment, useState } from 'react'; -import { ISegment } from 'interfaces/segment'; +import type React from 'react'; +import { Fragment, useState } from 'react'; +import type { ISegment } from 'interfaces/segment'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { FeatureStrategySegmentChip } from 'component/feature/FeatureStrategy/FeatureStrategySegment/FeatureStrategySegmentChip'; import { SegmentItem } from 'component/common/SegmentItem/SegmentItem'; diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyType/FeatureStrategyType.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyType/FeatureStrategyType.tsx index bc0fa35295c..fcaadc6a8bf 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyType/FeatureStrategyType.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyType/FeatureStrategyType.tsx @@ -1,12 +1,12 @@ -import { IFeatureStrategy, IStrategy } from 'interfaces/strategy'; +import type { IFeatureStrategy, IStrategy } from 'interfaces/strategy'; import DefaultStrategy from 'component/feature/StrategyTypes/DefaultStrategy/DefaultStrategy'; import FlexibleStrategy from 'component/feature/StrategyTypes/FlexibleStrategy/FlexibleStrategy'; import UserWithIdStrategy from 'component/feature/StrategyTypes/UserWithIdStrategy/UserWithId'; import GeneralStrategy from 'component/feature/StrategyTypes/GeneralStrategy/GeneralStrategy'; import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext'; import produce from 'immer'; -import React from 'react'; -import { IFormErrors } from 'hooks/useFormErrors'; +import type React from 'react'; +import type { IFormErrors } from 'hooks/useFormErrors'; interface IFeatureStrategyTypeProps { hasAccess: boolean; diff --git a/frontend/src/component/feature/FeatureStrategy/featureStrategy.utils.ts b/frontend/src/component/feature/FeatureStrategy/featureStrategy.utils.ts index 416a121f9c1..2ef39aae512 100644 --- a/frontend/src/component/feature/FeatureStrategy/featureStrategy.utils.ts +++ b/frontend/src/component/feature/FeatureStrategy/featureStrategy.utils.ts @@ -1,5 +1,5 @@ -import { IFeatureToggle } from 'interfaces/featureToggle'; -import { deepOmit, DeepOmit } from '../../../utils/deepOmit'; +import type { IFeatureToggle } from 'interfaces/featureToggle'; +import { deepOmit, type DeepOmit } from '../../../utils/deepOmit'; export const comparisonModerator = ( data: IFeatureToggle, diff --git a/frontend/src/component/feature/FeatureToggleList/FeatureStaleCell/FeatureStaleCell.tsx b/frontend/src/component/feature/FeatureToggleList/FeatureStaleCell/FeatureStaleCell.tsx index 32b4d82ac3e..847cdae6e43 100644 --- a/frontend/src/component/feature/FeatureToggleList/FeatureStaleCell/FeatureStaleCell.tsx +++ b/frontend/src/component/feature/FeatureToggleList/FeatureStaleCell/FeatureStaleCell.tsx @@ -1,5 +1,5 @@ -import { VFC } from 'react'; -import { Box, styled, Theme, Typography } from '@mui/material'; +import type { VFC } from 'react'; +import { Box, styled, type Theme, Typography } from '@mui/material'; import { ConditionallyRender } from '../../../common/ConditionallyRender/ConditionallyRender'; interface IFeatureStaleCellProps { diff --git a/frontend/src/component/feature/FeatureToggleList/FeatureToggleFilters/FeatureToggleFilters.tsx b/frontend/src/component/feature/FeatureToggleList/FeatureToggleFilters/FeatureToggleFilters.tsx index 93f349c7089..9b1c4731cbc 100644 --- a/frontend/src/component/feature/FeatureToggleList/FeatureToggleFilters/FeatureToggleFilters.tsx +++ b/frontend/src/component/feature/FeatureToggleList/FeatureToggleFilters/FeatureToggleFilters.tsx @@ -1,11 +1,11 @@ -import { useEffect, useState, VFC } from 'react'; +import { useEffect, useState, type VFC } from 'react'; import useProjects from 'hooks/api/getters/useProjects/useProjects'; import { useSegments } from 'hooks/api/getters/useSegments/useSegments'; import useAllTags from 'hooks/api/getters/useAllTags/useAllTags'; import { - FilterItemParamHolder, + type FilterItemParamHolder, Filters, - IFilterItem, + type IFilterItem, } from 'component/filter/Filters/Filters'; interface IFeatureToggleFiltersProps { diff --git a/frontend/src/component/feature/FeatureToggleList/FeatureToggleListActions/FeatureToggleListActions.tsx b/frontend/src/component/feature/FeatureToggleList/FeatureToggleListActions/FeatureToggleListActions.tsx index 8593490cac5..08ead4d9dad 100644 --- a/frontend/src/component/feature/FeatureToggleList/FeatureToggleListActions/FeatureToggleListActions.tsx +++ b/frontend/src/component/feature/FeatureToggleList/FeatureToggleListActions/FeatureToggleListActions.tsx @@ -1,4 +1,4 @@ -import { FC, useState } from 'react'; +import { type FC, useState } from 'react'; import { IconButton, ListItemIcon, diff --git a/frontend/src/component/feature/FeatureToggleList/FeatureToggleListTable.tsx b/frontend/src/component/feature/FeatureToggleList/FeatureToggleListTable.tsx index 1750c7a5386..31a89b98066 100644 --- a/frontend/src/component/feature/FeatureToggleList/FeatureToggleListTable.tsx +++ b/frontend/src/component/feature/FeatureToggleList/FeatureToggleListTable.tsx @@ -1,4 +1,4 @@ -import { useCallback, useEffect, useMemo, useState, VFC } from 'react'; +import { useCallback, useEffect, useMemo, useState, type VFC } from 'react'; import { Box, Button, @@ -18,7 +18,7 @@ import { FeatureTypeCell } from 'component/common/Table/cells/FeatureTypeCell/Fe import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { PageContent } from 'component/common/PageContent/PageContent'; import { PageHeader } from 'component/common/PageHeader/PageHeader'; -import { FeatureSchema, FeatureSearchResponseSchema } from 'openapi'; +import type { FeatureSchema, FeatureSearchResponseSchema } from 'openapi'; import { FeatureStaleCell } from './FeatureStaleCell/FeatureStaleCell'; import { Search } from 'component/common/Search/Search'; import { useFavoriteFeaturesApi } from 'hooks/api/actions/useFavoriteFeaturesApi/useFavoriteFeaturesApi'; diff --git a/frontend/src/component/feature/FeatureView/FeatureEnvironmentSeen/FeatureEnvironmentSeen.tsx b/frontend/src/component/feature/FeatureView/FeatureEnvironmentSeen/FeatureEnvironmentSeen.tsx index 75d40b43a12..bdaa7694bbc 100644 --- a/frontend/src/component/feature/FeatureView/FeatureEnvironmentSeen/FeatureEnvironmentSeen.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureEnvironmentSeen/FeatureEnvironmentSeen.tsx @@ -1,9 +1,9 @@ import TimeAgo from 'react-timeago'; import { LastSeenTooltip } from 'component/common/Table/cells/FeatureSeenCell/LastSeenTooltip'; -import { FC, ReactElement } from 'react'; -import { ILastSeenEnvironments } from 'interfaces/featureToggle'; +import type { FC, ReactElement } from 'react'; +import type { ILastSeenEnvironments } from 'interfaces/featureToggle'; import { TooltipResolver } from 'component/common/TooltipResolver/TooltipResolver'; -import { Box, styled, SxProps } from '@mui/material'; +import { Box, styled, type SxProps } from '@mui/material'; import { ReactComponent as UsageLine } from 'assets/icons/usage-line.svg'; import { ReactComponent as UsageRate } from 'assets/icons/usage-rate.svg'; import { useLastSeenColors } from './useLastSeenColors'; diff --git a/frontend/src/component/feature/FeatureView/FeatureEnvironmentSeen/getLatestLastSeenAt.test.ts b/frontend/src/component/feature/FeatureView/FeatureEnvironmentSeen/getLatestLastSeenAt.test.ts index 98e621e7133..bffd16da7ff 100644 --- a/frontend/src/component/feature/FeatureView/FeatureEnvironmentSeen/getLatestLastSeenAt.test.ts +++ b/frontend/src/component/feature/FeatureView/FeatureEnvironmentSeen/getLatestLastSeenAt.test.ts @@ -1,4 +1,4 @@ -import { IEnvironments } from 'interfaces/featureToggle'; +import type { IEnvironments } from 'interfaces/featureToggle'; import { getLatestLastSeenAt } from './getLatestLastSeenAt'; diff --git a/frontend/src/component/feature/FeatureView/FeatureEnvironmentSeen/getLatestLastSeenAt.ts b/frontend/src/component/feature/FeatureView/FeatureEnvironmentSeen/getLatestLastSeenAt.ts index 03474e4a982..eb1082fdf27 100644 --- a/frontend/src/component/feature/FeatureView/FeatureEnvironmentSeen/getLatestLastSeenAt.ts +++ b/frontend/src/component/feature/FeatureView/FeatureEnvironmentSeen/getLatestLastSeenAt.ts @@ -1,4 +1,4 @@ -import { ILastSeenEnvironments } from 'interfaces/featureToggle'; +import type { ILastSeenEnvironments } from 'interfaces/featureToggle'; export const getLatestLastSeenAt = ( environments: ILastSeenEnvironments[], diff --git a/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetrics.tsx b/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetrics.tsx index 2bf2375d186..e1ee6698dbf 100644 --- a/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetrics.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetrics.tsx @@ -5,7 +5,7 @@ import { FEATURE_METRIC_HOURS_BACK_DEFAULT, FeatureMetricsHours, } from './FeatureMetricsHours/FeatureMetricsHours'; -import { IFeatureMetricsRaw } from 'interfaces/featureToggle'; +import type { IFeatureMetricsRaw } from 'interfaces/featureToggle'; import { Grid } from '@mui/material'; import { FeatureMetricsContent } from './FeatureMetricsContent/FeatureMetricsContent'; import { FeatureMetricsChips } from './FeatureMetricsChips/FeatureMetricsChips'; diff --git a/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsChart/FeatureMetricsChart.tsx b/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsChart/FeatureMetricsChart.tsx index 0443b568fcb..2f5eb09c60f 100644 --- a/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsChart/FeatureMetricsChart.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsChart/FeatureMetricsChart.tsx @@ -1,4 +1,4 @@ -import { IFeatureMetricsRaw } from 'interfaces/featureToggle'; +import type { IFeatureMetricsRaw } from 'interfaces/featureToggle'; import { useMemo } from 'react'; import { Line } from 'react-chartjs-2'; import { diff --git a/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsChart/createChartData.ts b/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsChart/createChartData.ts index 362e3828e77..9c4c00456e6 100644 --- a/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsChart/createChartData.ts +++ b/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsChart/createChartData.ts @@ -1,8 +1,8 @@ -import { IFeatureMetricsRaw } from 'interfaces/featureToggle'; -import { ChartData } from 'chart.js'; -import { ILocationSettings } from 'hooks/useLocationSettings'; +import type { IFeatureMetricsRaw } from 'interfaces/featureToggle'; +import type { ChartData } from 'chart.js'; +import type { ILocationSettings } from 'hooks/useLocationSettings'; import 'chartjs-adapter-date-fns'; -import { Theme } from '@mui/material/styles/createTheme'; +import type { Theme } from '@mui/material/styles/createTheme'; export interface IPoint { x: string; diff --git a/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsChart/createChartOptions.tsx b/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsChart/createChartOptions.tsx index 1c21252e2a6..d9a0f985044 100644 --- a/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsChart/createChartOptions.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsChart/createChartOptions.tsx @@ -1,10 +1,10 @@ -import { ILocationSettings } from 'hooks/useLocationSettings'; +import type { ILocationSettings } from 'hooks/useLocationSettings'; import 'chartjs-adapter-date-fns'; -import { ChartOptions, defaults } from 'chart.js'; -import { IFeatureMetricsRaw } from 'interfaces/featureToggle'; +import { type ChartOptions, defaults } from 'chart.js'; +import type { IFeatureMetricsRaw } from 'interfaces/featureToggle'; import { formatDateHM, formatDateYMD, formatDateYMDHM } from 'utils/formatDate'; -import { Theme } from '@mui/material/styles/createTheme'; -import { IPoint } from './createChartData'; +import type { Theme } from '@mui/material/styles/createTheme'; +import type { IPoint } from './createChartData'; import { daysOrHours } from '../daysOrHours'; const formatVariantEntry = ( diff --git a/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsContent/FeatureMetricsContent.tsx b/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsContent/FeatureMetricsContent.tsx index 7b6acb51988..1176348cf84 100644 --- a/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsContent/FeatureMetricsContent.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsContent/FeatureMetricsContent.tsx @@ -1,5 +1,5 @@ import { FeatureMetricsTable } from '../FeatureMetricsTable/FeatureMetricsTable'; -import { IFeatureMetricsRaw } from 'interfaces/featureToggle'; +import type { IFeatureMetricsRaw } from 'interfaces/featureToggle'; import { FeatureMetricsStatsRaw } from '../FeatureMetricsStats/FeatureMetricsStatsRaw'; import { Box, Typography } from '@mui/material'; import { useId } from 'hooks/useId'; diff --git a/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsHours/FeatureMetricsHours.tsx b/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsHours/FeatureMetricsHours.tsx index 56dc9943857..8a1027b83c0 100644 --- a/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsHours/FeatureMetricsHours.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsHours/FeatureMetricsHours.tsx @@ -1,6 +1,6 @@ import { styled } from '@mui/material'; import GeneralSelect, { - IGeneralSelectProps, + type IGeneralSelectProps, } from 'component/common/GeneralSelect/GeneralSelect'; import { usePlausibleTracker } from 'hooks/usePlausibleTracker'; import { useExtendedFeatureMetrics } from '../useExtendedFeatureMetrics'; @@ -28,7 +28,7 @@ export const FeatureMetricsHours = ({ const { trackEvent } = usePlausibleTracker(); const onChange: IGeneralSelectProps['onChange'] = (key) => { - setHoursBack(parseInt(key)); + setHoursBack(Number.parseInt(key)); trackEvent('feature-metrics', { props: { eventType: 'change-period', diff --git a/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsStats/FeatureMetricsStatsRaw.tsx b/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsStats/FeatureMetricsStatsRaw.tsx index 4e780009395..6080f9e34ff 100644 --- a/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsStats/FeatureMetricsStatsRaw.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsStats/FeatureMetricsStatsRaw.tsx @@ -1,8 +1,8 @@ -import { IFeatureMetricsRaw } from 'interfaces/featureToggle'; +import type { IFeatureMetricsRaw } from 'interfaces/featureToggle'; import { useMemo } from 'react'; import { FeatureMetricsStats, - IFeatureMetricsStatsProps, + type IFeatureMetricsStatsProps, } from './FeatureMetricsStats'; interface IFeatureMetricsStatsRawProps diff --git a/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsTable/ApplicationsCell.tsx b/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsTable/ApplicationsCell.tsx index c5096a86e6b..5ae6d7ae1d6 100644 --- a/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsTable/ApplicationsCell.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsTable/ApplicationsCell.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { styled, Typography } from '@mui/material'; import { TooltipLink } from 'component/common/TooltipLink/TooltipLink'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; diff --git a/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsTable/FeatureMetricsTable.tsx b/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsTable/FeatureMetricsTable.tsx index 30e9e1d7a8f..358005228b6 100644 --- a/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsTable/FeatureMetricsTable.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureMetrics/FeatureMetricsTable/FeatureMetricsTable.tsx @@ -1,4 +1,4 @@ -import { IFeatureMetricsRaw } from 'interfaces/featureToggle'; +import type { IFeatureMetricsRaw } from 'interfaces/featureToggle'; import { TableBody, TableRow, useMediaQuery } from '@mui/material'; import { DateTimeCell } from 'component/common/Table/cells/DateTimeCell/DateTimeCell'; import { useTable, useGlobalFilter, useSortBy } from 'react-table'; diff --git a/frontend/src/component/feature/FeatureView/FeatureMetrics/aggregateFeatureMetrics.test.ts b/frontend/src/component/feature/FeatureView/FeatureMetrics/aggregateFeatureMetrics.test.ts index a45735fd94d..c020a79c7cd 100644 --- a/frontend/src/component/feature/FeatureView/FeatureMetrics/aggregateFeatureMetrics.test.ts +++ b/frontend/src/component/feature/FeatureView/FeatureMetrics/aggregateFeatureMetrics.test.ts @@ -1,4 +1,4 @@ -import { IFeatureMetricsRaw } from 'interfaces/featureToggle'; +import type { IFeatureMetricsRaw } from 'interfaces/featureToggle'; import { aggregateFeatureMetrics } from './aggregateFeatureMetrics'; describe('aggregateFeatureMetrics', () => { diff --git a/frontend/src/component/feature/FeatureView/FeatureMetrics/aggregateFeatureMetrics.ts b/frontend/src/component/feature/FeatureView/FeatureMetrics/aggregateFeatureMetrics.ts index 6ea7079f086..50428d37967 100644 --- a/frontend/src/component/feature/FeatureView/FeatureMetrics/aggregateFeatureMetrics.ts +++ b/frontend/src/component/feature/FeatureView/FeatureMetrics/aggregateFeatureMetrics.ts @@ -1,4 +1,4 @@ -import { IFeatureMetricsRaw } from 'interfaces/featureToggle'; +import type { IFeatureMetricsRaw } from 'interfaces/featureToggle'; // multiple applications may have metrics for the same timestamp export const aggregateFeatureMetrics = ( diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/EnvironmentAccordionBody.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/EnvironmentAccordionBody.tsx index ea4f89d9ac1..11ef8e68bba 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/EnvironmentAccordionBody.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/EnvironmentAccordionBody.tsx @@ -1,11 +1,16 @@ -import { DragEventHandler, RefObject, useEffect, useState } from 'react'; +import { + type DragEventHandler, + type RefObject, + useEffect, + useState, +} from 'react'; import { Alert, styled } from '@mui/material'; import useFeatureStrategyApi from 'hooks/api/actions/useFeatureStrategyApi/useFeatureStrategyApi'; import { formatUnknownError } from 'utils/formatUnknownError'; import useToast from 'hooks/useToast'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { StrategyDraggableItem } from './StrategyDraggableItem/StrategyDraggableItem'; -import { IFeatureEnvironment } from 'interfaces/featureToggle'; +import type { IFeatureEnvironment } from 'interfaces/featureToggle'; import { FeatureStrategyEmpty } from 'component/feature/FeatureStrategy/FeatureStrategyEmpty/FeatureStrategyEmpty'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; import { useFeature } from 'hooks/api/getters/useFeature/useFeature'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyDraggableItem.test.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyDraggableItem.test.tsx index e89df305ab3..24f613ebc2b 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyDraggableItem.test.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyDraggableItem.test.tsx @@ -5,7 +5,7 @@ import { vi } from 'vitest'; import { ADMIN } from 'component/providers/AccessProvider/permissions'; import { screen } from '@testing-library/dom'; import { Route, Routes } from 'react-router-dom'; -import { +import type { ChangeRequestType, ChangeRequestAction, } from 'component/changeRequest/changeRequest.types'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyDraggableItem.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyDraggableItem.tsx index d91182c573b..94ced968b12 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyDraggableItem.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyDraggableItem.tsx @@ -1,20 +1,20 @@ -import { DragEventHandler, RefObject, useRef } from 'react'; +import { type DragEventHandler, type RefObject, useRef } from 'react'; import { Box, useMediaQuery, useTheme } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { StrategySeparator } from 'component/common/StrategySeparator/StrategySeparator'; -import { IFeatureEnvironment } from 'interfaces/featureToggle'; -import { IFeatureStrategy } from 'interfaces/strategy'; +import type { IFeatureEnvironment } from 'interfaces/featureToggle'; +import type { IFeatureStrategy } from 'interfaces/strategy'; import { StrategyItem } from './StrategyItem/StrategyItem'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; import { useStrategyChangesFromRequest, - UseStrategyChangeFromRequestResult, + type UseStrategyChangeFromRequestResult, } from './StrategyItem/useStrategyChangesFromRequest'; import { ChangesScheduledBadge } from 'component/changeRequest/ModifiedInChangeRequestStatusBadge/ChangesScheduledBadge'; -import { IFeatureChange } from 'component/changeRequest/changeRequest.types'; +import type { IFeatureChange } from 'component/changeRequest/changeRequest.types'; import { Badge } from 'component/common/Badge/Badge'; import { - ScheduledChangeRequestViewModel, + type ScheduledChangeRequestViewModel, useScheduledChangeRequestsWithStrategy, } from 'hooks/api/getters/useScheduledChangeRequestsWithStrategy/useScheduledChangeRequestsWithStrategy'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/CopyStrategyIconMenu/CopyStrategyIconMenu.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/CopyStrategyIconMenu/CopyStrategyIconMenu.tsx index ca01a83df5b..105d20927bf 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/CopyStrategyIconMenu/CopyStrategyIconMenu.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/CopyStrategyIconMenu/CopyStrategyIconMenu.tsx @@ -1,4 +1,4 @@ -import { MouseEvent, useState, VFC } from 'react'; +import { type MouseEvent, useState, type VFC } from 'react'; import { IconButton, ListItemIcon, @@ -9,9 +9,9 @@ import { } from '@mui/material'; import CopyIcon from '@mui/icons-material/AddToPhotos'; import Lock from '@mui/icons-material/Lock'; -import { IFeatureStrategyPayload } from 'interfaces/strategy'; +import type { IFeatureStrategyPayload } from 'interfaces/strategy'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; -import { IFeatureEnvironment } from 'interfaces/featureToggle'; +import type { IFeatureEnvironment } from 'interfaces/featureToggle'; import { CREATE_FEATURE_STRATEGY } from 'component/providers/AccessProvider/permissions'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { useFeature } from 'hooks/api/getters/useFeature/useFeature'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DialogStrategyRemove.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DialogStrategyRemove.tsx index 86eddf805f3..68e4ee3d7a7 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DialogStrategyRemove.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DialogStrategyRemove.tsx @@ -1,4 +1,5 @@ -import React, { FC } from 'react'; +import type React from 'react'; +import type { FC } from 'react'; import useFeatureStrategyApi from 'hooks/api/actions/useFeatureStrategyApi/useFeatureStrategyApi'; import { formatUnknownError } from 'utils/formatUnknownError'; import { Link, useNavigate } from 'react-router-dom'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DisableEnableStrategyDialog/DisableEnableStrategyDialog.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DisableEnableStrategyDialog/DisableEnableStrategyDialog.tsx index 3bc39ae74c7..457413736e4 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DisableEnableStrategyDialog/DisableEnableStrategyDialog.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DisableEnableStrategyDialog/DisableEnableStrategyDialog.tsx @@ -5,7 +5,7 @@ import { useSuggestEnableDisable } from './hooks/useSuggestEnableDisable'; import { useChangeRequestsEnabled } from 'hooks/useChangeRequestsEnabled'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { FeatureStrategyChangeRequestAlert } from 'component/feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyChangeRequestAlert/FeatureStrategyChangeRequestAlert'; -import { IDisableEnableStrategyProps } from './IDisableEnableStrategyProps'; +import type { IDisableEnableStrategyProps } from './IDisableEnableStrategyProps'; export const DisableEnableStrategyDialog = ({ isOpen, diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DisableEnableStrategyDialog/IDisableEnableStrategyProps.ts b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DisableEnableStrategyDialog/IDisableEnableStrategyProps.ts index 0bedcdbbdd2..0bc5812fa90 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DisableEnableStrategyDialog/IDisableEnableStrategyProps.ts +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DisableEnableStrategyDialog/IDisableEnableStrategyProps.ts @@ -1,4 +1,4 @@ -import { IFeatureStrategy } from 'interfaces/strategy'; +import type { IFeatureStrategy } from 'interfaces/strategy'; export interface IDisableEnableStrategyProps { projectId: string; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DisableEnableStrategyDialog/hooks/useEnableDisable.ts b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DisableEnableStrategyDialog/hooks/useEnableDisable.ts index f0c3766774a..c8134ffc482 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DisableEnableStrategyDialog/hooks/useEnableDisable.ts +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DisableEnableStrategyDialog/hooks/useEnableDisable.ts @@ -2,7 +2,7 @@ import useFeatureStrategyApi from 'hooks/api/actions/useFeatureStrategyApi/useFe import { useFeature } from 'hooks/api/getters/useFeature/useFeature'; import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; -import { IDisableEnableStrategyProps } from '../IDisableEnableStrategyProps'; +import type { IDisableEnableStrategyProps } from '../IDisableEnableStrategyProps'; export const useEnableDisable = ({ projectId, diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DisableEnableStrategyDialog/hooks/useSuggestEnableDisable.ts b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DisableEnableStrategyDialog/hooks/useSuggestEnableDisable.ts index 5e6738a5138..91592f514a0 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DisableEnableStrategyDialog/hooks/useSuggestEnableDisable.ts +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/DisableEnableStrategyDialog/hooks/useSuggestEnableDisable.ts @@ -2,7 +2,7 @@ import { useChangeRequestApi } from 'hooks/api/actions/useChangeRequestApi/useCh import { usePendingChangeRequests } from 'hooks/api/getters/usePendingChangeRequests/usePendingChangeRequests'; import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; -import { IDisableEnableStrategyProps } from '../IDisableEnableStrategyProps'; +import type { IDisableEnableStrategyProps } from '../IDisableEnableStrategyProps'; export const useSuggestEnableDisable = ({ projectId, diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/MenuStrategyRemove.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/MenuStrategyRemove.tsx index 30e0f8df486..7593d40b41c 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/MenuStrategyRemove.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/MenuStrategyRemove/MenuStrategyRemove.tsx @@ -1,4 +1,5 @@ -import React, { SyntheticEvent, useState } from 'react'; +import type React from 'react'; +import { type SyntheticEvent, useState } from 'react'; import { Box, IconButton, @@ -9,7 +10,7 @@ import { Tooltip, } from '@mui/material'; import MoreVertIcon from '@mui/icons-material/MoreVert'; -import { IFeatureStrategy } from 'interfaces/strategy'; +import type { IFeatureStrategy } from 'interfaces/strategy'; import { DialogStrategyRemove } from './DialogStrategyRemove'; import { DisableEnableStrategyDialog } from './DisableEnableStrategyDialog/DisableEnableStrategyDialog'; import TrackChangesIcon from '@mui/icons-material/TrackChanges'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/StrategyExecution/StrategyExecution.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/StrategyExecution/StrategyExecution.tsx index e28bbd0e67a..7a17c8be293 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/StrategyExecution/StrategyExecution.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/StrategyExecution/StrategyExecution.tsx @@ -1,4 +1,4 @@ -import { Fragment, useMemo, VFC } from 'react'; +import { Fragment, useMemo, type VFC } from 'react'; import { Box, Chip, styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import PercentageCircle from 'component/common/PercentageCircle/PercentageCircle'; @@ -15,8 +15,8 @@ import { } from 'utils/parseParameter'; import StringTruncator from 'component/common/StringTruncator/StringTruncator'; import { Badge } from 'component/common/Badge/Badge'; -import { CreateFeatureStrategySchema } from 'openapi'; -import { IFeatureStrategyPayload } from 'interfaces/strategy'; +import type { CreateFeatureStrategySchema } from 'openapi'; +import type { IFeatureStrategyPayload } from 'interfaces/strategy'; interface IStrategyExecutionProps { strategy: IFeatureStrategyPayload | CreateFeatureStrategySchema; @@ -304,7 +304,6 @@ export const StrategyExecution: VFC = ({ show={ {listItems.map((item, index) => ( - // biome-ignore lint/suspicious/noArrayIndexKey: 0} diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/StrategyItem.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/StrategyItem.tsx index c4bde1bc131..2e7cd133ec7 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/StrategyItem.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/StrategyItem.tsx @@ -1,8 +1,8 @@ -import { DragEventHandler, FC } from 'react'; +import type { DragEventHandler, FC } from 'react'; import Edit from '@mui/icons-material/Edit'; import { Link } from 'react-router-dom'; -import { IFeatureEnvironment } from 'interfaces/featureToggle'; -import { IFeatureStrategy } from 'interfaces/strategy'; +import type { IFeatureEnvironment } from 'interfaces/featureToggle'; +import type { IFeatureStrategy } from 'interfaces/strategy'; import PermissionIconButton from 'component/common/PermissionIconButton/PermissionIconButton'; import { UPDATE_FEATURE_STRATEGY } from 'component/providers/AccessProvider/permissions'; import { formatEditStrategyPath } from 'component/feature/FeatureStrategy/FeatureStrategyEdit/FeatureStrategyEdit'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/useStrategyChangesFromRequest.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/useStrategyChangesFromRequest.tsx index afda632127e..c8e07854d04 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/useStrategyChangesFromRequest.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentAccordionBody/StrategyDraggableItem/StrategyItem/useStrategyChangesFromRequest.tsx @@ -1,4 +1,4 @@ -import { IFeatureChange } from 'component/changeRequest/changeRequest.types'; +import type { IFeatureChange } from 'component/changeRequest/changeRequest.types'; import { usePendingChangeRequestsForFeature } from 'hooks/api/getters/usePendingChangeRequestsForFeature/usePendingChangeRequestsForFeature'; import { useAuthUser } from 'hooks/api/getters/useAuth/useAuthUser'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentFooter/EnvironmentFooter.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentFooter/EnvironmentFooter.tsx index 7c2ea3285ee..6bca2880ef0 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentFooter/EnvironmentFooter.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/EnvironmentFooter/EnvironmentFooter.tsx @@ -1,4 +1,4 @@ -import { IFeatureEnvironmentMetrics } from 'interfaces/featureToggle'; +import type { IFeatureEnvironmentMetrics } from 'interfaces/featureToggle'; import { FeatureMetricsStats } from 'component/feature/FeatureView/FeatureMetrics/FeatureMetricsStats/FeatureMetricsStats'; import { SectionSeparator } from '../SectionSeparator/SectionSeparator'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/FeatureOverviewEnvironment.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/FeatureOverviewEnvironment.tsx index 22a84c3e92e..9eea744b614 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/FeatureOverviewEnvironment.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/FeatureOverviewEnvironment.tsx @@ -8,7 +8,7 @@ import { import ExpandMore from '@mui/icons-material/ExpandMore'; import { useFeature } from 'hooks/api/getters/useFeature/useFeature'; import useFeatureMetrics from 'hooks/api/getters/useFeatureMetrics/useFeatureMetrics'; -import { IFeatureEnvironment } from 'interfaces/featureToggle'; +import type { IFeatureEnvironment } from 'interfaces/featureToggle'; import { getFeatureMetrics } from 'utils/getFeatureMetrics'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import EnvironmentIcon from 'component/common/EnvironmentIcon/EnvironmentIcon'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/FeatureOverviewEnvironmentMetrics/FeatureOverviewEnvironmentMetrics.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/FeatureOverviewEnvironmentMetrics/FeatureOverviewEnvironmentMetrics.tsx index ef0b1fee121..10f494d81e0 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/FeatureOverviewEnvironmentMetrics/FeatureOverviewEnvironmentMetrics.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/FeatureOverviewEnvironmentMetrics/FeatureOverviewEnvironmentMetrics.tsx @@ -1,6 +1,6 @@ import FiberManualRecord from '@mui/icons-material/FiberManualRecord'; import { useTheme } from '@mui/system'; -import { IFeatureEnvironmentMetrics } from 'interfaces/featureToggle'; +import type { IFeatureEnvironmentMetrics } from 'interfaces/featureToggle'; import { calculatePercentage } from 'utils/calculatePercentage'; import PercentageCircle from 'component/common/PercentageCircle/PercentageCircle'; import { PrettifyLargeNumber } from 'component/common/PrettifyLargeNumber/PrettifyLargeNumber'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/SectionSeparator/SectionSeparator.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/SectionSeparator/SectionSeparator.tsx index e1d1cc91691..b64a356aa61 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/SectionSeparator/SectionSeparator.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/SectionSeparator/SectionSeparator.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { styled } from '@mui/material'; const SeparatorContainer = styled('div')(({ theme }) => ({ diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSegment/FeatureOverviewSegment.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSegment/FeatureOverviewSegment.tsx index 0d77104d131..9921f1fd050 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSegment/FeatureOverviewSegment.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSegment/FeatureOverviewSegment.tsx @@ -2,7 +2,7 @@ import { Fragment } from 'react'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { StrategySeparator } from 'component/common/StrategySeparator/StrategySeparator'; import { SegmentItem } from '../../../../common/SegmentItem/SegmentItem'; -import { ISegment } from 'interfaces/segment'; +import type { ISegment } from 'interfaces/segment'; interface IFeatureOverviewSegmentProps { segments?: ISegment[]; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/ChildrenTooltip.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/ChildrenTooltip.tsx index c145ffe9ebe..0b706731ede 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/ChildrenTooltip.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/ChildrenTooltip.tsx @@ -1,6 +1,6 @@ import { StyledLink } from './StyledRow'; import { TooltipLink } from 'component/common/TooltipLink/TooltipLink'; -import { FC } from 'react'; +import type { FC } from 'react'; export const ChildrenTooltip: FC<{ childFeatures: string[]; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/DependencyActions.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/DependencyActions.tsx index cac180d3c6b..de2df7534b6 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/DependencyActions.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/DependencyActions.tsx @@ -1,4 +1,5 @@ -import React, { FC, useState } from 'react'; +import type React from 'react'; +import { type FC, useState } from 'react'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { IconButton, diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/DependencyRow.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/DependencyRow.tsx index 1366e355efd..95da86a358d 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/DependencyRow.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/DependencyRow.tsx @@ -1,7 +1,7 @@ import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { AddDependencyDialogue } from 'component/feature/Dependencies/AddDependencyDialogue'; -import { IFeatureToggle } from 'interfaces/featureToggle'; -import { FC, useState } from 'react'; +import type { IFeatureToggle } from 'interfaces/featureToggle'; +import { type FC, useState } from 'react'; import { FlexRow, StyledDetail, StyledLabel, StyledLink } from './StyledRow'; import { DependencyActions } from './DependencyActions'; import { useDependentFeaturesApi } from 'hooks/api/actions/useDependentFeaturesApi/useDependentFeaturesApi'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/FeatureOverviewSidePanelDetails.test.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/FeatureOverviewSidePanelDetails.test.tsx index 3b530348a50..1ff95536114 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/FeatureOverviewSidePanelDetails.test.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/FeatureOverviewSidePanelDetails.test.tsx @@ -2,7 +2,7 @@ import { screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { render } from 'utils/testRenderer'; import { FeatureOverviewSidePanelDetails } from './FeatureOverviewSidePanelDetails'; -import { IFeatureToggle } from 'interfaces/featureToggle'; +import type { IFeatureToggle } from 'interfaces/featureToggle'; import { testServerRoute, testServerSetup } from 'utils/testServer'; import ToastRenderer from 'component/common/ToastRenderer/ToastRenderer'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/FeatureOverviewSidePanelDetails.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/FeatureOverviewSidePanelDetails.tsx index 9af20ff7e11..c3641f76994 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/FeatureOverviewSidePanelDetails.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelDetails/FeatureOverviewSidePanelDetails.tsx @@ -1,4 +1,4 @@ -import { +import type { IFeatureToggle, ILastSeenEnvironments, } from 'interfaces/featureToggle'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelEnvironmentSwitches/FeatureOverviewSidePanelEnvironmentSwitch/FeatureOverviewSidePanelEnvironmentHider.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelEnvironmentSwitches/FeatureOverviewSidePanelEnvironmentSwitch/FeatureOverviewSidePanelEnvironmentHider.tsx index b525010f36a..5aca611bc73 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelEnvironmentSwitches/FeatureOverviewSidePanelEnvironmentSwitch/FeatureOverviewSidePanelEnvironmentHider.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelEnvironmentSwitches/FeatureOverviewSidePanelEnvironmentSwitch/FeatureOverviewSidePanelEnvironmentHider.tsx @@ -1,4 +1,4 @@ -import { IFeatureEnvironment } from 'interfaces/featureToggle'; +import type { IFeatureEnvironment } from 'interfaces/featureToggle'; import { IconButton, styled } from '@mui/material'; import Visibility from '@mui/icons-material/Visibility'; import VisibilityOff from '@mui/icons-material/VisibilityOff'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelEnvironmentSwitches/FeatureOverviewSidePanelEnvironmentSwitch/FeatureOverviewSidePanelEnvironmentSwitch.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelEnvironmentSwitches/FeatureOverviewSidePanelEnvironmentSwitch/FeatureOverviewSidePanelEnvironmentSwitch.tsx index b9261140d6c..160d28037da 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelEnvironmentSwitches/FeatureOverviewSidePanelEnvironmentSwitch/FeatureOverviewSidePanelEnvironmentSwitch.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelEnvironmentSwitches/FeatureOverviewSidePanelEnvironmentSwitch/FeatureOverviewSidePanelEnvironmentSwitch.tsx @@ -1,5 +1,5 @@ import { useFeature } from 'hooks/api/getters/useFeature/useFeature'; -import { IFeatureEnvironment } from 'interfaces/featureToggle'; +import type { IFeatureEnvironment } from 'interfaces/featureToggle'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; import { styled } from '@mui/material'; import StringTruncator from 'component/common/StringTruncator/StringTruncator'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelEnvironmentSwitches/FeatureOverviewSidePanelEnvironmentSwitches.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelEnvironmentSwitches/FeatureOverviewSidePanelEnvironmentSwitches.tsx index 9fe6d71c7fc..d3604e26d97 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelEnvironmentSwitches/FeatureOverviewSidePanelEnvironmentSwitches.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelEnvironmentSwitches/FeatureOverviewSidePanelEnvironmentSwitches.tsx @@ -1,4 +1,4 @@ -import { type IFeatureToggle } from 'interfaces/featureToggle'; +import type { IFeatureToggle } from 'interfaces/featureToggle'; import { FeatureOverviewSidePanelEnvironmentSwitch } from 'component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelEnvironmentSwitches/FeatureOverviewSidePanelEnvironmentSwitch/FeatureOverviewSidePanelEnvironmentSwitch'; import { Link, styled, Tooltip } from '@mui/material'; import { Link as RouterLink } from 'react-router-dom'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelTags/FeatureOverviewSidePanelTags.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelTags/FeatureOverviewSidePanelTags.tsx index 360b8359eba..af22d2f7003 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelTags/FeatureOverviewSidePanelTags.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverviewSidePanel/FeatureOverviewSidePanelTags/FeatureOverviewSidePanelTags.tsx @@ -1,4 +1,4 @@ -import { IFeatureToggle } from 'interfaces/featureToggle'; +import type { IFeatureToggle } from 'interfaces/featureToggle'; import { useContext, useState } from 'react'; import { Button, Chip, Divider, styled } from '@mui/material'; import useFeatureTags from 'hooks/api/getters/useFeatureTags/useFeatureTags'; @@ -8,7 +8,7 @@ import { ManageTagsDialog } from 'component/feature/FeatureView/FeatureOverview/ import { UPDATE_FEATURE } from 'component/providers/AccessProvider/permissions'; import AccessContext from 'contexts/AccessContext'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; -import { ITag } from 'interfaces/tags'; +import type { ITag } from 'interfaces/tags'; import useFeatureApi from 'hooks/api/actions/useFeatureApi/useFeatureApi'; import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/ManageTagsDialog/ManageBulkTagsDialog.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/ManageTagsDialog/ManageBulkTagsDialog.tsx index 88756c39dde..656ecfc72d0 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/ManageTagsDialog/ManageBulkTagsDialog.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/ManageTagsDialog/ManageBulkTagsDialog.tsx @@ -1,12 +1,17 @@ -import { useEffect, useReducer, useState, VFC } from 'react'; +import { useEffect, useReducer, useState, type VFC } from 'react'; import { Link as RouterLink } from 'react-router-dom'; -import { AutocompleteProps, Link, styled, Typography } from '@mui/material'; +import { + type AutocompleteProps, + Link, + styled, + Typography, +} from '@mui/material'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { TagTypeSelect } from './TagTypeSelect'; -import { TagOption, TagsInput } from './TagsInput'; +import { type TagOption, TagsInput } from './TagsInput'; import useTags from 'hooks/api/getters/useTags/useTags'; import useTagTypes from 'hooks/api/getters/useTagTypes/useTagTypes'; -import { ITag, ITagType } from 'interfaces/tags'; +import type { ITag, ITagType } from 'interfaces/tags'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import useTagApi from 'hooks/api/actions/useTagApi/useTagApi'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/ManageTagsDialog/ManageTagsDialog.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/ManageTagsDialog/ManageTagsDialog.tsx index 2a260c419d5..1e98b1ce212 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/ManageTagsDialog/ManageTagsDialog.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/ManageTagsDialog/ManageTagsDialog.tsx @@ -1,18 +1,19 @@ import { - AutocompleteChangeReason, - AutocompleteValue, + type AutocompleteChangeReason, + type AutocompleteValue, styled, Typography, } from '@mui/material'; -import React, { useEffect, useMemo, useState } from 'react'; +import type React from 'react'; +import { useEffect, useMemo, useState } from 'react'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import useFeatureApi from 'hooks/api/actions/useFeatureApi/useFeatureApi'; import useFeatureTags from 'hooks/api/getters/useFeatureTags/useFeatureTags'; import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; -import { ITag, ITagType } from 'interfaces/tags'; -import { TagOption, TagsInput } from './TagsInput'; +import type { ITag, ITagType } from 'interfaces/tags'; +import { type TagOption, TagsInput } from './TagsInput'; import { TagTypeSelect } from './TagTypeSelect'; import useTagApi from 'hooks/api/actions/useTagApi/useTagApi'; import useTags from 'hooks/api/getters/useTags/useTags'; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/ManageTagsDialog/TagTypeSelect.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/ManageTagsDialog/TagTypeSelect.tsx index 92772a45470..05f196c6a1a 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/ManageTagsDialog/TagTypeSelect.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/ManageTagsDialog/TagTypeSelect.tsx @@ -1,12 +1,12 @@ import { Autocomplete, - AutocompleteProps, + type AutocompleteProps, styled, TextField, Typography, useTheme, } from '@mui/material'; -import { ITagType } from 'interfaces/tags'; +import type { ITagType } from 'interfaces/tags'; interface ITagSelect { options: ITagType[]; diff --git a/frontend/src/component/feature/FeatureView/FeatureOverview/ManageTagsDialog/TagsInput.tsx b/frontend/src/component/feature/FeatureView/FeatureOverview/ManageTagsDialog/TagsInput.tsx index 3839b105025..7d8e046cbb0 100644 --- a/frontend/src/component/feature/FeatureView/FeatureOverview/ManageTagsDialog/TagsInput.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureOverview/ManageTagsDialog/TagsInput.tsx @@ -1,20 +1,20 @@ import { Autocomplete, - AutocompleteProps, + type AutocompleteProps, Checkbox, Chip, createFilterOptions, - FilterOptionsState, + type FilterOptionsState, TextField, } from '@mui/material'; -import React from 'react'; +import type React from 'react'; import CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank'; import CheckBoxIcon from '@mui/icons-material/CheckBox'; import IndeterminateCheckBoxIcon from '@mui/icons-material/IndeterminateCheckBox'; -import { ITag, ITagType } from 'interfaces/tags'; +import type { ITag, ITagType } from 'interfaces/tags'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import Add from '@mui/icons-material/Add'; -import { AutocompleteRenderGetTagProps } from '@mui/material/Autocomplete/Autocomplete'; +import type { AutocompleteRenderGetTagProps } from '@mui/material/Autocomplete/Autocomplete'; export type TagOption = { title: string; diff --git a/frontend/src/component/feature/FeatureView/FeatureSettings/FeatureSettingsMetadata/FeatureTypeSelect/FeatureTypeSelect.tsx b/frontend/src/component/feature/FeatureView/FeatureSettings/FeatureSettingsMetadata/FeatureTypeSelect/FeatureTypeSelect.tsx index 1b7b84c7510..028b5b72e85 100644 --- a/frontend/src/component/feature/FeatureView/FeatureSettings/FeatureSettingsMetadata/FeatureTypeSelect/FeatureTypeSelect.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureSettings/FeatureSettingsMetadata/FeatureTypeSelect/FeatureTypeSelect.tsx @@ -1,7 +1,7 @@ import useFeatureTypes from 'hooks/api/getters/useFeatureTypes/useFeatureTypes'; import GeneralSelect, { - ISelectOption, - IGeneralSelectProps, + type ISelectOption, + type IGeneralSelectProps, } from 'component/common/GeneralSelect/GeneralSelect'; interface IFeatureTypeSelectProps diff --git a/frontend/src/component/feature/FeatureView/FeatureSettings/FeatureSettingsProject/FeatureProjectSelect/FeatureProjectSelect.tsx b/frontend/src/component/feature/FeatureView/FeatureSettings/FeatureSettingsProject/FeatureProjectSelect/FeatureProjectSelect.tsx index 0c2a72cf978..ea58a8fdab7 100644 --- a/frontend/src/component/feature/FeatureView/FeatureSettings/FeatureSettingsProject/FeatureProjectSelect/FeatureProjectSelect.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureSettings/FeatureSettingsProject/FeatureProjectSelect/FeatureProjectSelect.tsx @@ -1,8 +1,8 @@ import useProjects from 'hooks/api/getters/useProjects/useProjects'; -import { IProjectCard } from 'interfaces/project'; +import type { IProjectCard } from 'interfaces/project'; import GeneralSelect, { - ISelectOption, - IGeneralSelectProps, + type ISelectOption, + type IGeneralSelectProps, } from 'component/common/GeneralSelect/GeneralSelect'; interface IFeatureProjectSelectProps diff --git a/frontend/src/component/feature/FeatureView/FeatureSettings/FeatureSettingsProject/FeatureSettingsProjectConfirm/FeatureSettingsProjectConfirm.test.tsx b/frontend/src/component/feature/FeatureView/FeatureSettings/FeatureSettingsProject/FeatureSettingsProjectConfirm/FeatureSettingsProjectConfirm.test.tsx index cb63dc127e7..ac4e013a04f 100644 --- a/frontend/src/component/feature/FeatureView/FeatureSettings/FeatureSettingsProject/FeatureSettingsProjectConfirm/FeatureSettingsProjectConfirm.test.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureSettings/FeatureSettingsProject/FeatureSettingsProjectConfirm/FeatureSettingsProjectConfirm.test.tsx @@ -2,7 +2,7 @@ import { screen, waitFor } from '@testing-library/react'; import { render } from 'utils/testRenderer'; import { testServerRoute, testServerSetup } from 'utils/testServer'; import FeatureSettingsProjectConfirm from './FeatureSettingsProjectConfirm'; -import { IFeatureToggle } from 'interfaces/featureToggle'; +import type { IFeatureToggle } from 'interfaces/featureToggle'; import { Route, Routes } from 'react-router-dom'; import userEvent from '@testing-library/user-event'; diff --git a/frontend/src/component/feature/FeatureView/FeatureSettings/FeatureSettingsProject/FeatureSettingsProjectConfirm/FeatureSettingsProjectConfirm.tsx b/frontend/src/component/feature/FeatureView/FeatureSettings/FeatureSettingsProject/FeatureSettingsProjectConfirm/FeatureSettingsProjectConfirm.tsx index 500ce225bcd..1e09f708810 100644 --- a/frontend/src/component/feature/FeatureView/FeatureSettings/FeatureSettingsProject/FeatureSettingsProjectConfirm/FeatureSettingsProjectConfirm.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureSettings/FeatureSettingsProject/FeatureSettingsProjectConfirm/FeatureSettingsProjectConfirm.tsx @@ -1,12 +1,12 @@ import { useMemo } from 'react'; import useProject from 'hooks/api/getters/useProject/useProject'; -import { IFeatureToggle } from 'interfaces/featureToggle'; +import type { IFeatureToggle } from 'interfaces/featureToggle'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { arraysHaveSameItems } from 'utils/arraysHaveSameItems'; import { Alert, List, ListItem, styled } from '@mui/material'; import { Link } from 'react-router-dom'; -import { ChangeRequestType } from 'component/changeRequest/changeRequest.types'; +import type { ChangeRequestType } from 'component/changeRequest/changeRequest.types'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; import { useChangeRequestsEnabled } from 'hooks/useChangeRequestsEnabled'; diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsCard.test.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsCard.test.tsx index 6feea11bcaa..a28c95ac168 100644 --- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsCard.test.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsCard.test.tsx @@ -3,12 +3,12 @@ import { render } from 'utils/testRenderer'; import { ADMIN } from 'component/providers/AccessProvider/permissions'; import { screen } from '@testing-library/dom'; import { Route, Routes } from 'react-router-dom'; -import { +import type { ChangeRequestAction, ChangeRequestType, } from 'component/changeRequest/changeRequest.types'; import { EnvironmentVariantsCard } from './EnvironmentVariantsCard'; -import { IFeatureEnvironment } from 'interfaces/featureToggle'; +import type { IFeatureEnvironment } from 'interfaces/featureToggle'; const server = testServerSetup(); diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsCard.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsCard.tsx index 14d11def14f..3de9a2ffc44 100644 --- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsCard.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsCard.tsx @@ -1,6 +1,6 @@ import CloudCircle from '@mui/icons-material/CloudCircle'; import { styled, Link } from '@mui/material'; -import { IFeatureEnvironment } from 'interfaces/featureToggle'; +import type { IFeatureEnvironment } from 'interfaces/featureToggle'; import { EnvironmentVariantsTable } from './EnvironmentVariantsTable/EnvironmentVariantsTable'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { Badge } from 'component/common/Badge/Badge'; diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/EnvironmentVariantsTable.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/EnvironmentVariantsTable.tsx index d8118d97d46..25f76b06266 100644 --- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/EnvironmentVariantsTable.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/EnvironmentVariantsTable.tsx @@ -12,7 +12,11 @@ import { SearchHighlightProvider } from 'component/common/Table/SearchHighlightC import { calculateVariantWeight } from 'component/common/util'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; import { useSearch } from 'hooks/useSearch'; -import { IFeatureVariant, IOverride, IPayload } from 'interfaces/featureToggle'; +import type { + IFeatureVariant, + IOverride, + IPayload, +} from 'interfaces/featureToggle'; import { useMemo } from 'react'; import { useSortBy, useTable } from 'react-table'; import { sortTypes } from 'utils/sortTypes'; diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/OverridesCell/OverridesCell.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/OverridesCell/OverridesCell.tsx index 4e879aedd54..27a8cc99054 100644 --- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/OverridesCell/OverridesCell.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/OverridesCell/OverridesCell.tsx @@ -3,7 +3,7 @@ import { Highlighter } from 'component/common/Highlighter/Highlighter'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; import { useSearchHighlightContext } from 'component/common/Table/SearchHighlightContext/SearchHighlightContext'; import { TooltipLink } from 'component/common/TooltipLink/TooltipLink'; -import { IOverride } from 'interfaces/featureToggle'; +import type { IOverride } from 'interfaces/featureToggle'; const StyledItem = styled(Typography)(({ theme }) => ({ fontSize: theme.fontSizes.smallerBody, diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/PayloadCell/PayloadCell.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/PayloadCell/PayloadCell.tsx index 869aec393a9..17830f08f6f 100644 --- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/PayloadCell/PayloadCell.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/PayloadCell/PayloadCell.tsx @@ -3,7 +3,7 @@ import { Highlighter } from 'component/common/Highlighter/Highlighter'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; import { useSearchHighlightContext } from 'component/common/Table/SearchHighlightContext/SearchHighlightContext'; import { TooltipLink } from 'component/common/TooltipLink/TooltipLink'; -import { IPayload } from 'interfaces/featureToggle'; +import type { IPayload } from 'interfaces/featureToggle'; const StyledItem = styled(Typography)(({ theme }) => ({ fontSize: theme.fontSizes.smallerBody, diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCopyFrom/EnvironmentVariantsCopyFrom.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCopyFrom/EnvironmentVariantsCopyFrom.tsx index 71c8fc488eb..f8569b2c2a6 100644 --- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCopyFrom/EnvironmentVariantsCopyFrom.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCopyFrom/EnvironmentVariantsCopyFrom.tsx @@ -1,7 +1,7 @@ import { ListItemText, Menu, MenuItem, styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import PermissionButton from 'component/common/PermissionButton/PermissionButton'; -import { IFeatureEnvironment } from 'interfaces/featureToggle'; +import type { IFeatureEnvironment } from 'interfaces/featureToggle'; import { useState } from 'react'; const StyledListItemText = styled(ListItemText)(({ theme }) => ({ diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/EnvironmentVariantsModal.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/EnvironmentVariantsModal.tsx index e016deb1f0c..4c28d715c05 100644 --- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/EnvironmentVariantsModal.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/EnvironmentVariantsModal.tsx @@ -2,11 +2,14 @@ import { Alert, Button, Divider, Link, styled } from '@mui/material'; import FormTemplate from 'component/common/FormTemplate/FormTemplate'; import { SidebarModal } from 'component/common/SidebarModal/SidebarModal'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; -import { FormEvent, useEffect, useMemo, useState, memo } from 'react'; +import { type FormEvent, useEffect, useMemo, useState, memo } from 'react'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { IFeatureEnvironment, IFeatureVariant } from 'interfaces/featureToggle'; +import type { + IFeatureEnvironment, + IFeatureVariant, +} from 'interfaces/featureToggle'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; -import { Operation } from 'fast-json-patch'; +import type { Operation } from 'fast-json-patch'; import CloudCircle from '@mui/icons-material/CloudCircle'; import { usePendingChangeRequests } from 'hooks/api/getters/usePendingChangeRequests/usePendingChangeRequests'; import { useChangeRequestInReviewWarning } from 'hooks/useChangeRequestInReviewWarning'; diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/VariantForm/VariantForm.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/VariantForm/VariantForm.tsx index 42fb5186425..9ea8d2f8866 100644 --- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/VariantForm/VariantForm.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/VariantForm/VariantForm.tsx @@ -13,11 +13,11 @@ import { Tooltip, } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { IPayload } from 'interfaces/featureToggle'; +import type { IPayload } from 'interfaces/featureToggle'; import { useOverrides } from 'component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/VariantForm/VariantOverrides/useOverrides'; import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext'; import { WeightType } from 'constants/variantTypes'; -import { IFeatureVariantEdit } from '../EnvironmentVariantsModal'; +import type { IFeatureVariantEdit } from '../EnvironmentVariantsModal'; import Delete from '@mui/icons-material/Delete'; const LazyReactJSONEditor = React.lazy( diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/VariantForm/VariantOverrides/VariantOverrides.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/VariantForm/VariantOverrides/VariantOverrides.tsx index eb1b6be061d..9f36d74e724 100644 --- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/VariantForm/VariantOverrides/VariantOverrides.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/VariantForm/VariantOverrides/VariantOverrides.tsx @@ -1,12 +1,12 @@ -import { ChangeEvent, VFC } from 'react'; +import type { ChangeEvent, VFC } from 'react'; import { IconButton, styled, TextField, Tooltip } from '@mui/material'; import Delete from '@mui/icons-material/Delete'; import { Autocomplete } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { InputListField } from 'component/common/InputListField/InputListField'; import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext'; -import { IOverride } from 'interfaces/featureToggle'; -import { OverridesDispatchType } from './useOverrides'; +import type { IOverride } from 'interfaces/featureToggle'; +import type { OverridesDispatchType } from './useOverrides'; import SelectMenu from 'component/common/select'; const StyledRow = styled('div')(({ theme }) => ({ diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/VariantForm/VariantOverrides/useOverrides.ts b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/VariantForm/VariantOverrides/useOverrides.ts index b655de9fd7d..2696d1ff984 100644 --- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/VariantForm/VariantOverrides/useOverrides.ts +++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/VariantForm/VariantOverrides/useOverrides.ts @@ -1,5 +1,5 @@ import { useReducer } from 'react'; -import { IOverride } from 'interfaces/featureToggle'; +import type { IOverride } from 'interfaces/featureToggle'; type OverridesReducerAction = | { type: 'SET'; payload: IOverride[] } diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/FeatureEnvironmentVariants.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/FeatureEnvironmentVariants.tsx index f3d9e0672a3..c217b3cdfe1 100644 --- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/FeatureEnvironmentVariants.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/FeatureEnvironmentVariants.tsx @@ -10,7 +10,7 @@ import { updateWeight } from 'component/common/util'; import { UPDATE_FEATURE_ENVIRONMENT_VARIANTS } from 'component/providers/AccessProvider/permissions'; import { useFeature } from 'hooks/api/getters/useFeature/useFeature'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; -import { +import type { IFeatureEnvironmentWithCrEnabled, IFeatureVariant, } from 'interfaces/featureToggle'; diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/PushVariantsButton/PermissionCheckboxMenuItem.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/PushVariantsButton/PermissionCheckboxMenuItem.tsx index 7838786e407..abd6bd2bf89 100644 --- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/PushVariantsButton/PermissionCheckboxMenuItem.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/PushVariantsButton/PermissionCheckboxMenuItem.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { useHasProjectEnvironmentAccess } from 'hooks/useHasAccess'; import { Checkbox, MenuItem } from '@mui/material'; diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/PushVariantsButton/PushVariantsButton.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/PushVariantsButton/PushVariantsButton.tsx index e938614a165..c18ea10cf1b 100644 --- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/PushVariantsButton/PushVariantsButton.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/PushVariantsButton/PushVariantsButton.tsx @@ -1,6 +1,6 @@ import { Button, Divider, Menu, styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { IFeatureEnvironmentWithCrEnabled } from 'interfaces/featureToggle'; +import type { IFeatureEnvironmentWithCrEnabled } from 'interfaces/featureToggle'; import { useState } from 'react'; import { PermissionCheckboxMenuItem } from './PermissionCheckboxMenuItem'; diff --git a/frontend/src/component/feature/RedirectFeatureView/RedirectFeatureView.tsx b/frontend/src/component/feature/RedirectFeatureView/RedirectFeatureView.tsx index 13238355403..2cbe1f2688d 100644 --- a/frontend/src/component/feature/RedirectFeatureView/RedirectFeatureView.tsx +++ b/frontend/src/component/feature/RedirectFeatureView/RedirectFeatureView.tsx @@ -2,7 +2,7 @@ import { useEffect, useState } from 'react'; import { Navigate } from 'react-router-dom'; import { useFeatures } from 'hooks/api/getters/useFeatures/useFeatures'; import { getTogglePath } from 'utils/routePathHelpers'; -import { FeatureSchema } from 'openapi'; +import type { FeatureSchema } from 'openapi'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; const RedirectFeatureView = () => { diff --git a/frontend/src/component/feature/StrategyTypes/DefaultStrategy/DefaultStrategy.tsx b/frontend/src/component/feature/StrategyTypes/DefaultStrategy/DefaultStrategy.tsx index 36a173e5df9..634a6b61bfb 100644 --- a/frontend/src/component/feature/StrategyTypes/DefaultStrategy/DefaultStrategy.tsx +++ b/frontend/src/component/feature/StrategyTypes/DefaultStrategy/DefaultStrategy.tsx @@ -1,4 +1,4 @@ -import { IStrategy } from 'interfaces/strategy'; +import type { IStrategy } from 'interfaces/strategy'; interface IDefaultStrategyProps { strategyDefinition: IStrategy; diff --git a/frontend/src/component/feature/StrategyTypes/FlexibleStrategy/FlexibleStrategy.tsx b/frontend/src/component/feature/StrategyTypes/FlexibleStrategy/FlexibleStrategy.tsx index cfa80eb6c32..2829a12d8ad 100644 --- a/frontend/src/component/feature/StrategyTypes/FlexibleStrategy/FlexibleStrategy.tsx +++ b/frontend/src/component/feature/StrategyTypes/FlexibleStrategy/FlexibleStrategy.tsx @@ -1,5 +1,5 @@ import { Box, styled } from '@mui/material'; -import { IFeatureStrategyParameters } from 'interfaces/strategy'; +import type { IFeatureStrategyParameters } from 'interfaces/strategy'; import RolloutSlider from '../RolloutSlider/RolloutSlider'; import Input from 'component/common/Input/Input'; import { diff --git a/frontend/src/component/feature/StrategyTypes/FlexibleStrategy/StickinessSelect/StickinessSelect.tsx b/frontend/src/component/feature/StrategyTypes/FlexibleStrategy/StickinessSelect/StickinessSelect.tsx index 3057446d068..a9c2204bb12 100644 --- a/frontend/src/component/feature/StrategyTypes/FlexibleStrategy/StickinessSelect/StickinessSelect.tsx +++ b/frontend/src/component/feature/StrategyTypes/FlexibleStrategy/StickinessSelect/StickinessSelect.tsx @@ -1,5 +1,5 @@ import Select from 'component/common/select'; -import { SelectChangeEvent, useTheme } from '@mui/material'; +import { type SelectChangeEvent, useTheme } from '@mui/material'; import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext'; type OptionType = { key: string; label: string }; diff --git a/frontend/src/component/feature/StrategyTypes/GeneralStrategy/GeneralStrategy.tsx b/frontend/src/component/feature/StrategyTypes/GeneralStrategy/GeneralStrategy.tsx index 11fd5974638..388428b1997 100644 --- a/frontend/src/component/feature/StrategyTypes/GeneralStrategy/GeneralStrategy.tsx +++ b/frontend/src/component/feature/StrategyTypes/GeneralStrategy/GeneralStrategy.tsx @@ -1,7 +1,10 @@ -import { IStrategy, IFeatureStrategyParameters } from 'interfaces/strategy'; +import type { + IStrategy, + IFeatureStrategyParameters, +} from 'interfaces/strategy'; import { styled } from '@mui/system'; import { StrategyParameter } from 'component/feature/StrategyTypes/StrategyParameter/StrategyParameter'; -import { IFormErrors } from 'hooks/useFormErrors'; +import type { IFormErrors } from 'hooks/useFormErrors'; interface IGeneralStrategyProps { parameters: IFeatureStrategyParameters; @@ -30,7 +33,6 @@ const GeneralStrategy = ({ return ( {strategyDefinition.parameters.map((definition, index) => ( - // biome-ignore lint/suspicious/noArrayIndexKey:
({ display: 'flex', @@ -90,7 +90,6 @@ const SplitPreviewSlider = ({ variants }: ISplitPreviewSliderProps) => { return ( key={index} arrow onClick={(e) => e.preventDefault()} @@ -130,7 +129,6 @@ const SplitPreviewHeader = ({ variants }: ISplitPreviewSliderProps) => { {variants.map((variant, index) => ( - // biome-ignore lint/suspicious/noArrayIndexKey: diff --git a/frontend/src/component/feature/StrategyTypes/StrategyInputList/StrategyInputList.tsx b/frontend/src/component/feature/StrategyTypes/StrategyInputList/StrategyInputList.tsx index f47538cb26c..1cbcf7555eb 100644 --- a/frontend/src/component/feature/StrategyTypes/StrategyInputList/StrategyInputList.tsx +++ b/frontend/src/component/feature/StrategyTypes/StrategyInputList/StrategyInputList.tsx @@ -1,17 +1,17 @@ -import { ChangeEvent, useState } from 'react'; +import { type ChangeEvent, useState } from 'react'; import { Button, Chip, TextField, Typography, styled, - TextFieldProps, + type TextFieldProps, } from '@mui/material'; import Add from '@mui/icons-material/Add'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ADD_TO_STRATEGY_INPUT_LIST, STRATEGY_INPUT_LIST } from 'utils/testIds'; import StringTruncator from 'component/common/StringTruncator/StringTruncator'; -import { IFormErrors } from 'hooks/useFormErrors'; +import type { IFormErrors } from 'hooks/useFormErrors'; interface IStrategyInputList { name: string; diff --git a/frontend/src/component/feature/StrategyTypes/StrategyParameter/StrategyParameter.tsx b/frontend/src/component/feature/StrategyTypes/StrategyParameter/StrategyParameter.tsx index b3c3b1ebd9c..88baa64ac8b 100644 --- a/frontend/src/component/feature/StrategyTypes/StrategyParameter/StrategyParameter.tsx +++ b/frontend/src/component/feature/StrategyTypes/StrategyParameter/StrategyParameter.tsx @@ -1,8 +1,8 @@ -import React from 'react'; +import type React from 'react'; import { FormControlLabel, Switch, TextField } from '@mui/material'; import StrategyInputList from '../StrategyInputList/StrategyInputList'; import RolloutSlider from '../RolloutSlider/RolloutSlider'; -import { +import type { IFeatureStrategyParameters, IStrategyParameter, } from 'interfaces/strategy'; @@ -12,7 +12,7 @@ import { parseParameterString, } from 'utils/parseParameter'; import { InputCaption } from 'component/common/InputCaption/InputCaption'; -import { IFormErrors } from 'hooks/useFormErrors'; +import type { IFormErrors } from 'hooks/useFormErrors'; interface IStrategyParameterProps { definition: IStrategyParameter; diff --git a/frontend/src/component/feature/StrategyTypes/StrategyVariants.test.tsx b/frontend/src/component/feature/StrategyTypes/StrategyVariants.test.tsx index 7686c12710f..72142d24616 100644 --- a/frontend/src/component/feature/StrategyTypes/StrategyVariants.test.tsx +++ b/frontend/src/component/feature/StrategyTypes/StrategyVariants.test.tsx @@ -3,7 +3,7 @@ import { render } from 'utils/testRenderer'; import { StrategyVariants } from './StrategyVariants'; import { Route, Routes } from 'react-router-dom'; import { UPDATE_FEATURE_ENVIRONMENT_VARIANTS } from '../../providers/AccessProvider/permissions'; -import { IFeatureStrategy } from '../../../interfaces/strategy'; +import type { IFeatureStrategy } from '../../../interfaces/strategy'; import { useState } from 'react'; test('should render variants', async () => { diff --git a/frontend/src/component/feature/StrategyTypes/StrategyVariants.tsx b/frontend/src/component/feature/StrategyTypes/StrategyVariants.tsx index e5e3656ad90..da2a70c75fc 100644 --- a/frontend/src/component/feature/StrategyTypes/StrategyVariants.tsx +++ b/frontend/src/component/feature/StrategyTypes/StrategyVariants.tsx @@ -1,13 +1,14 @@ import { VariantForm } from '../FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/VariantForm/VariantForm'; import { updateWeightEdit } from '../../common/util'; -import React, { FC, useEffect, useState } from 'react'; -import { IFeatureVariantEdit } from '../FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/EnvironmentVariantsModal'; +import type React from 'react'; +import { type FC, useEffect, useState } from 'react'; +import type { IFeatureVariantEdit } from '../FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/EnvironmentVariantsModal'; import PermissionButton from '../../common/PermissionButton/PermissionButton'; import { UPDATE_FEATURE_ENVIRONMENT_VARIANTS } from '../../providers/AccessProvider/permissions'; import { v4 as uuidv4 } from 'uuid'; import { WeightType } from '../../../constants/variantTypes'; import { Link, styled, Typography, useTheme } from '@mui/material'; -import { IFeatureStrategy } from 'interfaces/strategy'; +import type { IFeatureStrategy } from 'interfaces/strategy'; import SplitPreviewSlider from './SplitPreviewSlider/SplitPreviewSlider'; import { HelpIcon } from '../../common/HelpIcon/HelpIcon'; import { StrategyVariantsUpgradeAlert } from '../../common/StrategyVariantsUpgradeAlert/StrategyVariantsUpgradeAlert'; diff --git a/frontend/src/component/feature/StrategyTypes/UserWithIdStrategy/UserWithId.tsx b/frontend/src/component/feature/StrategyTypes/UserWithIdStrategy/UserWithId.tsx index 782bf0c8d1d..74b01dcac00 100644 --- a/frontend/src/component/feature/StrategyTypes/UserWithIdStrategy/UserWithId.tsx +++ b/frontend/src/component/feature/StrategyTypes/UserWithIdStrategy/UserWithId.tsx @@ -1,7 +1,7 @@ -import { IFeatureStrategyParameters } from 'interfaces/strategy'; +import type { IFeatureStrategyParameters } from 'interfaces/strategy'; import StrategyInputList from '../StrategyInputList/StrategyInputList'; import { parseParameterStrings } from 'utils/parseParameter'; -import { IFormErrors } from 'hooks/useFormErrors'; +import type { IFormErrors } from 'hooks/useFormErrors'; interface IUserWithIdStrategyProps { parameters: IFeatureStrategyParameters; diff --git a/frontend/src/component/featureTypes/FeatureTypeEdit/FeatureTypeEdit.tsx b/frontend/src/component/featureTypes/FeatureTypeEdit/FeatureTypeEdit.tsx index baa38c35123..ef8a32dae97 100644 --- a/frontend/src/component/featureTypes/FeatureTypeEdit/FeatureTypeEdit.tsx +++ b/frontend/src/component/featureTypes/FeatureTypeEdit/FeatureTypeEdit.tsx @@ -1,6 +1,6 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { useParams } from 'react-router-dom'; -import { FeatureTypeSchema } from 'openapi'; +import type { FeatureTypeSchema } from 'openapi'; import { FeatureTypeForm } from './FeatureTypeForm/FeatureTypeForm'; type FeatureTypeEditProps = { diff --git a/frontend/src/component/featureTypes/FeatureTypeEdit/FeatureTypeForm/FeatureTypeForm.tsx b/frontend/src/component/featureTypes/FeatureTypeEdit/FeatureTypeForm/FeatureTypeForm.tsx index eadee0a4cd2..812be3ce8b5 100644 --- a/frontend/src/component/featureTypes/FeatureTypeEdit/FeatureTypeForm/FeatureTypeForm.tsx +++ b/frontend/src/component/featureTypes/FeatureTypeEdit/FeatureTypeForm/FeatureTypeForm.tsx @@ -9,7 +9,7 @@ import PermissionButton from 'component/common/PermissionButton/PermissionButton import { ADMIN } from 'component/providers/AccessProvider/permissions'; import { GO_BACK } from 'constants/navigate'; import Input from 'component/common/Input/Input'; -import { FeatureTypeSchema } from 'openapi'; +import type { FeatureTypeSchema } from 'openapi'; import { trim } from 'component/common/util'; import { HelpIcon } from 'component/common/HelpIcon/HelpIcon'; import useToast from 'hooks/useToast'; @@ -55,7 +55,7 @@ export const FeatureTypeForm: VFC = ({ const tracker = usePlausibleTracker(); const onChangeLifetime = (e: React.ChangeEvent) => { - const value = parseInt(trim(e.target.value), 10); + const value = Number.parseInt(trim(e.target.value), 10); setLifetime(value); if (value === 0) { setDoesntExpire(true); diff --git a/frontend/src/component/feedback/FeedbackCES/FeedbackCES.tsx b/frontend/src/component/feedback/FeedbackCES/FeedbackCES.tsx index c111501d9ab..508c447aeb4 100644 --- a/frontend/src/component/feedback/FeedbackCES/FeedbackCES.tsx +++ b/frontend/src/component/feedback/FeedbackCES/FeedbackCES.tsx @@ -2,7 +2,7 @@ import { IconButton, Modal, styled } from '@mui/material'; import { useContext } from 'react'; import { feedbackCESContext, - IFeedbackCESState, + type IFeedbackCESState, } from 'component/feedback/FeedbackCESContext/FeedbackCESContext'; import { FeedbackCESForm } from 'component/feedback/FeedbackCES/FeedbackCESForm'; import CloseOutlined from '@mui/icons-material/CloseOutlined'; diff --git a/frontend/src/component/feedback/FeedbackCES/FeedbackCESForm.tsx b/frontend/src/component/feedback/FeedbackCES/FeedbackCESForm.tsx index f27d8f5ea5f..c53a05575f6 100644 --- a/frontend/src/component/feedback/FeedbackCES/FeedbackCESForm.tsx +++ b/frontend/src/component/feedback/FeedbackCES/FeedbackCESForm.tsx @@ -1,8 +1,9 @@ import { Box, Button, styled, TextField } from '@mui/material'; -import React, { useState } from 'react'; +import type React from 'react'; +import { useState } from 'react'; import produce from 'immer'; import useToast from 'hooks/useToast'; -import { IFeedbackCESState } from 'component/feedback/FeedbackCESContext/FeedbackCESContext'; +import type { IFeedbackCESState } from 'component/feedback/FeedbackCESContext/FeedbackCESContext'; import { FeedbackCESScore } from 'component/feedback/FeedbackCES/FeedbackCESScore'; import { sendFeedbackInput } from 'component/feedback/FeedbackCES/sendFeedbackInput'; diff --git a/frontend/src/component/feedback/FeedbackCES/FeedbackCESScore.tsx b/frontend/src/component/feedback/FeedbackCES/FeedbackCESScore.tsx index 20ad0d11457..ccd65d578db 100644 --- a/frontend/src/component/feedback/FeedbackCES/FeedbackCESScore.tsx +++ b/frontend/src/component/feedback/FeedbackCES/FeedbackCESScore.tsx @@ -1,6 +1,6 @@ -import React from 'react'; +import type React from 'react'; import produce from 'immer'; -import { IFeedbackCESForm } from 'component/feedback/FeedbackCES/FeedbackCESForm'; +import type { IFeedbackCESForm } from 'component/feedback/FeedbackCES/FeedbackCESForm'; import { styled } from '@mui/material'; interface IFeedbackCESScoreProps { diff --git a/frontend/src/component/feedback/FeedbackCES/sendFeedbackInput.ts b/frontend/src/component/feedback/FeedbackCES/sendFeedbackInput.ts index 2792453128a..a7bf44a6f35 100644 --- a/frontend/src/component/feedback/FeedbackCES/sendFeedbackInput.ts +++ b/frontend/src/component/feedback/FeedbackCES/sendFeedbackInput.ts @@ -1,4 +1,4 @@ -import { IFeedbackCESForm } from 'component/feedback/FeedbackCES/FeedbackCESForm'; +import type { IFeedbackCESForm } from 'component/feedback/FeedbackCES/FeedbackCESForm'; interface IFeedbackEndpointRequestBody { source: 'app' | 'app:segments'; diff --git a/frontend/src/component/feedback/FeedbackCESContext/FeedbackCESContext.ts b/frontend/src/component/feedback/FeedbackCESContext/FeedbackCESContext.ts index 3750c9e0bc2..dd5c0c210e5 100644 --- a/frontend/src/component/feedback/FeedbackCESContext/FeedbackCESContext.ts +++ b/frontend/src/component/feedback/FeedbackCESContext/FeedbackCESContext.ts @@ -1,4 +1,5 @@ -import React, { createContext } from 'react'; +import type React from 'react'; +import { createContext } from 'react'; export type ShowFeedbackCES = React.Dispatch< React.SetStateAction diff --git a/frontend/src/component/feedback/FeedbackCESContext/FeedbackCESProvider.tsx b/frontend/src/component/feedback/FeedbackCESContext/FeedbackCESProvider.tsx index 473dba9836c..442172f1dc1 100644 --- a/frontend/src/component/feedback/FeedbackCESContext/FeedbackCESProvider.tsx +++ b/frontend/src/component/feedback/FeedbackCESContext/FeedbackCESProvider.tsx @@ -1,10 +1,16 @@ -import { useState, ReactNode, useMemo, useCallback, useEffect } from 'react'; +import { + useState, + type ReactNode, + useMemo, + useCallback, + useEffect, +} from 'react'; import { FeedbackCES } from 'component/feedback/FeedbackCES/FeedbackCES'; import { feedbackCESContext, - ShowFeedbackCES, - IFeedbackCESContext, - IFeedbackCESState, + type ShowFeedbackCES, + type IFeedbackCESContext, + type IFeedbackCESState, } from 'component/feedback/FeedbackCESContext/FeedbackCESContext'; import { useFeedbackCESSeen } from 'component/feedback/FeedbackCESContext/useFeedbackCESSeen'; import { useFeedbackCESEnabled } from 'component/feedback/FeedbackCESContext/useFeedbackCESEnabled'; diff --git a/frontend/src/component/feedback/FeedbackCESContext/useFeedbackCESSeen.ts b/frontend/src/component/feedback/FeedbackCESContext/useFeedbackCESSeen.ts index 7fb8dfdbc90..a44e39a9e9f 100644 --- a/frontend/src/component/feedback/FeedbackCESContext/useFeedbackCESSeen.ts +++ b/frontend/src/component/feedback/FeedbackCESContext/useFeedbackCESSeen.ts @@ -1,6 +1,6 @@ import { useAuthFeedback } from 'hooks/api/getters/useAuth/useAuthFeedback'; import { useAuthFeedbackApi } from 'hooks/api/actions/useAuthFeedbackApi/useAuthFeedbackApi'; -import { IFeedbackCESState } from 'component/feedback/FeedbackCESContext/FeedbackCESContext'; +import type { IFeedbackCESState } from 'component/feedback/FeedbackCESContext/FeedbackCESContext'; import { useCallback } from 'react'; interface IUseFeedbackCESSeen { diff --git a/frontend/src/component/feedback/FeedbackNPS/showNPSFeedback.ts b/frontend/src/component/feedback/FeedbackNPS/showNPSFeedback.ts index 89fbdb87e20..d4afcd28d44 100644 --- a/frontend/src/component/feedback/FeedbackNPS/showNPSFeedback.ts +++ b/frontend/src/component/feedback/FeedbackNPS/showNPSFeedback.ts @@ -1,5 +1,5 @@ import differenceInDays from 'date-fns/differenceInDays'; -import { IAuthFeedback } from 'hooks/api/getters/useAuth/useAuthEndpoint'; +import type { IAuthFeedback } from 'hooks/api/getters/useAuth/useAuthEndpoint'; export const PNPS_FEEDBACK_ID = 'pnps'; diff --git a/frontend/src/component/feedbackNew/FeedbackComponent.tsx b/frontend/src/component/feedbackNew/FeedbackComponent.tsx index 4892414389c..3252341bfa2 100644 --- a/frontend/src/component/feedbackNew/FeedbackComponent.tsx +++ b/frontend/src/component/feedbackNew/FeedbackComponent.tsx @@ -9,16 +9,17 @@ import { } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { useFeedbackContext } from './useFeedback'; -import React, { useState } from 'react'; +import type React from 'react'; +import { useState } from 'react'; import CloseIcon from '@mui/icons-material/Close'; import useToast from 'hooks/useToast'; -import { ProvideFeedbackSchema } from 'openapi'; +import type { ProvideFeedbackSchema } from 'openapi'; import { useUserFeedbackApi } from 'hooks/api/actions/useUserFeedbackApi/useUserFeedbackApi'; import { useUserSubmittedFeedback } from 'hooks/useSubmittedFeedback'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; -import { IToast } from 'interfaces/toast'; +import type { IToast } from 'interfaces/toast'; import { useTheme } from '@mui/material/styles'; -import { FeedbackData, FeedbackMode } from './FeedbackContext'; +import type { FeedbackData, FeedbackMode } from './FeedbackContext'; import { usePlausibleTracker } from 'hooks/usePlausibleTracker'; import { useUiFlag } from 'hooks/useUiFlag'; diff --git a/frontend/src/component/feedbackNew/FeedbackContext.ts b/frontend/src/component/feedbackNew/FeedbackContext.ts index b6302bd6054..032b8afe3e5 100644 --- a/frontend/src/component/feedbackNew/FeedbackContext.ts +++ b/frontend/src/component/feedbackNew/FeedbackContext.ts @@ -1,5 +1,5 @@ import { createContext } from 'react'; -import { IFeedbackCategory } from 'hooks/useSubmittedFeedback'; +import type { IFeedbackCategory } from 'hooks/useSubmittedFeedback'; export type FeedbackMode = 'automatic' | 'manual'; export interface IFeedbackContext { diff --git a/frontend/src/component/feedbackNew/FeedbackList.tsx b/frontend/src/component/feedbackNew/FeedbackList.tsx index 8c47a78d452..4cba8fffb31 100644 --- a/frontend/src/component/feedbackNew/FeedbackList.tsx +++ b/frontend/src/component/feedbackNew/FeedbackList.tsx @@ -13,7 +13,7 @@ import { SearchHighlightProvider } from 'component/common/Table/SearchHighlightC import { useSearch } from 'hooks/useSearch'; import theme from 'themes/theme'; import { useState } from 'react'; -import { FeedbackSchema } from 'openapi'; +import type { FeedbackSchema } from 'openapi'; interface IFeedbackSchemaCellProps { value?: string | null; // FIXME: proper type diff --git a/frontend/src/component/feedbackNew/FeedbackProvider.tsx b/frontend/src/component/feedbackNew/FeedbackProvider.tsx index b5cc7fdba13..58ad706f9a2 100644 --- a/frontend/src/component/feedbackNew/FeedbackProvider.tsx +++ b/frontend/src/component/feedbackNew/FeedbackProvider.tsx @@ -1,6 +1,10 @@ import { FeedbackComponentWrapper } from './FeedbackComponent'; -import { FeedbackContext, FeedbackData, FeedbackMode } from './FeedbackContext'; -import { FC, useState } from 'react'; +import { + FeedbackContext, + type FeedbackData, + type FeedbackMode, +} from './FeedbackContext'; +import { type FC, useState } from 'react'; import { usePlausibleTracker } from 'hooks/usePlausibleTracker'; export const FeedbackProvider: FC = ({ children }) => { diff --git a/frontend/src/component/feedbackNew/useFeedback.tsx b/frontend/src/component/feedbackNew/useFeedback.tsx index 614a5db00eb..1aeae0e1e76 100644 --- a/frontend/src/component/feedbackNew/useFeedback.tsx +++ b/frontend/src/component/feedbackNew/useFeedback.tsx @@ -1,11 +1,11 @@ import { - IFeedbackCategory, + type IFeedbackCategory, useUserSubmittedFeedback, } from 'hooks/useSubmittedFeedback'; import { FeedbackContext, - FeedbackMode, - IFeedbackContext, + type FeedbackMode, + type IFeedbackContext, } from './FeedbackContext'; import { useContext } from 'react'; diff --git a/frontend/src/component/filter/AddFilterButton.tsx b/frontend/src/component/filter/AddFilterButton.tsx index ffd292b3e63..fea89d2f296 100644 --- a/frontend/src/component/filter/AddFilterButton.tsx +++ b/frontend/src/component/filter/AddFilterButton.tsx @@ -1,11 +1,12 @@ -import React, { useState } from 'react'; +import type React from 'react'; +import { useState } from 'react'; import Button from '@mui/material/Button'; import Menu from '@mui/material/Menu'; import MenuItem from '@mui/material/MenuItem'; import { Icon, styled } from '@mui/material'; import Add from '@mui/icons-material/Add'; import { Box } from '@mui/system'; -import { IFilterItem } from './Filters/Filters'; +import type { IFilterItem } from './Filters/Filters'; const StyledButton = styled(Button)(({ theme }) => ({ padding: theme.spacing(0, 1.25, 0, 1.25), diff --git a/frontend/src/component/filter/FilterItem/FilterItem.test.tsx b/frontend/src/component/filter/FilterItem/FilterItem.test.tsx index bcb48497846..ddd00bf42d5 100644 --- a/frontend/src/component/filter/FilterItem/FilterItem.test.tsx +++ b/frontend/src/component/filter/FilterItem/FilterItem.test.tsx @@ -1,6 +1,10 @@ import { screen, fireEvent } from '@testing-library/react'; import { render } from 'utils/testRenderer'; -import { FilterItem, FilterItemParams, IFilterItemProps } from './FilterItem'; +import { + FilterItem, + type FilterItemParams, + type IFilterItemProps, +} from './FilterItem'; const getOption = (option: string) => screen.getByText(option).closest('li')!.querySelector('input')!; diff --git a/frontend/src/component/filter/FilterItem/FilterItem.tsx b/frontend/src/component/filter/FilterItem/FilterItem.tsx index 8f5ced1a15d..9f5bbce18df 100644 --- a/frontend/src/component/filter/FilterItem/FilterItem.tsx +++ b/frontend/src/component/filter/FilterItem/FilterItem.tsx @@ -1,6 +1,6 @@ import Search from '@mui/icons-material/Search'; import { Box, InputAdornment, List, ListItemText } from '@mui/material'; -import { FC, ReactNode, useEffect, useRef, useState } from 'react'; +import { type FC, type ReactNode, useEffect, useRef, useState } from 'react'; import { StyledCheckbox, StyledDropdown, diff --git a/frontend/src/component/filter/FilterItem/FilterItemChip/FilterItemChip.tsx b/frontend/src/component/filter/FilterItem/FilterItemChip/FilterItemChip.tsx index ff5b50660f8..4fab6eec5f4 100644 --- a/frontend/src/component/filter/FilterItem/FilterItemChip/FilterItemChip.tsx +++ b/frontend/src/component/filter/FilterItem/FilterItemChip/FilterItemChip.tsx @@ -1,4 +1,4 @@ -import { ComponentProps, FC, ReactNode } from 'react'; +import type { ComponentProps, FC, ReactNode } from 'react'; import ArrowDropDown from '@mui/icons-material/ArrowDropDown'; import Close from '@mui/icons-material/Close'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/filter/FilterItem/FilterItemChip/FilterItemOperator/FilterItemOperator.tsx b/frontend/src/component/filter/FilterItem/FilterItemChip/FilterItemOperator/FilterItemOperator.tsx index 4d15d2d6e29..a4ba3e0d161 100644 --- a/frontend/src/component/filter/FilterItem/FilterItemChip/FilterItemOperator/FilterItemOperator.tsx +++ b/frontend/src/component/filter/FilterItem/FilterItemChip/FilterItemOperator/FilterItemOperator.tsx @@ -1,5 +1,5 @@ import { styled, Menu, MenuItem } from '@mui/material'; -import { FC, useState, MouseEvent } from 'react'; +import { type FC, useState, type MouseEvent } from 'react'; interface IFilterItemOperatorProps { options: string[]; diff --git a/frontend/src/component/filter/Filters/Filters.test.tsx b/frontend/src/component/filter/Filters/Filters.test.tsx index 7c8f8d4ff2f..eaf9591386d 100644 --- a/frontend/src/component/filter/Filters/Filters.test.tsx +++ b/frontend/src/component/filter/Filters/Filters.test.tsx @@ -1,7 +1,11 @@ import { screen } from '@testing-library/react'; import { render } from 'utils/testRenderer'; import { FILTER_ITEM } from 'utils/testIds'; -import { FilterItemParamHolder, Filters, IFilterItem } from './Filters'; +import { + type FilterItemParamHolder, + Filters, + type IFilterItem, +} from './Filters'; test('shoulder render all available filters', async () => { const availableFilters: IFilterItem[] = [ diff --git a/frontend/src/component/filter/Filters/Filters.tsx b/frontend/src/component/filter/Filters/Filters.tsx index e02c85934b6..02076f263c6 100644 --- a/frontend/src/component/filter/Filters/Filters.tsx +++ b/frontend/src/component/filter/Filters/Filters.tsx @@ -1,9 +1,9 @@ -import { useEffect, useState, VFC } from 'react'; +import { useEffect, useState, type VFC } from 'react'; import { Box, Icon, styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { AddFilterButton } from '../AddFilterButton'; import { FilterDateItem } from 'component/common/FilterDateItem/FilterDateItem'; -import { FilterItem, FilterItemParams } from '../FilterItem/FilterItem'; +import { FilterItem, type FilterItemParams } from '../FilterItem/FilterItem'; const StyledBox = styled(Box)(({ theme }) => ({ display: 'flex', diff --git a/frontend/src/component/integrations/CreateIntegration/CreateIntegration.tsx b/frontend/src/component/integrations/CreateIntegration/CreateIntegration.tsx index b1ecaf851ef..ce0851f9ef9 100644 --- a/frontend/src/component/integrations/CreateIntegration/CreateIntegration.tsx +++ b/frontend/src/component/integrations/CreateIntegration/CreateIntegration.tsx @@ -2,7 +2,7 @@ import useAddons from 'hooks/api/getters/useAddons/useAddons'; import { IntegrationForm } from '../IntegrationForm/IntegrationForm'; import cloneDeep from 'lodash.clonedeep'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; -import { AddonSchema } from 'openapi'; +import type { AddonSchema } from 'openapi'; export const DEFAULT_DATA: Omit = { provider: '', diff --git a/frontend/src/component/integrations/EditIntegration/EditIntegration.tsx b/frontend/src/component/integrations/EditIntegration/EditIntegration.tsx index ea49da1fce8..36e0397cf52 100644 --- a/frontend/src/component/integrations/EditIntegration/EditIntegration.tsx +++ b/frontend/src/component/integrations/EditIntegration/EditIntegration.tsx @@ -3,7 +3,7 @@ import { IntegrationForm } from '../IntegrationForm/IntegrationForm'; import cloneDeep from 'lodash.clonedeep'; import { DEFAULT_DATA } from '../CreateIntegration/CreateIntegration'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; -import { AddonSchema } from 'openapi'; +import type { AddonSchema } from 'openapi'; export const EditIntegration = () => { const addonId = useRequiredPathParam('addonId'); diff --git a/frontend/src/component/integrations/IntegrationForm/IntegrationForm.styles.tsx b/frontend/src/component/integrations/IntegrationForm/IntegrationForm.styles.tsx index 70811f80a88..1559ff4760c 100644 --- a/frontend/src/component/integrations/IntegrationForm/IntegrationForm.styles.tsx +++ b/frontend/src/component/integrations/IntegrationForm/IntegrationForm.styles.tsx @@ -1,6 +1,11 @@ import { Paper, styled } from '@mui/material'; import { TextField, Typography } from '@mui/material'; -import { forwardRef, type FC, type ReactNode, ComponentProps } from 'react'; +import { + forwardRef, + type FC, + type ReactNode, + type ComponentProps, +} from 'react'; export const StyledForm = styled('form')(({ theme }) => ({ display: 'flex', diff --git a/frontend/src/component/integrations/IntegrationForm/IntegrationForm.tsx b/frontend/src/component/integrations/IntegrationForm/IntegrationForm.tsx index 2af0d639e84..b9d93acffec 100644 --- a/frontend/src/component/integrations/IntegrationForm/IntegrationForm.tsx +++ b/frontend/src/component/integrations/IntegrationForm/IntegrationForm.tsx @@ -1,10 +1,10 @@ import { - ChangeEventHandler, - FormEventHandler, - MouseEventHandler, + type ChangeEventHandler, + type FormEventHandler, + type MouseEventHandler, useEffect, useState, - VFC, + type VFC, } from 'react'; import { Alert, Button, Divider, Typography } from '@mui/material'; import produce from 'immer'; diff --git a/frontend/src/component/integrations/IntegrationForm/IntegrationMultiSelector/IntegrationMultiSelector.test.tsx b/frontend/src/component/integrations/IntegrationForm/IntegrationMultiSelector/IntegrationMultiSelector.test.tsx index 8bb565b88bb..b36188be037 100644 --- a/frontend/src/component/integrations/IntegrationForm/IntegrationMultiSelector/IntegrationMultiSelector.test.tsx +++ b/frontend/src/component/integrations/IntegrationForm/IntegrationMultiSelector/IntegrationMultiSelector.test.tsx @@ -3,7 +3,7 @@ import { screen, waitFor, within } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { render } from 'utils/testRenderer'; import { - IIntegrationMultiSelectorProps, + type IIntegrationMultiSelectorProps, IntegrationMultiSelector, } from './IntegrationMultiSelector'; import { testServerRoute, testServerSetup } from 'utils/testServer'; diff --git a/frontend/src/component/integrations/IntegrationForm/IntegrationMultiSelector/IntegrationMultiSelector.tsx b/frontend/src/component/integrations/IntegrationForm/IntegrationMultiSelector/IntegrationMultiSelector.tsx index f8d69105f45..afdbf8e7003 100644 --- a/frontend/src/component/integrations/IntegrationForm/IntegrationMultiSelector/IntegrationMultiSelector.tsx +++ b/frontend/src/component/integrations/IntegrationForm/IntegrationMultiSelector/IntegrationMultiSelector.tsx @@ -1,6 +1,6 @@ -import { VFC } from 'react'; -import { IAutocompleteBoxOption } from '../../../common/AutocompleteBox/AutocompleteBox'; -import { +import type { VFC } from 'react'; +import type { IAutocompleteBoxOption } from '../../../common/AutocompleteBox/AutocompleteBox'; +import type { AutocompleteRenderInputParams, AutocompleteRenderOptionState, } from '@mui/material/Autocomplete'; diff --git a/frontend/src/component/integrations/IntegrationForm/IntegrationParameters/IntegrationParameter/IntegrationParameter.tsx b/frontend/src/component/integrations/IntegrationForm/IntegrationParameters/IntegrationParameter/IntegrationParameter.tsx index 42ee921abed..337aa761bfb 100644 --- a/frontend/src/component/integrations/IntegrationForm/IntegrationParameters/IntegrationParameter/IntegrationParameter.tsx +++ b/frontend/src/component/integrations/IntegrationForm/IntegrationParameters/IntegrationParameter/IntegrationParameter.tsx @@ -1,4 +1,4 @@ -import { ChangeEventHandler } from 'react'; +import type { ChangeEventHandler } from 'react'; import { StyledAddonParameterContainer } from '../../IntegrationForm.styles'; import type { AddonParameterSchema, AddonSchema } from 'openapi'; import { IntegrationParameterTextField } from './IntegrationParameterTextField'; diff --git a/frontend/src/component/integrations/IntegrationForm/IntegrationParameters/IntegrationParameter/IntegrationParameterTextField.tsx b/frontend/src/component/integrations/IntegrationForm/IntegrationParameters/IntegrationParameter/IntegrationParameterTextField.tsx index 8e209dd260f..9b226cc0bad 100644 --- a/frontend/src/component/integrations/IntegrationForm/IntegrationParameters/IntegrationParameter/IntegrationParameterTextField.tsx +++ b/frontend/src/component/integrations/IntegrationForm/IntegrationParameters/IntegrationParameter/IntegrationParameterTextField.tsx @@ -1,6 +1,6 @@ import { TextField, Typography } from '@mui/material'; -import { AddonParameterSchema, AddonSchema } from 'openapi'; -import { ChangeEventHandler } from 'react'; +import type { AddonParameterSchema, AddonSchema } from 'openapi'; +import type { ChangeEventHandler } from 'react'; import { styled } from '@mui/material'; const MASKED_VALUE = '*****'; diff --git a/frontend/src/component/integrations/IntegrationForm/IntegrationParameters/IntegrationParameters.tsx b/frontend/src/component/integrations/IntegrationForm/IntegrationParameters/IntegrationParameters.tsx index 6c3f8d55605..f1572c0649a 100644 --- a/frontend/src/component/integrations/IntegrationForm/IntegrationParameters/IntegrationParameters.tsx +++ b/frontend/src/component/integrations/IntegrationForm/IntegrationParameters/IntegrationParameters.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { IntegrationParameter, - IIntegrationParameterProps, + type IIntegrationParameterProps, } from './IntegrationParameter/IntegrationParameter'; import type { AddonTypeSchema } from 'openapi'; diff --git a/frontend/src/component/integrations/IntegrationForm/IntegrationStateSwitch/IntegrationStateSwitch.tsx b/frontend/src/component/integrations/IntegrationForm/IntegrationStateSwitch/IntegrationStateSwitch.tsx index ab4d47efb4f..7f3a742a7fd 100644 --- a/frontend/src/component/integrations/IntegrationForm/IntegrationStateSwitch/IntegrationStateSwitch.tsx +++ b/frontend/src/component/integrations/IntegrationForm/IntegrationStateSwitch/IntegrationStateSwitch.tsx @@ -5,7 +5,7 @@ import { Typography, styled, } from '@mui/material'; -import { MouseEventHandler, VFC } from 'react'; +import type { MouseEventHandler, VFC } from 'react'; interface IIntegrationStateSwitchProps { checked: boolean; diff --git a/frontend/src/component/integrations/IntegrationHowToSection/IntegrationHowToSection.tsx b/frontend/src/component/integrations/IntegrationHowToSection/IntegrationHowToSection.tsx index 069811d6ec6..4a15352b5ec 100644 --- a/frontend/src/component/integrations/IntegrationHowToSection/IntegrationHowToSection.tsx +++ b/frontend/src/component/integrations/IntegrationHowToSection/IntegrationHowToSection.tsx @@ -1,5 +1,5 @@ -import { AddonTypeSchema } from 'openapi'; -import { VFC } from 'react'; +import type { AddonTypeSchema } from 'openapi'; +import type { VFC } from 'react'; import { StyledRaisedSection } from '../IntegrationForm/IntegrationForm.styles'; import { Typography, styled } from '@mui/material'; import { IntegrationIcon } from '../IntegrationList/IntegrationIcon/IntegrationIcon'; diff --git a/frontend/src/component/integrations/IntegrationList/AvailableIntegrations/AvailableIntegrations.tsx b/frontend/src/component/integrations/IntegrationList/AvailableIntegrations/AvailableIntegrations.tsx index 1447804febc..f80d09dc1b0 100644 --- a/frontend/src/component/integrations/IntegrationList/AvailableIntegrations/AvailableIntegrations.tsx +++ b/frontend/src/component/integrations/IntegrationList/AvailableIntegrations/AvailableIntegrations.tsx @@ -1,4 +1,4 @@ -import { type VFC } from 'react'; +import type { VFC } from 'react'; import { Box, Typography, styled } from '@mui/material'; import type { AddonTypeSchema } from 'openapi'; import { IntegrationCard } from '../IntegrationCard/IntegrationCard'; diff --git a/frontend/src/component/integrations/IntegrationList/ConfiguredIntegrations/ConfiguredIntegrations.tsx b/frontend/src/component/integrations/IntegrationList/ConfiguredIntegrations/ConfiguredIntegrations.tsx index ca433241f6d..4ca4018d232 100644 --- a/frontend/src/component/integrations/IntegrationList/ConfiguredIntegrations/ConfiguredIntegrations.tsx +++ b/frontend/src/component/integrations/IntegrationList/ConfiguredIntegrations/ConfiguredIntegrations.tsx @@ -1,8 +1,8 @@ -import { AddonSchema, AddonTypeSchema } from 'openapi'; +import type { AddonSchema, AddonTypeSchema } from 'openapi'; import useLoading from 'hooks/useLoading'; import { StyledCardsGrid } from '../IntegrationList.styles'; import { IntegrationCard } from '../IntegrationCard/IntegrationCard'; -import { VFC } from 'react'; +import type { VFC } from 'react'; import { Typography, styled } from '@mui/material'; import { useSignalEndpoints } from 'hooks/api/getters/useSignalEndpoints/useSignalEndpoints'; import { useUiFlag } from 'hooks/useUiFlag'; diff --git a/frontend/src/component/integrations/IntegrationList/IntegrationCard/IntegrationCard.tsx b/frontend/src/component/integrations/IntegrationList/IntegrationCard/IntegrationCard.tsx index 19f8b2ed260..4c2a665c794 100644 --- a/frontend/src/component/integrations/IntegrationList/IntegrationCard/IntegrationCard.tsx +++ b/frontend/src/component/integrations/IntegrationList/IntegrationCard/IntegrationCard.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { Link as RouterLink } from 'react-router-dom'; import { Link, styled, Tooltip, Typography } from '@mui/material'; import { IntegrationIcon } from '../IntegrationIcon/IntegrationIcon'; diff --git a/frontend/src/component/integrations/IntegrationList/IntegrationCard/IntegrationCardMenu/IntegrationCardMenu.tsx b/frontend/src/component/integrations/IntegrationList/IntegrationCard/IntegrationCardMenu/IntegrationCardMenu.tsx index 9bb28fcd5e8..0259fcbf4c5 100644 --- a/frontend/src/component/integrations/IntegrationList/IntegrationCard/IntegrationCardMenu/IntegrationCardMenu.tsx +++ b/frontend/src/component/integrations/IntegrationList/IntegrationCard/IntegrationCardMenu/IntegrationCardMenu.tsx @@ -1,4 +1,4 @@ -import { useCallback, useState, VFC } from 'react'; +import { useCallback, useState, type VFC } from 'react'; import { Alert, IconButton, diff --git a/frontend/src/component/integrations/IntegrationList/IntegrationIcon/IntegrationIcon.tsx b/frontend/src/component/integrations/IntegrationList/IntegrationIcon/IntegrationIcon.tsx index dde5f0b810c..abbc805384c 100644 --- a/frontend/src/component/integrations/IntegrationList/IntegrationIcon/IntegrationIcon.tsx +++ b/frontend/src/component/integrations/IntegrationList/IntegrationIcon/IntegrationIcon.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { Avatar, styled } from '@mui/material'; import DeviceHub from '@mui/icons-material/DeviceHub'; import { formatAssetPath } from 'utils/formatPath'; diff --git a/frontend/src/component/integrations/IntegrationList/IntegrationList.tsx b/frontend/src/component/integrations/IntegrationList/IntegrationList.tsx index 40af0efcaaa..09400c7ce43 100644 --- a/frontend/src/component/integrations/IntegrationList/IntegrationList.tsx +++ b/frontend/src/component/integrations/IntegrationList/IntegrationList.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import useAddons from 'hooks/api/getters/useAddons/useAddons'; import { AvailableIntegrations } from './AvailableIntegrations/AvailableIntegrations'; import { ConfiguredIntegrations } from './ConfiguredIntegrations/ConfiguredIntegrations'; diff --git a/frontend/src/component/integrations/IntegrationList/RequestIntegrationCard/RequestIntegrationCard.tsx b/frontend/src/component/integrations/IntegrationList/RequestIntegrationCard/RequestIntegrationCard.tsx index fb3f28f1750..5d950583645 100644 --- a/frontend/src/component/integrations/IntegrationList/RequestIntegrationCard/RequestIntegrationCard.tsx +++ b/frontend/src/component/integrations/IntegrationList/RequestIntegrationCard/RequestIntegrationCard.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { styled, Typography } from '@mui/material'; import AddIcon from '@mui/icons-material/Add'; diff --git a/frontend/src/component/integrations/ViewIntegration/JiraIntegration/JiraImageContainer.tsx b/frontend/src/component/integrations/ViewIntegration/JiraIntegration/JiraImageContainer.tsx index 4cbe9f7eca2..ffcf9adcd55 100644 --- a/frontend/src/component/integrations/ViewIntegration/JiraIntegration/JiraImageContainer.tsx +++ b/frontend/src/component/integrations/ViewIntegration/JiraIntegration/JiraImageContainer.tsx @@ -1,7 +1,7 @@ import { styled, Typography } from '@mui/material'; import { formatAssetPath } from 'utils/formatPath'; -import { FC } from 'react'; +import type { FC } from 'react'; export const StyledFigure = styled('figure')(({ theme }) => ({ display: 'flex', diff --git a/frontend/src/component/integrations/ViewIntegration/ViewIntegration.tsx b/frontend/src/component/integrations/ViewIntegration/ViewIntegration.tsx index 6143b6bfe76..f32c6d69675 100644 --- a/frontend/src/component/integrations/ViewIntegration/ViewIntegration.tsx +++ b/frontend/src/component/integrations/ViewIntegration/ViewIntegration.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { useParams } from 'react-router-dom'; import NotFound from 'component/common/NotFound/NotFound'; import { JiraIntegration } from './JiraIntegration/JiraIntegration'; diff --git a/frontend/src/component/layout/Error/Error.tsx b/frontend/src/component/layout/Error/Error.tsx index d86a757ca40..43d260a2309 100644 --- a/frontend/src/component/layout/Error/Error.tsx +++ b/frontend/src/component/layout/Error/Error.tsx @@ -1,4 +1,4 @@ -import { useEffect, VFC } from 'react'; +import { useEffect, type VFC } from 'react'; import { useNavigate } from 'react-router-dom'; import { Box, Button } from '@mui/material'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; diff --git a/frontend/src/component/layout/LayoutPicker/LayoutPicker.tsx b/frontend/src/component/layout/LayoutPicker/LayoutPicker.tsx index 359b8ec249e..660a46cf0be 100644 --- a/frontend/src/component/layout/LayoutPicker/LayoutPicker.tsx +++ b/frontend/src/component/layout/LayoutPicker/LayoutPicker.tsx @@ -1,4 +1,4 @@ -import { FC, ReactNode } from 'react'; +import type { FC, ReactNode } from 'react'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { MainLayout } from '../MainLayout/MainLayout'; diff --git a/frontend/src/component/layout/MainLayout/DraftBanner/DraftBanner.tsx b/frontend/src/component/layout/MainLayout/DraftBanner/DraftBanner.tsx index b708294551c..ec6fd33cadb 100644 --- a/frontend/src/component/layout/MainLayout/DraftBanner/DraftBanner.tsx +++ b/frontend/src/component/layout/MainLayout/DraftBanner/DraftBanner.tsx @@ -1,9 +1,9 @@ -import { FC, Fragment, useMemo, useState, VFC } from 'react'; +import { type FC, Fragment, useMemo, useState, type VFC } from 'react'; import { Box, Button, styled, Typography } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ChangeRequestSidebar } from 'component/changeRequest/ChangeRequestSidebar/ChangeRequestSidebar'; import { usePendingChangeRequests } from 'hooks/api/getters/usePendingChangeRequests/usePendingChangeRequests'; -import { ChangeRequestType } from 'component/changeRequest/changeRequest.types'; +import type { ChangeRequestType } from 'component/changeRequest/changeRequest.types'; import { changesCount } from 'component/changeRequest/changesCount'; import { Sticky } from 'component/common/Sticky/Sticky'; import { useUiFlag } from 'hooks/useUiFlag'; diff --git a/frontend/src/component/layout/MainLayout/MainLayout.tsx b/frontend/src/component/layout/MainLayout/MainLayout.tsx index b884c9ae2fa..92aae63b855 100644 --- a/frontend/src/component/layout/MainLayout/MainLayout.tsx +++ b/frontend/src/component/layout/MainLayout/MainLayout.tsx @@ -1,4 +1,4 @@ -import { forwardRef, ReactNode } from 'react'; +import { forwardRef, type ReactNode } from 'react'; import { Grid, styled } from '@mui/material'; import Header from 'component/menu/Header/Header'; import Footer from 'component/menu/Footer/Footer'; diff --git a/frontend/src/component/loginHistory/LoginHistoryTable/LoginHistorySuccessfulCell/LoginHistorySuccessfulCell.tsx b/frontend/src/component/loginHistory/LoginHistoryTable/LoginHistorySuccessfulCell/LoginHistorySuccessfulCell.tsx index d21830e7c2a..5b146385b15 100644 --- a/frontend/src/component/loginHistory/LoginHistoryTable/LoginHistorySuccessfulCell/LoginHistorySuccessfulCell.tsx +++ b/frontend/src/component/loginHistory/LoginHistoryTable/LoginHistorySuccessfulCell/LoginHistorySuccessfulCell.tsx @@ -1,8 +1,8 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { Box, styled } from '@mui/material'; import { Highlighter } from 'component/common/Highlighter/Highlighter'; import { useSearchHighlightContext } from 'component/common/Table/SearchHighlightContext/SearchHighlightContext'; -import { ILoginEvent } from 'interfaces/loginEvent'; +import type { ILoginEvent } from 'interfaces/loginEvent'; import { Badge } from 'component/common/Badge/Badge'; import { HtmlTooltip } from 'component/common/HtmlTooltip/HtmlTooltip'; diff --git a/frontend/src/component/loginHistory/LoginHistoryTable/LoginHistoryTable.tsx b/frontend/src/component/loginHistory/LoginHistoryTable/LoginHistoryTable.tsx index abeb0268f97..0c7d7570e8b 100644 --- a/frontend/src/component/loginHistory/LoginHistoryTable/LoginHistoryTable.tsx +++ b/frontend/src/component/loginHistory/LoginHistoryTable/LoginHistoryTable.tsx @@ -5,7 +5,12 @@ import { PageContent } from 'component/common/PageContent/PageContent'; import { PageHeader } from 'component/common/PageHeader/PageHeader'; import { IconButton, Tooltip, useMediaQuery } from '@mui/material'; import { SearchHighlightProvider } from 'component/common/Table/SearchHighlightContext/SearchHighlightContext'; -import { SortingRule, useFlexLayout, useSortBy, useTable } from 'react-table'; +import { + type SortingRule, + useFlexLayout, + useSortBy, + useTable, +} from 'react-table'; import { sortTypes } from 'utils/sortTypes'; import { HighlightCell } from 'component/common/Table/cells/HighlightCell/HighlightCell'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; @@ -16,7 +21,7 @@ import { useSearch } from 'hooks/useSearch'; import { TimeAgoCell } from 'component/common/Table/cells/TimeAgoCell/TimeAgoCell'; import { useLoginHistory } from 'hooks/api/getters/useLoginHistory/useLoginHistory'; import { LoginHistorySuccessfulCell } from './LoginHistorySuccessfulCell/LoginHistorySuccessfulCell'; -import { ILoginEvent } from 'interfaces/loginEvent'; +import type { ILoginEvent } from 'interfaces/loginEvent'; import { useLoginHistoryApi } from 'hooks/api/actions/useLoginHistoryApi/useLoginHistoryApi'; import { formatDateYMDHMS } from 'utils/formatDate'; import { useSearchParams } from 'react-router-dom'; diff --git a/frontend/src/component/menu/Footer/ApiDetails/ApiDetails.tsx b/frontend/src/component/menu/Footer/ApiDetails/ApiDetails.tsx index 7f749c57e46..0568acf82c2 100644 --- a/frontend/src/component/menu/Footer/ApiDetails/ApiDetails.tsx +++ b/frontend/src/component/menu/Footer/ApiDetails/ApiDetails.tsx @@ -1,9 +1,9 @@ -import { ReactElement } from 'react'; +import type { ReactElement } from 'react'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { formatCurrentVersion, formatUpdateNotification, - IPartialUiConfig, + type IPartialUiConfig, } from './apidetails.helpers'; import { FooterTitle } from 'component/menu/Footer/FooterTitle'; diff --git a/frontend/src/component/menu/Footer/ApiDetails/apidetails.helpers.tsx b/frontend/src/component/menu/Footer/ApiDetails/apidetails.helpers.tsx index 4e28f73f5ed..e059b91d37c 100644 --- a/frontend/src/component/menu/Footer/ApiDetails/apidetails.helpers.tsx +++ b/frontend/src/component/menu/Footer/ApiDetails/apidetails.helpers.tsx @@ -1,4 +1,4 @@ -import { IVersionInfo } from 'interfaces/uiConfig'; +import type { IVersionInfo } from 'interfaces/uiConfig'; export interface IPartialUiConfig { name: string; diff --git a/frontend/src/component/menu/Footer/Footer.tsx b/frontend/src/component/menu/Footer/Footer.tsx index 23efbe56647..fea9d1e0766 100644 --- a/frontend/src/component/menu/Footer/Footer.tsx +++ b/frontend/src/component/menu/Footer/Footer.tsx @@ -1,6 +1,6 @@ /* eslint-disable react/jsx-no-target-blank */ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { List, ListItem, ListItemText, Grid, styled } from '@mui/material'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import { ApiDetails } from './ApiDetails/ApiDetails'; diff --git a/frontend/src/component/menu/Header/DrawerMenu/DrawerMenu.tsx b/frontend/src/component/menu/Header/DrawerMenu/DrawerMenu.tsx index b9e73631426..90ba5f70075 100644 --- a/frontend/src/component/menu/Header/DrawerMenu/DrawerMenu.tsx +++ b/frontend/src/component/menu/Header/DrawerMenu/DrawerMenu.tsx @@ -1,4 +1,4 @@ -import { ReactNode, VFC } from 'react'; +import type { ReactNode, VFC } from 'react'; import { Link } from 'react-router-dom'; import { Divider, Drawer, List, styled } from '@mui/material'; import GitHubIcon from '@mui/icons-material/GitHub'; @@ -8,7 +8,7 @@ import { ReactComponent as UnleashLogo } from 'assets/img/logoDarkWithText.svg'; import { ReactComponent as UnleashLogoWhite } from 'assets/img/logoWithWhiteText.svg'; import NavigationLink from '../NavigationLink/NavigationLink'; import { basePath } from 'utils/formatPath'; -import { INavigationMenuItem } from 'interfaces/route'; +import type { INavigationMenuItem } from 'interfaces/route'; import styles from './DrawerMenu.module.scss'; // FIXME: useStyle - theme import theme from 'themes/theme'; import { ThemeMode } from 'component/common/ThemeMode/ThemeMode'; diff --git a/frontend/src/component/menu/Header/Header.tsx b/frontend/src/component/menu/Header/Header.tsx index 9a689852dab..b5e00b9bed0 100644 --- a/frontend/src/component/menu/Header/Header.tsx +++ b/frontend/src/component/menu/Header/Header.tsx @@ -1,4 +1,4 @@ -import { useState, VFC } from 'react'; +import { useState, type VFC } from 'react'; import useMediaQuery from '@mui/material/useMediaQuery'; import { useTheme } from '@mui/material/styles'; import { Link } from 'react-router-dom'; @@ -8,7 +8,7 @@ import { IconButton, Tooltip, styled, - Theme, + type Theme, Box, } from '@mui/material'; import MenuIcon from '@mui/icons-material/Menu'; diff --git a/frontend/src/component/menu/Header/NavigationLink/NavigationLink.tsx b/frontend/src/component/menu/Header/NavigationLink/NavigationLink.tsx index eef13b13352..c98d1d6d36e 100644 --- a/frontend/src/component/menu/Header/NavigationLink/NavigationLink.tsx +++ b/frontend/src/component/menu/Header/NavigationLink/NavigationLink.tsx @@ -2,7 +2,7 @@ import { ListItem, Link, styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { EnterpriseBadge } from 'component/common/EnterpriseBadge/EnterpriseBadge'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; -import { INavigationMenuItem } from 'interfaces/route'; +import type { INavigationMenuItem } from 'interfaces/route'; import { Link as RouterLink } from 'react-router-dom'; interface INavigationLinkProps { path: string; diff --git a/frontend/src/component/menu/Header/NavigationMenu/NavigationMenu.tsx b/frontend/src/component/menu/Header/NavigationMenu/NavigationMenu.tsx index e26fb53ae90..7cc4ec7efa7 100644 --- a/frontend/src/component/menu/Header/NavigationMenu/NavigationMenu.tsx +++ b/frontend/src/component/menu/Header/NavigationMenu/NavigationMenu.tsx @@ -2,7 +2,7 @@ import { Divider, Tooltip } from '@mui/material'; import { Menu, MenuItem, styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; -import { INavigationMenuItem } from 'interfaces/route'; +import type { INavigationMenuItem } from 'interfaces/route'; import { Link } from 'react-router-dom'; import { EnterpriseBadge } from '../../../common/EnterpriseBadge/EnterpriseBadge'; import { useCallback } from 'react'; diff --git a/frontend/src/component/menu/routes.ts b/frontend/src/component/menu/routes.ts index 12e00dc85b5..ccc3fa42618 100644 --- a/frontend/src/component/menu/routes.ts +++ b/frontend/src/component/menu/routes.ts @@ -29,7 +29,7 @@ import { SplashPage } from 'component/splash/SplashPage/SplashPage'; import { CreateUnleashContextPage } from 'component/context/CreateUnleashContext/CreateUnleashContextPage'; import { CreateSegment } from 'component/segments/CreateSegment/CreateSegment'; import { EditSegment } from 'component/segments/EditSegment/EditSegment'; -import { INavigationMenuItem, IRoute } from 'interfaces/route'; +import type { INavigationMenuItem, IRoute } from 'interfaces/route'; import { EnvironmentTable } from 'component/environments/EnvironmentTable/EnvironmentTable'; import { SegmentTable } from '../segments/SegmentTable/SegmentTable'; import { FeaturesArchiveTable } from '../archive/FeaturesArchiveTable'; diff --git a/frontend/src/component/playground/Playground/AdvancedPlayground.tsx b/frontend/src/component/playground/Playground/AdvancedPlayground.tsx index 403008092ac..39b34b7c52b 100644 --- a/frontend/src/component/playground/Playground/AdvancedPlayground.tsx +++ b/frontend/src/component/playground/Playground/AdvancedPlayground.tsx @@ -1,4 +1,4 @@ -import { FormEventHandler, useEffect, useState, VFC } from 'react'; +import { type FormEventHandler, useEffect, useState, type VFC } from 'react'; import { useSearchParams } from 'react-router-dom'; import { Box, Paper, useTheme, styled, Alert } from '@mui/material'; import { PageContent } from 'component/common/PageContent/PageContent'; @@ -19,7 +19,7 @@ import { PlaygroundGuidance } from './PlaygroundGuidance/PlaygroundGuidance'; import { PlaygroundGuidancePopper } from './PlaygroundGuidancePopper/PlaygroundGuidancePopper'; import Loader from 'component/common/Loader/Loader'; import { AdvancedPlaygroundResultsTable } from './AdvancedPlaygroundResultsTable/AdvancedPlaygroundResultsTable'; -import { AdvancedPlaygroundResponseSchema } from 'openapi'; +import type { AdvancedPlaygroundResponseSchema } from 'openapi'; import { createLocalStorage } from 'utils/createLocalStorage'; import { BadRequestError } from 'utils/apiUtils'; import { usePlausibleTracker } from 'hooks/usePlausibleTracker'; diff --git a/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/AdvancedPlaygroundEnvironmentCell/AdvancedPlaygroundEnvironmentCell.tsx b/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/AdvancedPlaygroundEnvironmentCell/AdvancedPlaygroundEnvironmentCell.tsx index 2e0247e6295..6c7496bf18d 100644 --- a/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/AdvancedPlaygroundEnvironmentCell/AdvancedPlaygroundEnvironmentCell.tsx +++ b/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/AdvancedPlaygroundEnvironmentCell/AdvancedPlaygroundEnvironmentCell.tsx @@ -10,8 +10,9 @@ import { import { flexRow } from '../../../../../themes/themeStyles'; import { PlaygroundResultChip } from '../../PlaygroundResultsTable/PlaygroundResultChip/PlaygroundResultChip'; import InfoOutlined from '@mui/icons-material/InfoOutlined'; -import React, { useState } from 'react'; -import { AdvancedPlaygroundEnvironmentFeatureSchema } from 'openapi'; +import type React from 'react'; +import { useState } from 'react'; +import type { AdvancedPlaygroundEnvironmentFeatureSchema } from 'openapi'; import { PlaygroundEnvironmentTable } from '../../PlaygroundEnvironmentTable/PlaygroundEnvironmentTable'; const StyledContainer = styled( diff --git a/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/AdvancedPlaygroundEnvironmentCell/AdvancedPlaygroundEnvironmentDiffCell.tsx b/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/AdvancedPlaygroundEnvironmentCell/AdvancedPlaygroundEnvironmentDiffCell.tsx index 32ffd4e006a..2a0ea199684 100644 --- a/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/AdvancedPlaygroundEnvironmentCell/AdvancedPlaygroundEnvironmentDiffCell.tsx +++ b/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/AdvancedPlaygroundEnvironmentCell/AdvancedPlaygroundEnvironmentDiffCell.tsx @@ -1,7 +1,8 @@ import { Button, Popover, styled, Typography, useTheme } from '@mui/material'; import { flexRow } from '../../../../../themes/themeStyles'; -import React, { useState } from 'react'; -import { AdvancedPlaygroundFeatureSchemaEnvironments } from 'openapi'; +import type React from 'react'; +import { useState } from 'react'; +import type { AdvancedPlaygroundFeatureSchemaEnvironments } from 'openapi'; import { PlaygroundEnvironmentDiffTable } from '../../PlaygroundEnvironmentTable/PlaygroundEnvironmentDiffTable'; const StyledContainer = styled( diff --git a/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/AdvancedPlaygroundResultsTable.tsx b/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/AdvancedPlaygroundResultsTable.tsx index 0772a120f59..88b4a6e5f66 100644 --- a/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/AdvancedPlaygroundResultsTable.tsx +++ b/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/AdvancedPlaygroundResultsTable.tsx @@ -1,7 +1,7 @@ import { useEffect, useMemo, useState } from 'react'; import { useSearchParams } from 'react-router-dom'; import { - SortingRule, + type SortingRule, useFlexLayout, useGlobalFilter, useSortBy, @@ -22,7 +22,7 @@ import { Box, Typography, useMediaQuery, useTheme } from '@mui/material'; import useLoading from 'hooks/useLoading'; import { useConditionallyHiddenColumns } from 'hooks/useConditionallyHiddenColumns'; import { AdvancedPlaygroundEnvironmentCell } from './AdvancedPlaygroundEnvironmentCell/AdvancedPlaygroundEnvironmentCell'; -import { +import type { AdvancedPlaygroundRequestSchema, AdvancedPlaygroundFeatureSchema, AdvancedPlaygroundFeatureSchemaEnvironments, diff --git a/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/combinationCounter.test.ts b/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/combinationCounter.test.ts index 4ee471fc780..565d5d82c2d 100644 --- a/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/combinationCounter.test.ts +++ b/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/combinationCounter.test.ts @@ -1,5 +1,5 @@ import { countCombinations } from './combinationCounter'; -import { +import type { AdvancedPlaygroundEnvironmentFeatureSchema, AdvancedPlaygroundFeatureSchema, } from 'openapi'; diff --git a/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/combinationCounter.ts b/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/combinationCounter.ts index 70b2412cba4..56a139db485 100644 --- a/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/combinationCounter.ts +++ b/frontend/src/component/playground/Playground/AdvancedPlaygroundResultsTable/combinationCounter.ts @@ -1,4 +1,4 @@ -import { AdvancedPlaygroundFeatureSchema } from 'openapi'; +import type { AdvancedPlaygroundFeatureSchema } from 'openapi'; export const countCombinations = ( features: AdvancedPlaygroundFeatureSchema[], diff --git a/frontend/src/component/playground/Playground/PlaygroundEnvironmentTable/PlaygroundEnvironmentDiffTable.tsx b/frontend/src/component/playground/Playground/PlaygroundEnvironmentTable/PlaygroundEnvironmentDiffTable.tsx index 81a37646964..4b15f9456b2 100644 --- a/frontend/src/component/playground/Playground/PlaygroundEnvironmentTable/PlaygroundEnvironmentDiffTable.tsx +++ b/frontend/src/component/playground/Playground/PlaygroundEnvironmentTable/PlaygroundEnvironmentDiffTable.tsx @@ -8,7 +8,7 @@ import { import { VirtualizedTable } from 'component/common/Table'; import { sortTypes } from 'utils/sortTypes'; -import { AdvancedPlaygroundFeatureSchemaEnvironments } from 'openapi'; +import type { AdvancedPlaygroundFeatureSchemaEnvironments } from 'openapi'; import { Box } from '@mui/material'; import { FeatureStatusCell } from '../PlaygroundResultsTable/FeatureStatusCell/FeatureStatusCell'; import { HighlightCell } from '../../../common/Table/cells/HighlightCell/HighlightCell'; diff --git a/frontend/src/component/playground/Playground/PlaygroundEnvironmentTable/PlaygroundEnvironmentTable.tsx b/frontend/src/component/playground/Playground/PlaygroundEnvironmentTable/PlaygroundEnvironmentTable.tsx index 4780b264dae..ed789f0da9c 100644 --- a/frontend/src/component/playground/Playground/PlaygroundEnvironmentTable/PlaygroundEnvironmentTable.tsx +++ b/frontend/src/component/playground/Playground/PlaygroundEnvironmentTable/PlaygroundEnvironmentTable.tsx @@ -8,7 +8,7 @@ import { import { VirtualizedTable } from 'component/common/Table'; import { sortTypes } from 'utils/sortTypes'; -import { +import type { AdvancedPlaygroundEnvironmentFeatureSchema, PlaygroundFeatureSchema, } from 'openapi'; diff --git a/frontend/src/component/playground/Playground/PlaygroundForm/PlaygroundCodeFieldset/PlaygroundCodeFieldset.tsx b/frontend/src/component/playground/Playground/PlaygroundForm/PlaygroundCodeFieldset/PlaygroundCodeFieldset.tsx index 78d26ba9677..6459c05c719 100644 --- a/frontend/src/component/playground/Playground/PlaygroundForm/PlaygroundCodeFieldset/PlaygroundCodeFieldset.tsx +++ b/frontend/src/component/playground/Playground/PlaygroundForm/PlaygroundCodeFieldset/PlaygroundCodeFieldset.tsx @@ -1,11 +1,11 @@ import { - Dispatch, - FormEvent, - SetStateAction, + type Dispatch, + type FormEvent, + type SetStateAction, useEffect, useMemo, useState, - VFC, + type VFC, } from 'react'; import { Box, @@ -18,7 +18,7 @@ import { Typography, useTheme, Autocomplete, - SelectChangeEvent, + type SelectChangeEvent, } from '@mui/material'; import debounce from 'debounce'; diff --git a/frontend/src/component/playground/Playground/PlaygroundForm/PlaygroundCodeFieldset/PlaygroundEditor/PlaygroundEditor.tsx b/frontend/src/component/playground/Playground/PlaygroundForm/PlaygroundCodeFieldset/PlaygroundEditor/PlaygroundEditor.tsx index 05e088bc451..ff6178e5c25 100644 --- a/frontend/src/component/playground/Playground/PlaygroundForm/PlaygroundCodeFieldset/PlaygroundEditor/PlaygroundEditor.tsx +++ b/frontend/src/component/playground/Playground/PlaygroundForm/PlaygroundCodeFieldset/PlaygroundEditor/PlaygroundEditor.tsx @@ -1,7 +1,12 @@ import CodeMirror from '@uiw/react-codemirror'; import { useContext } from 'react'; import { json } from '@codemirror/lang-json'; -import { Dispatch, SetStateAction, VFC, useCallback } from 'react'; +import { + type Dispatch, + type SetStateAction, + type VFC, + useCallback, +} from 'react'; import { styled, useTheme, Box } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { duotoneDark, duotoneLight } from '@uiw/codemirror-theme-duotone'; diff --git a/frontend/src/component/playground/Playground/PlaygroundForm/PlaygroundConnectionFieldset/PlaygroundConnectionFieldset.tsx b/frontend/src/component/playground/Playground/PlaygroundForm/PlaygroundConnectionFieldset/PlaygroundConnectionFieldset.tsx index 2c5754b4628..a08fa2de027 100644 --- a/frontend/src/component/playground/Playground/PlaygroundForm/PlaygroundConnectionFieldset/PlaygroundConnectionFieldset.tsx +++ b/frontend/src/component/playground/Playground/PlaygroundForm/PlaygroundConnectionFieldset/PlaygroundConnectionFieldset.tsx @@ -1,4 +1,10 @@ -import { ComponentProps, Dispatch, SetStateAction, useState, VFC } from 'react'; +import { + type ComponentProps, + type Dispatch, + type SetStateAction, + useState, + type VFC, +} from 'react'; import { Autocomplete, Box, @@ -13,7 +19,7 @@ import { import useProjects from 'hooks/api/getters/useProjects/useProjects'; import { renderOption } from '../renderOption'; import { - IApiToken, + type IApiToken, useApiTokens, } from 'hooks/api/getters/useApiTokens/useApiTokens'; import Input from 'component/common/Input/Input'; diff --git a/frontend/src/component/playground/Playground/PlaygroundForm/PlaygroundForm.tsx b/frontend/src/component/playground/Playground/PlaygroundForm/PlaygroundForm.tsx index e8ffb362ae8..c3eea50ffff 100644 --- a/frontend/src/component/playground/Playground/PlaygroundForm/PlaygroundForm.tsx +++ b/frontend/src/component/playground/Playground/PlaygroundForm/PlaygroundForm.tsx @@ -1,6 +1,6 @@ import { Box, Button } from '@mui/material'; -import { IEnvironment } from 'interfaces/environments'; -import { FormEvent, VFC } from 'react'; +import type { IEnvironment } from 'interfaces/environments'; +import type { FormEvent, VFC } from 'react'; import { PlaygroundCodeFieldset } from './PlaygroundCodeFieldset/PlaygroundCodeFieldset'; import { PlaygroundConnectionFieldset } from './PlaygroundConnectionFieldset/PlaygroundConnectionFieldset'; diff --git a/frontend/src/component/playground/Playground/PlaygroundGuidance/PlaygroundGuidanceSection/PlaygroundGuidanceSection.tsx b/frontend/src/component/playground/Playground/PlaygroundGuidance/PlaygroundGuidanceSection/PlaygroundGuidanceSection.tsx index 279a96552d2..75b50d7a164 100644 --- a/frontend/src/component/playground/Playground/PlaygroundGuidance/PlaygroundGuidanceSection/PlaygroundGuidanceSection.tsx +++ b/frontend/src/component/playground/Playground/PlaygroundGuidance/PlaygroundGuidanceSection/PlaygroundGuidanceSection.tsx @@ -1,7 +1,7 @@ import { Box, Typography } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { GuidanceIndicator } from 'component/common/GuidanceIndicator/GuidanceIndicator'; -import { VFC } from 'react'; +import type { VFC } from 'react'; interface IPlaygroundGuidanceSectionProps { headerText: string; diff --git a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureDetails/FeatureDetails.test.tsx b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureDetails/FeatureDetails.test.tsx index af0fe13cc2b..8fc5f7c17a8 100644 --- a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureDetails/FeatureDetails.test.tsx +++ b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureDetails/FeatureDetails.test.tsx @@ -1,7 +1,7 @@ import { screen } from '@testing-library/react'; import { render } from 'utils/testRenderer'; import { FeatureDetails } from './FeatureDetails'; -import { PlaygroundFeatureSchema, PlaygroundRequestSchema } from 'openapi'; +import type { PlaygroundFeatureSchema, PlaygroundRequestSchema } from 'openapi'; const testCases = [ { diff --git a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureDetails/FeatureDetails.tsx b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureDetails/FeatureDetails.tsx index 5c5c4878767..c184dc5110f 100644 --- a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureDetails/FeatureDetails.tsx +++ b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureDetails/FeatureDetails.tsx @@ -1,8 +1,8 @@ -import { PlaygroundFeatureSchema, PlaygroundRequestSchema } from 'openapi'; +import type { PlaygroundFeatureSchema, PlaygroundRequestSchema } from 'openapi'; import { Alert, IconButton, Typography, useTheme, styled } from '@mui/material'; import { PlaygroundResultChip } from '../../PlaygroundResultChip/PlaygroundResultChip'; import CloseOutlined from '@mui/icons-material/CloseOutlined'; -import React from 'react'; +import type React from 'react'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { checkForEmptyValues, diff --git a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureDetails/helpers.ts b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureDetails/helpers.ts index c191887caeb..81230bf9b20 100644 --- a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureDetails/helpers.ts +++ b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureDetails/helpers.ts @@ -1,4 +1,4 @@ -import { PlaygroundFeatureSchema } from 'openapi'; +import type { PlaygroundFeatureSchema } from 'openapi'; export const DEFAULT_STRATEGIES = [ 'default', diff --git a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureResultInfoPopoverCell.tsx b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureResultInfoPopoverCell.tsx index fa43a1eaed5..7cb05e44f2e 100644 --- a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureResultInfoPopoverCell.tsx +++ b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureResultInfoPopoverCell.tsx @@ -1,5 +1,5 @@ import { useRef, useState } from 'react'; -import { PlaygroundFeatureSchema, PlaygroundRequestSchema } from 'openapi'; +import type { PlaygroundFeatureSchema, PlaygroundRequestSchema } from 'openapi'; import { IconButton, Popover, styled } from '@mui/material'; import InfoOutlined from '@mui/icons-material/InfoOutlined'; import { FeatureDetails } from './FeatureDetails/FeatureDetails'; diff --git a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/PlaygroundResultFeatureStrategyList.test.tsx b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/PlaygroundResultFeatureStrategyList.test.tsx index bb44d44f909..5b58e15709a 100644 --- a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/PlaygroundResultFeatureStrategyList.test.tsx +++ b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/PlaygroundResultFeatureStrategyList.test.tsx @@ -1,6 +1,6 @@ import { screen } from '@testing-library/react'; import { render } from 'utils/testRenderer'; -import { PlaygroundFeatureSchema, PlaygroundRequestSchema } from 'openapi'; +import type { PlaygroundFeatureSchema, PlaygroundRequestSchema } from 'openapi'; import { PlaygroundResultFeatureStrategyList } from './PlaygroundResultFeatureStrategyList'; import { vi } from 'vitest'; diff --git a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/PlaygroundResultFeatureStrategyList.tsx b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/PlaygroundResultFeatureStrategyList.tsx index e49be637024..a45dd01fd9c 100644 --- a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/PlaygroundResultFeatureStrategyList.tsx +++ b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/PlaygroundResultFeatureStrategyList.tsx @@ -3,7 +3,7 @@ import { WrappedPlaygroundResultStrategyList, } from './StrategyList/playgroundResultStrategyLists'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { PlaygroundFeatureSchema, PlaygroundRequestSchema } from 'openapi'; +import type { PlaygroundFeatureSchema, PlaygroundRequestSchema } from 'openapi'; import { Alert } from '@mui/material'; interface PlaygroundResultFeatureStrategyListProps { diff --git a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/FeatureStrategyItem.tsx b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/FeatureStrategyItem.tsx index 6199e60b59c..531ba7a1e93 100644 --- a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/FeatureStrategyItem.tsx +++ b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/FeatureStrategyItem.tsx @@ -1,6 +1,9 @@ import { useTheme } from '@mui/material'; import { PlaygroundResultChip } from '../../../../PlaygroundResultChip/PlaygroundResultChip'; -import { PlaygroundStrategySchema, PlaygroundRequestSchema } from 'openapi'; +import type { + PlaygroundStrategySchema, + PlaygroundRequestSchema, +} from 'openapi'; import { StrategyExecution } from './StrategyExecution/StrategyExecution'; import { StrategyItemContainer } from 'component/common/StrategyItemContainer/StrategyItemContainer'; import { objectId } from 'utils/objectId'; diff --git a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/ConstraintExecution/ConstraintError/ConstraintError.tsx b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/ConstraintExecution/ConstraintError/ConstraintError.tsx index 741ff868b06..ddf08e4dbc4 100644 --- a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/ConstraintExecution/ConstraintError/ConstraintError.tsx +++ b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/ConstraintExecution/ConstraintError/ConstraintError.tsx @@ -1,6 +1,9 @@ import { styled, Typography } from '@mui/material'; import CancelOutlined from '@mui/icons-material/CancelOutlined'; -import { PlaygroundConstraintSchema, PlaygroundRequestSchema } from 'openapi'; +import type { + PlaygroundConstraintSchema, + PlaygroundRequestSchema, +} from 'openapi'; const StyledConstraintErrorDiv = styled('div')(({ theme }) => ({ display: 'flex', diff --git a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/ConstraintExecution/ConstraintExecution.tsx b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/ConstraintExecution/ConstraintExecution.tsx index 10833ef5140..1cd27bac0f5 100644 --- a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/ConstraintExecution/ConstraintExecution.tsx +++ b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/ConstraintExecution/ConstraintExecution.tsx @@ -1,5 +1,8 @@ -import { Fragment, VFC } from 'react'; -import { PlaygroundConstraintSchema, PlaygroundRequestSchema } from 'openapi'; +import { Fragment, type VFC } from 'react'; +import type { + PlaygroundConstraintSchema, + PlaygroundRequestSchema, +} from 'openapi'; import { objectId } from 'utils/objectId'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { StrategySeparator } from 'component/common/StrategySeparator/StrategySeparator'; diff --git a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/ConstraintExecution/ConstraintExecutionWithoutResults.tsx b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/ConstraintExecution/ConstraintExecutionWithoutResults.tsx index e8999058206..e53ac10b148 100644 --- a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/ConstraintExecution/ConstraintExecutionWithoutResults.tsx +++ b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/ConstraintExecution/ConstraintExecutionWithoutResults.tsx @@ -1,5 +1,5 @@ -import { Fragment, VFC } from 'react'; -import { PlaygroundConstraintSchema } from 'openapi'; +import { Fragment, type VFC } from 'react'; +import type { PlaygroundConstraintSchema } from 'openapi'; import { objectId } from 'utils/objectId'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { StrategySeparator } from 'component/common/StrategySeparator/StrategySeparator'; diff --git a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/CustomStrategyParams/CustomStrategyParams.tsx b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/CustomStrategyParams/CustomStrategyParams.tsx index 241f2048bc4..9478a9e0177 100644 --- a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/CustomStrategyParams/CustomStrategyParams.tsx +++ b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/CustomStrategyParams/CustomStrategyParams.tsx @@ -1,4 +1,4 @@ -import { Fragment, VFC } from 'react'; +import { Fragment, type VFC } from 'react'; import { parseParameterNumber, parseParameterString, @@ -102,7 +102,6 @@ export const CustomStrategyParams: VFC = ({ return ( <> {items.map((item, index) => ( - // biome-ignore lint/suspicious/noArrayIndexKey: 0} diff --git a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/DisabledStrategyExecution.tsx b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/DisabledStrategyExecution.tsx index b5f63c7c755..ca03c556798 100644 --- a/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/DisabledStrategyExecution.tsx +++ b/frontend/src/component/playground/Playground/PlaygroundResultsTable/FeatureResultInfoPopoverCell/FeatureStrategyList/StrategyList/StrategyItem/StrategyExecution/DisabledStrategyExecution.tsx @@ -1,8 +1,11 @@ -import { Fragment, VFC } from 'react'; +import { Fragment, type VFC } from 'react'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { StrategySeparator } from 'component/common/StrategySeparator/StrategySeparator'; import { styled } from '@mui/material'; -import { PlaygroundRequestSchema, PlaygroundStrategySchema } from 'openapi'; +import type { + PlaygroundRequestSchema, + PlaygroundStrategySchema, +} from 'openapi'; import { PlaygroundResultStrategyExecutionParameters } from './StrategyExecutionParameters/StrategyExecutionParameters'; import { CustomStrategyParams } from './CustomStrategyParams/CustomStrategyParams'; import { formattedStrategyNames } from 'utils/strategyNames'; @@ -75,7 +78,6 @@ export const DisabledStrategyExecution: VFC = return ( {items.map((item, index) => ( - // biome-ignore lint/suspicious/noArrayIndexKey: = ({ return ( {items.map((item, index) => ( - // biome-ignore lint/suspicious/noArrayIndexKey: ({ padding: 0, diff --git a/frontend/src/component/project/Project/Import/configure/ConfigurationStage.tsx b/frontend/src/component/project/Project/Import/configure/ConfigurationStage.tsx index e960071fb65..4d4dd7ba8fa 100644 --- a/frontend/src/component/project/Project/Import/configure/ConfigurationStage.tsx +++ b/frontend/src/component/project/Project/Import/configure/ConfigurationStage.tsx @@ -12,7 +12,7 @@ import { StyledFileDropZone } from './StyledFileDropZone'; import { PulsingAvatar } from '../PulsingAvatar'; import ArrowUpward from '@mui/icons-material/ArrowUpward'; import { ImportExplanation } from './ImportExplanation'; -import { FC, ReactNode, useState } from 'react'; +import { type FC, type ReactNode, useState } from 'react'; import useToast from 'hooks/useToast'; import { ImportLayoutContainer } from '../ImportLayoutContainer'; import { ActionsContainer } from '../ActionsContainer'; diff --git a/frontend/src/component/project/Project/Import/configure/FileDropZone.tsx b/frontend/src/component/project/Project/Import/configure/FileDropZone.tsx index 7f2ea7a545c..d2ac9200bd5 100644 --- a/frontend/src/component/project/Project/Import/configure/FileDropZone.tsx +++ b/frontend/src/component/project/Project/Import/configure/FileDropZone.tsx @@ -1,4 +1,4 @@ -import { FC, useCallback, useEffect } from 'react'; +import { type FC, useCallback, useEffect } from 'react'; import { useDropzone } from 'react-dropzone'; import { Box } from '@mui/material'; diff --git a/frontend/src/component/project/Project/Import/configure/ImportExplanation.tsx b/frontend/src/component/project/Project/Import/configure/ImportExplanation.tsx index 653d633c99f..61267f307c2 100644 --- a/frontend/src/component/project/Project/Import/configure/ImportExplanation.tsx +++ b/frontend/src/component/project/Project/Import/configure/ImportExplanation.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Box, styled, Typography } from '@mui/material'; const ImportExplanationContainer = styled(Box)(({ theme }) => ({ diff --git a/frontend/src/component/project/Project/Import/configure/ImportOptions.tsx b/frontend/src/component/project/Project/Import/configure/ImportOptions.tsx index 606d3defe15..ada48305c5b 100644 --- a/frontend/src/component/project/Project/Import/configure/ImportOptions.tsx +++ b/frontend/src/component/project/Project/Import/configure/ImportOptions.tsx @@ -1,6 +1,6 @@ import GeneralSelect from 'component/common/GeneralSelect/GeneralSelect'; import KeyboardArrowDownOutlined from '@mui/icons-material/KeyboardArrowDownOutlined'; -import { FC, useEffect } from 'react'; +import { type FC, useEffect } from 'react'; import { Box, styled, Typography } from '@mui/material'; import { IMPORT_ENVIRONMENT } from 'utils/testIds'; import useProject from 'hooks/api/getters/useProject/useProject'; diff --git a/frontend/src/component/project/Project/Import/import/ImportStage.tsx b/frontend/src/component/project/Project/Import/import/ImportStage.tsx index b34d1768335..192788edc48 100644 --- a/frontend/src/component/project/Project/Import/import/ImportStage.tsx +++ b/frontend/src/component/project/Project/Import/import/ImportStage.tsx @@ -1,4 +1,4 @@ -import { FC, useEffect } from 'react'; +import { type FC, useEffect } from 'react'; import { ImportLayoutContainer } from '../ImportLayoutContainer'; import { formatUnknownError } from 'utils/formatUnknownError'; import { useImportApi } from 'hooks/api/actions/useImportApi/useImportApi'; diff --git a/frontend/src/component/project/Project/Import/validate/ValidationStage.tsx b/frontend/src/component/project/Project/Import/validate/ValidationStage.tsx index 32248612fa2..f2edb46bbc8 100644 --- a/frontend/src/component/project/Project/Import/validate/ValidationStage.tsx +++ b/frontend/src/component/project/Project/Import/validate/ValidationStage.tsx @@ -1,8 +1,8 @@ import { ImportLayoutContainer } from '../ImportLayoutContainer'; import { Box, Button, styled, Typography } from '@mui/material'; -import { FC, useEffect, useState } from 'react'; +import { type FC, useEffect, useState } from 'react'; import { - IValidationSchema, + type IValidationSchema, useValidateImportApi, } from 'hooks/api/actions/useValidateImportApi/useValidateImportApi'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; diff --git a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ExperimentalColumnsMenu/ExperimentalColumnsMenu.tsx b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ExperimentalColumnsMenu/ExperimentalColumnsMenu.tsx index d3ee763a16c..2886355cf16 100644 --- a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ExperimentalColumnsMenu/ExperimentalColumnsMenu.tsx +++ b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ExperimentalColumnsMenu/ExperimentalColumnsMenu.tsx @@ -1,4 +1,4 @@ -import { useState, VFC } from 'react'; +import { useState, type VFC } from 'react'; import { IconButton, ListItemIcon, diff --git a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/FeatureToggleCell/FeatureToggleCell.tsx b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/FeatureToggleCell/FeatureToggleCell.tsx index e1657588913..1399d2a6fec 100644 --- a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/FeatureToggleCell/FeatureToggleCell.tsx +++ b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/FeatureToggleCell/FeatureToggleCell.tsx @@ -5,7 +5,7 @@ import { ConditionallyRender } from 'component/common/ConditionallyRender/Condit import VariantsWarningTooltip from 'component/feature/FeatureView/FeatureVariants/VariantsTooltipWarning'; import { FeatureToggleSwitch } from '../../ProjectFeatureToggles/FeatureToggleSwitch/FeatureToggleSwitch'; import type { UseFeatureToggleSwitchType } from '../../ProjectFeatureToggles/FeatureToggleSwitch/FeatureToggleSwitch.types'; -import { type FeatureEnvironmentSchema } from 'openapi'; +import type { FeatureEnvironmentSchema } from 'openapi'; const StyledSwitchContainer = styled('div', { shouldForwardProp: (prop) => prop !== 'hasWarning', diff --git a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectFeatureToggles.tsx b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectFeatureToggles.tsx index 905cb23d4c8..79d83140e41 100644 --- a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectFeatureToggles.tsx +++ b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectFeatureToggles.tsx @@ -4,12 +4,12 @@ import { PageContent } from 'component/common/PageContent/PageContent'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; import { DateCell } from 'component/common/Table/cells/DateCell/DateCell'; import { FeatureTypeCell } from 'component/common/Table/cells/FeatureTypeCell/FeatureTypeCell'; -import { IProject } from 'interfaces/project'; +import type { IProject } from 'interfaces/project'; import { PaginatedTable } from 'component/common/Table'; import { SearchHighlightProvider } from 'component/common/Table/SearchHighlightContext/SearchHighlightContext'; import { FavoriteIconHeader } from 'component/common/Table/FavoriteIconHeader/FavoriteIconHeader'; import { FavoriteIconCell } from 'component/common/Table/cells/FavoriteIconCell/FavoriteIconCell'; -import { ProjectEnvironmentType } from '../ProjectFeatureToggles/hooks/useEnvironmentsRef'; +import type { ProjectEnvironmentType } from '../ProjectFeatureToggles/hooks/useEnvironmentsRef'; import { ActionsCell } from '../ProjectFeatureToggles/ActionsCell/ActionsCell'; import { ExperimentalColumnsMenu as ColumnsMenu } from './ExperimentalColumnsMenu/ExperimentalColumnsMenu'; import { useFavoriteFeaturesApi } from 'hooks/api/actions/useFavoriteFeaturesApi/useFavoriteFeaturesApi'; @@ -41,7 +41,7 @@ import { import { ProjectFeatureTogglesHeader } from './ProjectFeatureTogglesHeader/ProjectFeatureTogglesHeader'; import { createColumnHelper, useReactTable } from '@tanstack/react-table'; import { withTableState } from 'utils/withTableState'; -import { type FeatureSearchResponseSchema } from 'openapi'; +import type { FeatureSearchResponseSchema } from 'openapi'; import { FeatureNameCell } from 'component/common/Table/cells/FeatureNameCell/FeatureNameCell'; import { FeatureToggleCell } from './FeatureToggleCell/FeatureToggleCell'; import { ProjectOverviewFilters } from './ProjectOverviewFilters'; diff --git a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectFeatureToggles.types.ts b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectFeatureToggles.types.ts index 124d4b0d25b..b863232002c 100644 --- a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectFeatureToggles.types.ts +++ b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectFeatureToggles.types.ts @@ -1,4 +1,4 @@ -import { IProject } from 'interfaces/project'; +import type { IProject } from 'interfaces/project'; export type ListItemType = Pick< IProject['features'][number], diff --git a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectFeatureTogglesHeader/ProjectFeatureTogglesHeader.tsx b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectFeatureTogglesHeader/ProjectFeatureTogglesHeader.tsx index e730018b67d..e8f58d5be02 100644 --- a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectFeatureTogglesHeader/ProjectFeatureTogglesHeader.tsx +++ b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectFeatureTogglesHeader/ProjectFeatureTogglesHeader.tsx @@ -1,4 +1,4 @@ -import { ReactNode, VFC, useState } from 'react'; +import { type ReactNode, type VFC, useState } from 'react'; import { Box, IconButton, @@ -20,7 +20,7 @@ import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; import { getCreateTogglePath } from 'utils/routePathHelpers'; import { CREATE_FEATURE } from 'component/providers/AccessProvider/permissions'; import { ExportDialog } from 'component/feature/FeatureToggleList/ExportDialog'; -import { FeatureSchema } from 'openapi'; +import type { FeatureSchema } from 'openapi'; import { usePlausibleTracker } from 'hooks/usePlausibleTracker'; interface IProjectFeatureTogglesHeaderProps { diff --git a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectOverviewFilters.tsx b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectOverviewFilters.tsx index 1965a130dcb..4b741f1fad4 100644 --- a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectOverviewFilters.tsx +++ b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/ProjectOverviewFilters.tsx @@ -1,9 +1,9 @@ -import { useEffect, useState, VFC } from 'react'; +import { useEffect, useState, type VFC } from 'react'; import useAllTags from 'hooks/api/getters/useAllTags/useAllTags'; import { - FilterItemParamHolder, + type FilterItemParamHolder, Filters, - IFilterItem, + type IFilterItem, } from 'component/filter/Filters/Filters'; interface IProjectOverviewFilters { diff --git a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/TableEmptyState/TableEmptyState.tsx b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/TableEmptyState/TableEmptyState.tsx index f9e67732e28..53e0bf00920 100644 --- a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/TableEmptyState/TableEmptyState.tsx +++ b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/TableEmptyState/TableEmptyState.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Box } from '@mui/material'; import { TablePlaceholder } from 'component/common/Table'; diff --git a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/hooks/useDefaultColumnVisibility.ts b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/hooks/useDefaultColumnVisibility.ts index b58ccb1a8e9..e3acf60a594 100644 --- a/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/hooks/useDefaultColumnVisibility.ts +++ b/frontend/src/component/project/Project/PaginatedProjectFeatureToggles/hooks/useDefaultColumnVisibility.ts @@ -1,6 +1,6 @@ import { useCallback } from 'react'; import { useMediaQuery, useTheme } from '@mui/material'; -import { type VisibilityState } from '@tanstack/react-table'; +import type { VisibilityState } from '@tanstack/react-table'; const staticColumns = ['select', 'actions', 'name', 'favorite']; diff --git a/frontend/src/component/project/Project/Project.tsx b/frontend/src/component/project/Project/Project.tsx index 7ae163c3b28..c8f193a4fb9 100644 --- a/frontend/src/component/project/Project/Project.tsx +++ b/frontend/src/component/project/Project/Project.tsx @@ -39,7 +39,7 @@ import { IMPORT_BUTTON } from 'utils/testIds'; import { EnterpriseBadge } from 'component/common/EnterpriseBadge/EnterpriseBadge'; import { Badge } from 'component/common/Badge/Badge'; import { ProjectDoraMetrics } from './ProjectDoraMetrics/ProjectDoraMetrics'; -import { UiFlags } from 'interfaces/uiConfig'; +import type { UiFlags } from 'interfaces/uiConfig'; import { HiddenProjectIconWithTooltip } from './HiddenProjectIconWithTooltip/HiddenProjectIconWithTooltip'; import { ChangeRequestPlausibleProvider } from 'component/changeRequest/ChangeRequestContext'; import { ProjectApplications } from '../ProjectApplications/ProjectApplications'; diff --git a/frontend/src/component/project/Project/ProjectEnterpriseSettingsForm/CollaborationModeTooltip.tsx b/frontend/src/component/project/Project/ProjectEnterpriseSettingsForm/CollaborationModeTooltip.tsx index aea3da80a63..3cf6dbf8f3e 100644 --- a/frontend/src/component/project/Project/ProjectEnterpriseSettingsForm/CollaborationModeTooltip.tsx +++ b/frontend/src/component/project/Project/ProjectEnterpriseSettingsForm/CollaborationModeTooltip.tsx @@ -1,5 +1,5 @@ import { Box, styled, Typography } from '@mui/material'; -import { FC } from 'react'; +import type { FC } from 'react'; import { HelpIcon } from 'component/common/HelpIcon/HelpIcon'; const StyledTitle = styled(Typography)(({ theme }) => ({ diff --git a/frontend/src/component/project/Project/ProjectEnterpriseSettingsForm/FeatureFlagNamingTooltip.tsx b/frontend/src/component/project/Project/ProjectEnterpriseSettingsForm/FeatureFlagNamingTooltip.tsx index 0c2b463d9aa..7e6eebd3ae8 100644 --- a/frontend/src/component/project/Project/ProjectEnterpriseSettingsForm/FeatureFlagNamingTooltip.tsx +++ b/frontend/src/component/project/Project/ProjectEnterpriseSettingsForm/FeatureFlagNamingTooltip.tsx @@ -1,5 +1,5 @@ import { Box } from '@mui/material'; -import { FC } from 'react'; +import type { FC } from 'react'; import { HelpIcon } from 'component/common/HelpIcon/HelpIcon'; export const FeatureFlagNamingTooltip: FC = () => { diff --git a/frontend/src/component/project/Project/ProjectEnterpriseSettingsForm/ProjectEnterpriseSettingsForm.tsx b/frontend/src/component/project/Project/ProjectEnterpriseSettingsForm/ProjectEnterpriseSettingsForm.tsx index acd02742af2..4afe8ded84e 100644 --- a/frontend/src/component/project/Project/ProjectEnterpriseSettingsForm/ProjectEnterpriseSettingsForm.tsx +++ b/frontend/src/component/project/Project/ProjectEnterpriseSettingsForm/ProjectEnterpriseSettingsForm.tsx @@ -1,6 +1,6 @@ import React, { useEffect } from 'react'; import Select from 'component/common/select'; -import { ProjectMode } from '../hooks/useProjectEnterpriseSettingsForm'; +import type { ProjectMode } from '../hooks/useProjectEnterpriseSettingsForm'; import { Box, InputAdornment, styled, TextField } from '@mui/material'; import { CollaborationModeTooltip } from './CollaborationModeTooltip'; import Input from 'component/common/Input/Input'; diff --git a/frontend/src/component/project/Project/ProjectFeatureToggles/ActionsCell/ActionsCell.tsx b/frontend/src/component/project/Project/ProjectFeatureToggles/ActionsCell/ActionsCell.tsx index 51541109910..d5bf92afcb5 100644 --- a/frontend/src/component/project/Project/ProjectFeatureToggles/ActionsCell/ActionsCell.tsx +++ b/frontend/src/component/project/Project/ProjectFeatureToggles/ActionsCell/ActionsCell.tsx @@ -1,4 +1,4 @@ -import { useState, VFC } from 'react'; +import { useState, type VFC } from 'react'; import { Box, IconButton, diff --git a/frontend/src/component/project/Project/ProjectFeatureToggles/ColumnsMenu/ColumnsMenu.tsx b/frontend/src/component/project/Project/ProjectFeatureToggles/ColumnsMenu/ColumnsMenu.tsx index 44322c7f433..01d6af10ced 100644 --- a/frontend/src/component/project/Project/ProjectFeatureToggles/ColumnsMenu/ColumnsMenu.tsx +++ b/frontend/src/component/project/Project/ProjectFeatureToggles/ColumnsMenu/ColumnsMenu.tsx @@ -1,4 +1,4 @@ -import { useEffect, useState, VFC } from 'react'; +import { useEffect, useState, type VFC } from 'react'; import { IconButton, ListItemIcon, diff --git a/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/EnableEnvironmentDialog/EnableEnvironmentDialog.tsx b/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/EnableEnvironmentDialog/EnableEnvironmentDialog.tsx index 378c67d128a..c8b0f91df51 100644 --- a/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/EnableEnvironmentDialog/EnableEnvironmentDialog.tsx +++ b/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/EnableEnvironmentDialog/EnableEnvironmentDialog.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Typography, styled } from '@mui/material'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; diff --git a/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/FeatureToggleSwitch.tsx b/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/FeatureToggleSwitch.tsx index ebeb3c23c3f..20bf331e947 100644 --- a/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/FeatureToggleSwitch.tsx +++ b/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/FeatureToggleSwitch.tsx @@ -1,4 +1,4 @@ -import { type VFC } from 'react'; +import type { VFC } from 'react'; import { Box, styled } from '@mui/material'; import PermissionSwitch from 'component/common/PermissionSwitch/PermissionSwitch'; import { UPDATE_FEATURE_ENVIRONMENT } from 'component/providers/AccessProvider/permissions'; diff --git a/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/FeatureToggleSwitch.types.ts b/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/FeatureToggleSwitch.types.ts index 734746c2be9..673c5728fe7 100644 --- a/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/FeatureToggleSwitch.types.ts +++ b/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/FeatureToggleSwitch.types.ts @@ -1,4 +1,4 @@ -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; export type OnFeatureToggleSwitchArgs = { featureId: string; diff --git a/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/createFeatureToggleCell.tsx b/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/createFeatureToggleCell.tsx index 3a07eb9f5ea..e46a656c742 100644 --- a/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/createFeatureToggleCell.tsx +++ b/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/createFeatureToggleCell.tsx @@ -5,7 +5,7 @@ import { ConditionallyRender } from 'component/common/ConditionallyRender/Condit import VariantsWarningTooltip from 'component/feature/FeatureView/FeatureVariants/VariantsTooltipWarning'; import { FeatureToggleSwitch } from './FeatureToggleSwitch'; import type { UseFeatureToggleSwitchType } from './FeatureToggleSwitch.types'; -import { ListItemType } from '../../PaginatedProjectFeatureToggles/ProjectFeatureToggles.types'; +import type { ListItemType } from '../../PaginatedProjectFeatureToggles/ProjectFeatureToggles.types'; const StyledSwitchContainer = styled('div', { shouldForwardProp: (prop) => prop !== 'hasWarning', diff --git a/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/useFeatureToggleSwitch.tsx b/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/useFeatureToggleSwitch.tsx index 6089e547fec..74a568ad315 100644 --- a/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/useFeatureToggleSwitch.tsx +++ b/frontend/src/component/project/Project/ProjectFeatureToggles/FeatureToggleSwitch/useFeatureToggleSwitch.tsx @@ -1,4 +1,4 @@ -import { ComponentProps, useCallback, useState } from 'react'; +import { type ComponentProps, useCallback, useState } from 'react'; import { formatUnknownError } from 'utils/formatUnknownError'; import useFeatureApi from 'hooks/api/actions/useFeatureApi/useFeatureApi'; import useToast from 'hooks/useToast'; @@ -10,7 +10,7 @@ import { isProdGuardEnabled, } from 'component/feature/FeatureStrategy/FeatureStrategyProdGuard/FeatureStrategyProdGuard'; import { EnableEnvironmentDialog } from './EnableEnvironmentDialog/EnableEnvironmentDialog'; -import { +import type { OnFeatureToggleSwitchArgs, UseFeatureToggleSwitchType, } from './FeatureToggleSwitch.types'; diff --git a/frontend/src/component/project/Project/ProjectFeatureToggles/ProjectFeaturesBatchActions/ArchiveButton.tsx b/frontend/src/component/project/Project/ProjectFeatureToggles/ProjectFeaturesBatchActions/ArchiveButton.tsx index 19c86ad5a67..697d873636a 100644 --- a/frontend/src/component/project/Project/ProjectFeatureToggles/ProjectFeaturesBatchActions/ArchiveButton.tsx +++ b/frontend/src/component/project/Project/ProjectFeatureToggles/ProjectFeaturesBatchActions/ArchiveButton.tsx @@ -1,11 +1,11 @@ -import { useMemo, useState, VFC } from 'react'; +import { useMemo, useState, type VFC } from 'react'; import { Button } from '@mui/material'; import { PermissionHOC } from 'component/common/PermissionHOC/PermissionHOC'; import { DELETE_FEATURE } from 'component/providers/AccessProvider/permissions'; import useProject from 'hooks/api/getters/useProject/useProject'; import { FeatureArchiveDialog } from 'component/common/FeatureArchiveDialog/FeatureArchiveDialog'; import { usePlausibleTracker } from 'hooks/usePlausibleTracker'; -import { FeatureSchema } from 'openapi'; +import type { FeatureSchema } from 'openapi'; import { addDays, isBefore } from 'date-fns'; interface IArchiveButtonProps { diff --git a/frontend/src/component/project/Project/ProjectFeatureToggles/ProjectFeaturesBatchActions/ManageTags.tsx b/frontend/src/component/project/Project/ProjectFeatureToggles/ProjectFeaturesBatchActions/ManageTags.tsx index a6a7268412f..2e4ed47b96b 100644 --- a/frontend/src/component/project/Project/ProjectFeatureToggles/ProjectFeaturesBatchActions/ManageTags.tsx +++ b/frontend/src/component/project/Project/ProjectFeatureToggles/ProjectFeaturesBatchActions/ManageTags.tsx @@ -1,8 +1,8 @@ -import { useMemo, useState, VFC } from 'react'; +import { useMemo, useState, type VFC } from 'react'; import { Button } from '@mui/material'; import { ManageBulkTagsDialog } from 'component/feature/FeatureView/FeatureOverview/ManageTagsDialog/ManageBulkTagsDialog'; import type { FeatureSchema } from 'openapi'; -import { ITag } from 'interfaces/tags'; +import type { ITag } from 'interfaces/tags'; import useTagApi from 'hooks/api/actions/useTagApi/useTagApi'; import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; diff --git a/frontend/src/component/project/Project/ProjectFeatureToggles/ProjectFeaturesBatchActions/MoreActions.tsx b/frontend/src/component/project/Project/ProjectFeatureToggles/ProjectFeaturesBatchActions/MoreActions.tsx index 90397dfaa20..08c9559f2cf 100644 --- a/frontend/src/component/project/Project/ProjectFeatureToggles/ProjectFeaturesBatchActions/MoreActions.tsx +++ b/frontend/src/component/project/Project/ProjectFeatureToggles/ProjectFeaturesBatchActions/MoreActions.tsx @@ -1,4 +1,4 @@ -import { useState, VFC } from 'react'; +import { useState, type VFC } from 'react'; import { IconButton, ListItemIcon, diff --git a/frontend/src/component/project/Project/ProjectFeatureToggles/ProjectFeaturesBatchActions/ProjectFeaturesBatchActions.tsx b/frontend/src/component/project/Project/ProjectFeatureToggles/ProjectFeaturesBatchActions/ProjectFeaturesBatchActions.tsx index 58cc7cfc5a9..30f59b86602 100644 --- a/frontend/src/component/project/Project/ProjectFeatureToggles/ProjectFeaturesBatchActions/ProjectFeaturesBatchActions.tsx +++ b/frontend/src/component/project/Project/ProjectFeatureToggles/ProjectFeaturesBatchActions/ProjectFeaturesBatchActions.tsx @@ -1,4 +1,4 @@ -import { FC, useMemo, useState } from 'react'; +import { type FC, useMemo, useState } from 'react'; import { Button } from '@mui/material'; import type { FeatureSchema } from 'openapi'; import { ExportDialog } from 'component/feature/FeatureToggleList/ExportDialog'; diff --git a/frontend/src/component/project/Project/ProjectFeatureToggles/RowSelectCell/RowSelectCell.tsx b/frontend/src/component/project/Project/ProjectFeatureToggles/RowSelectCell/RowSelectCell.tsx index d2df48fbadb..a35293b2696 100644 --- a/frontend/src/component/project/Project/ProjectFeatureToggles/RowSelectCell/RowSelectCell.tsx +++ b/frontend/src/component/project/Project/ProjectFeatureToggles/RowSelectCell/RowSelectCell.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { Box, Checkbox, styled } from '@mui/material'; -import { FC } from 'react'; +import type { FC } from 'react'; import { BATCH_SELECT } from 'utils/testIds'; interface IRowSelectCellProps { diff --git a/frontend/src/component/project/Project/ProjectFeatureToggles/hooks/useEnvironmentsRef.ts b/frontend/src/component/project/Project/ProjectFeatureToggles/hooks/useEnvironmentsRef.ts index 53345bd4a68..57d5cb74a46 100644 --- a/frontend/src/component/project/Project/ProjectFeatureToggles/hooks/useEnvironmentsRef.ts +++ b/frontend/src/component/project/Project/ProjectFeatureToggles/hooks/useEnvironmentsRef.ts @@ -1,5 +1,5 @@ import { useRef } from 'react'; -import { CreateFeatureStrategySchema } from 'openapi'; +import type { CreateFeatureStrategySchema } from 'openapi'; /** * Don't revalidate if array content didn't change. * Needed for `columns` memo optimization. diff --git a/frontend/src/component/project/Project/ProjectForm/FeatureTogglesLimitTooltip.tsx b/frontend/src/component/project/Project/ProjectForm/FeatureTogglesLimitTooltip.tsx index 01237bb26fe..d06955fbb5a 100644 --- a/frontend/src/component/project/Project/ProjectForm/FeatureTogglesLimitTooltip.tsx +++ b/frontend/src/component/project/Project/ProjectForm/FeatureTogglesLimitTooltip.tsx @@ -1,5 +1,5 @@ import { Box } from '@mui/material'; -import { FC } from 'react'; +import type { FC } from 'react'; import { HelpIcon } from 'component/common/HelpIcon/HelpIcon'; export const FeatureTogglesLimitTooltip: FC = () => ( diff --git a/frontend/src/component/project/Project/ProjectForm/ProjectForm.tsx b/frontend/src/component/project/Project/ProjectForm/ProjectForm.tsx index 945702c9c80..193a04a138e 100644 --- a/frontend/src/component/project/Project/ProjectForm/ProjectForm.tsx +++ b/frontend/src/component/project/Project/ProjectForm/ProjectForm.tsx @@ -1,11 +1,11 @@ -import React from 'react'; +import type React from 'react'; import { trim } from 'component/common/util'; import { StickinessSelect } from 'component/feature/StrategyTypes/FlexibleStrategy/StickinessSelect/StickinessSelect'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { Box, styled, TextField } from '@mui/material'; import Input from 'component/common/Input/Input'; import { FeatureTogglesLimitTooltip } from './FeatureTogglesLimitTooltip'; -import { ProjectMode } from '../hooks/useProjectEnterpriseSettingsForm'; +import type { ProjectMode } from '../hooks/useProjectEnterpriseSettingsForm'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import { CollaborationModeTooltip } from '../ProjectEnterpriseSettingsForm/CollaborationModeTooltip'; import Select from 'component/common/select'; diff --git a/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportCard/ReportCard.tsx b/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportCard/ReportCard.tsx index 16e673847a5..ce918b7da9d 100644 --- a/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportCard/ReportCard.tsx +++ b/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportCard/ReportCard.tsx @@ -4,7 +4,7 @@ import { Link as RouterLink } from 'react-router-dom'; import ReportProblemOutlinedIcon from '@mui/icons-material/ReportProblemOutlined'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import ReactTimeAgo from 'react-timeago'; -import { IProjectHealthReport } from 'interfaces/project'; +import type { IProjectHealthReport } from 'interfaces/project'; import { HtmlTooltip } from 'component/common/HtmlTooltip/HtmlTooltip'; import InfoOutlined from '@mui/icons-material/InfoOutlined'; diff --git a/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportExpiredCell/ReportExpiredCell.tsx b/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportExpiredCell/ReportExpiredCell.tsx index d4b6c6a6126..ac243fadd2f 100644 --- a/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportExpiredCell/ReportExpiredCell.tsx +++ b/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportExpiredCell/ReportExpiredCell.tsx @@ -1,7 +1,7 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { Typography, useTheme } from '@mui/material'; import { DateCell } from 'component/common/Table/cells/DateCell/DateCell'; -import { IReportTableRow } from 'component/project/Project/ProjectHealth/ReportTable/ReportTable'; +import type { IReportTableRow } from 'component/project/Project/ProjectHealth/ReportTable/ReportTable'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; interface IReportExpiredCellProps { diff --git a/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportExpiredCell/formatExpiredAt.ts b/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportExpiredCell/formatExpiredAt.ts index fbbfc59c5f1..6c6b13d92ef 100644 --- a/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportExpiredCell/formatExpiredAt.ts +++ b/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportExpiredCell/formatExpiredAt.ts @@ -1,8 +1,8 @@ -import { IFeatureToggleListItem } from 'interfaces/featureToggle'; +import type { IFeatureToggleListItem } from 'interfaces/featureToggle'; import { KILLSWITCH, PERMISSION } from 'constants/featureToggleTypes'; import { expired, getDiffInDays } from '../utils'; import { parseISO, subDays } from 'date-fns'; -import { FeatureTypeSchema } from 'openapi'; +import type { FeatureTypeSchema } from 'openapi'; export const formatExpiredAt = ( feature: IFeatureToggleListItem, diff --git a/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportStatusCell/ReportStatusCell.tsx b/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportStatusCell/ReportStatusCell.tsx index ef6199bc2ca..5c6d0a8c7be 100644 --- a/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportStatusCell/ReportStatusCell.tsx +++ b/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportStatusCell/ReportStatusCell.tsx @@ -1,9 +1,9 @@ -import { VFC, ReactElement } from 'react'; +import type { VFC, ReactElement } from 'react'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; import Check from '@mui/icons-material/Check'; import ReportProblemOutlined from '@mui/icons-material/ReportProblemOutlined'; import { styled } from '@mui/material'; -import { IReportTableRow } from 'component/project/Project/ProjectHealth/ReportTable/ReportTable'; +import type { IReportTableRow } from 'component/project/Project/ProjectHealth/ReportTable/ReportTable'; const StyledTextPotentiallyStale = styled('span')(({ theme }) => ({ display: 'flex', diff --git a/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportStatusCell/formatStatus.ts b/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportStatusCell/formatStatus.ts index 821fb0fd35c..5773e03e061 100644 --- a/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportStatusCell/formatStatus.ts +++ b/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportStatusCell/formatStatus.ts @@ -1,8 +1,8 @@ -import { IFeatureToggleListItem } from 'interfaces/featureToggle'; +import type { IFeatureToggleListItem } from 'interfaces/featureToggle'; import { expired, getDiffInDays } from '../utils'; import { KILLSWITCH, PERMISSION } from 'constants/featureToggleTypes'; import { parseISO } from 'date-fns'; -import { FeatureTypeSchema } from 'openapi'; +import type { FeatureTypeSchema } from 'openapi'; export type ReportingStatus = 'potentially-stale' | 'healthy'; diff --git a/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportTable.tsx b/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportTable.tsx index 7f0f75dca80..19279d91293 100644 --- a/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportTable.tsx +++ b/frontend/src/component/project/Project/ProjectHealth/ReportTable/ReportTable.tsx @@ -1,5 +1,5 @@ import { useMemo } from 'react'; -import { +import type { IEnvironments, IFeatureToggleListItem, } from 'interfaces/featureToggle'; @@ -23,7 +23,10 @@ import { ConditionallyRender } from 'component/common/ConditionallyRender/Condit import { Search } from 'component/common/Search/Search'; import { ReportExpiredCell } from './ReportExpiredCell/ReportExpiredCell'; import { ReportStatusCell } from './ReportStatusCell/ReportStatusCell'; -import { formatStatus, ReportingStatus } from './ReportStatusCell/formatStatus'; +import { + formatStatus, + type ReportingStatus, +} from './ReportStatusCell/formatStatus'; import { formatExpiredAt } from './ReportExpiredCell/formatExpiredAt'; import { useConditionallyHiddenColumns } from 'hooks/useConditionallyHiddenColumns'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; diff --git a/frontend/src/component/project/Project/ProjectHealth/ReportTable/utils.ts b/frontend/src/component/project/Project/ProjectHealth/ReportTable/utils.ts index fa01f882859..c1a995733fa 100644 --- a/frontend/src/component/project/Project/ProjectHealth/ReportTable/utils.ts +++ b/frontend/src/component/project/Project/ProjectHealth/ReportTable/utils.ts @@ -1,5 +1,5 @@ import differenceInDays from 'date-fns/differenceInDays'; -import { FeatureTypeSchema } from 'openapi'; +import type { FeatureTypeSchema } from 'openapi'; export const getDiffInDays = (date: Date, now: Date) => { return Math.abs(differenceInDays(date, now)); diff --git a/frontend/src/component/project/Project/ProjectInfo/ChangeRequestsWidget.tsx b/frontend/src/component/project/Project/ProjectInfo/ChangeRequestsWidget.tsx index 190888bd3a6..ee054441046 100644 --- a/frontend/src/component/project/Project/ProjectInfo/ChangeRequestsWidget.tsx +++ b/frontend/src/component/project/Project/ProjectInfo/ChangeRequestsWidget.tsx @@ -1,7 +1,7 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import useLoading from 'hooks/useLoading'; import { Box, styled, Typography } from '@mui/material'; -import { ChangeRequestType } from 'component/changeRequest/changeRequest.types'; +import type { ChangeRequestType } from 'component/changeRequest/changeRequest.types'; import { StyledCount, diff --git a/frontend/src/component/project/Project/ProjectInfo/FlagTypesWidget.tsx b/frontend/src/component/project/Project/ProjectInfo/FlagTypesWidget.tsx index f0e0cc35a9a..2400264b630 100644 --- a/frontend/src/component/project/Project/ProjectInfo/FlagTypesWidget.tsx +++ b/frontend/src/component/project/Project/ProjectInfo/FlagTypesWidget.tsx @@ -1,13 +1,13 @@ import { useMemo } from 'react'; -import { styled, SvgIconTypeMap } from '@mui/material'; +import { styled, type SvgIconTypeMap } from '@mui/material'; import { getFeatureTypeIcons } from 'utils/getFeatureTypeIcons'; import { StyledCount, StyledProjectInfoWidgetContainer, StyledWidgetTitle, } from './ProjectInfo.styles'; -import { OverridableComponent } from '@mui/material/OverridableComponent'; -import { FeatureTypeCount } from 'interfaces/project'; +import type { OverridableComponent } from '@mui/material/OverridableComponent'; +import type { FeatureTypeCount } from 'interfaces/project'; export interface IFlagTypesWidgetProps { featureTypeCounts: FeatureTypeCount[]; diff --git a/frontend/src/component/project/Project/ProjectInfo/MetaWidget.tsx b/frontend/src/component/project/Project/ProjectInfo/MetaWidget.tsx index 3043e4fc1d7..5468cd8a5fd 100644 --- a/frontend/src/component/project/Project/ProjectInfo/MetaWidget.tsx +++ b/frontend/src/component/project/Project/ProjectInfo/MetaWidget.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { styled, Typography } from '@mui/material'; import { diff --git a/frontend/src/component/project/Project/ProjectInfo/ProjectInfo.tsx b/frontend/src/component/project/Project/ProjectInfo/ProjectInfo.tsx index 7bbc2972a70..894138ae8cb 100644 --- a/frontend/src/component/project/Project/ProjectInfo/ProjectInfo.tsx +++ b/frontend/src/component/project/Project/ProjectInfo/ProjectInfo.tsx @@ -10,7 +10,7 @@ import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import { ChangeRequestsWidget } from './ChangeRequestsWidget'; import { flexRow } from 'themes/themeStyles'; import { useChangeRequestsEnabled } from 'hooks/useChangeRequestsEnabled'; -import { FeatureTypeCount } from 'interfaces/project'; +import type { FeatureTypeCount } from 'interfaces/project'; interface IProjectInfoProps { id: string; diff --git a/frontend/src/component/project/Project/ProjectInfo/WidgetFooterLink.tsx b/frontend/src/component/project/Project/ProjectInfo/WidgetFooterLink.tsx index d8d80f2621b..6347fcf55ba 100644 --- a/frontend/src/component/project/Project/ProjectInfo/WidgetFooterLink.tsx +++ b/frontend/src/component/project/Project/ProjectInfo/WidgetFooterLink.tsx @@ -1,6 +1,6 @@ import { Link as RouterLink } from 'react-router-dom'; import { Link, Typography } from '@mui/material'; -import { FC } from 'react'; +import type { FC } from 'react'; interface IWidgetFooterLinkProps { to: string; diff --git a/frontend/src/component/project/Project/ProjectOverview.tsx b/frontend/src/component/project/Project/ProjectOverview.tsx index 9857543ebdf..4f2d1434180 100644 --- a/frontend/src/component/project/Project/ProjectOverview.tsx +++ b/frontend/src/component/project/Project/ProjectOverview.tsx @@ -1,4 +1,4 @@ -import { FC, useEffect } from 'react'; +import { type FC, useEffect } from 'react'; import { Box, styled } from '@mui/material'; import ProjectInfo from './ProjectInfo/ProjectInfo'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; diff --git a/frontend/src/component/project/Project/ProjectSettings/ChangeRequestConfiguration/ChangeRequestProcessHelp/ChangeRequestProcessHelp.tsx b/frontend/src/component/project/Project/ProjectSettings/ChangeRequestConfiguration/ChangeRequestProcessHelp/ChangeRequestProcessHelp.tsx index 7b6d19132ae..9141e847ef8 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ChangeRequestConfiguration/ChangeRequestProcessHelp/ChangeRequestProcessHelp.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ChangeRequestConfiguration/ChangeRequestProcessHelp/ChangeRequestProcessHelp.tsx @@ -1,4 +1,4 @@ -import { useRef, useState, VFC } from 'react'; +import { useRef, useState, type VFC } from 'react'; import { useTheme, IconButton, diff --git a/frontend/src/component/project/Project/ProjectSettings/ChangeRequestConfiguration/ChangeRequestTable.tsx b/frontend/src/component/project/Project/ProjectSettings/ChangeRequestConfiguration/ChangeRequestTable.tsx index 784cddf0f4f..dd7b0f0af8e 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ChangeRequestConfiguration/ChangeRequestTable.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ChangeRequestConfiguration/ChangeRequestTable.tsx @@ -1,5 +1,5 @@ -import { useContext, useMemo, useState, VFC } from 'react'; -import { HeaderGroup, useGlobalFilter, useTable } from 'react-table'; +import { useContext, useMemo, useState, type VFC } from 'react'; +import { type HeaderGroup, useGlobalFilter, useTable } from 'react-table'; import { Alert, Box, styled, Typography } from '@mui/material'; import { SortableTableHeader, @@ -18,7 +18,7 @@ import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { useChangeRequestConfig } from 'hooks/api/getters/useChangeRequestConfig/useChangeRequestConfig'; import { - IChangeRequestConfig, + type IChangeRequestConfig, useChangeRequestApi, } from 'hooks/api/actions/useChangeRequestApi/useChangeRequestApi'; import { UPDATE_PROJECT } from '@server/types/permissions'; diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActions.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActions.tsx index 6916e04da79..e15a76d4be3 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActions.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActions.tsx @@ -11,7 +11,7 @@ import { ProjectActionsTable } from './ProjectActionsTable/ProjectActionsTable'; import ResponsiveButton from 'component/common/ResponsiveButton/ResponsiveButton'; import { useTheme } from '@mui/material'; import Add from '@mui/icons-material/Add'; -import { IActionSet } from 'interfaces/action'; +import type { IActionSet } from 'interfaces/action'; import { useState } from 'react'; export const ProjectActions = () => { diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsActionsCell/ProjectActionsActionsCell.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsActionsCell/ProjectActionsActionsCell.tsx index 7262bd41bb6..de5b4f55288 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsActionsCell/ProjectActionsActionsCell.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsActionsCell/ProjectActionsActionsCell.tsx @@ -1,6 +1,6 @@ import { styled } from '@mui/material'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; -import { IActionSet } from 'interfaces/action'; +import type { IActionSet } from 'interfaces/action'; import { LinkCell } from 'component/common/Table/cells/LinkCell/LinkCell'; import { TooltipLink } from 'component/common/TooltipLink/TooltipLink'; import { ProjectActionsLastEvent } from './ProjectActionsLastEvent'; diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsActionsCell/ProjectActionsLastEvent.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsActionsCell/ProjectActionsLastEvent.tsx index e2aacc03c86..e0be5438a32 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsActionsCell/ProjectActionsLastEvent.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsActionsCell/ProjectActionsLastEvent.tsx @@ -1,4 +1,4 @@ -import { IActionSet } from 'interfaces/action'; +import type { IActionSet } from 'interfaces/action'; import { TooltipLink } from 'component/common/TooltipLink/TooltipLink'; import { useActionEvents } from 'hooks/api/getters/useActionEvents/useActionEvents'; import { ProjectActionsEventsDetails } from '../ProjectActionsEventsModal/ProjectActionsEventsDetails/ProjectActionsEventsDetails'; diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsActorCell.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsActorCell.tsx index 44c5aa993e8..f76f6ed483a 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsActorCell.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsActorCell.tsx @@ -1,7 +1,7 @@ import { LinkCell } from 'component/common/Table/cells/LinkCell/LinkCell'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; -import { IActionSet } from 'interfaces/action'; -import { IServiceAccount } from 'interfaces/service-account'; +import type { IActionSet } from 'interfaces/action'; +import type { IServiceAccount } from 'interfaces/service-account'; interface IProjectActionsActorCellProps { action: IActionSet; diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsDeleteDialog.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsDeleteDialog.tsx index 6f870d2ba21..9fd0f092451 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsDeleteDialog.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsDeleteDialog.tsx @@ -1,5 +1,5 @@ import { Dialogue } from 'component/common/Dialogue/Dialogue'; -import { IActionSet } from 'interfaces/action'; +import type { IActionSet } from 'interfaces/action'; interface IProjectActionsDeleteDialogProps { action?: IActionSet; diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsDetails/ProjectActionsEventsDetails.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsDetails/ProjectActionsEventsDetails.tsx index 7e441662d92..6acc499f227 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsDetails/ProjectActionsEventsDetails.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsDetails/ProjectActionsEventsDetails.tsx @@ -1,5 +1,5 @@ import { Alert, styled } from '@mui/material'; -import { IActionSetEvent } from 'interfaces/action'; +import type { IActionSetEvent } from 'interfaces/action'; import { ProjectActionsEventsDetailsAction } from './ProjectActionsEventsDetailsAction'; import { ProjectActionsEventsDetailsSource } from './ProjectActionsEventsDetailsSource/ProjectActionsEventsDetailsSource'; import CheckCircleOutline from '@mui/icons-material/CheckCircleOutline'; diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsDetails/ProjectActionsEventsDetailsAction.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsDetails/ProjectActionsEventsDetailsAction.tsx index 5db476a6bed..78952b4b7a0 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsDetails/ProjectActionsEventsDetailsAction.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsDetails/ProjectActionsEventsDetailsAction.tsx @@ -2,8 +2,8 @@ import CheckCircleOutline from '@mui/icons-material/CheckCircleOutline'; import ErrorOutline from '@mui/icons-material/ErrorOutline'; import { Alert, CircularProgress, Divider, styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { IActionEvent } from 'interfaces/action'; -import { ReactNode } from 'react'; +import type { IActionEvent } from 'interfaces/action'; +import type { ReactNode } from 'react'; const StyledAction = styled('div', { shouldForwardProp: (prop) => prop !== 'state', diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsDetails/ProjectActionsEventsDetailsSource/ProjectActionsEventsDetailsSource.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsDetails/ProjectActionsEventsDetailsSource/ProjectActionsEventsDetailsSource.tsx index 0fc9a1524d8..f09426d48fb 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsDetails/ProjectActionsEventsDetailsSource/ProjectActionsEventsDetailsSource.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsDetails/ProjectActionsEventsDetailsSource/ProjectActionsEventsDetailsSource.tsx @@ -1,4 +1,4 @@ -import { ISignal } from 'interfaces/signal'; +import type { ISignal } from 'interfaces/signal'; import { ProjectActionsEventsDetailsSourceSignalEndpoint } from './ProjectActionsEventsDetailsSourceSignalEndpoint'; interface IProjectActionsEventsDetailsSourceProps { diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsDetails/ProjectActionsEventsDetailsSource/ProjectActionsEventsDetailsSourceSignalEndpoint.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsDetails/ProjectActionsEventsDetailsSource/ProjectActionsEventsDetailsSourceSignalEndpoint.tsx index f61e8ceea17..cf99fdfeff0 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsDetails/ProjectActionsEventsDetailsSource/ProjectActionsEventsDetailsSourceSignalEndpoint.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsDetails/ProjectActionsEventsDetailsSource/ProjectActionsEventsDetailsSourceSignalEndpoint.tsx @@ -7,7 +7,7 @@ import { styled, } from '@mui/material'; import { useSignalEndpoints } from 'hooks/api/getters/useSignalEndpoints/useSignalEndpoints'; -import { ISignal } from 'interfaces/signal'; +import type { ISignal } from 'interfaces/signal'; import { Suspense, lazy, useMemo } from 'react'; import { Link } from 'react-router-dom'; diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsModal.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsModal.tsx index c5021c6ed8f..79b74bb1376 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsModal.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsModal.tsx @@ -1,6 +1,6 @@ import { Button, Link, styled } from '@mui/material'; import { SidebarModal } from 'component/common/SidebarModal/SidebarModal'; -import { IActionSet } from 'interfaces/action'; +import type { IActionSet } from 'interfaces/action'; import { useActionEvents } from 'hooks/api/getters/useActionEvents/useActionEvents'; import FormTemplate from 'component/common/FormTemplate/FormTemplate'; import { SidePanelList } from 'component/common/SidePanelList/SidePanelList'; diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsStateCell.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsStateCell.tsx index 28f0b58f756..0e98b446a74 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsStateCell.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsEventsModal/ProjectActionsEventsStateCell.tsx @@ -1,7 +1,7 @@ import { CircularProgress, styled } from '@mui/material'; import CheckCircleOutline from '@mui/icons-material/CheckCircleOutline'; import ErrorOutline from '@mui/icons-material/ErrorOutline'; -import { IActionSetEvent } from 'interfaces/action'; +import type { IActionSetEvent } from 'interfaces/action'; export const StyledSuccessIcon = styled(CheckCircleOutline)(({ theme }) => ({ color: theme.palette.success.main, diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsFiltersCell.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsFiltersCell.tsx index e2bd1104ab4..f6e11ed4873 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsFiltersCell.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsFiltersCell.tsx @@ -1,6 +1,6 @@ import { styled, Typography } from '@mui/material'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; -import { IActionSet } from 'interfaces/action'; +import type { IActionSet } from 'interfaces/action'; import { TooltipLink } from 'component/common/TooltipLink/TooltipLink'; import { formatOperatorDescription } from 'component/common/NewConstraintAccordion/ConstraintOperator/formatOperatorDescription'; diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsForm.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsForm.tsx index 7bc2e81c3e9..c42404c1a2a 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsForm.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsForm.tsx @@ -3,7 +3,7 @@ import { Link as RouterLink } from 'react-router-dom'; import Input from 'component/common/Input/Input'; import { FormSwitch } from 'component/common/FormSwitch/FormSwitch'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { +import type { ActionsFilterState, ActionsActionState, ProjectActionsFormErrors, diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormItem.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormItem.tsx index df943ec27a2..c4f664a25cc 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormItem.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormItem.tsx @@ -1,6 +1,6 @@ import { styled } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; const StyledItem = styled('div')(({ theme }) => ({ marginTop: theme.spacing(1), diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStep.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStep.tsx index 1b44c85a87a..b4dbf135715 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStep.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStep.tsx @@ -1,7 +1,7 @@ import { Box, Divider, styled } from '@mui/material'; import { Badge } from 'component/common/Badge/Badge'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; const StyledHeader = styled('div')(({ theme }) => ({ position: 'relative', diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepActions/ProjectActionsActionItem.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepActions/ProjectActionsActionItem.tsx index 5b0573d8201..af2373a441b 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepActions/ProjectActionsActionItem.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepActions/ProjectActionsActionItem.tsx @@ -1,13 +1,13 @@ import { Alert, IconButton, Tooltip, styled } from '@mui/material'; import Delete from '@mui/icons-material/Delete'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; -import { ActionsActionState } from '../../useProjectActionsForm'; +import type { ActionsActionState } from '../../useProjectActionsForm'; import { ProjectActionsFormItem } from '../ProjectActionsFormItem'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { useServiceAccountAccessMatrix } from 'hooks/api/getters/useServiceAccountAccessMatrix/useServiceAccountAccessMatrix'; import { useEffect, useMemo } from 'react'; import { ProjectActionsActionParameter } from './ProjectActionsActionParameter/ProjectActionsActionParameter'; -import { ActionConfigurations } from 'interfaces/action'; +import type { ActionConfigurations } from 'interfaces/action'; import { ProjectActionsActionSelect } from './ProjectActionsActionSelect'; const StyledItemBody = styled('div')(({ theme }) => ({ diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepActions/ProjectActionsActionParameter/ProjectActionsActionParameter.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepActions/ProjectActionsActionParameter/ProjectActionsActionParameter.tsx index 7992dca3aba..fa98b4d5315 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepActions/ProjectActionsActionParameter/ProjectActionsActionParameter.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepActions/ProjectActionsActionParameter/ProjectActionsActionParameter.tsx @@ -1,4 +1,4 @@ -import { ActionConfigurationParameter } from 'interfaces/action'; +import type { ActionConfigurationParameter } from 'interfaces/action'; import { ProjectActionsActionParameterAutocomplete } from './ProjectActionsActionParameterAutocomplete'; interface IProjectActionsActionParameterProps { diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepActions/ProjectActionsActionSelect.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepActions/ProjectActionsActionSelect.tsx index 11cc8025df9..e0d15465a9c 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepActions/ProjectActionsActionSelect.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepActions/ProjectActionsActionSelect.tsx @@ -1,5 +1,5 @@ import { Autocomplete, TextField, styled } from '@mui/material'; -import { ActionConfigurations } from 'interfaces/action'; +import type { ActionConfigurations } from 'interfaces/action'; const StyledActionOption = styled('div')(({ theme }) => ({ display: 'flex', diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepActions/ProjectActionsFormStepActions.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepActions/ProjectActionsFormStepActions.tsx index 15c7b196f93..8f89ac70e77 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepActions/ProjectActionsFormStepActions.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepActions/ProjectActionsFormStepActions.tsx @@ -3,11 +3,11 @@ import { Link as RouterLink } from 'react-router-dom'; import { Button, Divider, styled } from '@mui/material'; import { v4 as uuidv4 } from 'uuid'; import { ProjectActionsActionItem } from './ProjectActionsActionItem'; -import { ActionsActionState } from '../../useProjectActionsForm'; +import type { ActionsActionState } from '../../useProjectActionsForm'; import { ProjectActionsFormStep } from '../ProjectActionsFormStep'; import GeneralSelect from 'component/common/GeneralSelect/GeneralSelect'; import Add from '@mui/icons-material/Add'; -import { IServiceAccount } from 'interfaces/service-account'; +import type { IServiceAccount } from 'interfaces/service-account'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; import { useActionConfigurations } from 'hooks/api/getters/useActionConfigurations/useActionConfigurations'; @@ -98,7 +98,7 @@ export const ProjectActionsFormStepActions = ({ value={`${actorId}`} onChange={(v) => { validateActorId(Number(v)); - setActorId(parseInt(v)); + setActorId(Number.parseInt(v)); }} /> diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepSource/ProjectActionsFilterItem.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepSource/ProjectActionsFilterItem.tsx index 556c6d9c51e..d1d4c7ebd21 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepSource/ProjectActionsFilterItem.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepSource/ProjectActionsFilterItem.tsx @@ -5,13 +5,13 @@ import { Tooltip, styled, } from '@mui/material'; -import { ActionsFilterState } from '../../useProjectActionsForm'; +import type { ActionsFilterState } from '../../useProjectActionsForm'; import Delete from '@mui/icons-material/Delete'; import Input from 'component/common/Input/Input'; import { ProjectActionsFormItem } from '../ProjectActionsFormItem'; import { ConstraintOperatorSelect } from 'component/common/ConstraintAccordion/ConstraintOperatorSelect'; import { - Operator, + type Operator, allOperators, dateOperators, inOperators, diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepSource/ProjectActionsFormStepSource.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepSource/ProjectActionsFormStepSource.tsx index 23c09dcc1d9..775d371e570 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepSource/ProjectActionsFormStepSource.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectActions/ProjectActionsTable/ProjectActionsModal/ProjectActionsForm/ProjectActionsFormStep/ProjectActionsFormStepSource/ProjectActionsFormStepSource.tsx @@ -6,7 +6,7 @@ import { IN } from 'constants/operators'; import { useSignalEndpoints } from 'hooks/api/getters/useSignalEndpoints/useSignalEndpoints'; import { HelpIcon } from 'component/common/HelpIcon/HelpIcon'; import { ProjectActionsFilterItem } from './ProjectActionsFilterItem'; -import { ActionsFilterState } from '../../useProjectActionsForm'; +import type { ActionsFilterState } from '../../useProjectActionsForm'; import { ProjectActionsFormStep } from '../ProjectActionsFormStep'; import GeneralSelect from 'component/common/GeneralSelect/GeneralSelect'; import Add from '@mui/icons-material/Add'; @@ -108,7 +108,7 @@ export const ProjectActionsFormStepSource = ({ value={`${sourceId}`} onChange={(v) => { validateSourceId(Number(v)); - setSourceId(parseInt(v)); + setSourceId(Number.parseInt(v)); }} /> ({ display: 'flex', diff --git a/frontend/src/component/project/ProjectAccess/ProjectAccessTable/ProjectAccessTable.tsx b/frontend/src/component/project/ProjectAccess/ProjectAccessTable/ProjectAccessTable.tsx index fe489465f23..05b873cd576 100644 --- a/frontend/src/component/project/ProjectAccess/ProjectAccessTable/ProjectAccessTable.tsx +++ b/frontend/src/component/project/ProjectAccess/ProjectAccessTable/ProjectAccessTable.tsx @@ -1,5 +1,10 @@ -import { useEffect, useMemo, useState, VFC } from 'react'; -import { SortingRule, useFlexLayout, useSortBy, useTable } from 'react-table'; +import { useEffect, useMemo, useState, type VFC } from 'react'; +import { + type SortingRule, + useFlexLayout, + useSortBy, + useTable, +} from 'react-table'; import { VirtualizedTable, TablePlaceholder } from 'component/common/Table'; import { styled, useMediaQuery, useTheme } from '@mui/material'; import Add from '@mui/icons-material/Add'; @@ -8,7 +13,7 @@ import Edit from '@mui/icons-material/Edit'; import { sortTypes } from 'utils/sortTypes'; import useProjectAccess, { ENTITY_TYPE, - IProjectAccess, + type IProjectAccess, } from 'hooks/api/getters/useProjectAccess/useProjectAccess'; import PermissionIconButton from 'component/common/PermissionIconButton/PermissionIconButton'; import { @@ -40,8 +45,8 @@ import { Dialogue } from 'component/common/Dialogue/Dialogue'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import { ProjectGroupView } from '../ProjectGroupView/ProjectGroupView'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; -import { IUser } from 'interfaces/user'; -import { IGroup } from 'interfaces/group'; +import type { IUser } from 'interfaces/user'; +import type { IGroup } from 'interfaces/group'; import { LinkCell } from 'component/common/Table/cells/LinkCell/LinkCell'; import { UserAvatar } from 'component/common/UserAvatar/UserAvatar'; import ResponsiveButton from 'component/common/ResponsiveButton/ResponsiveButton'; diff --git a/frontend/src/component/project/ProjectAccess/ProjectGroupView/ProjectGroupView.tsx b/frontend/src/component/project/ProjectAccess/ProjectGroupView/ProjectGroupView.tsx index fee9b1a6c76..3bcfdade237 100644 --- a/frontend/src/component/project/ProjectAccess/ProjectGroupView/ProjectGroupView.tsx +++ b/frontend/src/component/project/ProjectAccess/ProjectGroupView/ProjectGroupView.tsx @@ -16,9 +16,14 @@ import { SearchHighlightProvider } from 'component/common/Table/SearchHighlightC import { UserAvatar } from 'component/common/UserAvatar/UserAvatar'; import { UPDATE_PROJECT } from 'component/providers/AccessProvider/permissions'; import { useSearch } from 'hooks/useSearch'; -import { IGroup, IGroupUser } from 'interfaces/group'; -import { VFC, useState } from 'react'; -import { SortingRule, useFlexLayout, useSortBy, useTable } from 'react-table'; +import type { IGroup, IGroupUser } from 'interfaces/group'; +import { type VFC, useState } from 'react'; +import { + type SortingRule, + useFlexLayout, + useSortBy, + useTable, +} from 'react-table'; import { sortTypes } from 'utils/sortTypes'; import { useConditionallyHiddenColumns } from 'hooks/useConditionallyHiddenColumns'; diff --git a/frontend/src/component/project/ProjectApplications/ProjectApplications.test.tsx b/frontend/src/component/project/ProjectApplications/ProjectApplications.test.tsx index 216622abb09..c702582d4d1 100644 --- a/frontend/src/component/project/ProjectApplications/ProjectApplications.test.tsx +++ b/frontend/src/component/project/ProjectApplications/ProjectApplications.test.tsx @@ -2,7 +2,7 @@ import { screen } from '@testing-library/react'; import { render } from 'utils/testRenderer'; import { testServerRoute, testServerSetup } from 'utils/testServer'; import { ProjectApplications } from './ProjectApplications'; -import { ProjectApplicationSchema } from 'openapi'; +import type { ProjectApplicationSchema } from 'openapi'; import { Route, Routes } from 'react-router-dom'; import { SEARCH_INPUT } from 'utils/testIds'; diff --git a/frontend/src/component/project/ProjectApplications/ProjectApplications.tsx b/frontend/src/component/project/ProjectApplications/ProjectApplications.tsx index 71948b678b1..16a961264f5 100644 --- a/frontend/src/component/project/ProjectApplications/ProjectApplications.tsx +++ b/frontend/src/component/project/ProjectApplications/ProjectApplications.tsx @@ -19,7 +19,7 @@ import useLoading from 'hooks/useLoading'; import { createColumnHelper, useReactTable } from '@tanstack/react-table'; import { withTableState } from 'utils/withTableState'; import { LinkCell } from 'component/common/Table/cells/LinkCell/LinkCell'; -import { ProjectApplicationSchema } from 'openapi'; +import type { ProjectApplicationSchema } from 'openapi'; import mapValues from 'lodash.mapvalues'; import { DEFAULT_PAGE_LIMIT, diff --git a/frontend/src/component/project/ProjectApplications/SdkCell.tsx b/frontend/src/component/project/ProjectApplications/SdkCell.tsx index 6b9fc7f83ff..a7a55459017 100644 --- a/frontend/src/component/project/ProjectApplications/SdkCell.tsx +++ b/frontend/src/component/project/ProjectApplications/SdkCell.tsx @@ -1,5 +1,5 @@ -import { VFC } from 'react'; -import { ProjectApplicationSchema } from 'openapi'; +import type { VFC } from 'react'; +import type { ProjectApplicationSchema } from 'openapi'; import { styled } from '@mui/material'; import { Highlighter } from 'component/common/Highlighter/Highlighter'; import { useSearchHighlightContext } from 'component/common/Table/SearchHighlightContext/SearchHighlightContext'; diff --git a/frontend/src/component/project/ProjectCard/ProjectCard.tsx b/frontend/src/component/project/ProjectCard/ProjectCard.tsx index 8dd247caf8b..6ba1c57f657 100644 --- a/frontend/src/component/project/ProjectCard/ProjectCard.tsx +++ b/frontend/src/component/project/ProjectCard/ProjectCard.tsx @@ -1,6 +1,7 @@ import { Menu, MenuItem } from '@mui/material'; import MoreVertIcon from '@mui/icons-material/MoreVert'; -import React, { SyntheticEvent, useContext, useState } from 'react'; +import type React from 'react'; +import { type SyntheticEvent, useContext, useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { getProjectEditPath } from 'utils/routePathHelpers'; import PermissionIconButton from 'component/common/PermissionIconButton/PermissionIconButton'; diff --git a/frontend/src/component/project/ProjectEnvironment/EnvironmentHideDialog/EnvironmentHideDialog.tsx b/frontend/src/component/project/ProjectEnvironment/EnvironmentHideDialog/EnvironmentHideDialog.tsx index 70aad58100f..8ccec64129a 100644 --- a/frontend/src/component/project/ProjectEnvironment/EnvironmentHideDialog/EnvironmentHideDialog.tsx +++ b/frontend/src/component/project/ProjectEnvironment/EnvironmentHideDialog/EnvironmentHideDialog.tsx @@ -1,6 +1,7 @@ import { styled, Alert } from '@mui/material'; -import React, { useEffect, useState } from 'react'; -import { IProjectEnvironment } from 'interfaces/environments'; +import type React from 'react'; +import { useEffect, useState } from 'react'; +import type { IProjectEnvironment } from 'interfaces/environments'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import Input from 'component/common/Input/Input'; import { ProjectEnvironmentTableSingle } from './ProjectEnvironmentTableSingle/ProjectEnvironmentTableSingle'; diff --git a/frontend/src/component/project/ProjectEnvironment/EnvironmentHideDialog/ProjectEnvironmentTableSingle/ProjectEnvironmentTableSingle.tsx b/frontend/src/component/project/ProjectEnvironment/EnvironmentHideDialog/ProjectEnvironmentTableSingle/ProjectEnvironmentTableSingle.tsx index 5ad53d4bcc2..9b871f5e93d 100644 --- a/frontend/src/component/project/ProjectEnvironment/EnvironmentHideDialog/ProjectEnvironmentTableSingle/ProjectEnvironmentTableSingle.tsx +++ b/frontend/src/component/project/ProjectEnvironment/EnvironmentHideDialog/ProjectEnvironmentTableSingle/ProjectEnvironmentTableSingle.tsx @@ -1,5 +1,5 @@ import { styled, TableBody, TableRow } from '@mui/material'; -import { IProjectEnvironment } from 'interfaces/environments'; +import type { IProjectEnvironment } from 'interfaces/environments'; import { useTable } from 'react-table'; import { SortableTableHeader, Table, TableCell } from 'component/common/Table'; import { EnvironmentIconCell } from 'component/environments/EnvironmentTable/EnvironmentIconCell/EnvironmentIconCell'; diff --git a/frontend/src/component/project/ProjectEnvironment/ProjectEnvironment.tsx b/frontend/src/component/project/ProjectEnvironment/ProjectEnvironment.tsx index 17b027f73c1..b18f754e925 100644 --- a/frontend/src/component/project/ProjectEnvironment/ProjectEnvironment.tsx +++ b/frontend/src/component/project/ProjectEnvironment/ProjectEnvironment.tsx @@ -13,7 +13,7 @@ import { Alert, styled, TableBody, TableRow } from '@mui/material'; import useProjectApi from 'hooks/api/actions/useProjectApi/useProjectApi'; import { Link } from 'react-router-dom'; import PermissionSwitch from 'component/common/PermissionSwitch/PermissionSwitch'; -import { IProjectEnvironment } from 'interfaces/environments'; +import type { IProjectEnvironment } from 'interfaces/environments'; import { getEnabledEnvs } from './helpers'; import { usePageTitle } from 'hooks/usePageTitle'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; diff --git a/frontend/src/component/project/ProjectEnvironment/getEnabledEnvs.test.ts b/frontend/src/component/project/ProjectEnvironment/getEnabledEnvs.test.ts index 261f58d5f42..d8cae428b1d 100644 --- a/frontend/src/component/project/ProjectEnvironment/getEnabledEnvs.test.ts +++ b/frontend/src/component/project/ProjectEnvironment/getEnabledEnvs.test.ts @@ -1,4 +1,4 @@ -import { IProjectEnvironment } from 'interfaces/environments'; +import type { IProjectEnvironment } from 'interfaces/environments'; import { getEnabledEnvs } from './helpers'; const generateEnv = (enabled: boolean, name: string): IProjectEnvironment => { diff --git a/frontend/src/component/project/ProjectEnvironment/helpers.ts b/frontend/src/component/project/ProjectEnvironment/helpers.ts index 06d9e9f318d..aaefd9a1ed7 100644 --- a/frontend/src/component/project/ProjectEnvironment/helpers.ts +++ b/frontend/src/component/project/ProjectEnvironment/helpers.ts @@ -1,4 +1,4 @@ -import { IProjectEnvironment } from 'interfaces/environments'; +import type { IProjectEnvironment } from 'interfaces/environments'; export const getEnabledEnvs = (envs: IProjectEnvironment[]) => { return envs.reduce((enabledEnvs, currentEnv) => { diff --git a/frontend/src/component/project/ProjectList/ProjectList.tsx b/frontend/src/component/project/ProjectList/ProjectList.tsx index 91138cf5d06..45217f06c3f 100644 --- a/frontend/src/component/project/ProjectList/ProjectList.tsx +++ b/frontend/src/component/project/ProjectList/ProjectList.tsx @@ -5,7 +5,7 @@ import { getProjectFetcher } from 'hooks/api/getters/useProject/getProjectFetche import useProjects from 'hooks/api/getters/useProjects/useProjects'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ProjectCard } from '../ProjectCard/ProjectCard'; -import { IProjectCard } from 'interfaces/project'; +import type { IProjectCard } from 'interfaces/project'; import loadingData from './loadingData'; import { PageContent } from 'component/common/PageContent/PageContent'; import AccessContext from 'contexts/AccessContext'; @@ -20,7 +20,7 @@ import { useMediaQuery, styled } from '@mui/material'; import theme from 'themes/theme'; import { Search } from 'component/common/Search/Search'; import { PremiumFeature } from 'component/common/PremiumFeature/PremiumFeature'; -import { ITooltipResolverProps } from 'component/common/TooltipResolver/TooltipResolver'; +import type { ITooltipResolverProps } from 'component/common/TooltipResolver/TooltipResolver'; import { ReactComponent as ProPlanIcon } from 'assets/icons/pro-enterprise-feature-badge.svg'; import { ReactComponent as ProPlanIconLight } from 'assets/icons/pro-enterprise-feature-badge-light.svg'; import { safeRegExp } from '@server/util/escape-regex'; diff --git a/frontend/src/component/providers/AccessProvider/AccessProvider.tsx b/frontend/src/component/providers/AccessProvider/AccessProvider.tsx index f410931d3e3..d831fd2a108 100644 --- a/frontend/src/component/providers/AccessProvider/AccessProvider.tsx +++ b/frontend/src/component/providers/AccessProvider/AccessProvider.tsx @@ -1,7 +1,7 @@ -import { ReactElement, ReactNode, useMemo } from 'react'; -import AccessContext, { IAccessContext } from 'contexts/AccessContext'; +import { type ReactElement, type ReactNode, useMemo } from 'react'; +import AccessContext, { type IAccessContext } from 'contexts/AccessContext'; import { ADMIN, SKIP_CHANGE_REQUEST } from './permissions'; -import { IPermission } from 'interfaces/user'; +import type { IPermission } from 'interfaces/user'; import { useAuthPermissions } from 'hooks/api/getters/useAuth/useAuthPermissions'; interface IAccessProviderProps { diff --git a/frontend/src/component/providers/AccessProvider/AccessProviderMock.tsx b/frontend/src/component/providers/AccessProvider/AccessProviderMock.tsx index 380e9dede30..40a5c52c3c7 100644 --- a/frontend/src/component/providers/AccessProvider/AccessProviderMock.tsx +++ b/frontend/src/component/providers/AccessProvider/AccessProviderMock.tsx @@ -1,6 +1,6 @@ -import { ReactElement, ReactNode, useMemo } from 'react'; -import AccessContext, { IAccessContext } from 'contexts/AccessContext'; -import { IPermission } from 'interfaces/user'; +import { type ReactElement, type ReactNode, useMemo } from 'react'; +import AccessContext, { type IAccessContext } from 'contexts/AccessContext'; +import type { IPermission } from 'interfaces/user'; import { checkAdmin, hasAccess, diff --git a/frontend/src/component/providers/PlausibleProvider/PlausibleProvider.tsx b/frontend/src/component/providers/PlausibleProvider/PlausibleProvider.tsx index f0c098a458d..20d4e63a137 100644 --- a/frontend/src/component/providers/PlausibleProvider/PlausibleProvider.tsx +++ b/frontend/src/component/providers/PlausibleProvider/PlausibleProvider.tsx @@ -1,4 +1,4 @@ -import { FC, useState, useEffect } from 'react'; +import { type FC, useState, useEffect } from 'react'; import Plausible from 'plausible-tracker'; import { PlausibleContext } from 'contexts/PlausibleContext'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; diff --git a/frontend/src/component/providers/SWRProvider/SWRProvider.tsx b/frontend/src/component/providers/SWRProvider/SWRProvider.tsx index 2edddb70d78..0836543bf99 100644 --- a/frontend/src/component/providers/SWRProvider/SWRProvider.tsx +++ b/frontend/src/component/providers/SWRProvider/SWRProvider.tsx @@ -1,5 +1,5 @@ import { SWRConfig } from 'swr'; -import React from 'react'; +import type React from 'react'; import { ResponseError } from 'utils/apiUtils'; import { useAuthUser } from 'hooks/api/getters/useAuth/useAuthUser'; diff --git a/frontend/src/component/providers/UIProvider/UIProvider.tsx b/frontend/src/component/providers/UIProvider/UIProvider.tsx index 730b37c82dd..8dd3175d11e 100644 --- a/frontend/src/component/providers/UIProvider/UIProvider.tsx +++ b/frontend/src/component/providers/UIProvider/UIProvider.tsx @@ -1,6 +1,9 @@ import React, { useState } from 'react'; -import UIContext, { createEmptyToast, themeMode } from 'contexts/UIContext'; -import { IToast } from 'interfaces/toast'; +import UIContext, { + createEmptyToast, + type themeMode, +} from 'contexts/UIContext'; +import type { IToast } from 'interfaces/toast'; import { getLocalStorageItem } from 'utils/storage'; const resolveMode = (): themeMode => { diff --git a/frontend/src/component/segments/CreateSegment/CreateSegment.tsx b/frontend/src/component/segments/CreateSegment/CreateSegment.tsx index 86007eab5a0..30f5a13795f 100644 --- a/frontend/src/component/segments/CreateSegment/CreateSegment.tsx +++ b/frontend/src/component/segments/CreateSegment/CreateSegment.tsx @@ -1,4 +1,5 @@ -import React, { useContext } from 'react'; +import type React from 'react'; +import { useContext } from 'react'; import { CreateButton } from 'component/common/CreateButton/CreateButton'; import FormTemplate from 'component/common/FormTemplate/FormTemplate'; import { diff --git a/frontend/src/component/segments/EditSegment/EditSegment.tsx b/frontend/src/component/segments/EditSegment/EditSegment.tsx index 6e713658ad5..dda355e03be 100644 --- a/frontend/src/component/segments/EditSegment/EditSegment.tsx +++ b/frontend/src/component/segments/EditSegment/EditSegment.tsx @@ -10,7 +10,7 @@ import { useSegments } from 'hooks/api/getters/useSegments/useSegments'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; import useToast from 'hooks/useToast'; -import React from 'react'; +import type React from 'react'; import { useNavigate } from 'react-router-dom'; import { formatUnknownError } from 'utils/formatUnknownError'; import { useSegmentForm } from '../hooks/useSegmentForm'; diff --git a/frontend/src/component/segments/EditSegmentButton/EditSegmentButton.tsx b/frontend/src/component/segments/EditSegmentButton/EditSegmentButton.tsx index 1870dc4a415..651d17bf271 100644 --- a/frontend/src/component/segments/EditSegmentButton/EditSegmentButton.tsx +++ b/frontend/src/component/segments/EditSegmentButton/EditSegmentButton.tsx @@ -1,4 +1,4 @@ -import { ISegment } from 'interfaces/segment'; +import type { ISegment } from 'interfaces/segment'; import Edit from '@mui/icons-material/Edit'; import PermissionIconButton from 'component/common/PermissionIconButton/PermissionIconButton'; import { diff --git a/frontend/src/component/segments/RemoveSegmentButton/RemoveSegmentButton.tsx b/frontend/src/component/segments/RemoveSegmentButton/RemoveSegmentButton.tsx index 98c3427acc7..5736680bc3a 100644 --- a/frontend/src/component/segments/RemoveSegmentButton/RemoveSegmentButton.tsx +++ b/frontend/src/component/segments/RemoveSegmentButton/RemoveSegmentButton.tsx @@ -1,4 +1,4 @@ -import { ISegment } from 'interfaces/segment'; +import type { ISegment } from 'interfaces/segment'; import PermissionIconButton from 'component/common/PermissionIconButton/PermissionIconButton'; import { DELETE_SEGMENT, diff --git a/frontend/src/component/segments/SegmentActionCell/SegmentActionCell.tsx b/frontend/src/component/segments/SegmentActionCell/SegmentActionCell.tsx index a6e09f83f18..67a5530fdda 100644 --- a/frontend/src/component/segments/SegmentActionCell/SegmentActionCell.tsx +++ b/frontend/src/component/segments/SegmentActionCell/SegmentActionCell.tsx @@ -1,5 +1,5 @@ import { ActionCell } from 'component/common/Table/cells/ActionCell/ActionCell'; -import { ISegment } from 'interfaces/segment'; +import type { ISegment } from 'interfaces/segment'; import { RemoveSegmentButton } from 'component/segments/RemoveSegmentButton/RemoveSegmentButton'; import { EditSegmentButton } from 'component/segments/EditSegmentButton/EditSegmentButton'; diff --git a/frontend/src/component/segments/SegmentDelete/SegmentDelete.tsx b/frontend/src/component/segments/SegmentDelete/SegmentDelete.tsx index c2d37902c90..c60bdac0412 100644 --- a/frontend/src/component/segments/SegmentDelete/SegmentDelete.tsx +++ b/frontend/src/component/segments/SegmentDelete/SegmentDelete.tsx @@ -1,6 +1,6 @@ import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { useStrategiesBySegment } from 'hooks/api/getters/useStrategiesBySegment/useStrategiesBySegment'; -import { ISegment } from 'interfaces/segment'; +import type { ISegment } from 'interfaces/segment'; import { SegmentDeleteConfirm } from './SegmentDeleteConfirm/SegmentDeleteConfirm'; import { SegmentDeleteUsedSegment } from './SegmentDeleteUsedSegment/SegmentDeleteUsedSegment'; diff --git a/frontend/src/component/segments/SegmentDelete/SegmentDeleteConfirm/SegmentDeleteConfirm.tsx b/frontend/src/component/segments/SegmentDelete/SegmentDeleteConfirm/SegmentDeleteConfirm.tsx index f6b457c97ad..f4405c27fab 100644 --- a/frontend/src/component/segments/SegmentDelete/SegmentDeleteConfirm/SegmentDeleteConfirm.tsx +++ b/frontend/src/component/segments/SegmentDelete/SegmentDeleteConfirm/SegmentDeleteConfirm.tsx @@ -1,7 +1,8 @@ -import React, { useState } from 'react'; +import type React from 'react'; +import { useState } from 'react'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import Input from 'component/common/Input/Input'; -import { ISegment } from 'interfaces/segment'; +import type { ISegment } from 'interfaces/segment'; import { SEGMENT_DIALOG_NAME_ID } from 'utils/testIds'; import { Alert, styled } from '@mui/material'; diff --git a/frontend/src/component/segments/SegmentDelete/SegmentDeleteUsedSegment/SegmentDeleteUsedSegment.tsx b/frontend/src/component/segments/SegmentDelete/SegmentDeleteUsedSegment/SegmentDeleteUsedSegment.tsx index 3c45509d063..7940b793ad9 100644 --- a/frontend/src/component/segments/SegmentDelete/SegmentDeleteUsedSegment/SegmentDeleteUsedSegment.tsx +++ b/frontend/src/component/segments/SegmentDelete/SegmentDeleteUsedSegment/SegmentDeleteUsedSegment.tsx @@ -1,11 +1,11 @@ import { Dialogue } from 'component/common/Dialogue/Dialogue'; -import { ISegment } from 'interfaces/segment'; -import { IFeatureStrategy } from 'interfaces/strategy'; +import type { ISegment } from 'interfaces/segment'; +import type { IFeatureStrategy } from 'interfaces/strategy'; import { Link } from 'react-router-dom'; import { formatEditStrategyPath } from 'component/feature/FeatureStrategy/FeatureStrategyEdit/FeatureStrategyEdit'; import { formatStrategyName } from 'utils/strategyNames'; import { styled } from '@mui/material'; -import { +import type { ChangeRequestNewStrategy, ChangeRequestStrategy, ChangeRequestUpdatedStrategy, diff --git a/frontend/src/component/segments/SegmentForm.tsx b/frontend/src/component/segments/SegmentForm.tsx index 2a71d137bd7..7bce7c82b72 100644 --- a/frontend/src/component/segments/SegmentForm.tsx +++ b/frontend/src/component/segments/SegmentForm.tsx @@ -1,7 +1,8 @@ -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { SegmentFormStepOne } from './SegmentFormStepOne'; import { SegmentFormStepTwo } from './SegmentFormStepTwo'; -import React, { useState } from 'react'; +import type React from 'react'; +import { useState } from 'react'; import { SegmentFormStepList } from 'component/segments/SegmentFormStepList'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { styled } from '@mui/material'; diff --git a/frontend/src/component/segments/SegmentFormStepList.tsx b/frontend/src/component/segments/SegmentFormStepList.tsx index ac2e1c7140f..770fd5d1fd1 100644 --- a/frontend/src/component/segments/SegmentFormStepList.tsx +++ b/frontend/src/component/segments/SegmentFormStepList.tsx @@ -1,5 +1,5 @@ import FiberManualRecord from '@mui/icons-material/FiberManualRecord'; -import React from 'react'; +import type React from 'react'; import { styled } from '@mui/material'; import { formTemplateSidebarWidth } from '../common/FormTemplate/FormTemplate.styles'; diff --git a/frontend/src/component/segments/SegmentFormStepOne.tsx b/frontend/src/component/segments/SegmentFormStepOne.tsx index d05474a2bf3..46097e0fcd0 100644 --- a/frontend/src/component/segments/SegmentFormStepOne.tsx +++ b/frontend/src/component/segments/SegmentFormStepOne.tsx @@ -2,7 +2,7 @@ import { Autocomplete, Button, styled, TextField } from '@mui/material'; import Input from 'component/common/Input/Input'; import React, { useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; -import { SegmentFormStep } from './SegmentForm'; +import type { SegmentFormStep } from './SegmentForm'; import { SEGMENT_NAME_ID, SEGMENT_DESC_ID, @@ -13,13 +13,13 @@ import useProjects from 'hooks/api/getters/useProjects/useProjects'; import { useOptionalPathParam } from 'hooks/useOptionalPathParam'; import { GO_BACK } from 'constants/navigate'; import { - ChangeRequestNewStrategy, - ChangeRequestUpdatedStrategy, + type ChangeRequestNewStrategy, + type ChangeRequestUpdatedStrategy, useStrategiesBySegment, } from 'hooks/api/getters/useStrategiesBySegment/useStrategiesBySegment'; import { SegmentProjectAlert } from './SegmentProjectAlert'; import { sortStrategiesByFeature } from './SegmentDelete/SegmentDeleteUsedSegment/sort-strategies'; -import { IFeatureStrategy } from 'interfaces/strategy'; +import type { IFeatureStrategy } from 'interfaces/strategy'; interface ISegmentFormPartOneProps { name: string; diff --git a/frontend/src/component/segments/SegmentFormStepTwo.tsx b/frontend/src/component/segments/SegmentFormStepTwo.tsx index 7a472dfc578..7cf921168a5 100644 --- a/frontend/src/component/segments/SegmentFormStepTwo.tsx +++ b/frontend/src/component/segments/SegmentFormStepTwo.tsx @@ -1,4 +1,5 @@ -import React, { useRef, useState, useContext } from 'react'; +import type React from 'react'; +import { useRef, useState, useContext } from 'react'; import { Button, styled } from '@mui/material'; import Add from '@mui/icons-material/Add'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; @@ -12,16 +13,16 @@ import { UPDATE_SEGMENT, } from 'component/providers/AccessProvider/permissions'; import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { useNavigate } from 'react-router-dom'; import { ConstraintAccordionList, - IConstraintAccordionListRef, + type IConstraintAccordionListRef, } from 'component/common/ConstraintAccordion/ConstraintAccordionList/ConstraintAccordionList'; -import { SegmentFormStep, SegmentFormMode } from './SegmentForm'; +import type { SegmentFormStep, SegmentFormMode } from './SegmentForm'; import { AutocompleteBox, - IAutocompleteBoxOption, + type IAutocompleteBoxOption, } from 'component/common/AutocompleteBox/AutocompleteBox'; import { SegmentDocsValuesInfo, diff --git a/frontend/src/component/segments/SegmentProjectAlert.tsx b/frontend/src/component/segments/SegmentProjectAlert.tsx index a470c6d45be..8cbd80add26 100644 --- a/frontend/src/component/segments/SegmentProjectAlert.tsx +++ b/frontend/src/component/segments/SegmentProjectAlert.tsx @@ -1,12 +1,12 @@ import { Alert, styled } from '@mui/material'; import { formatEditStrategyPath } from 'component/feature/FeatureStrategy/FeatureStrategyEdit/FeatureStrategyEdit'; -import { IProjectCard } from 'interfaces/project'; -import { IFeatureStrategy } from 'interfaces/strategy'; +import type { IProjectCard } from 'interfaces/project'; +import type { IFeatureStrategy } from 'interfaces/strategy'; import { Link } from 'react-router-dom'; import { formatStrategyName } from 'utils/strategyNames'; import { usePlausibleTracker } from 'hooks/usePlausibleTracker'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { +import type { ChangeRequestNewStrategy, ChangeRequestStrategy, ChangeRequestUpdatedStrategy, diff --git a/frontend/src/component/segments/hooks/useSegmentForm.ts b/frontend/src/component/segments/hooks/useSegmentForm.ts index fa9789e7111..09e106753ed 100644 --- a/frontend/src/component/segments/hooks/useSegmentForm.ts +++ b/frontend/src/component/segments/hooks/useSegmentForm.ts @@ -1,4 +1,4 @@ -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { useEffect, useState } from 'react'; import { useSegmentValidation } from 'hooks/api/getters/useSegmentValidation/useSegmentValidation'; diff --git a/frontend/src/component/segments/hooks/useSegmentValuesCount.ts b/frontend/src/component/segments/hooks/useSegmentValuesCount.ts index d7d365c6786..fb7e13d2e75 100644 --- a/frontend/src/component/segments/hooks/useSegmentValuesCount.ts +++ b/frontend/src/component/segments/hooks/useSegmentValuesCount.ts @@ -1,4 +1,4 @@ -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { useMemo } from 'react'; export const useSegmentValuesCount = (constraints: IConstraint[]): number => { diff --git a/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsForm/SignalEndpointsForm.tsx b/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsForm/SignalEndpointsForm.tsx index 35eb655ebd0..857e275425c 100644 --- a/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsForm/SignalEndpointsForm.tsx +++ b/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsForm/SignalEndpointsForm.tsx @@ -10,9 +10,9 @@ import { import Input from 'component/common/Input/Input'; import { FormSwitch } from 'component/common/FormSwitch/FormSwitch'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { ISignalEndpoint } from 'interfaces/signal'; +import type { ISignalEndpoint } from 'interfaces/signal'; import { - SignalEndpointsFormErrors, + type SignalEndpointsFormErrors, TokenGeneration, } from './useSignalEndpointsForm'; import { SignalEndpointsFormURL } from './SignalEndpointsFormURL'; diff --git a/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsForm/SignalEndpointsTokens/SignalEndpointsTokens.tsx b/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsForm/SignalEndpointsTokens/SignalEndpointsTokens.tsx index b2f505fddbf..1beb020d175 100644 --- a/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsForm/SignalEndpointsTokens/SignalEndpointsTokens.tsx +++ b/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsForm/SignalEndpointsTokens/SignalEndpointsTokens.tsx @@ -18,7 +18,12 @@ import { PAT_LIMIT } from '@server/util/constants'; import { useSignalEndpointTokens } from 'hooks/api/getters/useSignalEndpointTokens/useSignalEndpointTokens'; import { useSearch } from 'hooks/useSearch'; import { useMemo, useState } from 'react'; -import { useTable, SortingRule, useSortBy, useFlexLayout } from 'react-table'; +import { + useTable, + type SortingRule, + useSortBy, + useFlexLayout, +} from 'react-table'; import { sortTypes } from 'utils/sortTypes'; import { SignalEndpointsTokensCreateDialog } from './SignalEndpointsTokensCreateDialog'; import { SignalEndpointsTokensDialog } from './SignalEndpointsTokensDialog'; @@ -26,12 +31,12 @@ import { useConditionallyHiddenColumns } from 'hooks/useConditionallyHiddenColum import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { - SignalEndpointTokenPayload, + type SignalEndpointTokenPayload, useSignalEndpointTokensApi, } from 'hooks/api/actions/useSignalEndpointTokensApi/useSignalEndpointTokensApi'; import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; -import { ISignalEndpoint, ISignalEndpointToken } from 'interfaces/signal'; +import type { ISignalEndpoint, ISignalEndpointToken } from 'interfaces/signal'; import { useSignalEndpoints } from 'hooks/api/getters/useSignalEndpoints/useSignalEndpoints'; const StyledHeader = styled('div')(({ theme }) => ({ diff --git a/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsForm/SignalEndpointsTokens/SignalEndpointsTokensCreateDialog.tsx b/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsForm/SignalEndpointsTokens/SignalEndpointsTokensCreateDialog.tsx index 72edd500546..c4863d38c11 100644 --- a/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsForm/SignalEndpointsTokens/SignalEndpointsTokensCreateDialog.tsx +++ b/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsForm/SignalEndpointsTokens/SignalEndpointsTokensCreateDialog.tsx @@ -1,7 +1,7 @@ import { useEffect, useState } from 'react'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; -import { SignalEndpointTokenPayload } from 'hooks/api/actions/useSignalEndpointTokensApi/useSignalEndpointTokensApi'; -import { ISignalEndpointToken } from 'interfaces/signal'; +import type { SignalEndpointTokenPayload } from 'hooks/api/actions/useSignalEndpointTokensApi/useSignalEndpointTokensApi'; +import type { ISignalEndpointToken } from 'interfaces/signal'; import { styled } from '@mui/material'; import Input from 'component/common/Input/Input'; diff --git a/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsForm/useSignalEndpointsForm.ts b/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsForm/useSignalEndpointsForm.ts index 1d6d6686e1a..9ea7a024a32 100644 --- a/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsForm/useSignalEndpointsForm.ts +++ b/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsForm/useSignalEndpointsForm.ts @@ -1,6 +1,6 @@ import { URL_SAFE_BASIC } from '@server/util/constants'; import { useSignalEndpoints } from 'hooks/api/getters/useSignalEndpoints/useSignalEndpoints'; -import { ISignalEndpoint } from 'interfaces/signal'; +import type { ISignalEndpoint } from 'interfaces/signal'; import { useEffect, useState } from 'react'; enum ErrorField { diff --git a/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsModal.tsx b/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsModal.tsx index 4632df97034..28a27f9ee6b 100644 --- a/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsModal.tsx +++ b/frontend/src/component/signals/SignalEndpointsModal/SignalEndpointsModal.tsx @@ -1,14 +1,14 @@ -import { FormEvent, useEffect } from 'react'; +import { type FormEvent, useEffect } from 'react'; import { Button, Link, styled } from '@mui/material'; import { SidebarModal } from 'component/common/SidebarModal/SidebarModal'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import FormTemplate from 'component/common/FormTemplate/FormTemplate'; import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; -import { ISignalEndpoint } from 'interfaces/signal'; +import type { ISignalEndpoint } from 'interfaces/signal'; import { useSignalEndpoints } from 'hooks/api/getters/useSignalEndpoints/useSignalEndpoints'; import { - SignalEndpointPayload, + type SignalEndpointPayload, useSignalEndpointsApi, } from 'hooks/api/actions/useSignalEndpointsApi/useSignalEndpointsApi'; import { useSignalEndpointTokensApi } from 'hooks/api/actions/useSignalEndpointTokensApi/useSignalEndpointTokensApi'; diff --git a/frontend/src/component/signals/SignalEndpointsSignals/SignalEndpointsSignalsModal.tsx b/frontend/src/component/signals/SignalEndpointsSignals/SignalEndpointsSignalsModal.tsx index a5a46c2d4aa..9ebfc9dd394 100644 --- a/frontend/src/component/signals/SignalEndpointsSignals/SignalEndpointsSignalsModal.tsx +++ b/frontend/src/component/signals/SignalEndpointsSignals/SignalEndpointsSignalsModal.tsx @@ -1,6 +1,6 @@ import { Button, Link, styled } from '@mui/material'; import { SidebarModal } from 'component/common/SidebarModal/SidebarModal'; -import { ISignalEndpoint } from 'interfaces/signal'; +import type { ISignalEndpoint } from 'interfaces/signal'; import { useSignalEndpointSignals } from 'hooks/api/getters/useSignalEndpointSignals/useSignalEndpointSignals'; import { Suspense, lazy } from 'react'; import FormTemplate from 'component/common/FormTemplate/FormTemplate'; diff --git a/frontend/src/component/signals/SignalEndpointsTable/SignalEndpointsDeleteDialog.tsx b/frontend/src/component/signals/SignalEndpointsTable/SignalEndpointsDeleteDialog.tsx index 7639e16b536..d56b1654bed 100644 --- a/frontend/src/component/signals/SignalEndpointsTable/SignalEndpointsDeleteDialog.tsx +++ b/frontend/src/component/signals/SignalEndpointsTable/SignalEndpointsDeleteDialog.tsx @@ -1,5 +1,5 @@ import { Dialogue } from 'component/common/Dialogue/Dialogue'; -import { ISignalEndpoint } from 'interfaces/signal'; +import type { ISignalEndpoint } from 'interfaces/signal'; interface ISignalEndpointsDeleteDialogProps { signalEndpoint?: ISignalEndpoint; diff --git a/frontend/src/component/signals/SignalEndpointsTable/SignalEndpointsTable.tsx b/frontend/src/component/signals/SignalEndpointsTable/SignalEndpointsTable.tsx index 3246b7d26c0..1a87eea4db3 100644 --- a/frontend/src/component/signals/SignalEndpointsTable/SignalEndpointsTable.tsx +++ b/frontend/src/component/signals/SignalEndpointsTable/SignalEndpointsTable.tsx @@ -12,7 +12,7 @@ import theme from 'themes/theme'; import { useConditionallyHiddenColumns } from 'hooks/useConditionallyHiddenColumns'; import { useSignalEndpoints } from 'hooks/api/getters/useSignalEndpoints/useSignalEndpoints'; import { useSignalEndpointsApi } from 'hooks/api/actions/useSignalEndpointsApi/useSignalEndpointsApi'; -import { ISignalEndpoint } from 'interfaces/signal'; +import type { ISignalEndpoint } from 'interfaces/signal'; import { SignalEndpointsActionsCell } from './SignalEndpointsActionsCell'; import { SignalEndpointsDeleteDialog } from './SignalEndpointsDeleteDialog'; import { ToggleCell } from 'component/common/Table/cells/ToggleCell/ToggleCell'; diff --git a/frontend/src/component/signals/SignalEndpointsTable/SignalEndpointsTokensCell.tsx b/frontend/src/component/signals/SignalEndpointsTable/SignalEndpointsTokensCell.tsx index 60a33d71979..69d2f54d250 100644 --- a/frontend/src/component/signals/SignalEndpointsTable/SignalEndpointsTokensCell.tsx +++ b/frontend/src/component/signals/SignalEndpointsTable/SignalEndpointsTokensCell.tsx @@ -2,7 +2,7 @@ import { styled, Typography } from '@mui/material'; import { TextCell } from 'component/common/Table/cells/TextCell/TextCell'; import { Highlighter } from 'component/common/Highlighter/Highlighter'; import { useSearchHighlightContext } from 'component/common/Table/SearchHighlightContext/SearchHighlightContext'; -import { ISignalEndpoint } from 'interfaces/signal'; +import type { ISignalEndpoint } from 'interfaces/signal'; import { LinkCell } from 'component/common/Table/cells/LinkCell/LinkCell'; import { TooltipLink } from 'component/common/TooltipLink/TooltipLink'; diff --git a/frontend/src/component/splash/SplashPage/SplashPage.tsx b/frontend/src/component/splash/SplashPage/SplashPage.tsx index 190a13d60dd..9ddfb9e70b9 100644 --- a/frontend/src/component/splash/SplashPage/SplashPage.tsx +++ b/frontend/src/component/splash/SplashPage/SplashPage.tsx @@ -4,7 +4,7 @@ import useSplashApi from 'hooks/api/actions/useSplashApi/useSplashApi'; import { SplashPageOperators } from 'component/splash/SplashPageOperators'; import { useEffect } from 'react'; import { useAuthSplash } from 'hooks/api/getters/useAuth/useAuthSplash'; -import { splashIds, SplashId } from 'component/splash/splash'; +import { splashIds, type SplashId } from 'component/splash/splash'; export const SplashPage = () => { const splashId = useRequiredPathParam('splashId'); diff --git a/frontend/src/component/splash/SplashPageRedirect/SplashPageRedirect.tsx b/frontend/src/component/splash/SplashPageRedirect/SplashPageRedirect.tsx index 3dcc8cc7174..ad7ccbe21c7 100644 --- a/frontend/src/component/splash/SplashPageRedirect/SplashPageRedirect.tsx +++ b/frontend/src/component/splash/SplashPageRedirect/SplashPageRedirect.tsx @@ -2,8 +2,8 @@ import { useAuthSplash } from 'hooks/api/getters/useAuth/useAuthSplash'; import { useLocation, Navigate } from 'react-router-dom'; import { matchPath } from 'react-router'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; -import { IAuthSplash } from 'hooks/api/getters/useAuth/useAuthEndpoint'; -import { activeSplashIds, SplashId } from 'component/splash/splash'; +import type { IAuthSplash } from 'hooks/api/getters/useAuth/useAuthEndpoint'; +import { activeSplashIds, type SplashId } from 'component/splash/splash'; import { useAuthUser } from 'hooks/api/getters/useAuth/useAuthUser'; export const SplashPageRedirect = () => { diff --git a/frontend/src/component/strategies/CustomStrategyInfo/CustomStrategyInfo.tsx b/frontend/src/component/strategies/CustomStrategyInfo/CustomStrategyInfo.tsx index e970f6b819e..1a5ce84a7a5 100644 --- a/frontend/src/component/strategies/CustomStrategyInfo/CustomStrategyInfo.tsx +++ b/frontend/src/component/strategies/CustomStrategyInfo/CustomStrategyInfo.tsx @@ -1,5 +1,5 @@ import { Alert, Box, Typography } from '@mui/material'; -import { FC } from 'react'; +import type { FC } from 'react'; const Paragraph: FC = ({ children }) => ( ( key={index} set={(value) => updateParameter(index, value)} index={index} diff --git a/frontend/src/component/strategies/StrategyView/StrategyDetails/StrategyDetails.tsx b/frontend/src/component/strategies/StrategyView/StrategyDetails/StrategyDetails.tsx index a8ab4bb473c..166f3ed856e 100644 --- a/frontend/src/component/strategies/StrategyView/StrategyDetails/StrategyDetails.tsx +++ b/frontend/src/component/strategies/StrategyView/StrategyDetails/StrategyDetails.tsx @@ -13,8 +13,8 @@ import { AppsLinkList } from 'component/common'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import styles from '../../strategies.module.scss'; import { TogglesLinkList } from 'component/strategies/TogglesLinkList/TogglesLinkList'; -import { IStrategy, IStrategyParameter } from 'interfaces/strategy'; -import { ApplicationSchema, FeatureSchema } from 'openapi'; +import type { IStrategy, IStrategyParameter } from 'interfaces/strategy'; +import type { ApplicationSchema, FeatureSchema } from 'openapi'; interface IStrategyDetailsProps { strategy: IStrategy; diff --git a/frontend/src/component/strategies/StrategyView/StrategyView.tsx b/frontend/src/component/strategies/StrategyView/StrategyView.tsx index 8b280b5068e..2bc1309e848 100644 --- a/frontend/src/component/strategies/StrategyView/StrategyView.tsx +++ b/frontend/src/component/strategies/StrategyView/StrategyView.tsx @@ -11,7 +11,7 @@ import PermissionIconButton from 'component/common/PermissionIconButton/Permissi import Edit from '@mui/icons-material/Edit'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; -import { FeatureSchema } from 'openapi/models'; +import type { FeatureSchema } from 'openapi/models'; export const StrategyView = () => { const name = useRequiredPathParam('name'); diff --git a/frontend/src/component/strategies/TogglesLinkList/TogglesLinkList.tsx b/frontend/src/component/strategies/TogglesLinkList/TogglesLinkList.tsx index a5ec0aa71c2..59df446bd89 100644 --- a/frontend/src/component/strategies/TogglesLinkList/TogglesLinkList.tsx +++ b/frontend/src/component/strategies/TogglesLinkList/TogglesLinkList.tsx @@ -10,7 +10,7 @@ import PlayArrow from '@mui/icons-material/PlayArrow'; import styles from 'component/common/common.module.scss'; import { Link } from 'react-router-dom'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { FeatureSchema } from 'openapi'; +import type { FeatureSchema } from 'openapi'; interface ITogglesLinkListProps { toggles: FeatureSchema[]; diff --git a/frontend/src/component/strategies/hooks/useStrategyForm.ts b/frontend/src/component/strategies/hooks/useStrategyForm.ts index 64035cb9559..69393b22272 100644 --- a/frontend/src/component/strategies/hooks/useStrategyForm.ts +++ b/frontend/src/component/strategies/hooks/useStrategyForm.ts @@ -1,4 +1,4 @@ -import { IStrategyParameter } from 'interfaces/strategy'; +import type { IStrategyParameter } from 'interfaces/strategy'; import { useEffect, useState } from 'react'; import { useStrategies } from 'hooks/api/getters/useStrategies/useStrategies'; diff --git a/frontend/src/component/tags/TagTypeForm/TagTypeForm.tsx b/frontend/src/component/tags/TagTypeForm/TagTypeForm.tsx index a6336373fec..ff3a76da15e 100644 --- a/frontend/src/component/tags/TagTypeForm/TagTypeForm.tsx +++ b/frontend/src/component/tags/TagTypeForm/TagTypeForm.tsx @@ -1,7 +1,7 @@ import Input from 'component/common/Input/Input'; import { TextField, Button, styled } from '@mui/material'; -import React from 'react'; +import type React from 'react'; import { trim } from 'component/common/util'; import { EDIT } from 'constants/misc'; diff --git a/frontend/src/component/user/Authentication/Authentication.tsx b/frontend/src/component/user/Authentication/Authentication.tsx index 84fcb2cf078..14145c1c93a 100644 --- a/frontend/src/component/user/Authentication/Authentication.tsx +++ b/frontend/src/component/user/Authentication/Authentication.tsx @@ -15,7 +15,7 @@ import { ConditionallyRender } from 'component/common/ConditionallyRender/Condit import { Alert } from '@mui/material'; import { useAuthDetails } from 'hooks/api/getters/useAuth/useAuthDetails'; import { AUTH_PAGE_ID } from 'utils/testIds'; -import { ReactElement, useEffect } from 'react'; +import { type ReactElement, useEffect } from 'react'; import { usePlausibleTracker } from 'hooks/usePlausibleTracker'; import { setSessionStorageItem } from 'utils/storage'; diff --git a/frontend/src/component/user/AuthenticationCustomComponent.tsx b/frontend/src/component/user/AuthenticationCustomComponent.tsx index 7efb366f388..bdea28b6408 100644 --- a/frontend/src/component/user/AuthenticationCustomComponent.tsx +++ b/frontend/src/component/user/AuthenticationCustomComponent.tsx @@ -1,6 +1,6 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { CardActions, Button } from '@mui/material'; -import { IAuthEndpointDetailsResponse } from 'hooks/api/getters/useAuth/useAuthEndpoint'; +import type { IAuthEndpointDetailsResponse } from 'hooks/api/getters/useAuth/useAuthEndpoint'; interface IAuthenticationCustomComponentProps { authDetails: IAuthEndpointDetailsResponse; diff --git a/frontend/src/component/user/DemoAuth/DemoAuth.tsx b/frontend/src/component/user/DemoAuth/DemoAuth.tsx index 7921d60a8f5..ff4054959f6 100644 --- a/frontend/src/component/user/DemoAuth/DemoAuth.tsx +++ b/frontend/src/component/user/DemoAuth/DemoAuth.tsx @@ -1,4 +1,9 @@ -import { ChangeEventHandler, FormEventHandler, useState, VFC } from 'react'; +import { + type ChangeEventHandler, + type FormEventHandler, + useState, + type VFC, +} from 'react'; import { Button, TextField } from '@mui/material'; import styles from './DemoAuth.module.scss'; import { ReactComponent as Logo } from 'assets/img/logo.svg'; @@ -8,7 +13,7 @@ import { useAuthApi } from 'hooks/api/actions/useAuthApi/useAuthApi'; import { useAuthUser } from 'hooks/api/getters/useAuth/useAuthUser'; import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; -import { IAuthEndpointDetailsResponse } from 'hooks/api/getters/useAuth/useAuthEndpoint'; +import type { IAuthEndpointDetailsResponse } from 'hooks/api/getters/useAuth/useAuthEndpoint'; interface IDemoAuthProps { authDetails: IAuthEndpointDetailsResponse; diff --git a/frontend/src/component/user/ForgottenPassword/ForgottenPassword.tsx b/frontend/src/component/user/ForgottenPassword/ForgottenPassword.tsx index 0031085f221..7c5ba26d40c 100644 --- a/frontend/src/component/user/ForgottenPassword/ForgottenPassword.tsx +++ b/frontend/src/component/user/ForgottenPassword/ForgottenPassword.tsx @@ -1,6 +1,6 @@ import { Button, styled, TextField, Typography } from '@mui/material'; import { AlertTitle, Alert } from '@mui/material'; -import { SyntheticEvent, useState } from 'react'; +import { type SyntheticEvent, useState } from 'react'; import { Link } from 'react-router-dom'; import useLoading from 'hooks/useLoading'; import { FORGOTTEN_PASSWORD_FIELD } from 'utils/testIds'; diff --git a/frontend/src/component/user/HostedAuth.tsx b/frontend/src/component/user/HostedAuth.tsx index 208f6e373bf..d9d9dcb247a 100644 --- a/frontend/src/component/user/HostedAuth.tsx +++ b/frontend/src/component/user/HostedAuth.tsx @@ -1,4 +1,4 @@ -import { FormEventHandler, useState, VFC } from 'react'; +import { type FormEventHandler, useState, type VFC } from 'react'; import { Button, Grid, styled, TextField, Typography } from '@mui/material'; import { useNavigate } from 'react-router'; import useQueryParams from 'hooks/useQueryParams'; @@ -9,7 +9,7 @@ import PasswordField from 'component/common/PasswordField/PasswordField'; import { useAuthApi } from 'hooks/api/actions/useAuthApi/useAuthApi'; import { useAuthUser } from 'hooks/api/getters/useAuth/useAuthUser'; import { LOGIN_BUTTON, LOGIN_EMAIL_ID, LOGIN_PASSWORD_ID } from 'utils/testIds'; -import { IAuthEndpointDetailsResponse } from 'hooks/api/getters/useAuth/useAuthEndpoint'; +import type { IAuthEndpointDetailsResponse } from 'hooks/api/getters/useAuth/useAuthEndpoint'; import { BadRequestError, NotFoundError } from 'utils/apiUtils'; import { contentSpacingY } from 'themes/themeStyles'; diff --git a/frontend/src/component/user/NewUser/NewUserWrapper/NewUserWrapper.tsx b/frontend/src/component/user/NewUser/NewUserWrapper/NewUserWrapper.tsx index 8d30bafc9c9..221fa630cb5 100644 --- a/frontend/src/component/user/NewUser/NewUserWrapper/NewUserWrapper.tsx +++ b/frontend/src/component/user/NewUser/NewUserWrapper/NewUserWrapper.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Box, Typography } from '@mui/material'; import StandaloneLayout from 'component/user/common/StandaloneLayout'; import StandaloneBanner from 'component/user/StandaloneBanner'; diff --git a/frontend/src/component/user/PasswordAuth.tsx b/frontend/src/component/user/PasswordAuth.tsx index 8bf3c9f5e8a..f4b5ea2f013 100644 --- a/frontend/src/component/user/PasswordAuth.tsx +++ b/frontend/src/component/user/PasswordAuth.tsx @@ -1,4 +1,4 @@ -import { FormEventHandler, useState, VFC } from 'react'; +import { type FormEventHandler, useState, type VFC } from 'react'; import { Button, styled, TextField } from '@mui/material'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { useNavigate } from 'react-router'; @@ -10,7 +10,7 @@ import { LOGIN_BUTTON, LOGIN_EMAIL_ID, LOGIN_PASSWORD_ID } from 'utils/testIds'; import PasswordField from 'component/common/PasswordField/PasswordField'; import { useAuthApi } from 'hooks/api/actions/useAuthApi/useAuthApi'; import { useAuthUser } from 'hooks/api/getters/useAuth/useAuthUser'; -import { IAuthEndpointDetailsResponse } from 'hooks/api/getters/useAuth/useAuthEndpoint'; +import type { IAuthEndpointDetailsResponse } from 'hooks/api/getters/useAuth/useAuthEndpoint'; import { AuthenticationError, BadRequestError, diff --git a/frontend/src/component/user/Profile/PasswordTab/PasswordTab.tsx b/frontend/src/component/user/Profile/PasswordTab/PasswordTab.tsx index 784a425804f..3f39f444617 100644 --- a/frontend/src/component/user/Profile/PasswordTab/PasswordTab.tsx +++ b/frontend/src/component/user/Profile/PasswordTab/PasswordTab.tsx @@ -9,7 +9,7 @@ import PasswordMatcher from 'component/user/common/ResetPasswordForm/PasswordMat import { usePasswordApi } from 'hooks/api/actions/usePasswordApi/usePasswordApi'; import useAuthSettings from 'hooks/api/getters/useAuthSettings/useAuthSettings'; import useToast from 'hooks/useToast'; -import { SyntheticEvent, useState } from 'react'; +import { type SyntheticEvent, useState } from 'react'; import { formatUnknownError } from 'utils/formatUnknownError'; import { AuthenticationError } from 'utils/apiUtils'; diff --git a/frontend/src/component/user/Profile/PersonalAPITokensTab/CreatePersonalAPIToken/CreatePersonalAPIToken.tsx b/frontend/src/component/user/Profile/PersonalAPITokensTab/CreatePersonalAPIToken/CreatePersonalAPIToken.tsx index e425349a3ae..b26d911c3f5 100644 --- a/frontend/src/component/user/Profile/PersonalAPITokensTab/CreatePersonalAPIToken/CreatePersonalAPIToken.tsx +++ b/frontend/src/component/user/Profile/PersonalAPITokensTab/CreatePersonalAPIToken/CreatePersonalAPIToken.tsx @@ -3,15 +3,15 @@ import FormTemplate from 'component/common/FormTemplate/FormTemplate'; import { SidebarModal } from 'component/common/SidebarModal/SidebarModal'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import useToast from 'hooks/useToast'; -import { FC, FormEvent, useEffect, useState } from 'react'; +import { type FC, type FormEvent, useEffect, useState } from 'react'; import { formatUnknownError } from 'utils/formatUnknownError'; import { usePersonalAPITokens } from 'hooks/api/getters/usePersonalAPITokens/usePersonalAPITokens'; import { usePersonalAPITokensApi } from 'hooks/api/actions/usePersonalAPITokensApi/usePersonalAPITokensApi'; -import { INewPersonalAPIToken } from 'interfaces/personalAPIToken'; +import type { INewPersonalAPIToken } from 'interfaces/personalAPIToken'; import { calculateExpirationDate, ExpirationOption, - IPersonalAPITokenFormErrors, + type IPersonalAPITokenFormErrors, PersonalAPITokenForm, } from './PersonalAPITokenForm/PersonalAPITokenForm'; diff --git a/frontend/src/component/user/Profile/PersonalAPITokensTab/DeletePersonalAPIToken/DeletePersonalAPIToken.tsx b/frontend/src/component/user/Profile/PersonalAPITokensTab/DeletePersonalAPIToken/DeletePersonalAPIToken.tsx index f3d31c17415..b181ad14a2d 100644 --- a/frontend/src/component/user/Profile/PersonalAPITokensTab/DeletePersonalAPIToken/DeletePersonalAPIToken.tsx +++ b/frontend/src/component/user/Profile/PersonalAPITokensTab/DeletePersonalAPIToken/DeletePersonalAPIToken.tsx @@ -3,8 +3,8 @@ import { Dialogue } from 'component/common/Dialogue/Dialogue'; import { usePersonalAPITokensApi } from 'hooks/api/actions/usePersonalAPITokensApi/usePersonalAPITokensApi'; import { usePersonalAPITokens } from 'hooks/api/getters/usePersonalAPITokens/usePersonalAPITokens'; import useToast from 'hooks/useToast'; -import { IPersonalAPIToken } from 'interfaces/personalAPIToken'; -import { FC } from 'react'; +import type { IPersonalAPIToken } from 'interfaces/personalAPIToken'; +import type { FC } from 'react'; import { formatUnknownError } from 'utils/formatUnknownError'; interface IDeletePersonalAPITokenProps { diff --git a/frontend/src/component/user/Profile/PersonalAPITokensTab/PersonalAPITokenDialog/PersonalAPITokenDialog.tsx b/frontend/src/component/user/Profile/PersonalAPITokensTab/PersonalAPITokenDialog/PersonalAPITokenDialog.tsx index fbfbd70dc70..498507cdc86 100644 --- a/frontend/src/component/user/Profile/PersonalAPITokensTab/PersonalAPITokenDialog/PersonalAPITokenDialog.tsx +++ b/frontend/src/component/user/Profile/PersonalAPITokensTab/PersonalAPITokenDialog/PersonalAPITokenDialog.tsx @@ -1,8 +1,8 @@ import { Alert, styled, Typography } from '@mui/material'; import { UserToken } from 'component/admin/apiToken/ConfirmToken/UserToken/UserToken'; import { Dialogue } from 'component/common/Dialogue/Dialogue'; -import { INewPersonalAPIToken } from 'interfaces/personalAPIToken'; -import { FC } from 'react'; +import type { INewPersonalAPIToken } from 'interfaces/personalAPIToken'; +import type { FC } from 'react'; const StyledAlert = styled(Alert)(({ theme }) => ({ marginBottom: theme.spacing(3), diff --git a/frontend/src/component/user/Profile/PersonalAPITokensTab/PersonalAPITokensTab.tsx b/frontend/src/component/user/Profile/PersonalAPITokensTab/PersonalAPITokensTab.tsx index 0099707cb34..4b920ce5015 100644 --- a/frontend/src/component/user/Profile/PersonalAPITokensTab/PersonalAPITokensTab.tsx +++ b/frontend/src/component/user/Profile/PersonalAPITokensTab/PersonalAPITokensTab.tsx @@ -22,7 +22,7 @@ import { SearchHighlightProvider } from 'component/common/Table/SearchHighlightC import { PAT_LIMIT } from '@server/util/constants'; import { usePersonalAPITokens } from 'hooks/api/getters/usePersonalAPITokens/usePersonalAPITokens'; import { useSearch } from 'hooks/useSearch'; -import { +import type { INewPersonalAPIToken, IPersonalAPIToken, } from 'interfaces/personalAPIToken'; @@ -30,10 +30,10 @@ import { useEffect, useMemo, useState } from 'react'; import { useSearchParams } from 'react-router-dom'; import { useTable, - SortingRule, + type SortingRule, useSortBy, useFlexLayout, - Column, + type Column, } from 'react-table'; import { createLocalStorage } from 'utils/createLocalStorage'; import { sortTypes } from 'utils/sortTypes'; diff --git a/frontend/src/component/user/Profile/Profile.tsx b/frontend/src/component/user/Profile/Profile.tsx index 5073328bc6b..8cf7b559f70 100644 --- a/frontend/src/component/user/Profile/Profile.tsx +++ b/frontend/src/component/user/Profile/Profile.tsx @@ -1,5 +1,8 @@ import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { ITab, VerticalTabs } from 'component/common/VerticalTabs/VerticalTabs'; +import { + type ITab, + VerticalTabs, +} from 'component/common/VerticalTabs/VerticalTabs'; import { useAuthUser } from 'hooks/api/getters/useAuth/useAuthUser'; import useAuthSettings from 'hooks/api/getters/useAuthSettings/useAuthSettings'; import { useEffect, useState } from 'react'; diff --git a/frontend/src/component/user/Profile/ProfileTab/ProfileTab.tsx b/frontend/src/component/user/Profile/ProfileTab/ProfileTab.tsx index 0d8aa764be2..f1a1ff56410 100644 --- a/frontend/src/component/user/Profile/ProfileTab/ProfileTab.tsx +++ b/frontend/src/component/user/Profile/ProfileTab/ProfileTab.tsx @@ -4,7 +4,7 @@ import { FormControl, InputLabel, Select, - SelectChangeEvent, + type SelectChangeEvent, styled, Tooltip, Typography, @@ -13,7 +13,7 @@ import { Badge } from 'component/common/Badge/Badge'; import { UserAvatar } from 'component/common/UserAvatar/UserAvatar'; import { useProfile } from 'hooks/api/getters/useProfile/useProfile'; import { useLocationSettings } from 'hooks/useLocationSettings'; -import { IUser } from 'interfaces/user'; +import type { IUser } from 'interfaces/user'; import TopicOutlinedIcon from '@mui/icons-material/TopicOutlined'; import { useNavigate } from 'react-router-dom'; import { PageContent } from 'component/common/PageContent/PageContent'; diff --git a/frontend/src/component/user/SimpleAuth/SimpleAuth.tsx b/frontend/src/component/user/SimpleAuth/SimpleAuth.tsx index 6c762df0516..a0c2f8911da 100644 --- a/frontend/src/component/user/SimpleAuth/SimpleAuth.tsx +++ b/frontend/src/component/user/SimpleAuth/SimpleAuth.tsx @@ -1,4 +1,9 @@ -import { ChangeEventHandler, FormEventHandler, useState, VFC } from 'react'; +import { + type ChangeEventHandler, + type FormEventHandler, + useState, + type VFC, +} from 'react'; import { Button, TextField } from '@mui/material'; import styles from './SimpleAuth.module.scss'; import { useNavigate } from 'react-router-dom'; @@ -7,7 +12,7 @@ import { useAuthUser } from 'hooks/api/getters/useAuth/useAuthUser'; import { LOGIN_BUTTON, LOGIN_EMAIL_ID } from 'utils/testIds'; import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; -import { IAuthEndpointDetailsResponse } from 'hooks/api/getters/useAuth/useAuthEndpoint'; +import type { IAuthEndpointDetailsResponse } from 'hooks/api/getters/useAuth/useAuthEndpoint'; interface ISimpleAuthProps { authDetails: IAuthEndpointDetailsResponse; diff --git a/frontend/src/component/user/StandaloneBanner.tsx b/frontend/src/component/user/StandaloneBanner.tsx index 586a3f65f3f..7f1dd34b92f 100644 --- a/frontend/src/component/user/StandaloneBanner.tsx +++ b/frontend/src/component/user/StandaloneBanner.tsx @@ -1,10 +1,10 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { Typography, useTheme, useMediaQuery, styled } from '@mui/material'; import Gradient from 'component/common/Gradient/Gradient'; import { ReactComponent as Logo } from 'assets/icons/logoWhiteBg.svg'; import { ReactComponent as LogoWithText } from 'assets/img/logoWhiteTransparentHorizontal.svg'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { Theme } from '@mui/material'; +import type { Theme } from '@mui/material'; interface IStandaloneBannerProps { title: string; diff --git a/frontend/src/component/user/UserProfile/UserProfile.tsx b/frontend/src/component/user/UserProfile/UserProfile.tsx index f8ffcc7a3d5..390d052c7ed 100644 --- a/frontend/src/component/user/UserProfile/UserProfile.tsx +++ b/frontend/src/component/user/UserProfile/UserProfile.tsx @@ -1,7 +1,7 @@ import { useState } from 'react'; import { ClickAwayListener, IconButton, Tooltip, styled } from '@mui/material'; import { UserProfileContent } from './UserProfileContent/UserProfileContent'; -import { IUser } from 'interfaces/user'; +import type { IUser } from 'interfaces/user'; import { HEADER_USER_AVATAR } from 'utils/testIds'; import { useId } from 'hooks/useId'; import { UserAvatar } from 'component/common/UserAvatar/UserAvatar'; diff --git a/frontend/src/component/user/UserProfile/UserProfileContent/UserProfileContent.tsx b/frontend/src/component/user/UserProfile/UserProfileContent/UserProfileContent.tsx index 4e05d89ece5..682cb5c4cea 100644 --- a/frontend/src/component/user/UserProfile/UserProfileContent/UserProfileContent.tsx +++ b/frontend/src/component/user/UserProfile/UserProfileContent/UserProfileContent.tsx @@ -1,7 +1,7 @@ import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { Button, Paper, Typography, styled, Link } from '@mui/material'; import { basePath } from 'utils/formatPath'; -import { IUser } from 'interfaces/user'; +import type { IUser } from 'interfaces/user'; import OpenInNew from '@mui/icons-material/OpenInNew'; import { Link as RouterLink } from 'react-router-dom'; import { UserAvatar } from 'component/common/UserAvatar/UserAvatar'; diff --git a/frontend/src/component/user/common/AuthOptions/AuthOptions.tsx b/frontend/src/component/user/common/AuthOptions/AuthOptions.tsx index 5085cb6411f..fc84d8ff24d 100644 --- a/frontend/src/component/user/common/AuthOptions/AuthOptions.tsx +++ b/frontend/src/component/user/common/AuthOptions/AuthOptions.tsx @@ -4,7 +4,7 @@ import { useThemeStyles } from 'themes/themeStyles'; import { ReactComponent as GoogleSvg } from 'assets/icons/google.svg'; import LockRounded from '@mui/icons-material/LockRounded'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import { IAuthOptions } from 'hooks/api/getters/useAuth/useAuthEndpoint'; +import type { IAuthOptions } from 'hooks/api/getters/useAuth/useAuthEndpoint'; import { SSO_LOGIN_BUTTON } from 'utils/testIds'; interface IAuthOptionProps { diff --git a/frontend/src/component/user/common/InvalidToken/InvalidToken.tsx b/frontend/src/component/user/common/InvalidToken/InvalidToken.tsx index 7a9e4c4290a..a634e74c744 100644 --- a/frontend/src/component/user/common/InvalidToken/InvalidToken.tsx +++ b/frontend/src/component/user/common/InvalidToken/InvalidToken.tsx @@ -1,4 +1,4 @@ -import { VFC } from 'react'; +import type { VFC } from 'react'; import { Button, Typography } from '@mui/material'; import { Link } from 'react-router-dom'; import { INVALID_TOKEN_BUTTON } from 'utils/testIds'; diff --git a/frontend/src/component/user/common/ResetPasswordForm/PasswordChecker.tsx b/frontend/src/component/user/common/ResetPasswordForm/PasswordChecker.tsx index a939bddf143..e824d7c2a77 100644 --- a/frontend/src/component/user/common/ResetPasswordForm/PasswordChecker.tsx +++ b/frontend/src/component/user/common/ResetPasswordForm/PasswordChecker.tsx @@ -1,5 +1,5 @@ import { styled, Typography } from '@mui/material'; -import { Dispatch, SetStateAction, useEffect, useState } from 'react'; +import { type Dispatch, type SetStateAction, useEffect, useState } from 'react'; import { BAD_REQUEST, OK } from 'constants/statusCodes'; import { useCallback } from 'react'; import { formatApiPath } from 'utils/formatPath'; diff --git a/frontend/src/component/user/common/ResetPasswordForm/ResetPasswordForm.tsx b/frontend/src/component/user/common/ResetPasswordForm/ResetPasswordForm.tsx index affcbcd8ecf..fba63f9b2bd 100644 --- a/frontend/src/component/user/common/ResetPasswordForm/ResetPasswordForm.tsx +++ b/frontend/src/component/user/common/ResetPasswordForm/ResetPasswordForm.tsx @@ -1,5 +1,6 @@ import { Button, styled } from '@mui/material'; -import React, { SyntheticEvent, useCallback, useEffect, useState } from 'react'; +import type React from 'react'; +import { type SyntheticEvent, useCallback, useEffect, useState } from 'react'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import PasswordChecker from './PasswordChecker'; import PasswordMatcher from './PasswordMatcher'; diff --git a/frontend/src/component/user/common/StandaloneLayout.tsx b/frontend/src/component/user/common/StandaloneLayout.tsx index 4c853a6a8dd..94c78ae8c79 100644 --- a/frontend/src/component/user/common/StandaloneLayout.tsx +++ b/frontend/src/component/user/common/StandaloneLayout.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import StandaloneBanner from 'component/user/StandaloneBanner'; import { styled } from '@mui/material'; diff --git a/frontend/src/contexts/PlausibleContext.ts b/frontend/src/contexts/PlausibleContext.ts index 74b994c15e2..11e2b61e5be 100644 --- a/frontend/src/contexts/PlausibleContext.ts +++ b/frontend/src/contexts/PlausibleContext.ts @@ -1,5 +1,5 @@ import { createContext } from 'react'; -import Plausible from 'plausible-tracker'; +import type Plausible from 'plausible-tracker'; export const PlausibleContext = createContext Promise; diff --git a/frontend/src/hooks/api/actions/useAuthSettingsApi/useAuthSettingsApi.ts b/frontend/src/hooks/api/actions/useAuthSettingsApi/useAuthSettingsApi.ts index ef37b8faa2d..c507da7fa64 100644 --- a/frontend/src/hooks/api/actions/useAuthSettingsApi/useAuthSettingsApi.ts +++ b/frontend/src/hooks/api/actions/useAuthSettingsApi/useAuthSettingsApi.ts @@ -1,4 +1,4 @@ -import { Dispatch, SetStateAction } from 'react'; +import type { Dispatch, SetStateAction } from 'react'; import useAPI from '../useApi/useApi'; export interface ISimpleAuthSettings { diff --git a/frontend/src/hooks/api/actions/useBannersApi/useBannersApi.ts b/frontend/src/hooks/api/actions/useBannersApi/useBannersApi.ts index 7e0b17eb8c9..12cb944c75a 100644 --- a/frontend/src/hooks/api/actions/useBannersApi/useBannersApi.ts +++ b/frontend/src/hooks/api/actions/useBannersApi/useBannersApi.ts @@ -1,4 +1,4 @@ -import { IInternalBanner } from 'interfaces/banner'; +import type { IInternalBanner } from 'interfaces/banner'; import useAPI from '../useApi/useApi'; const ENDPOINT = 'api/admin/banners'; diff --git a/frontend/src/hooks/api/actions/useChangeRequestApi/useChangeRequestApi.ts b/frontend/src/hooks/api/actions/useChangeRequestApi/useChangeRequestApi.ts index b28a0be9b75..9caff22e6a6 100644 --- a/frontend/src/hooks/api/actions/useChangeRequestApi/useChangeRequestApi.ts +++ b/frontend/src/hooks/api/actions/useChangeRequestApi/useChangeRequestApi.ts @@ -1,6 +1,6 @@ import useAPI from '../useApi/useApi'; import { usePlausibleTracker } from '../../../usePlausibleTracker'; -import { PlausibleChangeRequestState } from 'component/changeRequest/changeRequest.types'; +import type { PlausibleChangeRequestState } from 'component/changeRequest/changeRequest.types'; import { getUniqueChangeRequestId } from 'utils/unique-change-request-id'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import { useChangeRequestPlausibleContext } from 'component/changeRequest/ChangeRequestContext'; diff --git a/frontend/src/hooks/api/actions/useDependentFeaturesApi/useDependentFeaturesApi.ts b/frontend/src/hooks/api/actions/useDependentFeaturesApi/useDependentFeaturesApi.ts index a28f9e4c8ac..f821cdb7bfa 100644 --- a/frontend/src/hooks/api/actions/useDependentFeaturesApi/useDependentFeaturesApi.ts +++ b/frontend/src/hooks/api/actions/useDependentFeaturesApi/useDependentFeaturesApi.ts @@ -1,7 +1,7 @@ import useAPI from '../useApi/useApi'; import { formatUnknownError } from 'utils/formatUnknownError'; import { useCallback } from 'react'; -import { DependentFeatureSchema } from '../../../../openapi'; +import type { DependentFeatureSchema } from '../../../../openapi'; export const useDependentFeaturesApi = (project: string) => { const { makeRequest, createRequest, errors, loading } = useAPI({ diff --git a/frontend/src/hooks/api/actions/useEnvironmentApi/useEnvironmentApi.ts b/frontend/src/hooks/api/actions/useEnvironmentApi/useEnvironmentApi.ts index e0aa32977a7..84ac651d92c 100644 --- a/frontend/src/hooks/api/actions/useEnvironmentApi/useEnvironmentApi.ts +++ b/frontend/src/hooks/api/actions/useEnvironmentApi/useEnvironmentApi.ts @@ -1,4 +1,4 @@ -import { +import type { IEnvironmentPayload, ISortOrderPayload, IEnvironmentEditPayload, diff --git a/frontend/src/hooks/api/actions/useExportApi/useExportApi.ts b/frontend/src/hooks/api/actions/useExportApi/useExportApi.ts index 2cead2b680c..aed040f3168 100644 --- a/frontend/src/hooks/api/actions/useExportApi/useExportApi.ts +++ b/frontend/src/hooks/api/actions/useExportApi/useExportApi.ts @@ -1,4 +1,4 @@ -import { ExportQuerySchema } from 'openapi'; +import type { ExportQuerySchema } from 'openapi'; import useAPI from '../useApi/useApi'; import { usePlausibleTracker } from 'hooks/usePlausibleTracker'; diff --git a/frontend/src/hooks/api/actions/useFeatureApi/useFeatureApi.ts b/frontend/src/hooks/api/actions/useFeatureApi/useFeatureApi.ts index 92a67af0661..da69c57889a 100644 --- a/frontend/src/hooks/api/actions/useFeatureApi/useFeatureApi.ts +++ b/frontend/src/hooks/api/actions/useFeatureApi/useFeatureApi.ts @@ -1,10 +1,10 @@ import { useCallback } from 'react'; -import { ITag } from 'interfaces/tags'; -import { Operation } from 'fast-json-patch'; -import { IConstraint } from 'interfaces/strategy'; -import { CreateFeatureSchema, UpdateTagsSchema } from 'openapi'; +import type { ITag } from 'interfaces/tags'; +import type { Operation } from 'fast-json-patch'; +import type { IConstraint } from 'interfaces/strategy'; +import type { CreateFeatureSchema, UpdateTagsSchema } from 'openapi'; import useAPI from '../useApi/useApi'; -import { IFeatureVariant } from 'interfaces/featureToggle'; +import type { IFeatureVariant } from 'interfaces/featureToggle'; const useFeatureApi = () => { const { makeRequest, makeLightRequest, createRequest, errors, loading } = diff --git a/frontend/src/hooks/api/actions/useFeatureStrategyApi/useFeatureStrategyApi.ts b/frontend/src/hooks/api/actions/useFeatureStrategyApi/useFeatureStrategyApi.ts index 2852aff2c38..bcc344782c5 100644 --- a/frontend/src/hooks/api/actions/useFeatureStrategyApi/useFeatureStrategyApi.ts +++ b/frontend/src/hooks/api/actions/useFeatureStrategyApi/useFeatureStrategyApi.ts @@ -1,4 +1,4 @@ -import { +import type { IFeatureStrategyPayload, IFeatureStrategy, IFeatureStrategySortOrder, diff --git a/frontend/src/hooks/api/actions/useFeatureTypeApi/useFeatureTypeApi.ts b/frontend/src/hooks/api/actions/useFeatureTypeApi/useFeatureTypeApi.ts index 87ece66f5a4..ce9492c769a 100644 --- a/frontend/src/hooks/api/actions/useFeatureTypeApi/useFeatureTypeApi.ts +++ b/frontend/src/hooks/api/actions/useFeatureTypeApi/useFeatureTypeApi.ts @@ -1,4 +1,7 @@ -import { FeatureTypeSchema, UpdateFeatureTypeLifetimeSchema } from 'openapi'; +import type { + FeatureTypeSchema, + UpdateFeatureTypeLifetimeSchema, +} from 'openapi'; import useAPI from '../useApi/useApi'; export const useFeatureTypeApi = () => { diff --git a/frontend/src/hooks/api/actions/useGroupApi/useGroupApi.ts b/frontend/src/hooks/api/actions/useGroupApi/useGroupApi.ts index e1d1fff53a4..7a96530e87c 100644 --- a/frontend/src/hooks/api/actions/useGroupApi/useGroupApi.ts +++ b/frontend/src/hooks/api/actions/useGroupApi/useGroupApi.ts @@ -1,5 +1,5 @@ import useAPI from '../useApi/useApi'; -import { IGroupUserModel } from 'interfaces/group'; +import type { IGroupUserModel } from 'interfaces/group'; interface ICreateGroupPayload { name: string; diff --git a/frontend/src/hooks/api/actions/useLicenseAPI/useLicenseApi.ts b/frontend/src/hooks/api/actions/useLicenseAPI/useLicenseApi.ts index 95d132c6bc1..b241f79a255 100644 --- a/frontend/src/hooks/api/actions/useLicenseAPI/useLicenseApi.ts +++ b/frontend/src/hooks/api/actions/useLicenseAPI/useLicenseApi.ts @@ -1,4 +1,4 @@ -import { Dispatch, SetStateAction } from 'react'; +import type { Dispatch, SetStateAction } from 'react'; import useAPI from '../useApi/useApi'; export const handleBadRequest = async ( diff --git a/frontend/src/hooks/api/actions/usePersonalAPITokensApi/usePersonalAPITokensApi.ts b/frontend/src/hooks/api/actions/usePersonalAPITokensApi/usePersonalAPITokensApi.ts index 5795a56f20d..3caa06f2400 100644 --- a/frontend/src/hooks/api/actions/usePersonalAPITokensApi/usePersonalAPITokensApi.ts +++ b/frontend/src/hooks/api/actions/usePersonalAPITokensApi/usePersonalAPITokensApi.ts @@ -1,4 +1,4 @@ -import { INewPersonalAPIToken } from 'interfaces/personalAPIToken'; +import type { INewPersonalAPIToken } from 'interfaces/personalAPIToken'; import useAPI from '../useApi/useApi'; export interface ICreatePersonalApiTokenPayload { diff --git a/frontend/src/hooks/api/actions/usePlayground/usePlayground.ts b/frontend/src/hooks/api/actions/usePlayground/usePlayground.ts index 84f350f6843..ab96b4ab61d 100644 --- a/frontend/src/hooks/api/actions/usePlayground/usePlayground.ts +++ b/frontend/src/hooks/api/actions/usePlayground/usePlayground.ts @@ -1,5 +1,5 @@ import useAPI from '../useApi/useApi'; -import { +import type { AdvancedPlaygroundRequestSchema, AdvancedPlaygroundResponseSchema, } from 'openapi'; diff --git a/frontend/src/hooks/api/actions/useRolesApi/useRolesApi.ts b/frontend/src/hooks/api/actions/useRolesApi/useRolesApi.ts index a1d39250f56..a1b1682015b 100644 --- a/frontend/src/hooks/api/actions/useRolesApi/useRolesApi.ts +++ b/frontend/src/hooks/api/actions/useRolesApi/useRolesApi.ts @@ -1,4 +1,4 @@ -import { IPermission } from 'interfaces/permissions'; +import type { IPermission } from 'interfaces/permissions'; import useAPI from '../useApi/useApi'; interface IRolePayload { diff --git a/frontend/src/hooks/api/actions/useSegmentsApi/useSegmentsApi.ts b/frontend/src/hooks/api/actions/useSegmentsApi/useSegmentsApi.ts index 8a63c34be46..4f5c6af7654 100644 --- a/frontend/src/hooks/api/actions/useSegmentsApi/useSegmentsApi.ts +++ b/frontend/src/hooks/api/actions/useSegmentsApi/useSegmentsApi.ts @@ -1,4 +1,4 @@ -import { ISegmentPayload } from 'interfaces/segment'; +import type { ISegmentPayload } from 'interfaces/segment'; import useAPI from '../useApi/useApi'; export const useSegmentsApi = () => { diff --git a/frontend/src/hooks/api/actions/useServiceAccountTokensApi/useServiceAccountTokensApi.ts b/frontend/src/hooks/api/actions/useServiceAccountTokensApi/useServiceAccountTokensApi.ts index 2069ed5eac5..de778203366 100644 --- a/frontend/src/hooks/api/actions/useServiceAccountTokensApi/useServiceAccountTokensApi.ts +++ b/frontend/src/hooks/api/actions/useServiceAccountTokensApi/useServiceAccountTokensApi.ts @@ -1,4 +1,4 @@ -import { INewPersonalAPIToken } from 'interfaces/personalAPIToken'; +import type { INewPersonalAPIToken } from 'interfaces/personalAPIToken'; import useAPI from '../useApi/useApi'; export interface ICreateServiceAccountTokenPayload { diff --git a/frontend/src/hooks/api/actions/useSignalEndpointTokensApi/useSignalEndpointTokensApi.ts b/frontend/src/hooks/api/actions/useSignalEndpointTokensApi/useSignalEndpointTokensApi.ts index 92c12dae3ac..4d20df9c70c 100644 --- a/frontend/src/hooks/api/actions/useSignalEndpointTokensApi/useSignalEndpointTokensApi.ts +++ b/frontend/src/hooks/api/actions/useSignalEndpointTokensApi/useSignalEndpointTokensApi.ts @@ -1,4 +1,4 @@ -import { ISignalEndpointToken } from 'interfaces/signal'; +import type { ISignalEndpointToken } from 'interfaces/signal'; import useAPI from '../useApi/useApi'; const ENDPOINT = 'api/admin/signal-endpoints'; diff --git a/frontend/src/hooks/api/actions/useSignalEndpointsApi/useSignalEndpointsApi.ts b/frontend/src/hooks/api/actions/useSignalEndpointsApi/useSignalEndpointsApi.ts index 549a47e3b6a..5e90a9ba0df 100644 --- a/frontend/src/hooks/api/actions/useSignalEndpointsApi/useSignalEndpointsApi.ts +++ b/frontend/src/hooks/api/actions/useSignalEndpointsApi/useSignalEndpointsApi.ts @@ -1,4 +1,4 @@ -import { ISignalEndpoint } from 'interfaces/signal'; +import type { ISignalEndpoint } from 'interfaces/signal'; import useAPI from '../useApi/useApi'; const ENDPOINT = 'api/admin/signal-endpoints'; diff --git a/frontend/src/hooks/api/actions/useStrategiesApi/useStrategiesApi.ts b/frontend/src/hooks/api/actions/useStrategiesApi/useStrategiesApi.ts index 4b355c2d6c4..34cd1aae103 100644 --- a/frontend/src/hooks/api/actions/useStrategiesApi/useStrategiesApi.ts +++ b/frontend/src/hooks/api/actions/useStrategiesApi/useStrategiesApi.ts @@ -1,4 +1,4 @@ -import { IStrategyPayload } from 'interfaces/strategy'; +import type { IStrategyPayload } from 'interfaces/strategy'; import { useCallback } from 'react'; import useAPI from '../useApi/useApi'; diff --git a/frontend/src/hooks/api/actions/useTagTypesApi/useTagTypesApi.ts b/frontend/src/hooks/api/actions/useTagTypesApi/useTagTypesApi.ts index 45bbb4b07ab..89da504066e 100644 --- a/frontend/src/hooks/api/actions/useTagTypesApi/useTagTypesApi.ts +++ b/frontend/src/hooks/api/actions/useTagTypesApi/useTagTypesApi.ts @@ -1,4 +1,4 @@ -import { ITagPayload } from 'interfaces/tags'; +import type { ITagPayload } from 'interfaces/tags'; import useAPI from '../useApi/useApi'; const useTagTypesApi = () => { diff --git a/frontend/src/hooks/api/actions/useUserFeedbackApi/useUserFeedbackApi.ts b/frontend/src/hooks/api/actions/useUserFeedbackApi/useUserFeedbackApi.ts index 0a9aff5e13b..e0b24cf0c09 100644 --- a/frontend/src/hooks/api/actions/useUserFeedbackApi/useUserFeedbackApi.ts +++ b/frontend/src/hooks/api/actions/useUserFeedbackApi/useUserFeedbackApi.ts @@ -1,4 +1,4 @@ -import { ProvideFeedbackSchema } from '../../../../openapi'; +import type { ProvideFeedbackSchema } from '../../../../openapi'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; const ENDPOINT = 'https://app.unleash-hosted.com/hosted/feedback'; diff --git a/frontend/src/hooks/api/getters/useAccess/useAccess.ts b/frontend/src/hooks/api/getters/useAccess/useAccess.ts index 418416abb4d..71cbd12777b 100644 --- a/frontend/src/hooks/api/getters/useAccess/useAccess.ts +++ b/frontend/src/hooks/api/getters/useAccess/useAccess.ts @@ -1,9 +1,9 @@ import useSWR from 'swr'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { IGroup } from 'interfaces/group'; -import { IUser } from 'interfaces/user'; -import { IServiceAccount } from 'interfaces/service-account'; +import type { IGroup } from 'interfaces/group'; +import type { IUser } from 'interfaces/user'; +import type { IServiceAccount } from 'interfaces/service-account'; export interface IUseAccessOutput { users?: IUser[]; diff --git a/frontend/src/hooks/api/getters/useActionConfigurations/useActionConfigurations.ts b/frontend/src/hooks/api/getters/useActionConfigurations/useActionConfigurations.ts index 88f6ac47677..e883d25dbbc 100644 --- a/frontend/src/hooks/api/getters/useActionConfigurations/useActionConfigurations.ts +++ b/frontend/src/hooks/api/getters/useActionConfigurations/useActionConfigurations.ts @@ -3,7 +3,7 @@ import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; import { useConditionalSWR } from '../useConditionalSWR/useConditionalSWR'; import useUiConfig from '../useUiConfig/useUiConfig'; -import { ActionConfiguration } from 'interfaces/action'; +import type { ActionConfiguration } from 'interfaces/action'; import { useUiFlag } from 'hooks/useUiFlag'; const DEFAULT_DATA: Record = {}; diff --git a/frontend/src/hooks/api/getters/useActionEvents/useActionEvents.ts b/frontend/src/hooks/api/getters/useActionEvents/useActionEvents.ts index 3451e0ae73e..7680f3c3f82 100644 --- a/frontend/src/hooks/api/getters/useActionEvents/useActionEvents.ts +++ b/frontend/src/hooks/api/getters/useActionEvents/useActionEvents.ts @@ -1,11 +1,11 @@ import useSWRInfinite, { - SWRInfiniteConfiguration, - SWRInfiniteKeyLoader, + type SWRInfiniteConfiguration, + type SWRInfiniteKeyLoader, } from 'swr/infinite'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; import useUiConfig from '../useUiConfig/useUiConfig'; -import { IActionSetEvent } from 'interfaces/action'; +import type { IActionSetEvent } from 'interfaces/action'; import { useUiFlag } from 'hooks/useUiFlag'; type ActionEventsResponse = { diff --git a/frontend/src/hooks/api/getters/useActions/useActions.ts b/frontend/src/hooks/api/getters/useActions/useActions.ts index ae1ea992647..425e8aa9ec5 100644 --- a/frontend/src/hooks/api/getters/useActions/useActions.ts +++ b/frontend/src/hooks/api/getters/useActions/useActions.ts @@ -3,7 +3,7 @@ import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; import { useConditionalSWR } from '../useConditionalSWR/useConditionalSWR'; import useUiConfig from '../useUiConfig/useUiConfig'; -import { IActionSet } from 'interfaces/action'; +import type { IActionSet } from 'interfaces/action'; import { useUiFlag } from 'hooks/useUiFlag'; const DEFAULT_DATA = { diff --git a/frontend/src/hooks/api/getters/useAddons/useAddons.ts b/frontend/src/hooks/api/getters/useAddons/useAddons.ts index f5e3b5e3140..cfc24bc40b2 100644 --- a/frontend/src/hooks/api/getters/useAddons/useAddons.ts +++ b/frontend/src/hooks/api/getters/useAddons/useAddons.ts @@ -1,8 +1,8 @@ -import useSWR, { mutate, SWRConfiguration } from 'swr'; +import useSWR, { mutate, type SWRConfiguration } from 'swr'; import { useState, useEffect, useCallback } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { AddonsSchema } from 'openapi'; +import type { AddonsSchema } from 'openapi'; const useAddons = (options: SWRConfiguration = {}) => { const fetcher = async () => { diff --git a/frontend/src/hooks/api/getters/useAllTags/useAllTags.ts b/frontend/src/hooks/api/getters/useAllTags/useAllTags.ts index d92cd97b18d..6c1bf47b846 100644 --- a/frontend/src/hooks/api/getters/useAllTags/useAllTags.ts +++ b/frontend/src/hooks/api/getters/useAllTags/useAllTags.ts @@ -1,7 +1,7 @@ -import useSWR, { mutate, SWRConfiguration } from 'swr'; +import useSWR, { mutate, type SWRConfiguration } from 'swr'; import { useState, useEffect } from 'react'; import { formatApiPath } from 'utils/formatPath'; -import { ITag } from 'interfaces/tags'; +import type { ITag } from 'interfaces/tags'; import handleErrorResponses from '../httpErrorResponseHandler'; const useAllTags = (options: SWRConfiguration = {}) => { diff --git a/frontend/src/hooks/api/getters/useApiGetter/useApiGetter.ts b/frontend/src/hooks/api/getters/useApiGetter/useApiGetter.ts index 9c78032d3c2..e3c77cfe105 100644 --- a/frontend/src/hooks/api/getters/useApiGetter/useApiGetter.ts +++ b/frontend/src/hooks/api/getters/useApiGetter/useApiGetter.ts @@ -1,4 +1,4 @@ -import useSWR, { SWRConfiguration, Key } from 'swr'; +import useSWR, { type SWRConfiguration, type Key } from 'swr'; import { useCallback } from 'react'; import handleErrorResponses from '../httpErrorResponseHandler'; diff --git a/frontend/src/hooks/api/getters/useApiTokens/useApiTokens.ts b/frontend/src/hooks/api/getters/useApiTokens/useApiTokens.ts index 962d6535fa0..e1e063dc22d 100644 --- a/frontend/src/hooks/api/getters/useApiTokens/useApiTokens.ts +++ b/frontend/src/hooks/api/getters/useApiTokens/useApiTokens.ts @@ -1,4 +1,4 @@ -import useSWR, { SWRConfiguration } from 'swr'; +import useSWR, { type SWRConfiguration } from 'swr'; import { useCallback, useMemo } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; diff --git a/frontend/src/hooks/api/getters/useApplication/useApplication.ts b/frontend/src/hooks/api/getters/useApplication/useApplication.ts index 0dd933ac37b..4de7fe0ef6c 100644 --- a/frontend/src/hooks/api/getters/useApplication/useApplication.ts +++ b/frontend/src/hooks/api/getters/useApplication/useApplication.ts @@ -1,8 +1,8 @@ -import useSWR, { mutate, SWRConfiguration } from 'swr'; +import useSWR, { mutate, type SWRConfiguration } from 'swr'; import { useState, useEffect } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { IApplication } from 'interfaces/application'; +import type { IApplication } from 'interfaces/application'; interface IUseApplicationOutput { application: IApplication; diff --git a/frontend/src/hooks/api/getters/useApplicationOverview/useApplicationOverview.ts b/frontend/src/hooks/api/getters/useApplicationOverview/useApplicationOverview.ts index 2e317e4f336..43df16602e2 100644 --- a/frontend/src/hooks/api/getters/useApplicationOverview/useApplicationOverview.ts +++ b/frontend/src/hooks/api/getters/useApplicationOverview/useApplicationOverview.ts @@ -1,7 +1,7 @@ -import useSWR, { SWRConfiguration } from 'swr'; +import useSWR, { type SWRConfiguration } from 'swr'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { ApplicationOverviewSchema } from 'openapi'; +import type { ApplicationOverviewSchema } from 'openapi'; const placeHolderApplication: ApplicationOverviewSchema = { environments: [], diff --git a/frontend/src/hooks/api/getters/useApplications/useApplications.ts b/frontend/src/hooks/api/getters/useApplications/useApplications.ts index 40804bc39ee..da0c2476456 100644 --- a/frontend/src/hooks/api/getters/useApplications/useApplications.ts +++ b/frontend/src/hooks/api/getters/useApplications/useApplications.ts @@ -1,4 +1,4 @@ -import { ApplicationsSchema } from '../../../../openapi'; +import type { ApplicationsSchema } from '../../../../openapi'; import { createPaginatedHook } from '../usePaginatedData/usePaginatedData'; const prefixKey = 'api/admin/metrics/applications?'; diff --git a/frontend/src/hooks/api/getters/useAuth/useAuthDetails.ts b/frontend/src/hooks/api/getters/useAuth/useAuthDetails.ts index 33dbc027076..ee42a15cdde 100644 --- a/frontend/src/hooks/api/getters/useAuth/useAuthDetails.ts +++ b/frontend/src/hooks/api/getters/useAuth/useAuthDetails.ts @@ -1,5 +1,5 @@ import { - IAuthEndpointDetailsResponse, + type IAuthEndpointDetailsResponse, useAuthEndpoint, } from './useAuthEndpoint'; diff --git a/frontend/src/hooks/api/getters/useAuth/useAuthEndpoint.ts b/frontend/src/hooks/api/getters/useAuth/useAuthEndpoint.ts index 17374bf0056..964d2a6d43c 100644 --- a/frontend/src/hooks/api/getters/useAuth/useAuthEndpoint.ts +++ b/frontend/src/hooks/api/getters/useAuth/useAuthEndpoint.ts @@ -1,7 +1,7 @@ import useSWR, { mutate } from 'swr'; import { useCallback } from 'react'; import { formatApiPath } from 'utils/formatPath'; -import { IPermission, IUser } from 'interfaces/user'; +import type { IPermission, IUser } from 'interfaces/user'; // The auth endpoint returns different things depending on the auth status. // When the user is logged in, the endpoint returns user data and permissions. diff --git a/frontend/src/hooks/api/getters/useAuth/useAuthFeedback.ts b/frontend/src/hooks/api/getters/useAuth/useAuthFeedback.ts index 3f9d6bda892..7ea5efb1dbc 100644 --- a/frontend/src/hooks/api/getters/useAuth/useAuthFeedback.ts +++ b/frontend/src/hooks/api/getters/useAuth/useAuthFeedback.ts @@ -1,4 +1,4 @@ -import { IAuthFeedback, useAuthEndpoint } from './useAuthEndpoint'; +import { type IAuthFeedback, useAuthEndpoint } from './useAuthEndpoint'; interface IUseAuthFeedbackOutput { feedback?: IAuthFeedback[]; diff --git a/frontend/src/hooks/api/getters/useAuth/useAuthPermissions.ts b/frontend/src/hooks/api/getters/useAuth/useAuthPermissions.ts index 01d4cbcb45a..d044de2db29 100644 --- a/frontend/src/hooks/api/getters/useAuth/useAuthPermissions.ts +++ b/frontend/src/hooks/api/getters/useAuth/useAuthPermissions.ts @@ -1,7 +1,10 @@ -import { IPermission } from 'interfaces/user'; -import { IUseAuthEndpointOutput, useAuthEndpoint } from './useAuthEndpoint'; +import type { IPermission } from 'interfaces/user'; +import { + type IUseAuthEndpointOutput, + useAuthEndpoint, +} from './useAuthEndpoint'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; -import { IUiConfig } from 'interfaces/uiConfig'; +import type { IUiConfig } from 'interfaces/uiConfig'; interface IUseAuthPermissionsOutput { permissions?: IPermission[]; diff --git a/frontend/src/hooks/api/getters/useAuth/useAuthSplash.ts b/frontend/src/hooks/api/getters/useAuth/useAuthSplash.ts index 38956e7875a..ef60c742649 100644 --- a/frontend/src/hooks/api/getters/useAuth/useAuthSplash.ts +++ b/frontend/src/hooks/api/getters/useAuth/useAuthSplash.ts @@ -1,4 +1,4 @@ -import { IAuthSplash, useAuthEndpoint } from './useAuthEndpoint'; +import { type IAuthSplash, useAuthEndpoint } from './useAuthEndpoint'; interface IUseAuthSplashOutput { splash?: IAuthSplash; diff --git a/frontend/src/hooks/api/getters/useAuth/useAuthUser.ts b/frontend/src/hooks/api/getters/useAuth/useAuthUser.ts index 4b557ad316c..8ab45d8cc29 100644 --- a/frontend/src/hooks/api/getters/useAuth/useAuthUser.ts +++ b/frontend/src/hooks/api/getters/useAuth/useAuthUser.ts @@ -1,4 +1,4 @@ -import { IUser } from 'interfaces/user'; +import type { IUser } from 'interfaces/user'; import { useAuthEndpoint } from './useAuthEndpoint'; interface IUseAuthUserOutput { diff --git a/frontend/src/hooks/api/getters/useAuthSettings/useAuthSettings.ts b/frontend/src/hooks/api/getters/useAuthSettings/useAuthSettings.ts index 5633b810d27..0cfe0afd5c8 100644 --- a/frontend/src/hooks/api/getters/useAuthSettings/useAuthSettings.ts +++ b/frontend/src/hooks/api/getters/useAuthSettings/useAuthSettings.ts @@ -1,4 +1,4 @@ -import { mutate, SWRConfiguration } from 'swr'; +import { mutate, type SWRConfiguration } from 'swr'; import { useState, useEffect } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; diff --git a/frontend/src/hooks/api/getters/useBanners/useBanners.ts b/frontend/src/hooks/api/getters/useBanners/useBanners.ts index fe0948151c8..bb087326c82 100644 --- a/frontend/src/hooks/api/getters/useBanners/useBanners.ts +++ b/frontend/src/hooks/api/getters/useBanners/useBanners.ts @@ -3,7 +3,7 @@ import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; import { useConditionalSWR } from '../useConditionalSWR/useConditionalSWR'; import useUiConfig from '../useUiConfig/useUiConfig'; -import { IInternalBanner } from 'interfaces/banner'; +import type { IInternalBanner } from 'interfaces/banner'; const ENDPOINT = 'api/admin/banners'; diff --git a/frontend/src/hooks/api/getters/useChangeRequest/useChangeRequest.ts b/frontend/src/hooks/api/getters/useChangeRequest/useChangeRequest.ts index e97ddebd30a..dbc4c6c960e 100644 --- a/frontend/src/hooks/api/getters/useChangeRequest/useChangeRequest.ts +++ b/frontend/src/hooks/api/getters/useChangeRequest/useChangeRequest.ts @@ -1,7 +1,7 @@ import useSWR from 'swr'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { ChangeRequestType } from 'component/changeRequest/changeRequest.types'; +import type { ChangeRequestType } from 'component/changeRequest/changeRequest.types'; export const useChangeRequest = (projectId: string, id: string) => { const { data, error, mutate } = useSWR( diff --git a/frontend/src/hooks/api/getters/useChangeRequestConfig/useChangeRequestConfig.ts b/frontend/src/hooks/api/getters/useChangeRequestConfig/useChangeRequestConfig.ts index bd7f4e4bcc1..17849b521d6 100644 --- a/frontend/src/hooks/api/getters/useChangeRequestConfig/useChangeRequestConfig.ts +++ b/frontend/src/hooks/api/getters/useChangeRequestConfig/useChangeRequestConfig.ts @@ -1,6 +1,6 @@ import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { IChangeRequestEnvironmentConfig } from 'component/changeRequest/changeRequest.types'; +import type { IChangeRequestEnvironmentConfig } from 'component/changeRequest/changeRequest.types'; import { useConditionalSWR } from '../useConditionalSWR/useConditionalSWR'; import useUiConfig from '../useUiConfig/useUiConfig'; diff --git a/frontend/src/hooks/api/getters/useCheckDependenciesExist/useCheckDependenciesExist.ts b/frontend/src/hooks/api/getters/useCheckDependenciesExist/useCheckDependenciesExist.ts index 6e8508a5fe0..dc666bd2ecc 100644 --- a/frontend/src/hooks/api/getters/useCheckDependenciesExist/useCheckDependenciesExist.ts +++ b/frontend/src/hooks/api/getters/useCheckDependenciesExist/useCheckDependenciesExist.ts @@ -1,4 +1,4 @@ -import { SWRConfiguration } from 'swr'; +import type { SWRConfiguration } from 'swr'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; import { useConditionalSWR } from '../useConditionalSWR/useConditionalSWR'; diff --git a/frontend/src/hooks/api/getters/useConditionalSWR/useConditionalSWR.ts b/frontend/src/hooks/api/getters/useConditionalSWR/useConditionalSWR.ts index 90f6cbbb988..e0c62e3d8ba 100644 --- a/frontend/src/hooks/api/getters/useConditionalSWR/useConditionalSWR.ts +++ b/frontend/src/hooks/api/getters/useConditionalSWR/useConditionalSWR.ts @@ -1,4 +1,9 @@ -import useSWR, { BareFetcher, Key, SWRConfiguration, SWRResponse } from 'swr'; +import useSWR, { + type BareFetcher, + type Key, + type SWRConfiguration, + type SWRResponse, +} from 'swr'; export const useConditionalSWR = ( condition: T, diff --git a/frontend/src/hooks/api/getters/useConnectedInstances/useConnectedInstances.ts b/frontend/src/hooks/api/getters/useConnectedInstances/useConnectedInstances.ts index c505f8bd56f..196c3f1cade 100644 --- a/frontend/src/hooks/api/getters/useConnectedInstances/useConnectedInstances.ts +++ b/frontend/src/hooks/api/getters/useConnectedInstances/useConnectedInstances.ts @@ -1,4 +1,4 @@ -import { SWRConfiguration } from 'swr'; +import type { SWRConfiguration } from 'swr'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; import { useConditionalSWR } from '../useConditionalSWR/useConditionalSWR'; diff --git a/frontend/src/hooks/api/getters/useConstraintsValidation/useConstraintsValidation.test.tsx b/frontend/src/hooks/api/getters/useConstraintsValidation/useConstraintsValidation.test.tsx index b617705c9d0..c254264b71b 100644 --- a/frontend/src/hooks/api/getters/useConstraintsValidation/useConstraintsValidation.test.tsx +++ b/frontend/src/hooks/api/getters/useConstraintsValidation/useConstraintsValidation.test.tsx @@ -1,6 +1,6 @@ import { render, screen } from '@testing-library/react'; -import { IConstraint } from 'interfaces/strategy'; // Assuming you have your component in this path -import { FC } from 'react'; +import type { IConstraint } from 'interfaces/strategy'; // Assuming you have your component in this path +import type { FC } from 'react'; import { useConstraintsValidation } from './useConstraintsValidation'; import { testServerRoute, testServerSetup } from 'utils/testServer'; diff --git a/frontend/src/hooks/api/getters/useConstraintsValidation/useConstraintsValidation.ts b/frontend/src/hooks/api/getters/useConstraintsValidation/useConstraintsValidation.ts index c232114a5d6..5d8e53be872 100644 --- a/frontend/src/hooks/api/getters/useConstraintsValidation/useConstraintsValidation.ts +++ b/frontend/src/hooks/api/getters/useConstraintsValidation/useConstraintsValidation.ts @@ -1,6 +1,6 @@ import useFeatureApi from 'hooks/api/actions/useFeatureApi/useFeatureApi'; import { useEffect, useState } from 'react'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; const isValid = (constraint: IConstraint) => { const hasValues = diff --git a/frontend/src/hooks/api/getters/useContext/useContext.ts b/frontend/src/hooks/api/getters/useContext/useContext.ts index fdc32db4dee..ef3cda60833 100644 --- a/frontend/src/hooks/api/getters/useContext/useContext.ts +++ b/frontend/src/hooks/api/getters/useContext/useContext.ts @@ -1,4 +1,4 @@ -import useSWR, { mutate, SWRConfiguration } from 'swr'; +import useSWR, { mutate, type SWRConfiguration } from 'swr'; import { useState, useEffect } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; diff --git a/frontend/src/hooks/api/getters/useEnterpriseSWR/useEnterpriseSWR.ts b/frontend/src/hooks/api/getters/useEnterpriseSWR/useEnterpriseSWR.ts index 0e013802cea..fc5ed9b320f 100644 --- a/frontend/src/hooks/api/getters/useEnterpriseSWR/useEnterpriseSWR.ts +++ b/frontend/src/hooks/api/getters/useEnterpriseSWR/useEnterpriseSWR.ts @@ -1,4 +1,4 @@ -import { BareFetcher, Key, SWRConfiguration } from 'swr'; +import type { BareFetcher, Key, SWRConfiguration } from 'swr'; import { useConditionalSWR } from '../useConditionalSWR/useConditionalSWR'; import useUiConfig from '../useUiConfig/useUiConfig'; diff --git a/frontend/src/hooks/api/getters/useEnvironment/defaultEnvironment.ts b/frontend/src/hooks/api/getters/useEnvironment/defaultEnvironment.ts index d4026f7adf1..eba347f63c2 100644 --- a/frontend/src/hooks/api/getters/useEnvironment/defaultEnvironment.ts +++ b/frontend/src/hooks/api/getters/useEnvironment/defaultEnvironment.ts @@ -1,4 +1,4 @@ -import { IEnvironment } from 'interfaces/environments'; +import type { IEnvironment } from 'interfaces/environments'; export const defaultEnvironment: IEnvironment = { name: '', diff --git a/frontend/src/hooks/api/getters/useEnvironment/useEnvironment.ts b/frontend/src/hooks/api/getters/useEnvironment/useEnvironment.ts index e60c9937780..0fd0f99cdcf 100644 --- a/frontend/src/hooks/api/getters/useEnvironment/useEnvironment.ts +++ b/frontend/src/hooks/api/getters/useEnvironment/useEnvironment.ts @@ -1,8 +1,8 @@ -import useSWR, { mutate, SWRConfiguration } from 'swr'; +import useSWR, { mutate, type SWRConfiguration } from 'swr'; import { useState, useEffect } from 'react'; import { formatApiPath } from 'utils/formatPath'; -import { IEnvironment } from 'interfaces/environments'; +import type { IEnvironment } from 'interfaces/environments'; import handleErrorResponses from '../httpErrorResponseHandler'; import { defaultEnvironment } from './defaultEnvironment'; diff --git a/frontend/src/hooks/api/getters/useEnvironments/useEnvironments.ts b/frontend/src/hooks/api/getters/useEnvironments/useEnvironments.ts index 57ad73d39d8..d5e4828a391 100644 --- a/frontend/src/hooks/api/getters/useEnvironments/useEnvironments.ts +++ b/frontend/src/hooks/api/getters/useEnvironments/useEnvironments.ts @@ -1,6 +1,9 @@ import useSWR from 'swr'; import { useMemo, useCallback } from 'react'; -import { IEnvironmentResponse, IEnvironment } from 'interfaces/environments'; +import type { + IEnvironmentResponse, + IEnvironment, +} from 'interfaces/environments'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; diff --git a/frontend/src/hooks/api/getters/useEventSearch/useEventSearch.ts b/frontend/src/hooks/api/getters/useEventSearch/useEventSearch.ts index 60738dff748..a63311456e7 100644 --- a/frontend/src/hooks/api/getters/useEventSearch/useEventSearch.ts +++ b/frontend/src/hooks/api/getters/useEventSearch/useEventSearch.ts @@ -2,7 +2,7 @@ import useSWR from 'swr'; import { useCallback, useState, useEffect, useMemo } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { IEvent } from 'interfaces/event'; +import type { IEvent } from 'interfaces/event'; const PATH = formatApiPath('api/admin/events/search'); diff --git a/frontend/src/hooks/api/getters/useExecutiveSummary/useExecutiveSummary.ts b/frontend/src/hooks/api/getters/useExecutiveSummary/useExecutiveSummary.ts index ea5e753ea75..59e519065d7 100644 --- a/frontend/src/hooks/api/getters/useExecutiveSummary/useExecutiveSummary.ts +++ b/frontend/src/hooks/api/getters/useExecutiveSummary/useExecutiveSummary.ts @@ -1,8 +1,8 @@ -import useSWR, { mutate, SWRConfiguration } from 'swr'; +import useSWR, { mutate, type SWRConfiguration } from 'swr'; import { useCallback } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { ExecutiveSummarySchema } from 'openapi'; +import type { ExecutiveSummarySchema } from 'openapi'; interface IUseExecutiveDashboardDataOutput { executiveDashboardData: ExecutiveSummarySchema; diff --git a/frontend/src/hooks/api/getters/useFeature/emptyFeature.ts b/frontend/src/hooks/api/getters/useFeature/emptyFeature.ts index b0286c3c7e6..9c7d203a1a3 100644 --- a/frontend/src/hooks/api/getters/useFeature/emptyFeature.ts +++ b/frontend/src/hooks/api/getters/useFeature/emptyFeature.ts @@ -1,4 +1,4 @@ -import { IFeatureToggle } from 'interfaces/featureToggle'; +import type { IFeatureToggle } from 'interfaces/featureToggle'; export const emptyFeature: IFeatureToggle = { environments: [], diff --git a/frontend/src/hooks/api/getters/useFeature/useFeature.ts b/frontend/src/hooks/api/getters/useFeature/useFeature.ts index 2337cc7aac5..4f374713b81 100644 --- a/frontend/src/hooks/api/getters/useFeature/useFeature.ts +++ b/frontend/src/hooks/api/getters/useFeature/useFeature.ts @@ -1,9 +1,9 @@ -import useSWR, { SWRConfiguration } from 'swr'; +import useSWR, { type SWRConfiguration } from 'swr'; import { useCallback } from 'react'; import { emptyFeature } from './emptyFeature'; import handleErrorResponses from '../httpErrorResponseHandler'; import { formatApiPath } from 'utils/formatPath'; -import { IFeatureToggle } from 'interfaces/featureToggle'; +import type { IFeatureToggle } from 'interfaces/featureToggle'; export interface IUseFeatureOutput { feature: IFeatureToggle; diff --git a/frontend/src/hooks/api/getters/useFeature/useFeatureImmutable.ts b/frontend/src/hooks/api/getters/useFeature/useFeatureImmutable.ts index a4d5fdf615a..e5f79930736 100644 --- a/frontend/src/hooks/api/getters/useFeature/useFeatureImmutable.ts +++ b/frontend/src/hooks/api/getters/useFeature/useFeatureImmutable.ts @@ -2,8 +2,8 @@ import useSWRImmutable from 'swr/immutable'; import { useCallback } from 'react'; import { emptyFeature } from './emptyFeature'; import { - IUseFeatureOutput, - IFeatureResponse, + type IUseFeatureOutput, + type IFeatureResponse, featureFetcher, formatFeatureApiPath, useFeature, diff --git a/frontend/src/hooks/api/getters/useFeatureMetrics/useFeatureMetrics.ts b/frontend/src/hooks/api/getters/useFeatureMetrics/useFeatureMetrics.ts index fe4a388a9e8..2feabab3eec 100644 --- a/frontend/src/hooks/api/getters/useFeatureMetrics/useFeatureMetrics.ts +++ b/frontend/src/hooks/api/getters/useFeatureMetrics/useFeatureMetrics.ts @@ -1,7 +1,7 @@ import { formatApiPath } from 'utils/formatPath'; import { useEffect, useState } from 'react'; -import useSWR, { mutate, SWRConfiguration } from 'swr'; -import { IFeatureMetrics } from 'interfaces/featureToggle'; +import useSWR, { mutate, type SWRConfiguration } from 'swr'; +import type { IFeatureMetrics } from 'interfaces/featureToggle'; import handleErrorResponses from '../httpErrorResponseHandler'; const emptyMetrics: IFeatureMetrics = { diff --git a/frontend/src/hooks/api/getters/useFeatureMetricsRaw/useFeatureMetricsRaw.ts b/frontend/src/hooks/api/getters/useFeatureMetricsRaw/useFeatureMetricsRaw.ts index dfaca5ca686..843d45095b1 100644 --- a/frontend/src/hooks/api/getters/useFeatureMetricsRaw/useFeatureMetricsRaw.ts +++ b/frontend/src/hooks/api/getters/useFeatureMetricsRaw/useFeatureMetricsRaw.ts @@ -2,7 +2,7 @@ import useSWR, { mutate } from 'swr'; import { useCallback } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { IFeatureMetricsRaw } from 'interfaces/featureToggle'; +import type { IFeatureMetricsRaw } from 'interfaces/featureToggle'; const PATH = formatApiPath('api/admin/client-metrics/features'); diff --git a/frontend/src/hooks/api/getters/useFeatureSearch/useFeatureSearch.test.tsx b/frontend/src/hooks/api/getters/useFeatureSearch/useFeatureSearch.test.tsx index 5b12dc0cb13..62a4bc0c7db 100644 --- a/frontend/src/hooks/api/getters/useFeatureSearch/useFeatureSearch.test.tsx +++ b/frontend/src/hooks/api/getters/useFeatureSearch/useFeatureSearch.test.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { render, screen } from '@testing-library/react'; import '@testing-library/jest-dom'; import { testServerRoute, testServerSetup } from 'utils/testServer'; diff --git a/frontend/src/hooks/api/getters/useFeatureSearch/useFeatureSearch.ts b/frontend/src/hooks/api/getters/useFeatureSearch/useFeatureSearch.ts index 2eb09cae9c8..eee25a33586 100644 --- a/frontend/src/hooks/api/getters/useFeatureSearch/useFeatureSearch.ts +++ b/frontend/src/hooks/api/getters/useFeatureSearch/useFeatureSearch.ts @@ -1,8 +1,8 @@ -import useSWR, { SWRConfiguration } from 'swr'; +import useSWR, { type SWRConfiguration } from 'swr'; import { useCallback, useEffect } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { SearchFeaturesParams, SearchFeaturesSchema } from 'openapi'; +import type { SearchFeaturesParams, SearchFeaturesSchema } from 'openapi'; import { useClearSWRCache } from 'hooks/useClearSWRCache'; type UseFeatureSearchOutput = { diff --git a/frontend/src/hooks/api/getters/useFeatureTags/useFeatureTags.ts b/frontend/src/hooks/api/getters/useFeatureTags/useFeatureTags.ts index d205810cbb1..e38d63ab9db 100644 --- a/frontend/src/hooks/api/getters/useFeatureTags/useFeatureTags.ts +++ b/frontend/src/hooks/api/getters/useFeatureTags/useFeatureTags.ts @@ -1,7 +1,7 @@ -import { mutate, SWRConfiguration } from 'swr'; +import { mutate, type SWRConfiguration } from 'swr'; import { useState, useEffect } from 'react'; import { formatApiPath } from 'utils/formatPath'; -import { ITag } from 'interfaces/tags'; +import type { ITag } from 'interfaces/tags'; import handleErrorResponses from '../httpErrorResponseHandler'; import { useConditionalSWR } from '../useConditionalSWR/useConditionalSWR'; diff --git a/frontend/src/hooks/api/getters/useFeatureTypes/useFeatureTypes.ts b/frontend/src/hooks/api/getters/useFeatureTypes/useFeatureTypes.ts index e22e3d414a3..d2ae8cc61d2 100644 --- a/frontend/src/hooks/api/getters/useFeatureTypes/useFeatureTypes.ts +++ b/frontend/src/hooks/api/getters/useFeatureTypes/useFeatureTypes.ts @@ -1,8 +1,8 @@ -import useSWR, { mutate, SWRConfiguration } from 'swr'; +import useSWR, { mutate, type SWRConfiguration } from 'swr'; import { useEffect, useState } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { FeatureTypeSchema } from '../../../../openapi'; +import type { FeatureTypeSchema } from '../../../../openapi'; const useFeatureTypes = (options: SWRConfiguration = {}) => { const fetcher = async () => { diff --git a/frontend/src/hooks/api/getters/useFeatures/useFeatures.ts b/frontend/src/hooks/api/getters/useFeatures/useFeatures.ts index b20efd51603..0d5e636f73f 100644 --- a/frontend/src/hooks/api/getters/useFeatures/useFeatures.ts +++ b/frontend/src/hooks/api/getters/useFeatures/useFeatures.ts @@ -1,4 +1,4 @@ -import { FeaturesSchema } from 'openapi'; +import type { FeaturesSchema } from 'openapi'; import useSWR from 'swr'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; diff --git a/frontend/src/hooks/api/getters/useFeaturesArchive/useFeaturesArchive.ts b/frontend/src/hooks/api/getters/useFeaturesArchive/useFeaturesArchive.ts index 4bc2ecd7fb2..e37141533c4 100644 --- a/frontend/src/hooks/api/getters/useFeaturesArchive/useFeaturesArchive.ts +++ b/frontend/src/hooks/api/getters/useFeaturesArchive/useFeaturesArchive.ts @@ -1,5 +1,5 @@ import useSWR from 'swr'; -import { FeatureSchema, FeaturesSchema } from 'openapi'; +import type { FeatureSchema, FeaturesSchema } from 'openapi'; import handleErrorResponses from '../httpErrorResponseHandler'; import { formatApiPath } from 'utils/formatPath'; diff --git a/frontend/src/hooks/api/getters/useFeedbackPosted/useFeedbackPosted.ts b/frontend/src/hooks/api/getters/useFeedbackPosted/useFeedbackPosted.ts index 1362fd67bef..70129b52236 100644 --- a/frontend/src/hooks/api/getters/useFeedbackPosted/useFeedbackPosted.ts +++ b/frontend/src/hooks/api/getters/useFeedbackPosted/useFeedbackPosted.ts @@ -1,8 +1,8 @@ -import useSWR, { mutate, SWRConfiguration } from 'swr'; +import useSWR, { mutate, type SWRConfiguration } from 'swr'; import { useState, useEffect } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { FeedbackListSchema } from '../../../../openapi'; +import type { FeedbackListSchema } from '../../../../openapi'; const KEY = `api/admin/feedback`; const path = formatApiPath(KEY); diff --git a/frontend/src/hooks/api/getters/useGroup/useGroup.ts b/frontend/src/hooks/api/getters/useGroup/useGroup.ts index a858a4e4e6b..be7e1938998 100644 --- a/frontend/src/hooks/api/getters/useGroup/useGroup.ts +++ b/frontend/src/hooks/api/getters/useGroup/useGroup.ts @@ -2,7 +2,7 @@ import useSWR from 'swr'; import { useMemo } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { IGroup } from 'interfaces/group'; +import type { IGroup } from 'interfaces/group'; export interface IUseGroupOutput { group?: IGroup; diff --git a/frontend/src/hooks/api/getters/useGroups/useGroups.ts b/frontend/src/hooks/api/getters/useGroups/useGroups.ts index be887632e02..2ebe61372b7 100644 --- a/frontend/src/hooks/api/getters/useGroups/useGroups.ts +++ b/frontend/src/hooks/api/getters/useGroups/useGroups.ts @@ -2,7 +2,7 @@ import useSWR from 'swr'; import { useMemo } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { IGroup } from 'interfaces/group'; +import type { IGroup } from 'interfaces/group'; import { mapGroupUsers } from 'hooks/api/getters/useGroup/useGroup'; export interface IUseGroupsOutput { diff --git a/frontend/src/hooks/api/getters/useHealthReport/useHealthReport.ts b/frontend/src/hooks/api/getters/useHealthReport/useHealthReport.ts index cd2d474a6f6..5c0722513cc 100644 --- a/frontend/src/hooks/api/getters/useHealthReport/useHealthReport.ts +++ b/frontend/src/hooks/api/getters/useHealthReport/useHealthReport.ts @@ -1,6 +1,6 @@ -import useSWR, { mutate, SWRConfiguration } from 'swr'; +import useSWR, { mutate, type SWRConfiguration } from 'swr'; import { useCallback } from 'react'; -import { IProjectHealthReport } from 'interfaces/project'; +import type { IProjectHealthReport } from 'interfaces/project'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; diff --git a/frontend/src/hooks/api/getters/useInstanceMetrics/useInstanceMetrics.ts b/frontend/src/hooks/api/getters/useInstanceMetrics/useInstanceMetrics.ts index 033df263f5e..31890661f89 100644 --- a/frontend/src/hooks/api/getters/useInstanceMetrics/useInstanceMetrics.ts +++ b/frontend/src/hooks/api/getters/useInstanceMetrics/useInstanceMetrics.ts @@ -1,8 +1,8 @@ -import useSWR, { SWRConfiguration } from 'swr'; +import useSWR, { type SWRConfiguration } from 'swr'; import { useMemo } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { RequestsPerSecondSchema } from 'openapi'; +import type { RequestsPerSecondSchema } from 'openapi'; export interface IInstanceMetricsResponse { metrics: RequestsPerSecondSchema; diff --git a/frontend/src/hooks/api/getters/useInstanceStats/useInstanceStats.ts b/frontend/src/hooks/api/getters/useInstanceStats/useInstanceStats.ts index 3e215f8d781..d3bffa02b3d 100644 --- a/frontend/src/hooks/api/getters/useInstanceStats/useInstanceStats.ts +++ b/frontend/src/hooks/api/getters/useInstanceStats/useInstanceStats.ts @@ -2,7 +2,7 @@ import useSWR from 'swr'; import { useMemo } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { InstanceAdminStatsSchema } from 'openapi'; +import type { InstanceAdminStatsSchema } from 'openapi'; export interface IInstanceStatsResponse { stats?: InstanceAdminStatsSchema; diff --git a/frontend/src/hooks/api/getters/useInstanceStatus/useInstanceStatus.ts b/frontend/src/hooks/api/getters/useInstanceStatus/useInstanceStatus.ts index 83b330f35af..c7bd17e09e8 100644 --- a/frontend/src/hooks/api/getters/useInstanceStatus/useInstanceStatus.ts +++ b/frontend/src/hooks/api/getters/useInstanceStatus/useInstanceStatus.ts @@ -1,4 +1,4 @@ -import { IInstanceStatus, InstancePlan } from 'interfaces/instance'; +import { type IInstanceStatus, InstancePlan } from 'interfaces/instance'; import { useApiGetter } from 'hooks/api/getters/useApiGetter/useApiGetter'; import { formatApiPath } from 'utils/formatPath'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; diff --git a/frontend/src/hooks/api/getters/useInviteTokens/useInviteTokens.ts b/frontend/src/hooks/api/getters/useInviteTokens/useInviteTokens.ts index fb7d35dad51..002b0807ef6 100644 --- a/frontend/src/hooks/api/getters/useInviteTokens/useInviteTokens.ts +++ b/frontend/src/hooks/api/getters/useInviteTokens/useInviteTokens.ts @@ -1,7 +1,7 @@ import { useEffect, useState } from 'react'; -import useSWR, { SWRConfiguration } from 'swr'; +import useSWR, { type SWRConfiguration } from 'swr'; import { formatApiPath } from 'utils/formatPath'; -import { IPublicSignupTokens } from 'interfaces/publicSignupTokens'; +import type { IPublicSignupTokens } from 'interfaces/publicSignupTokens'; export const url = 'api/admin/invite-link/tokens'; diff --git a/frontend/src/hooks/api/getters/useInvoices/useInvoices.ts b/frontend/src/hooks/api/getters/useInvoices/useInvoices.ts index 5a91ab62740..a4a5132a719 100644 --- a/frontend/src/hooks/api/getters/useInvoices/useInvoices.ts +++ b/frontend/src/hooks/api/getters/useInvoices/useInvoices.ts @@ -1,4 +1,4 @@ -import useSWR, { mutate, SWRConfiguration } from 'swr'; +import useSWR, { mutate, type SWRConfiguration } from 'swr'; import { useState, useEffect } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; diff --git a/frontend/src/hooks/api/getters/useLoginHistory/useLoginHistory.ts b/frontend/src/hooks/api/getters/useLoginHistory/useLoginHistory.ts index 6df0831cd67..018fd5c60ff 100644 --- a/frontend/src/hooks/api/getters/useLoginHistory/useLoginHistory.ts +++ b/frontend/src/hooks/api/getters/useLoginHistory/useLoginHistory.ts @@ -1,4 +1,4 @@ -import { ILoginEvent } from 'interfaces/loginEvent'; +import type { ILoginEvent } from 'interfaces/loginEvent'; import { useMemo } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; diff --git a/frontend/src/hooks/api/getters/useMaintenance/useMaintenance.ts b/frontend/src/hooks/api/getters/useMaintenance/useMaintenance.ts index 90233860f29..9dbfc64fcf1 100644 --- a/frontend/src/hooks/api/getters/useMaintenance/useMaintenance.ts +++ b/frontend/src/hooks/api/getters/useMaintenance/useMaintenance.ts @@ -2,7 +2,7 @@ import useSWR from 'swr'; import { useMemo } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { IMaintenancePayload } from 'hooks/api/actions/useMaintenanceApi/useMaintenanceApi'; +import type { IMaintenancePayload } from 'hooks/api/actions/useMaintenanceApi/useMaintenanceApi'; export interface IUseMaintenance extends IMaintenancePayload { enabled: boolean; diff --git a/frontend/src/hooks/api/getters/useNotifications/useNotifications.ts b/frontend/src/hooks/api/getters/useNotifications/useNotifications.ts index cc512ec7210..edcbde6b5a6 100644 --- a/frontend/src/hooks/api/getters/useNotifications/useNotifications.ts +++ b/frontend/src/hooks/api/getters/useNotifications/useNotifications.ts @@ -1,8 +1,8 @@ -import useSWR, { SWRConfiguration } from 'swr'; +import useSWR, { type SWRConfiguration } from 'swr'; import { useCallback } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { NotificationsSchema } from 'openapi'; +import type { NotificationsSchema } from 'openapi'; export const useNotifications = (options: SWRConfiguration = {}) => { const path = formatApiPath(`api/admin/notifications`); diff --git a/frontend/src/hooks/api/getters/useOutdatedSdks/useOutdatedSdks.ts b/frontend/src/hooks/api/getters/useOutdatedSdks/useOutdatedSdks.ts index 91fbda67f16..10d6e3e8805 100644 --- a/frontend/src/hooks/api/getters/useOutdatedSdks/useOutdatedSdks.ts +++ b/frontend/src/hooks/api/getters/useOutdatedSdks/useOutdatedSdks.ts @@ -1,5 +1,5 @@ import { fetcher, useApiGetter } from '../useApiGetter/useApiGetter'; -import { OutdatedSdksSchema } from '../../../../openapi'; +import type { OutdatedSdksSchema } from '../../../../openapi'; import { formatApiPath } from 'utils/formatPath'; const PATH = 'api/admin/metrics/sdks/outdated'; diff --git a/frontend/src/hooks/api/getters/usePaginatedData/usePaginatedData.test.tsx b/frontend/src/hooks/api/getters/usePaginatedData/usePaginatedData.test.tsx index 01d4a555f8d..78704e31c6d 100644 --- a/frontend/src/hooks/api/getters/usePaginatedData/usePaginatedData.test.tsx +++ b/frontend/src/hooks/api/getters/usePaginatedData/usePaginatedData.test.tsx @@ -2,7 +2,7 @@ import { testServerRoute, testServerSetup } from 'utils/testServer'; import { render } from 'utils/testRenderer'; import { screen } from '@testing-library/react'; import { createPaginatedHook } from './usePaginatedData'; -import { FC } from 'react'; +import type { FC } from 'react'; import { http, HttpResponse } from 'msw'; const server = testServerSetup(); diff --git a/frontend/src/hooks/api/getters/usePaginatedData/usePaginatedData.ts b/frontend/src/hooks/api/getters/usePaginatedData/usePaginatedData.ts index 1d48e01e5ef..bfe51debb92 100644 --- a/frontend/src/hooks/api/getters/usePaginatedData/usePaginatedData.ts +++ b/frontend/src/hooks/api/getters/usePaginatedData/usePaginatedData.ts @@ -1,4 +1,4 @@ -import useSWR, { SWRConfiguration } from 'swr'; +import useSWR, { type SWRConfiguration } from 'swr'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; import { useClearSWRCache } from '../../../useClearSWRCache'; diff --git a/frontend/src/hooks/api/getters/useParentOptions/useParentOptions.ts b/frontend/src/hooks/api/getters/useParentOptions/useParentOptions.ts index 056a9346c1b..4dfca6b91a5 100644 --- a/frontend/src/hooks/api/getters/useParentOptions/useParentOptions.ts +++ b/frontend/src/hooks/api/getters/useParentOptions/useParentOptions.ts @@ -1,4 +1,4 @@ -import useSWR, { SWRConfiguration } from 'swr'; +import useSWR, { type SWRConfiguration } from 'swr'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; diff --git a/frontend/src/hooks/api/getters/usePendingChangeRequests/usePendingChangeRequests.ts b/frontend/src/hooks/api/getters/usePendingChangeRequests/usePendingChangeRequests.ts index 15cb9bfc817..14395c31559 100644 --- a/frontend/src/hooks/api/getters/usePendingChangeRequests/usePendingChangeRequests.ts +++ b/frontend/src/hooks/api/getters/usePendingChangeRequests/usePendingChangeRequests.ts @@ -1,6 +1,6 @@ import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { ChangeRequestType } from 'component/changeRequest/changeRequest.types'; +import type { ChangeRequestType } from 'component/changeRequest/changeRequest.types'; import { useEnterpriseSWR } from '../useEnterpriseSWR/useEnterpriseSWR'; const fetcher = (path: string) => { diff --git a/frontend/src/hooks/api/getters/usePendingChangeRequestsForFeature/usePendingChangeRequestsForFeature.ts b/frontend/src/hooks/api/getters/usePendingChangeRequestsForFeature/usePendingChangeRequestsForFeature.ts index a666d66766d..351d1dbbdb7 100644 --- a/frontend/src/hooks/api/getters/usePendingChangeRequestsForFeature/usePendingChangeRequestsForFeature.ts +++ b/frontend/src/hooks/api/getters/usePendingChangeRequestsForFeature/usePendingChangeRequestsForFeature.ts @@ -1,6 +1,6 @@ import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { ChangeRequestType } from 'component/changeRequest/changeRequest.types'; +import type { ChangeRequestType } from 'component/changeRequest/changeRequest.types'; import { useEnterpriseSWR } from '../useEnterpriseSWR/useEnterpriseSWR'; const fetcher = (path: string) => { diff --git a/frontend/src/hooks/api/getters/usePermissions/usePermissions.ts b/frontend/src/hooks/api/getters/usePermissions/usePermissions.ts index 36a27c90d6e..ce90590a206 100644 --- a/frontend/src/hooks/api/getters/usePermissions/usePermissions.ts +++ b/frontend/src/hooks/api/getters/usePermissions/usePermissions.ts @@ -1,8 +1,8 @@ -import useSWR, { mutate, SWRConfiguration } from 'swr'; +import useSWR, { mutate, type SWRConfiguration } from 'swr'; import { useState, useEffect } from 'react'; import { formatApiPath } from 'utils/formatPath'; -import { IPermissions } from 'interfaces/permissions'; +import type { IPermissions } from 'interfaces/permissions'; import handleErrorResponses from '../httpErrorResponseHandler'; interface IUsePermissions { diff --git a/frontend/src/hooks/api/getters/usePersonalAPITokens/usePersonalAPITokens.ts b/frontend/src/hooks/api/getters/usePersonalAPITokens/usePersonalAPITokens.ts index fc7aa7719b1..a51cc4a534d 100644 --- a/frontend/src/hooks/api/getters/usePersonalAPITokens/usePersonalAPITokens.ts +++ b/frontend/src/hooks/api/getters/usePersonalAPITokens/usePersonalAPITokens.ts @@ -1,8 +1,8 @@ import useSWR from 'swr'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { PatsSchema } from 'openapi'; -import { IPersonalAPIToken } from 'interfaces/personalAPIToken'; +import type { PatsSchema } from 'openapi'; +import type { IPersonalAPIToken } from 'interfaces/personalAPIToken'; export interface IUsePersonalAPITokensOutput { tokens?: IPersonalAPIToken[]; diff --git a/frontend/src/hooks/api/getters/useProfile/useProfile.ts b/frontend/src/hooks/api/getters/useProfile/useProfile.ts index eea339c35d0..e236fb4f1bc 100644 --- a/frontend/src/hooks/api/getters/useProfile/useProfile.ts +++ b/frontend/src/hooks/api/getters/useProfile/useProfile.ts @@ -1,7 +1,7 @@ import useSWR from 'swr'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { IProfile } from 'interfaces/profile'; +import type { IProfile } from 'interfaces/profile'; export interface IUseProfileOutput { profile?: IProfile; diff --git a/frontend/src/hooks/api/getters/useProject/useProject.ts b/frontend/src/hooks/api/getters/useProject/useProject.ts index 288e95e9ea3..9abec362352 100644 --- a/frontend/src/hooks/api/getters/useProject/useProject.ts +++ b/frontend/src/hooks/api/getters/useProject/useProject.ts @@ -1,7 +1,7 @@ -import useSWR, { SWRConfiguration } from 'swr'; +import useSWR, { type SWRConfiguration } from 'swr'; import { useCallback } from 'react'; import { getProjectFetcher } from './getProjectFetcher'; -import { IProject } from 'interfaces/project'; +import type { IProject } from 'interfaces/project'; const fallbackProject: IProject = { features: [], diff --git a/frontend/src/hooks/api/getters/useProjectAccess/useProjectAccess.ts b/frontend/src/hooks/api/getters/useProjectAccess/useProjectAccess.ts index 1b19c4af95f..e3fb2ad88fb 100644 --- a/frontend/src/hooks/api/getters/useProjectAccess/useProjectAccess.ts +++ b/frontend/src/hooks/api/getters/useProjectAccess/useProjectAccess.ts @@ -1,12 +1,12 @@ -import useSWR, { mutate, SWRConfiguration } from 'swr'; +import useSWR, { mutate, type SWRConfiguration } from 'swr'; import { useState, useEffect, useMemo } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { IRole } from 'interfaces/role'; -import { IGroup } from 'interfaces/group'; -import { IUser } from 'interfaces/user'; +import type { IRole } from 'interfaces/role'; +import type { IGroup } from 'interfaces/group'; +import type { IUser } from 'interfaces/user'; import { mapGroupUsers } from '../useGroup/useGroup'; -import { IServiceAccount } from 'interfaces/service-account'; +import type { IServiceAccount } from 'interfaces/service-account'; export enum ENTITY_TYPE { USER = 'USERS', diff --git a/frontend/src/hooks/api/getters/useProjectApiTokens/useProjectApiTokens.ts b/frontend/src/hooks/api/getters/useProjectApiTokens/useProjectApiTokens.ts index fb9890eb0e8..455f1eb8d36 100644 --- a/frontend/src/hooks/api/getters/useProjectApiTokens/useProjectApiTokens.ts +++ b/frontend/src/hooks/api/getters/useProjectApiTokens/useProjectApiTokens.ts @@ -1,8 +1,8 @@ -import useSWR, { SWRConfiguration } from 'swr'; +import useSWR, { type SWRConfiguration } from 'swr'; import { useCallback, useMemo } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { IApiToken } from '../useApiTokens/useApiTokens'; +import type { IApiToken } from '../useApiTokens/useApiTokens'; export const useProjectApiTokens = ( project: string, diff --git a/frontend/src/hooks/api/getters/useProjectApplications/useProjectApplications.ts b/frontend/src/hooks/api/getters/useProjectApplications/useProjectApplications.ts index 8432595e902..77bf3c4236a 100644 --- a/frontend/src/hooks/api/getters/useProjectApplications/useProjectApplications.ts +++ b/frontend/src/hooks/api/getters/useProjectApplications/useProjectApplications.ts @@ -1,4 +1,4 @@ -import { ProjectApplicationsSchema } from 'openapi'; +import type { ProjectApplicationsSchema } from 'openapi'; import { createPaginatedHook } from '../usePaginatedData/usePaginatedData'; export const DEFAULT_PAGE_LIMIT = 25; diff --git a/frontend/src/hooks/api/getters/useProjectDoraMetrics/useProjectDoraMetrics.ts b/frontend/src/hooks/api/getters/useProjectDoraMetrics/useProjectDoraMetrics.ts index f7bf8f341bd..40147d7514d 100644 --- a/frontend/src/hooks/api/getters/useProjectDoraMetrics/useProjectDoraMetrics.ts +++ b/frontend/src/hooks/api/getters/useProjectDoraMetrics/useProjectDoraMetrics.ts @@ -1,8 +1,8 @@ -import useSWR, { mutate, SWRConfiguration } from 'swr'; +import useSWR, { mutate, type SWRConfiguration } from 'swr'; import { useState, useEffect } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { ProjectDoraMetricsSchema } from 'openapi'; +import type { ProjectDoraMetricsSchema } from 'openapi'; interface IUseProjectDoraMetricsOutput { dora: ProjectDoraMetricsSchema; diff --git a/frontend/src/hooks/api/getters/useProjectEnvironments/useProjectEnvironments.ts b/frontend/src/hooks/api/getters/useProjectEnvironments/useProjectEnvironments.ts index 3c8db8509f6..016ce05a3fa 100644 --- a/frontend/src/hooks/api/getters/useProjectEnvironments/useProjectEnvironments.ts +++ b/frontend/src/hooks/api/getters/useProjectEnvironments/useProjectEnvironments.ts @@ -1,6 +1,6 @@ import useSWR from 'swr'; import { useMemo, useCallback } from 'react'; -import { +import type { IEnvironmentResponse, IProjectEnvironment, } from 'interfaces/environments'; diff --git a/frontend/src/hooks/api/getters/useProjectOverview/useProjectOverview.ts b/frontend/src/hooks/api/getters/useProjectOverview/useProjectOverview.ts index ad76d42f4b2..502857e2591 100644 --- a/frontend/src/hooks/api/getters/useProjectOverview/useProjectOverview.ts +++ b/frontend/src/hooks/api/getters/useProjectOverview/useProjectOverview.ts @@ -1,7 +1,7 @@ -import useSWR, { SWRConfiguration } from 'swr'; +import useSWR, { type SWRConfiguration } from 'swr'; import { useCallback } from 'react'; import { getProjectOverviewFetcher } from './getProjectOverviewFetcher'; -import { IProjectOverview } from 'interfaces/project'; +import type { IProjectOverview } from 'interfaces/project'; const fallbackProject: IProjectOverview = { featureTypeCounts: [], diff --git a/frontend/src/hooks/api/getters/useProjectRoleAccessUsage/useProjectRoleAccessUsage.ts b/frontend/src/hooks/api/getters/useProjectRoleAccessUsage/useProjectRoleAccessUsage.ts index abc66867bb1..99ad026ffbf 100644 --- a/frontend/src/hooks/api/getters/useProjectRoleAccessUsage/useProjectRoleAccessUsage.ts +++ b/frontend/src/hooks/api/getters/useProjectRoleAccessUsage/useProjectRoleAccessUsage.ts @@ -3,7 +3,7 @@ import { useMemo } from 'react'; import handleErrorResponses from '../httpErrorResponseHandler'; import { useConditionalSWR } from '../useConditionalSWR/useConditionalSWR'; import useUiConfig from '../useUiConfig/useUiConfig'; -import { IProjectRoleUsageCount } from 'interfaces/project'; +import type { IProjectRoleUsageCount } from 'interfaces/project'; export const useProjectRoleAccessUsage = (roleId?: number) => { const { isEnterprise } = useUiConfig(); diff --git a/frontend/src/hooks/api/getters/useProjects/useProjects.ts b/frontend/src/hooks/api/getters/useProjects/useProjects.ts index 2433f81b992..3553f93f702 100644 --- a/frontend/src/hooks/api/getters/useProjects/useProjects.ts +++ b/frontend/src/hooks/api/getters/useProjects/useProjects.ts @@ -1,8 +1,8 @@ -import useSWR, { mutate, SWRConfiguration } from 'swr'; +import useSWR, { mutate, type SWRConfiguration } from 'swr'; import { useState, useEffect } from 'react'; import { formatApiPath } from 'utils/formatPath'; -import { IProjectCard } from 'interfaces/project'; +import type { IProjectCard } from 'interfaces/project'; import handleErrorResponses from '../httpErrorResponseHandler'; const useProjects = (options: SWRConfiguration = {}) => { diff --git a/frontend/src/hooks/api/getters/useResetPassword/useResetPassword.ts b/frontend/src/hooks/api/getters/useResetPassword/useResetPassword.ts index 3ab3740ac6f..e4f9d526143 100644 --- a/frontend/src/hooks/api/getters/useResetPassword/useResetPassword.ts +++ b/frontend/src/hooks/api/getters/useResetPassword/useResetPassword.ts @@ -1,4 +1,4 @@ -import useSWR, { SWRConfiguration } from 'swr'; +import useSWR, { type SWRConfiguration } from 'swr'; import useQueryParams from 'hooks/useQueryParams'; import { useState, useEffect } from 'react'; import { formatApiPath } from 'utils/formatPath'; diff --git a/frontend/src/hooks/api/getters/useRole/useRole.ts b/frontend/src/hooks/api/getters/useRole/useRole.ts index 00186184833..45da4f2dbea 100644 --- a/frontend/src/hooks/api/getters/useRole/useRole.ts +++ b/frontend/src/hooks/api/getters/useRole/useRole.ts @@ -1,8 +1,8 @@ -import { SWRConfiguration } from 'swr'; +import type { SWRConfiguration } from 'swr'; import { useMemo } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { IRoleWithPermissions } from 'interfaces/role'; +import type { IRoleWithPermissions } from 'interfaces/role'; import useUiConfig from '../useUiConfig/useUiConfig'; import { useConditionalSWR } from '../useConditionalSWR/useConditionalSWR'; diff --git a/frontend/src/hooks/api/getters/useRoles/useRoles.ts b/frontend/src/hooks/api/getters/useRoles/useRoles.ts index 70898c387b6..4649d12aa2a 100644 --- a/frontend/src/hooks/api/getters/useRoles/useRoles.ts +++ b/frontend/src/hooks/api/getters/useRoles/useRoles.ts @@ -1,4 +1,4 @@ -import { IRole } from 'interfaces/role'; +import type { IRole } from 'interfaces/role'; import { useMemo } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; diff --git a/frontend/src/hooks/api/getters/useScheduledChangeRequestsWithFlags/useScheduledChangeRequestsWithFlags.ts b/frontend/src/hooks/api/getters/useScheduledChangeRequestsWithFlags/useScheduledChangeRequestsWithFlags.ts index d5b96cc9c87..19401062883 100644 --- a/frontend/src/hooks/api/getters/useScheduledChangeRequestsWithFlags/useScheduledChangeRequestsWithFlags.ts +++ b/frontend/src/hooks/api/getters/useScheduledChangeRequestsWithFlags/useScheduledChangeRequestsWithFlags.ts @@ -1,7 +1,7 @@ import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; import { useEnterpriseSWR } from '../useEnterpriseSWR/useEnterpriseSWR'; -import { ScheduledChangeRequestViewModel } from '../useScheduledChangeRequestsWithStrategy/useScheduledChangeRequestsWithStrategy'; +import type { ScheduledChangeRequestViewModel } from '../useScheduledChangeRequestsWithStrategy/useScheduledChangeRequestsWithStrategy'; const fetcher = (path: string) => { return fetch(path) diff --git a/frontend/src/hooks/api/getters/useScheduledChangeRequestsWithVariants/useScheduledChangeRequestsWithVariant.ts b/frontend/src/hooks/api/getters/useScheduledChangeRequestsWithVariants/useScheduledChangeRequestsWithVariant.ts index 619e36571f5..7a8ed4327e0 100644 --- a/frontend/src/hooks/api/getters/useScheduledChangeRequestsWithVariants/useScheduledChangeRequestsWithVariant.ts +++ b/frontend/src/hooks/api/getters/useScheduledChangeRequestsWithVariants/useScheduledChangeRequestsWithVariant.ts @@ -1,7 +1,7 @@ import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; import { useEnterpriseSWR } from '../useEnterpriseSWR/useEnterpriseSWR'; -import { ScheduledChangeRequestViewModel } from '../useScheduledChangeRequestsWithStrategy/useScheduledChangeRequestsWithStrategy'; +import type { ScheduledChangeRequestViewModel } from '../useScheduledChangeRequestsWithStrategy/useScheduledChangeRequestsWithStrategy'; const fetcher = (path: string) => { return fetch(path) diff --git a/frontend/src/hooks/api/getters/useSegment/useSegment.ts b/frontend/src/hooks/api/getters/useSegment/useSegment.ts index 0728b6026c3..d9a49ff440c 100644 --- a/frontend/src/hooks/api/getters/useSegment/useSegment.ts +++ b/frontend/src/hooks/api/getters/useSegment/useSegment.ts @@ -2,7 +2,7 @@ import useSWR, { mutate } from 'swr'; import { useCallback } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { ISegment } from 'interfaces/segment'; +import type { ISegment } from 'interfaces/segment'; export interface IUseSegmentOutput { segment?: ISegment; diff --git a/frontend/src/hooks/api/getters/useSegmentLimits/useSegmentLimits.ts b/frontend/src/hooks/api/getters/useSegmentLimits/useSegmentLimits.ts index dd07e6fb559..2ea8e589eed 100644 --- a/frontend/src/hooks/api/getters/useSegmentLimits/useSegmentLimits.ts +++ b/frontend/src/hooks/api/getters/useSegmentLimits/useSegmentLimits.ts @@ -1,5 +1,5 @@ import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; -import { IUiConfig } from 'interfaces/uiConfig'; +import type { IUiConfig } from 'interfaces/uiConfig'; type IUseSegmentLimits = Pick< IUiConfig, diff --git a/frontend/src/hooks/api/getters/useSegments/useSegments.ts b/frontend/src/hooks/api/getters/useSegments/useSegments.ts index c5e79e357b1..46ef8b8d281 100644 --- a/frontend/src/hooks/api/getters/useSegments/useSegments.ts +++ b/frontend/src/hooks/api/getters/useSegments/useSegments.ts @@ -2,7 +2,7 @@ import { useCallback } from 'react'; import useSWR from 'swr'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { ISegment } from 'interfaces/segment'; +import type { ISegment } from 'interfaces/segment'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; export interface IUseSegmentsOutput { diff --git a/frontend/src/hooks/api/getters/useServiceAccountAccessMatrix/useServiceAccountAccessMatrix.ts b/frontend/src/hooks/api/getters/useServiceAccountAccessMatrix/useServiceAccountAccessMatrix.ts index 5b8d79d6eb4..af04bb8dc1f 100644 --- a/frontend/src/hooks/api/getters/useServiceAccountAccessMatrix/useServiceAccountAccessMatrix.ts +++ b/frontend/src/hooks/api/getters/useServiceAccountAccessMatrix/useServiceAccountAccessMatrix.ts @@ -1,10 +1,10 @@ import { useMemo } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { IRole } from 'interfaces/role'; -import { IServiceAccount } from 'interfaces/service-account'; -import { IMatrixPermission } from 'interfaces/permissions'; -import { IPermission } from 'interfaces/user'; +import type { IRole } from 'interfaces/role'; +import type { IServiceAccount } from 'interfaces/service-account'; +import type { IMatrixPermission } from 'interfaces/permissions'; +import type { IPermission } from 'interfaces/user'; import { useConditionalSWR } from '../useConditionalSWR/useConditionalSWR'; interface IServiceAccountAccessMatrix { diff --git a/frontend/src/hooks/api/getters/useServiceAccountTokens/useServiceAccountTokens.ts b/frontend/src/hooks/api/getters/useServiceAccountTokens/useServiceAccountTokens.ts index d7d0f08a1fc..59c414d8013 100644 --- a/frontend/src/hooks/api/getters/useServiceAccountTokens/useServiceAccountTokens.ts +++ b/frontend/src/hooks/api/getters/useServiceAccountTokens/useServiceAccountTokens.ts @@ -1,5 +1,5 @@ -import { IPersonalAPIToken } from 'interfaces/personalAPIToken'; -import { PatsSchema } from 'openapi'; +import type { IPersonalAPIToken } from 'interfaces/personalAPIToken'; +import type { PatsSchema } from 'openapi'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; import { useConditionalSWR } from '../useConditionalSWR/useConditionalSWR'; diff --git a/frontend/src/hooks/api/getters/useServiceAccounts/useServiceAccounts.ts b/frontend/src/hooks/api/getters/useServiceAccounts/useServiceAccounts.ts index 88013a7bea4..68d1e51e736 100644 --- a/frontend/src/hooks/api/getters/useServiceAccounts/useServiceAccounts.ts +++ b/frontend/src/hooks/api/getters/useServiceAccounts/useServiceAccounts.ts @@ -1,5 +1,5 @@ -import { IRole } from 'interfaces/role'; -import { IServiceAccount } from 'interfaces/service-account'; +import type { IRole } from 'interfaces/role'; +import type { IServiceAccount } from 'interfaces/service-account'; import { useMemo } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; diff --git a/frontend/src/hooks/api/getters/useSignalEndpointSignals/useSignalEndpointSignals.ts b/frontend/src/hooks/api/getters/useSignalEndpointSignals/useSignalEndpointSignals.ts index 63016cc0ab8..ea39c96ee07 100644 --- a/frontend/src/hooks/api/getters/useSignalEndpointSignals/useSignalEndpointSignals.ts +++ b/frontend/src/hooks/api/getters/useSignalEndpointSignals/useSignalEndpointSignals.ts @@ -1,11 +1,11 @@ import useSWRInfinite, { - SWRInfiniteConfiguration, - SWRInfiniteKeyLoader, + type SWRInfiniteConfiguration, + type SWRInfiniteKeyLoader, } from 'swr/infinite'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; import useUiConfig from '../useUiConfig/useUiConfig'; -import { ISignalEndpointSignal } from 'interfaces/signal'; +import type { ISignalEndpointSignal } from 'interfaces/signal'; import { useUiFlag } from 'hooks/useUiFlag'; const ENDPOINT = 'api/admin/signal-endpoints'; diff --git a/frontend/src/hooks/api/getters/useSignalEndpointTokens/useSignalEndpointTokens.ts b/frontend/src/hooks/api/getters/useSignalEndpointTokens/useSignalEndpointTokens.ts index 48a99fd8dd2..f6c97bce4d8 100644 --- a/frontend/src/hooks/api/getters/useSignalEndpointTokens/useSignalEndpointTokens.ts +++ b/frontend/src/hooks/api/getters/useSignalEndpointTokens/useSignalEndpointTokens.ts @@ -3,7 +3,7 @@ import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; import { useConditionalSWR } from '../useConditionalSWR/useConditionalSWR'; import useUiConfig from '../useUiConfig/useUiConfig'; -import { ISignalEndpointToken } from 'interfaces/signal'; +import type { ISignalEndpointToken } from 'interfaces/signal'; import { useUiFlag } from 'hooks/useUiFlag'; const ENDPOINT = 'api/admin/signal-endpoints'; diff --git a/frontend/src/hooks/api/getters/useSignalEndpoints/useSignalEndpoints.ts b/frontend/src/hooks/api/getters/useSignalEndpoints/useSignalEndpoints.ts index e55cb435e87..dac7c82e3f7 100644 --- a/frontend/src/hooks/api/getters/useSignalEndpoints/useSignalEndpoints.ts +++ b/frontend/src/hooks/api/getters/useSignalEndpoints/useSignalEndpoints.ts @@ -3,7 +3,7 @@ import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; import { useConditionalSWR } from '../useConditionalSWR/useConditionalSWR'; import useUiConfig from '../useUiConfig/useUiConfig'; -import { ISignalEndpoint } from 'interfaces/signal'; +import type { ISignalEndpoint } from 'interfaces/signal'; import { useUiFlag } from 'hooks/useUiFlag'; const ENDPOINT = 'api/admin/signal-endpoints'; diff --git a/frontend/src/hooks/api/getters/useStrategies/useStrategies.ts b/frontend/src/hooks/api/getters/useStrategies/useStrategies.ts index 6fe4a4e988d..632da247557 100644 --- a/frontend/src/hooks/api/getters/useStrategies/useStrategies.ts +++ b/frontend/src/hooks/api/getters/useStrategies/useStrategies.ts @@ -1,7 +1,7 @@ import useSWR, { mutate } from 'swr'; import { useCallback } from 'react'; import { formatApiPath } from 'utils/formatPath'; -import { IStrategy } from 'interfaces/strategy'; +import type { IStrategy } from 'interfaces/strategy'; import handleErrorResponses from '../httpErrorResponseHandler'; interface IUseStrategiesOutput { diff --git a/frontend/src/hooks/api/getters/useStrategiesByContext/useStrategiesByContext.ts b/frontend/src/hooks/api/getters/useStrategiesByContext/useStrategiesByContext.ts index bade29f64eb..a38a16dade7 100644 --- a/frontend/src/hooks/api/getters/useStrategiesByContext/useStrategiesByContext.ts +++ b/frontend/src/hooks/api/getters/useStrategiesByContext/useStrategiesByContext.ts @@ -2,7 +2,7 @@ import { mutate } from 'swr'; import { useCallback } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { IFeatureStrategy } from 'interfaces/strategy'; +import type { IFeatureStrategy } from 'interfaces/strategy'; import { useConditionalSWR } from '../useConditionalSWR/useConditionalSWR'; export interface IUseStrategiesByContextOutput { diff --git a/frontend/src/hooks/api/getters/useStrategiesBySegment/useStrategiesBySegment.ts b/frontend/src/hooks/api/getters/useStrategiesBySegment/useStrategiesBySegment.ts index bfb9fa92aa8..dc08077af98 100644 --- a/frontend/src/hooks/api/getters/useStrategiesBySegment/useStrategiesBySegment.ts +++ b/frontend/src/hooks/api/getters/useStrategiesBySegment/useStrategiesBySegment.ts @@ -2,7 +2,7 @@ import { mutate } from 'swr'; import { useCallback } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { IFeatureStrategy } from 'interfaces/strategy'; +import type { IFeatureStrategy } from 'interfaces/strategy'; import { useConditionalSWR } from '../useConditionalSWR/useConditionalSWR'; export type ChangeRequestInfo = { id: number; title: string | null }; diff --git a/frontend/src/hooks/api/getters/useStrategy/useStrategy.ts b/frontend/src/hooks/api/getters/useStrategy/useStrategy.ts index f1e52fe5fe7..b6f2b7fb956 100644 --- a/frontend/src/hooks/api/getters/useStrategy/useStrategy.ts +++ b/frontend/src/hooks/api/getters/useStrategy/useStrategy.ts @@ -1,7 +1,7 @@ import useSWR from 'swr'; import { useCallback } from 'react'; import { formatApiPath } from 'utils/formatPath'; -import { IStrategy } from 'interfaces/strategy'; +import type { IStrategy } from 'interfaces/strategy'; import handleErrorResponses from '../httpErrorResponseHandler'; interface IUseStrategyOutput { diff --git a/frontend/src/hooks/api/getters/useTagType/useTagType.ts b/frontend/src/hooks/api/getters/useTagType/useTagType.ts index 903338910e8..d60d9855153 100644 --- a/frontend/src/hooks/api/getters/useTagType/useTagType.ts +++ b/frontend/src/hooks/api/getters/useTagType/useTagType.ts @@ -1,4 +1,4 @@ -import useSWR, { mutate, SWRConfiguration } from 'swr'; +import useSWR, { mutate, type SWRConfiguration } from 'swr'; import { useState, useEffect } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; diff --git a/frontend/src/hooks/api/getters/useTagTypes/useTagTypes.ts b/frontend/src/hooks/api/getters/useTagTypes/useTagTypes.ts index bbc1586dfe8..8c6ad876391 100644 --- a/frontend/src/hooks/api/getters/useTagTypes/useTagTypes.ts +++ b/frontend/src/hooks/api/getters/useTagTypes/useTagTypes.ts @@ -1,7 +1,7 @@ -import useSWR, { mutate, SWRConfiguration } from 'swr'; +import useSWR, { mutate, type SWRConfiguration } from 'swr'; import { useState, useEffect } from 'react'; import { formatApiPath } from 'utils/formatPath'; -import { ITagType } from 'interfaces/tags'; +import type { ITagType } from 'interfaces/tags'; import handleErrorResponses from '../httpErrorResponseHandler'; const useTagTypes = (options: SWRConfiguration = {}) => { diff --git a/frontend/src/hooks/api/getters/useTags/useTags.ts b/frontend/src/hooks/api/getters/useTags/useTags.ts index a3c70534ad2..d30b2542a4b 100644 --- a/frontend/src/hooks/api/getters/useTags/useTags.ts +++ b/frontend/src/hooks/api/getters/useTags/useTags.ts @@ -1,7 +1,7 @@ -import { mutate, SWRConfiguration } from 'swr'; +import { mutate, type SWRConfiguration } from 'swr'; import { useState, useEffect } from 'react'; import { formatApiPath } from 'utils/formatPath'; -import { ITag } from 'interfaces/tags'; +import type { ITag } from 'interfaces/tags'; import handleErrorResponses from '../httpErrorResponseHandler'; import { useConditionalSWR } from '../useConditionalSWR/useConditionalSWR'; diff --git a/frontend/src/hooks/api/getters/useUiConfig/defaultValue.ts b/frontend/src/hooks/api/getters/useUiConfig/defaultValue.ts index 48fca8e6623..bf5ddda830c 100644 --- a/frontend/src/hooks/api/getters/useUiConfig/defaultValue.ts +++ b/frontend/src/hooks/api/getters/useUiConfig/defaultValue.ts @@ -1,5 +1,5 @@ import LibraryBooks from '@mui/icons-material/LibraryBooks'; -import { IUiConfig } from 'interfaces/uiConfig'; +import type { IUiConfig } from 'interfaces/uiConfig'; export const defaultValue: IUiConfig = { name: 'Unleash', diff --git a/frontend/src/hooks/api/getters/useUiConfig/useUiConfig.ts b/frontend/src/hooks/api/getters/useUiConfig/useUiConfig.ts index 70aab82766e..53ceba58ad6 100644 --- a/frontend/src/hooks/api/getters/useUiConfig/useUiConfig.ts +++ b/frontend/src/hooks/api/getters/useUiConfig/useUiConfig.ts @@ -1,7 +1,7 @@ import useSWR from 'swr'; import { formatApiPath } from 'utils/formatPath'; import { defaultValue } from './defaultValue'; -import { IUiConfig } from 'interfaces/uiConfig'; +import type { IUiConfig } from 'interfaces/uiConfig'; import handleErrorResponses from '../httpErrorResponseHandler'; import { useMemo, useCallback } from 'react'; diff --git a/frontend/src/hooks/api/getters/useUnleashContext/useUnleashContext.ts b/frontend/src/hooks/api/getters/useUnleashContext/useUnleashContext.ts index 9cc53754109..1f829bc5453 100644 --- a/frontend/src/hooks/api/getters/useUnleashContext/useUnleashContext.ts +++ b/frontend/src/hooks/api/getters/useUnleashContext/useUnleashContext.ts @@ -1,7 +1,7 @@ -import useSWR, { SWRConfiguration } from 'swr'; +import useSWR, { type SWRConfiguration } from 'swr'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { IUnleashContextDefinition } from 'interfaces/context'; +import type { IUnleashContextDefinition } from 'interfaces/context'; interface IUnleashContextOutput { context: IUnleashContextDefinition[]; diff --git a/frontend/src/hooks/api/getters/useUserAccessMatrix/useUserAccessMatrix.ts b/frontend/src/hooks/api/getters/useUserAccessMatrix/useUserAccessMatrix.ts index f9514638550..4dcc004d5ee 100644 --- a/frontend/src/hooks/api/getters/useUserAccessMatrix/useUserAccessMatrix.ts +++ b/frontend/src/hooks/api/getters/useUserAccessMatrix/useUserAccessMatrix.ts @@ -2,9 +2,9 @@ import { useMemo } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; import useSWR from 'swr'; -import { IRole } from 'interfaces/role'; -import { IUser } from 'interfaces/user'; -import { IMatrixPermission } from 'interfaces/permissions'; +import type { IRole } from 'interfaces/role'; +import type { IUser } from 'interfaces/user'; +import type { IMatrixPermission } from 'interfaces/permissions'; interface IUserAccessMatrix { root: IMatrixPermission[]; diff --git a/frontend/src/hooks/api/getters/useUserInfo/useUserInfo.ts b/frontend/src/hooks/api/getters/useUserInfo/useUserInfo.ts index 0b7182cdfa6..dd4f9d1f8d6 100644 --- a/frontend/src/hooks/api/getters/useUserInfo/useUserInfo.ts +++ b/frontend/src/hooks/api/getters/useUserInfo/useUserInfo.ts @@ -1,4 +1,4 @@ -import useSWR, { mutate, SWRConfiguration } from 'swr'; +import useSWR, { mutate, type SWRConfiguration } from 'swr'; import { useState, useEffect } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; diff --git a/frontend/src/hooks/api/getters/useUserInvite/useUserInvite.ts b/frontend/src/hooks/api/getters/useUserInvite/useUserInvite.ts index 8d4e31e901c..a37794fae99 100644 --- a/frontend/src/hooks/api/getters/useUserInvite/useUserInvite.ts +++ b/frontend/src/hooks/api/getters/useUserInvite/useUserInvite.ts @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import useSWR, { SWRConfiguration } from 'swr'; +import useSWR, { type SWRConfiguration } from 'swr'; import { OK } from 'constants/statusCodes'; import useQueryParams from 'hooks/useQueryParams'; import { formatApiPath } from 'utils/formatPath'; diff --git a/frontend/src/hooks/api/getters/useUserProjectRoles/useUserProjectRoles.ts b/frontend/src/hooks/api/getters/useUserProjectRoles/useUserProjectRoles.ts index f0115cfeae7..2014514bba8 100644 --- a/frontend/src/hooks/api/getters/useUserProjectRoles/useUserProjectRoles.ts +++ b/frontend/src/hooks/api/getters/useUserProjectRoles/useUserProjectRoles.ts @@ -1,7 +1,7 @@ import { getUserProjectRolesFetcher } from './getUserProjectRolesFetcher'; -import useSWR, { SWRConfiguration } from 'swr'; +import useSWR, { type SWRConfiguration } from 'swr'; import { useCallback } from 'react'; -import { IUserProjectRoles } from '../../../../interfaces/userProjectRoles'; +import type { IUserProjectRoles } from '../../../../interfaces/userProjectRoles'; export const useUserProjectRoles = ( projectId: string, diff --git a/frontend/src/hooks/api/getters/useUsers/useUsers.ts b/frontend/src/hooks/api/getters/useUsers/useUsers.ts index 3cda835f157..40b8afc0db5 100644 --- a/frontend/src/hooks/api/getters/useUsers/useUsers.ts +++ b/frontend/src/hooks/api/getters/useUsers/useUsers.ts @@ -2,8 +2,8 @@ import useSWR from 'swr'; import { useMemo } from 'react'; import { formatApiPath } from 'utils/formatPath'; import handleErrorResponses from '../httpErrorResponseHandler'; -import { IUser } from 'interfaces/user'; -import { IRole } from 'interfaces/role'; +import type { IUser } from 'interfaces/user'; +import type { IRole } from 'interfaces/role'; interface IUseUsersOutput { users: IUser[]; diff --git a/frontend/src/hooks/useChangeRequestAddStrategy.ts b/frontend/src/hooks/useChangeRequestAddStrategy.ts index a247507f6b1..3fd7ffae8dd 100644 --- a/frontend/src/hooks/useChangeRequestAddStrategy.ts +++ b/frontend/src/hooks/useChangeRequestAddStrategy.ts @@ -1,7 +1,7 @@ import { useCallback, useState } from 'react'; import useToast from 'hooks/useToast'; import { formatUnknownError } from 'utils/formatUnknownError'; -import { IFeatureStrategyPayload } from '../interfaces/strategy'; +import type { IFeatureStrategyPayload } from '../interfaces/strategy'; import { useChangeRequestApi } from './api/actions/useChangeRequestApi/useChangeRequestApi'; import { usePendingChangeRequests } from './api/getters/usePendingChangeRequests/usePendingChangeRequests'; diff --git a/frontend/src/hooks/useChangeRequestInReviewWarning.tsx b/frontend/src/hooks/useChangeRequestInReviewWarning.tsx index b2b063719a0..5d11237441a 100644 --- a/frontend/src/hooks/useChangeRequestInReviewWarning.tsx +++ b/frontend/src/hooks/useChangeRequestInReviewWarning.tsx @@ -1,6 +1,6 @@ import { Alert } from '@mui/material'; import { oneOf } from 'utils/oneOf'; -import { ChangeRequestType } from '../component/changeRequest/changeRequest.types'; +import type { ChangeRequestType } from '../component/changeRequest/changeRequest.types'; export const useChangeRequestInReviewWarning = ( draft: ChangeRequestType[] | undefined, diff --git a/frontend/src/hooks/useChangeRequestsEnabled.test.tsx b/frontend/src/hooks/useChangeRequestsEnabled.test.tsx index 226a39b0e49..482392d86a6 100644 --- a/frontend/src/hooks/useChangeRequestsEnabled.test.tsx +++ b/frontend/src/hooks/useChangeRequestsEnabled.test.tsx @@ -1,7 +1,7 @@ import { render, screen } from '@testing-library/react'; import { AccessProviderMock } from '../component/providers/AccessProvider/AccessProviderMock'; import { useChangeRequestsEnabled } from './useChangeRequestsEnabled'; -import { FC } from 'react'; +import type { FC } from 'react'; import { testServerRoute, testServerSetup } from '../utils/testServer'; import { SKIP_CHANGE_REQUEST, diff --git a/frontend/src/hooks/useCollaborateData.tsx b/frontend/src/hooks/useCollaborateData.tsx index 7fb0bbb8b74..88424a22cf0 100644 --- a/frontend/src/hooks/useCollaborateData.tsx +++ b/frontend/src/hooks/useCollaborateData.tsx @@ -1,5 +1,5 @@ import { useState, useEffect } from 'react'; -import { SWRConfiguration } from 'swr'; +import type { SWRConfiguration } from 'swr'; import { dequal } from 'dequal'; import { StaleDataNotification } from 'component/common/StaleDataNotification/StaleDataNotification'; diff --git a/frontend/src/hooks/useDragItem.ts b/frontend/src/hooks/useDragItem.ts index 859228d219d..ba377e10f39 100644 --- a/frontend/src/hooks/useDragItem.ts +++ b/frontend/src/hooks/useDragItem.ts @@ -1,4 +1,4 @@ -import { useRef, useEffect, RefObject } from 'react'; +import { useRef, useEffect, type RefObject } from 'react'; export type MoveListItem = ( dragIndex: number, diff --git a/frontend/src/hooks/useEventSettings.ts b/frontend/src/hooks/useEventSettings.ts index 23bad33f89f..a534df670e7 100644 --- a/frontend/src/hooks/useEventSettings.ts +++ b/frontend/src/hooks/useEventSettings.ts @@ -1,6 +1,6 @@ import { basePath } from 'utils/formatPath'; import { createPersistentGlobalStateHook } from './usePersistentGlobalState'; -import React from 'react'; +import type React from 'react'; export interface IEventSettings { showData: boolean; diff --git a/frontend/src/hooks/useGlobalState.ts b/frontend/src/hooks/useGlobalState.ts index 4dffb7f9245..0af2a4b9acd 100644 --- a/frontend/src/hooks/useGlobalState.ts +++ b/frontend/src/hooks/useGlobalState.ts @@ -1,4 +1,4 @@ -import React from 'react'; +import type React from 'react'; import { createGlobalState } from 'react-hooks-global-state'; type UseGlobalState = () => [ diff --git a/frontend/src/hooks/useHighestPermissionChangeRequestEnvironment.ts b/frontend/src/hooks/useHighestPermissionChangeRequestEnvironment.ts index f839645e1e2..6849b75191f 100644 --- a/frontend/src/hooks/useHighestPermissionChangeRequestEnvironment.ts +++ b/frontend/src/hooks/useHighestPermissionChangeRequestEnvironment.ts @@ -1,4 +1,4 @@ -import { IChangeRequestEnvironmentConfig } from 'component/changeRequest/changeRequest.types'; +import type { IChangeRequestEnvironmentConfig } from 'component/changeRequest/changeRequest.types'; import React from 'react'; import { useChangeRequestConfig } from './api/getters/useChangeRequestConfig/useChangeRequestConfig'; diff --git a/frontend/src/hooks/useLocationSettings.ts b/frontend/src/hooks/useLocationSettings.ts index 581db3e884b..d17b9420b01 100644 --- a/frontend/src/hooks/useLocationSettings.ts +++ b/frontend/src/hooks/useLocationSettings.ts @@ -1,6 +1,6 @@ import { basePath } from 'utils/formatPath'; import { createPersistentGlobalStateHook } from './usePersistentGlobalState'; -import React from 'react'; +import type React from 'react'; export interface ILocationSettings { locale: string; diff --git a/frontend/src/hooks/usePersistentGlobalState.ts b/frontend/src/hooks/usePersistentGlobalState.ts index a0d5371e35a..7f42f32c546 100644 --- a/frontend/src/hooks/usePersistentGlobalState.ts +++ b/frontend/src/hooks/usePersistentGlobalState.ts @@ -1,4 +1,4 @@ -import React from 'react'; +import type React from 'react'; import { createGlobalState } from 'react-hooks-global-state'; import { getLocalStorageItem, setLocalStorageItem } from '../utils/storage'; diff --git a/frontend/src/hooks/usePersistentTableState.ts b/frontend/src/hooks/usePersistentTableState.ts index f46dd3f3723..4848d8e483b 100644 --- a/frontend/src/hooks/usePersistentTableState.ts +++ b/frontend/src/hooks/usePersistentTableState.ts @@ -2,7 +2,7 @@ import { useEffect, useCallback, useMemo } from 'react'; import { useSearchParams } from 'react-router-dom'; import { createLocalStorage } from 'utils/createLocalStorage'; import { encodeQueryParams, useQueryParams } from 'use-query-params'; -import { QueryParamConfigMap } from 'serialize-query-params/src/types'; +import type { QueryParamConfigMap } from 'serialize-query-params/src/types'; import { reorderObject } from '../utils/reorderObject'; const usePersistentSearchParams = ( diff --git a/frontend/src/hooks/usePinnedFavorites.test.ts b/frontend/src/hooks/usePinnedFavorites.test.ts index 4afa6ff3019..ebfba494672 100644 --- a/frontend/src/hooks/usePinnedFavorites.test.ts +++ b/frontend/src/hooks/usePinnedFavorites.test.ts @@ -1,4 +1,4 @@ -import { Row } from 'react-table'; +import type { Row } from 'react-table'; import { sortTypesWithFavorites } from './usePinnedFavorites'; const data = [ diff --git a/frontend/src/hooks/usePlausibleTracker.ts b/frontend/src/hooks/usePlausibleTracker.ts index 6ffa71b96e7..13bf0b9b9f3 100644 --- a/frontend/src/hooks/usePlausibleTracker.ts +++ b/frontend/src/hooks/usePlausibleTracker.ts @@ -1,6 +1,6 @@ import { useCallback, useContext } from 'react'; import { PlausibleContext } from 'contexts/PlausibleContext'; -import { EventOptions, PlausibleOptions } from 'plausible-tracker'; +import type { EventOptions, PlausibleOptions } from 'plausible-tracker'; /** * Allowed event names. Makes it easy to remove, since TS will complain. diff --git a/frontend/src/hooks/useSearch.test.tsx b/frontend/src/hooks/useSearch.test.tsx index 6358fba21d8..0323d89e736 100644 --- a/frontend/src/hooks/useSearch.test.tsx +++ b/frontend/src/hooks/useSearch.test.tsx @@ -7,9 +7,9 @@ import { includesFilter, getColumnValues, } from './useSearch'; -import { FC } from 'react'; +import type { FC } from 'react'; import { render, screen } from '@testing-library/react'; -import { IFeatureToggleListItem } from '../interfaces/featureToggle'; +import type { IFeatureToggleListItem } from '../interfaces/featureToggle'; const columns = [ { diff --git a/frontend/src/hooks/useThemeMode.ts b/frontend/src/hooks/useThemeMode.ts index c9d0bfaa773..0158079a51a 100644 --- a/frontend/src/hooks/useThemeMode.ts +++ b/frontend/src/hooks/useThemeMode.ts @@ -1,9 +1,9 @@ -import UIContext, { themeMode } from 'contexts/UIContext'; +import UIContext, { type themeMode } from 'contexts/UIContext'; import { useContext } from 'react'; import { setLocalStorageItem } from 'utils/storage'; import mainTheme from 'themes/theme'; import darkTheme from 'themes/dark-theme'; -import { Theme } from '@mui/material/styles/createTheme'; +import type { Theme } from '@mui/material/styles/createTheme'; interface IUseThemeModeOutput { resolveTheme: () => Theme; diff --git a/frontend/src/hooks/useToast.tsx b/frontend/src/hooks/useToast.tsx index a35bef89e29..ab75e949903 100644 --- a/frontend/src/hooks/useToast.tsx +++ b/frontend/src/hooks/useToast.tsx @@ -1,6 +1,6 @@ import { useCallback, useContext } from 'react'; import UIContext from '../contexts/UIContext'; -import { IToast } from '../interfaces/toast'; +import type { IToast } from '../interfaces/toast'; const useToast = () => { const { setToast } = useContext(UIContext); diff --git a/frontend/src/hooks/useUsersPlan.ts b/frontend/src/hooks/useUsersPlan.ts index e1796c59b29..c19d5e41956 100644 --- a/frontend/src/hooks/useUsersPlan.ts +++ b/frontend/src/hooks/useUsersPlan.ts @@ -1,4 +1,4 @@ -import { IUser } from 'interfaces/user'; +import type { IUser } from 'interfaces/user'; import { useMemo } from 'react'; import { useInstanceStatus } from './api/getters/useInstanceStatus/useInstanceStatus'; import { InstancePlan } from 'interfaces/instance'; diff --git a/frontend/src/hooks/useVariant.ts b/frontend/src/hooks/useVariant.ts index d9a0e73e805..64118ca2437 100644 --- a/frontend/src/hooks/useVariant.ts +++ b/frontend/src/hooks/useVariant.ts @@ -1,5 +1,5 @@ import { useMemo } from 'react'; -import { Variant, getVariantValue } from 'utils/variants'; +import { type Variant, getVariantValue } from 'utils/variants'; export const useVariant = (variant?: Variant) => { return useMemo(() => { diff --git a/frontend/src/interfaces/action.ts b/frontend/src/interfaces/action.ts index ab0a00f6718..c4d4b0b56de 100644 --- a/frontend/src/interfaces/action.ts +++ b/frontend/src/interfaces/action.ts @@ -1,5 +1,5 @@ -import { ISignal, SignalSource } from './signal'; -import { IConstraint } from './strategy'; +import type { ISignal, SignalSource } from './signal'; +import type { IConstraint } from './strategy'; type ActionSetState = 'started' | 'success' | 'failed'; diff --git a/frontend/src/interfaces/banner.ts b/frontend/src/interfaces/banner.ts index 993cab72e3c..15efd67e36d 100644 --- a/frontend/src/interfaces/banner.ts +++ b/frontend/src/interfaces/banner.ts @@ -1,4 +1,4 @@ -import { ReactNode } from 'react'; +import type { ReactNode } from 'react'; export type BannerVariant = 'info' | 'warning' | 'error' | 'success'; diff --git a/frontend/src/interfaces/environments.ts b/frontend/src/interfaces/environments.ts index 7d4b393f036..37e535b481c 100644 --- a/frontend/src/interfaces/environments.ts +++ b/frontend/src/interfaces/environments.ts @@ -1,5 +1,5 @@ -import { CreateFeatureStrategySchema } from '../openapi'; -import { IFeatureStrategy } from './strategy'; +import type { CreateFeatureStrategySchema } from '../openapi'; +import type { IFeatureStrategy } from './strategy'; export interface IEnvironment { name: string; diff --git a/frontend/src/interfaces/event.ts b/frontend/src/interfaces/event.ts index 6626cc5d52d..0b1d4b2634b 100644 --- a/frontend/src/interfaces/event.ts +++ b/frontend/src/interfaces/event.ts @@ -1,4 +1,4 @@ -import { ITag } from './tags'; +import type { ITag } from './tags'; export interface IEvent { id: number; diff --git a/frontend/src/interfaces/featureToggle.ts b/frontend/src/interfaces/featureToggle.ts index 059b730c67d..76edbd53579 100644 --- a/frontend/src/interfaces/featureToggle.ts +++ b/frontend/src/interfaces/featureToggle.ts @@ -1,5 +1,5 @@ -import { IFeatureStrategy } from './strategy'; -import { ITag } from './tags'; +import type { IFeatureStrategy } from './strategy'; +import type { ITag } from './tags'; /** * @deprecated use FeatureSchema from openapi diff --git a/frontend/src/interfaces/group.ts b/frontend/src/interfaces/group.ts index c9f932a501f..6abdf24010e 100644 --- a/frontend/src/interfaces/group.ts +++ b/frontend/src/interfaces/group.ts @@ -1,4 +1,4 @@ -import { IUser } from './user'; +import type { IUser } from './user'; export interface IGroup { id: number; diff --git a/frontend/src/interfaces/permissions.ts b/frontend/src/interfaces/permissions.ts index 7717b5a7b03..b8330f8e06a 100644 --- a/frontend/src/interfaces/permissions.ts +++ b/frontend/src/interfaces/permissions.ts @@ -1,4 +1,4 @@ -import { +import type { ROOT_PERMISSION_TYPE, PROJECT_PERMISSION_TYPE, ENVIRONMENT_PERMISSION_TYPE, diff --git a/frontend/src/interfaces/profile.ts b/frontend/src/interfaces/profile.ts index 7cbe28657f7..1997ee76752 100644 --- a/frontend/src/interfaces/profile.ts +++ b/frontend/src/interfaces/profile.ts @@ -1,4 +1,4 @@ -import { IRole } from './role'; +import type { IRole } from './role'; export interface IProfile { rootRole: IRole; diff --git a/frontend/src/interfaces/project.ts b/frontend/src/interfaces/project.ts index 80a84053de4..a348855920b 100644 --- a/frontend/src/interfaces/project.ts +++ b/frontend/src/interfaces/project.ts @@ -1,7 +1,7 @@ -import { ProjectStatsSchema } from 'openapi'; -import { IFeatureToggleListItem } from './featureToggle'; -import { ProjectEnvironmentType } from 'component/project/Project/ProjectFeatureToggles/hooks/useEnvironmentsRef'; -import { ProjectMode } from 'component/project/Project/hooks/useProjectEnterpriseSettingsForm'; +import type { ProjectStatsSchema } from 'openapi'; +import type { IFeatureToggleListItem } from './featureToggle'; +import type { ProjectEnvironmentType } from 'component/project/Project/ProjectFeatureToggles/hooks/useEnvironmentsRef'; +import type { ProjectMode } from 'component/project/Project/hooks/useProjectEnterpriseSettingsForm'; export interface IProjectCard { name: string; diff --git a/frontend/src/interfaces/publicSignupTokens.ts b/frontend/src/interfaces/publicSignupTokens.ts index 767ba408e56..a0aaac82e36 100644 --- a/frontend/src/interfaces/publicSignupTokens.ts +++ b/frontend/src/interfaces/publicSignupTokens.ts @@ -1,5 +1,5 @@ -import { IRole } from './role'; -import { IUser } from './user'; +import type { IRole } from './role'; +import type { IUser } from './user'; export interface ICreateInvitedUser { username?: string; diff --git a/frontend/src/interfaces/role.ts b/frontend/src/interfaces/role.ts index ff0f9c42de9..0bd072b098b 100644 --- a/frontend/src/interfaces/role.ts +++ b/frontend/src/interfaces/role.ts @@ -1,5 +1,5 @@ -import { ROOT_ROLE_TYPE, PROJECT_ROLE_TYPE } from '@server/util/constants'; -import { IPermission } from './permissions'; +import type { ROOT_ROLE_TYPE, PROJECT_ROLE_TYPE } from '@server/util/constants'; +import type { IPermission } from './permissions'; export type PredefinedRoleType = | typeof ROOT_ROLE_TYPE diff --git a/frontend/src/interfaces/route.ts b/frontend/src/interfaces/route.ts index 277e5d5e0aa..6dc42151edb 100644 --- a/frontend/src/interfaces/route.ts +++ b/frontend/src/interfaces/route.ts @@ -1,5 +1,5 @@ -import { VoidFunctionComponent } from 'react'; -import { UiFlags, IUiConfig } from 'interfaces/uiConfig'; +import type { VoidFunctionComponent } from 'react'; +import type { UiFlags, IUiConfig } from 'interfaces/uiConfig'; export interface IRoute { path: string; diff --git a/frontend/src/interfaces/segment.ts b/frontend/src/interfaces/segment.ts index b10f12fb50e..eb9b73eeb64 100644 --- a/frontend/src/interfaces/segment.ts +++ b/frontend/src/interfaces/segment.ts @@ -1,4 +1,4 @@ -import { IConstraint } from './strategy'; +import type { IConstraint } from './strategy'; export interface ISegment { id: number; diff --git a/frontend/src/interfaces/service-account.ts b/frontend/src/interfaces/service-account.ts index 49844ad9a2e..bbb8169d7c8 100644 --- a/frontend/src/interfaces/service-account.ts +++ b/frontend/src/interfaces/service-account.ts @@ -1,5 +1,5 @@ -import { IPersonalAPIToken } from './personalAPIToken'; -import { IUser } from './user'; +import type { IPersonalAPIToken } from './personalAPIToken'; +import type { IUser } from './user'; export interface IServiceAccount extends IUser { tokens: IPersonalAPIToken[]; diff --git a/frontend/src/interfaces/strategy.ts b/frontend/src/interfaces/strategy.ts index 1b858d8e74f..77ed83dfb0f 100644 --- a/frontend/src/interfaces/strategy.ts +++ b/frontend/src/interfaces/strategy.ts @@ -1,5 +1,5 @@ -import { Operator } from 'constants/operators'; -import { IFeatureVariant } from './featureToggle'; +import type { Operator } from 'constants/operators'; +import type { IFeatureVariant } from './featureToggle'; import { constraintId } from 'component/common/ConstraintAccordion/ConstraintAccordionList/createEmptyConstraint'; export interface IFeatureStrategy { diff --git a/frontend/src/interfaces/uiConfig.ts b/frontend/src/interfaces/uiConfig.ts index 8cf3eb449a2..aa7d20d756c 100644 --- a/frontend/src/interfaces/uiConfig.ts +++ b/frontend/src/interfaces/uiConfig.ts @@ -1,5 +1,5 @@ -import { ReactNode } from 'react'; -import { Variant } from 'utils/variants'; +import type { ReactNode } from 'react'; +import type { Variant } from 'utils/variants'; export interface IUiConfig { authenticationType?: string; diff --git a/frontend/src/themes/ThemeProvider.tsx b/frontend/src/themes/ThemeProvider.tsx index 5891d64aedd..4522ce97396 100644 --- a/frontend/src/themes/ThemeProvider.tsx +++ b/frontend/src/themes/ThemeProvider.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { CssBaseline, ThemeProvider as MuiThemeProvider } from '@mui/material'; import createCache from '@emotion/cache'; diff --git a/frontend/src/themes/themeStyles.ts b/frontend/src/themes/themeStyles.ts index d8946e402bb..afe1dc83e56 100644 --- a/frontend/src/themes/themeStyles.ts +++ b/frontend/src/themes/themeStyles.ts @@ -1,6 +1,6 @@ import { makeStyles } from 'tss-react/mui'; -import { Theme } from '@mui/material'; -import { CSSProperties } from 'react'; +import type { Theme } from '@mui/material'; +import type { CSSProperties } from 'react'; export const focusable = (theme: Theme) => ({ '&:focus-visible': { diff --git a/frontend/src/themes/themeTypes.ts b/frontend/src/themes/themeTypes.ts index e04237d63de..4b5e4f7f964 100644 --- a/frontend/src/themes/themeTypes.ts +++ b/frontend/src/themes/themeTypes.ts @@ -1,4 +1,3 @@ -// biome-ignore lint/nursery/noUnusedImports: Needed to not break MUI imports import { FormHelperTextOwnProps } from '@mui/material/FormHelperText'; declare module '@mui/material/styles' { diff --git a/frontend/src/types/react-table-config.d.ts b/frontend/src/types/react-table-config.d.ts index a2fd25f5da2..f6ea2cf866f 100644 --- a/frontend/src/types/react-table-config.d.ts +++ b/frontend/src/types/react-table-config.d.ts @@ -5,7 +5,7 @@ * https://github.com/TanStack/react-table/issues/2970#issuecomment-756364081 */ -import { +import type { UseColumnOrderInstanceProps, UseColumnOrderState, UseExpandedHooks, diff --git a/frontend/src/utils/cleanConstraint.ts b/frontend/src/utils/cleanConstraint.ts index dc314f45bb1..e5caacf312b 100644 --- a/frontend/src/utils/cleanConstraint.ts +++ b/frontend/src/utils/cleanConstraint.ts @@ -1,5 +1,5 @@ import { singleValueOperators } from 'constants/operators'; -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { oneOf } from 'utils/oneOf'; import produce from 'immer'; diff --git a/frontend/src/utils/createFeatureStrategy.ts b/frontend/src/utils/createFeatureStrategy.ts index 1b240ef9617..e6d7ad601a5 100644 --- a/frontend/src/utils/createFeatureStrategy.ts +++ b/frontend/src/utils/createFeatureStrategy.ts @@ -1,4 +1,4 @@ -import { +import type { IStrategy, IFeatureStrategy, IFeatureStrategyParameters, diff --git a/frontend/src/utils/formatConstraintValue.ts b/frontend/src/utils/formatConstraintValue.ts index 70a3630ecc3..b7a73748a7a 100644 --- a/frontend/src/utils/formatConstraintValue.ts +++ b/frontend/src/utils/formatConstraintValue.ts @@ -1,6 +1,6 @@ -import { IConstraint } from 'interfaces/strategy'; +import type { IConstraint } from 'interfaces/strategy'; import { formatDateYMDHMS } from 'utils/formatDate'; -import { ILocationSettings } from 'hooks/useLocationSettings'; +import type { ILocationSettings } from 'hooks/useLocationSettings'; import { CURRENT_TIME_CONTEXT_FIELD } from 'utils/operatorsForContext'; export const formatConstraintValue = ( diff --git a/frontend/src/utils/getFeatureMetrics.ts b/frontend/src/utils/getFeatureMetrics.ts index b4f76ad98d4..edb6d97ea52 100644 --- a/frontend/src/utils/getFeatureMetrics.ts +++ b/frontend/src/utils/getFeatureMetrics.ts @@ -1,4 +1,4 @@ -import { +import type { IFeatureEnvironment, IFeatureMetrics, } from '../interfaces/featureToggle'; diff --git a/frontend/src/utils/instanceTrial.ts b/frontend/src/utils/instanceTrial.ts index 782be124099..765cd28dedf 100644 --- a/frontend/src/utils/instanceTrial.ts +++ b/frontend/src/utils/instanceTrial.ts @@ -1,5 +1,5 @@ import { parseISO, isPast } from 'date-fns'; -import { IInstanceStatus, InstanceState } from 'interfaces/instance'; +import { type IInstanceStatus, InstanceState } from 'interfaces/instance'; import differenceInDays from 'date-fns/differenceInDays'; const TRIAL_EXPIRES_SOON_DAYS_THRESHOLD = 10; diff --git a/frontend/src/utils/operatorsForContext.ts b/frontend/src/utils/operatorsForContext.ts index 6b3ac60b190..df54c0e8823 100644 --- a/frontend/src/utils/operatorsForContext.ts +++ b/frontend/src/utils/operatorsForContext.ts @@ -1,4 +1,8 @@ -import { allOperators, dateOperators, Operator } from 'constants/operators'; +import { + allOperators, + dateOperators, + type Operator, +} from 'constants/operators'; import { oneOf } from 'utils/oneOf'; export const CURRENT_TIME_CONTEXT_FIELD = 'currentTime'; diff --git a/frontend/src/utils/parseParameter.ts b/frontend/src/utils/parseParameter.ts index e34d3ff100f..e06713619c1 100644 --- a/frontend/src/utils/parseParameter.ts +++ b/frontend/src/utils/parseParameter.ts @@ -1,4 +1,4 @@ -import { IFeatureStrategyParameters } from 'interfaces/strategy'; +import type { IFeatureStrategyParameters } from 'interfaces/strategy'; export const parseParameterNumber = ( value: IFeatureStrategyParameters[string], diff --git a/frontend/src/utils/permissions.ts b/frontend/src/utils/permissions.ts index ca608437543..60730445a5b 100644 --- a/frontend/src/utils/permissions.ts +++ b/frontend/src/utils/permissions.ts @@ -3,7 +3,7 @@ import { ENVIRONMENT_PERMISSION_TYPE, PROJECT_PERMISSION_TYPE, } from '@server/util/constants'; -import { +import type { IPermission, ICheckedPermissions, IPermissionCategory, diff --git a/frontend/src/utils/projectFilterGenerator.ts b/frontend/src/utils/projectFilterGenerator.ts index 7ef9f968069..84e55ce7f2f 100644 --- a/frontend/src/utils/projectFilterGenerator.ts +++ b/frontend/src/utils/projectFilterGenerator.ts @@ -1,5 +1,5 @@ import { ADMIN } from 'component/providers/AccessProvider/permissions'; -import { IPermission } from 'interfaces/user'; +import type { IPermission } from 'interfaces/user'; type objectIdx = { [key: string]: string; diff --git a/frontend/src/utils/sortStrategyParameters.ts b/frontend/src/utils/sortStrategyParameters.ts index 9c157933347..6738fe621d2 100644 --- a/frontend/src/utils/sortStrategyParameters.ts +++ b/frontend/src/utils/sortStrategyParameters.ts @@ -1,4 +1,4 @@ -import { +import type { IFeatureStrategyParameters, IStrategy, IFeatureStrategy, diff --git a/frontend/src/utils/sortTypes.test.ts b/frontend/src/utils/sortTypes.test.ts index 026df2de072..1e2823c5642 100644 --- a/frontend/src/utils/sortTypes.test.ts +++ b/frontend/src/utils/sortTypes.test.ts @@ -1,4 +1,4 @@ -import { Row } from 'react-table'; +import type { Row } from 'react-table'; import { sortTypes } from './sortTypes'; const data = [ diff --git a/frontend/src/utils/sortTypes.ts b/frontend/src/utils/sortTypes.ts index b5fc0df0423..c4836a92466 100644 --- a/frontend/src/utils/sortTypes.ts +++ b/frontend/src/utils/sortTypes.ts @@ -1,4 +1,4 @@ -import { IdType, Row } from 'react-table'; +import type { IdType, Row } from 'react-table'; /** * For `react-table`. @@ -58,9 +58,11 @@ export const sortTypes = { _desc?: boolean, ) => { const aVal = - parseInt(`${a?.values?.[id] || 0}`, 10) || Number.MAX_SAFE_INTEGER; + Number.parseInt(`${a?.values?.[id] || 0}`, 10) || + Number.MAX_SAFE_INTEGER; const bVal = - parseInt(`${b?.values?.[id] || 0}`, 10) || Number.MAX_SAFE_INTEGER; + Number.parseInt(`${b?.values?.[id] || 0}`, 10) || + Number.MAX_SAFE_INTEGER; return aVal - bVal; }, }; diff --git a/frontend/src/utils/strategyNames.tsx b/frontend/src/utils/strategyNames.tsx index a1fd50e841d..999ada5c6df 100644 --- a/frontend/src/utils/strategyNames.tsx +++ b/frontend/src/utils/strategyNames.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { SvgIcon, useTheme } from '@mui/material'; import LocationOnIcon from '@mui/icons-material/LocationOn'; import PeopleIcon from '@mui/icons-material/People'; diff --git a/frontend/src/utils/testRenderer.tsx b/frontend/src/utils/testRenderer.tsx index 1010b66dd38..6c800db86f3 100644 --- a/frontend/src/utils/testRenderer.tsx +++ b/frontend/src/utils/testRenderer.tsx @@ -1,9 +1,12 @@ -import { FC } from 'react'; +import type { FC } from 'react'; import { BrowserRouter } from 'react-router-dom'; -import { render as rtlRender, RenderOptions } from '@testing-library/react'; +import { + render as rtlRender, + type RenderOptions, +} from '@testing-library/react'; import { SWRConfig } from 'swr'; import { ThemeProvider } from 'themes/ThemeProvider'; -import { IPermission } from 'interfaces/user'; +import type { IPermission } from 'interfaces/user'; import { AnnouncerProvider } from 'component/common/Announcer/AnnouncerProvider/AnnouncerProvider'; import { AccessProviderMock } from 'component/providers/AccessProvider/AccessProviderMock'; import { UIProviderContainer } from '../component/providers/UIProvider/UIProviderContainer'; diff --git a/frontend/src/utils/testServer.ts b/frontend/src/utils/testServer.ts index 0cb7de4e873..4d1351006b0 100644 --- a/frontend/src/utils/testServer.ts +++ b/frontend/src/utils/testServer.ts @@ -1,4 +1,4 @@ -import { setupServer, SetupServer } from 'msw/node'; +import { setupServer, type SetupServer } from 'msw/node'; import { http, HttpResponse } from 'msw'; export const testServerSetup = (): SetupServer => { diff --git a/frontend/src/utils/unique-change-request-id.ts b/frontend/src/utils/unique-change-request-id.ts index 7573551df78..1b37f2c648f 100644 --- a/frontend/src/utils/unique-change-request-id.ts +++ b/frontend/src/utils/unique-change-request-id.ts @@ -1,4 +1,4 @@ -import { IUiConfig } from 'interfaces/uiConfig'; +import type { IUiConfig } from 'interfaces/uiConfig'; export const getUniqueChangeRequestId = ( uiConfig: Pick, diff --git a/frontend/src/utils/validateParameterValue.ts b/frontend/src/utils/validateParameterValue.ts index d9f575cb3f7..bdd03ffefba 100644 --- a/frontend/src/utils/validateParameterValue.ts +++ b/frontend/src/utils/validateParameterValue.ts @@ -1,4 +1,4 @@ -import { +import type { IStrategyParameter, IFeatureStrategyParameters, } from 'interfaces/strategy'; diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 4eb15be761e..1147c144d54 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -533,59 +533,59 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" -"@biomejs/biome@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-1.5.1.tgz#ed665a8693e3014bf8fa641ad58703c85dd575cc" - integrity sha512-rdMA/N1Zc1nxUtbXMVr+50Sg/Pezz+9qGQa2uyRWFtrCoyr3dv0pVz+0ifGGue18ip50ZH8x2r5CV7zo8Q/0mA== +"@biomejs/biome@1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-1.6.1.tgz#148d05478fc0620e0343fb48354d6863129e296e" + integrity sha512-SILQvA2S0XeaOuu1bivv6fQmMo7zMfr2xqDEN+Sz78pGbAKZnGmg0emsXjQWoBY/RVm9kPCgX+aGEpZZTYaM7w== optionalDependencies: - "@biomejs/cli-darwin-arm64" "1.5.1" - "@biomejs/cli-darwin-x64" "1.5.1" - "@biomejs/cli-linux-arm64" "1.5.1" - "@biomejs/cli-linux-arm64-musl" "1.5.1" - "@biomejs/cli-linux-x64" "1.5.1" - "@biomejs/cli-linux-x64-musl" "1.5.1" - "@biomejs/cli-win32-arm64" "1.5.1" - "@biomejs/cli-win32-x64" "1.5.1" - -"@biomejs/cli-darwin-arm64@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.5.1.tgz#ea33f009aaa4bca3ce281e010a6cb108249cb973" - integrity sha512-E9pLakmSVHP6UH2uqAghqEkr/IHAIDfDyCedqJVnyFc+uufNTHwB8id4XTiWy/eKIdgxHZsTSE+R+W0IqrTNVQ== + "@biomejs/cli-darwin-arm64" "1.6.1" + "@biomejs/cli-darwin-x64" "1.6.1" + "@biomejs/cli-linux-arm64" "1.6.1" + "@biomejs/cli-linux-arm64-musl" "1.6.1" + "@biomejs/cli-linux-x64" "1.6.1" + "@biomejs/cli-linux-x64-musl" "1.6.1" + "@biomejs/cli-win32-arm64" "1.6.1" + "@biomejs/cli-win32-x64" "1.6.1" + +"@biomejs/cli-darwin-arm64@1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.6.1.tgz#5d3f449376aad8629ddb08457063d2974178ffa4" + integrity sha512-KlvY00iB9T/vFi4m/GXxEyYkYnYy6aw06uapzUIIdiMMj7I/pmZu7CsZlzWdekVD0j+SsQbxdZMsb0wPhnRSsg== -"@biomejs/cli-darwin-x64@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.5.1.tgz#c719a8615b380b25cd9a4bbdfc81d90dbec0996b" - integrity sha512-8O1F+FcoCi02JlocyilB6R3y3kT9sRkBCRwYddaBIScQe2hCme/mA2rVzrhCCHhskrclJ51GEKjkEORj4/8c2A== +"@biomejs/cli-darwin-x64@1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.6.1.tgz#852c626bb83b2975095cbd0cfca10a6780ca97f8" + integrity sha512-jP4E8TXaQX5e3nvRJSzB+qicZrdIDCrjR0sSb1DaDTx4JPZH5WXq/BlTqAyWi3IijM+IYMjWqAAK4kOHsSCzxw== -"@biomejs/cli-linux-arm64-musl@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.5.1.tgz#c5364e08faca4826654b191e696425d5449a6fe3" - integrity sha512-Lw9G3LUdhRMp8L8RMeVevnfQCa7luT6ubQ8GRjLju32glxWKefpDrzgfHixGyvTQPlhnYjQ+V8/QQ/I7WPzOoA== +"@biomejs/cli-linux-arm64-musl@1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.6.1.tgz#5379f707da895f1f18638c4e86d0b976ad3e9094" + integrity sha512-YdkDgFecdHJg7PJxAMaZIixVWGB6St4yH08BHagO0fEhNNiY8cAKEVo2mcXlsnEiTMpeSEAY9VxLUrVT3IVxpw== -"@biomejs/cli-linux-arm64@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.5.1.tgz#1d9fe74cbc27aa784d8a3743ad1f77da883e2aef" - integrity sha512-25gwY4FMzmi1Rl6N835raLq7nzTk+PyEQd88k9Em6dqtI4qpljqmZlMmVjOiwXKe3Ee80J/Vlh7BM36lsHUTEg== +"@biomejs/cli-linux-arm64@1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.6.1.tgz#29a4cda620418f13413c4685fa2b42846734343f" + integrity sha512-nxD1UyX3bWSl/RSKlib/JsOmt+652/9yieogdSC/UTLgVCZYOF7u8L/LK7kAa0Y4nA8zSPavAQTgko7mHC2ObA== -"@biomejs/cli-linux-x64-musl@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.5.1.tgz#7e6ef6c1308907f30909374f91c380e2c85bf393" - integrity sha512-5gapxc/VlwTgGRbTc9h8PMTpf8eNahIBauFUGSXncHgayi3VpezKSicgaQ1bb8FahVXf/5eNEVxVARq/or71Ag== +"@biomejs/cli-linux-x64-musl@1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.6.1.tgz#4399ae080eb2471ea0b390ee129d709a90503097" + integrity sha512-aSISIDmxq04NNy7tm4x9rBk2vH0ub2VDIE4outEmdC2LBtEJoINiphlZagx/FvjbsqUfygent9QUSn0oREnAXg== -"@biomejs/cli-linux-x64@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-1.5.1.tgz#0f6afaf035c6a07fe757d58a315f3a75e49f8987" - integrity sha512-YDM0gZP4UbAuaBI3DVbUuj5X+Omm6uxzD1Qpc6hcduH1kzXzs9L0ee7cn/kJtNndoXR8MlmUS0O0/wWvZf2YaA== +"@biomejs/cli-linux-x64@1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-1.6.1.tgz#aaa91cb1679a7e86e88cc577a32695f154bfe4b5" + integrity sha512-BYAzenlMF3QdngjNFw9QVBXKGNzeecqwF3pwDgUGEvU7OJpn1/lyVkJVxYPtVGRNdjQ9e6l/s8NjKuBpW/ZR4Q== -"@biomejs/cli-win32-arm64@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.5.1.tgz#196bdc1afd0945a0fad76719b601bf7f7a4aaf72" - integrity sha512-TVpLBOLUMLQmH2VRFBKFr3rgEkr7XvG4QZxHOxWB9Ivc/sQPvg4aHMd8qpgPKXABGUnultyc9t0+WvfIDxuALg== +"@biomejs/cli-win32-arm64@1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.6.1.tgz#ab0d8f37a26ea31e7a67cd2199f970929053ab27" + integrity sha512-/eCHQKZ1kEawUpkSuXq4urtxMsD1P1678OPG3zNKt3ru16AqqspLdO3jzBe3k74xCPYnQ36e9Yqc97Mo0qgPtg== -"@biomejs/cli-win32-x64@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-1.5.1.tgz#b1996fa2dc6580f39fb2e1b6d126e93baf8da58d" - integrity sha512-qx8EKwScZmVYZjMPZ6GF3ZUmgg/N6zqh+d8vHA2E43opNCyqIPTl89sOqkc7zd1CyyABDWxsbqI9Ih6xTT6hnQ== +"@biomejs/cli-win32-x64@1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-1.6.1.tgz#ea70f4bc3662de8e576b47291bb93cbd18d09b81" + integrity sha512-5TUZbzBwnDLFxLVGEPsorNi6eC2Gt+z4Oei9Qvq0M/4c4/mjZ96ABgwao/tMxf4ZBr/qyy2YdvF+gX9Rc+xC0A== "@bundled-es-modules/cookie@^2.0.0": version "2.0.0" diff --git a/package.json b/package.json index 66ea13e3435..1fb4dd4ed99 100644 --- a/package.json +++ b/package.json @@ -2,12 +2,7 @@ "name": "unleash-server", "description": "Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.", "version": "5.10.0+main", - "keywords": [ - "unleash", - "feature toggle", - "feature", - "toggle" - ], + "keywords": ["unleash", "feature toggle", "feature", "toggle"], "files": [ "dist", "docs", @@ -39,7 +34,7 @@ "dev:backend": "TZ=UTC NODE_ENV=development tsc-watch --strictNullChecks false --onSuccess \"node dist/server-dev.js\"", "dev:frontend": "wait-on tcp:4242 && yarn --cwd ./frontend run dev", "dev": "concurrently \"yarn:dev:backend\" \"yarn:dev:frontend\"", - "prepare": "node scripts/husky-install && yarn --cwd ./frontend install && if [ ! -d ./dist ]; then yarn build; fi", + "prepare": "husky", "prepare:backend": "concurrently \"yarn:copy-templates\" \"yarn:build:backend\"", "prestart:dev": "yarn run clean", "start:dev": "TZ=UTC NODE_ENV=development tsc-watch --strictNullChecks false --onSuccess \"node dist/server-dev.js\"", @@ -80,23 +75,11 @@ "testTimeout": 10000, "globalSetup": "./scripts/jest-setup.js", "transform": { - "^.+\\.tsx?$": [ - "@swc/jest" - ] + "^.+\\.tsx?$": ["@swc/jest"] }, "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$", - "testPathIgnorePatterns": [ - "/dist/", - "/node_modules/", - "/frontend/" - ], - "moduleFileExtensions": [ - "ts", - "tsx", - "js", - "jsx", - "json" - ], + "testPathIgnorePatterns": ["/dist/", "/node_modules/", "/frontend/"], + "moduleFileExtensions": ["ts", "tsx", "js", "jsx", "json"], "coveragePathIgnorePatterns": [ "/node_modules/", "/dist/", @@ -169,7 +152,7 @@ "devDependencies": { "@apidevtools/swagger-parser": "10.1.0", "@babel/core": "7.24.0", - "@biomejs/biome": "1.5.1", + "@biomejs/biome": "1.6.1", "@swc/core": "1.4.5", "@swc/jest": "0.2.36", "@types/bcryptjs": "2.4.6", @@ -200,10 +183,10 @@ "faker": "5.5.3", "fast-check": "3.16.0", "fetch-mock": "9.11.0", - "husky": "8.0.3", + "husky": "^9.0.11", "jest": "29.7.0", "jest-junit": "^16.0.0", - "lint-staged": "13.2.3", + "lint-staged": "15.2.2", "nock": "13.5.4", "openapi-enforcer": "1.23.0", "proxyquire": "2.1.3", @@ -234,11 +217,8 @@ "tough-cookie": "4.1.3" }, "lint-staged": { - "*.{js,ts}": [ - "biome check --apply" - ], - "*.json": [ - "biome format --write --no-errors-on-unmatched" - ] + "*.{js,ts}": ["biome check --apply"], + "*.{jsx,tsx}": ["biome check --apply"], + "*.json": ["biome format --write --no-errors-on-unmatched"] } } diff --git a/src/lib/addons/addon.ts b/src/lib/addons/addon.ts index 5ea44beefe3..b1aabcca494 100644 --- a/src/lib/addons/addon.ts +++ b/src/lib/addons/addon.ts @@ -1,9 +1,9 @@ import fetch from 'make-fetch-happen'; import { addonDefinitionSchema } from './addon-schema'; -import { IUnleashConfig } from '../types/option'; -import { Logger } from '../logger'; -import { IAddonDefinition } from '../types/model'; -import { IEvent } from '../types/events'; +import type { IUnleashConfig } from '../types/option'; +import type { Logger } from '../logger'; +import type { IAddonDefinition } from '../types/model'; +import type { IEvent } from '../types/events'; export default abstract class Addon { logger: Logger; diff --git a/src/lib/addons/datadog-definition.ts b/src/lib/addons/datadog-definition.ts index a82b357ca84..582db7e4f9f 100644 --- a/src/lib/addons/datadog-definition.ts +++ b/src/lib/addons/datadog-definition.ts @@ -15,7 +15,7 @@ import { FEATURE_POTENTIALLY_STALE_ON, FEATURE_ENVIRONMENT_VARIANTS_UPDATED, } from '../types/events'; -import { IAddonDefinition } from '../types/model'; +import type { IAddonDefinition } from '../types/model'; const dataDogDefinition: IAddonDefinition = { name: 'datadog', diff --git a/src/lib/addons/datadog.test.ts b/src/lib/addons/datadog.test.ts index 2f57c263bb9..1b25e99987f 100644 --- a/src/lib/addons/datadog.test.ts +++ b/src/lib/addons/datadog.test.ts @@ -2,9 +2,9 @@ import { FEATURE_ARCHIVED, FEATURE_CREATED, FEATURE_ENVIRONMENT_DISABLED, - IEvent, + type IEvent, } from '../types/events'; -import { Logger } from '../logger'; +import type { Logger } from '../logger'; import DatadogAddon from './datadog'; diff --git a/src/lib/addons/datadog.ts b/src/lib/addons/datadog.ts index 9d98f5bf0d0..3b611a111e6 100644 --- a/src/lib/addons/datadog.ts +++ b/src/lib/addons/datadog.ts @@ -2,13 +2,13 @@ import Addon from './addon'; import definition from './datadog-definition'; import Mustache from 'mustache'; -import { IAddonConfig } from '../types/model'; +import type { IAddonConfig } from '../types/model'; import { - FeatureEventFormatter, + type FeatureEventFormatter, FeatureEventFormatterMd, LinkStyle, } from './feature-event-formatter-md'; -import { IEvent } from '../types/events'; +import type { IEvent } from '../types/events'; interface IDatadogParameters { url: string; diff --git a/src/lib/addons/feature-event-formatter-md.test.ts b/src/lib/addons/feature-event-formatter-md.test.ts index 2d92c67219a..0dfe90fb8fa 100644 --- a/src/lib/addons/feature-event-formatter-md.test.ts +++ b/src/lib/addons/feature-event-formatter-md.test.ts @@ -6,7 +6,7 @@ import { FEATURE_STRATEGY_ADD, FEATURE_STRATEGY_REMOVE, FEATURE_STRATEGY_UPDATE, - IEvent, + type IEvent, SYSTEM_USER_ID, } from '../types'; diff --git a/src/lib/addons/feature-event-formatter-md.ts b/src/lib/addons/feature-event-formatter-md.ts index 56a5c36a843..6647984a212 100644 --- a/src/lib/addons/feature-event-formatter-md.ts +++ b/src/lib/addons/feature-event-formatter-md.ts @@ -39,8 +39,8 @@ import { GROUP_CREATED, GROUP_DELETED, GROUP_UPDATED, - IConstraint, - IEvent, + type IConstraint, + type IEvent, BANNER_CREATED, BANNER_DELETED, BANNER_UPDATED, diff --git a/src/lib/addons/index.ts b/src/lib/addons/index.ts index 9276c71772f..d91c9e63561 100644 --- a/src/lib/addons/index.ts +++ b/src/lib/addons/index.ts @@ -2,10 +2,10 @@ import Webhook from './webhook'; import SlackAddon from './slack'; import TeamsAddon from './teams'; import DatadogAddon from './datadog'; -import Addon from './addon'; -import { LogProvider } from '../logger'; +import type Addon from './addon'; +import type { LogProvider } from '../logger'; import SlackAppAddon from './slack-app'; -import { IFlagResolver } from '../types'; +import type { IFlagResolver } from '../types'; export interface IAddonProviders { [key: string]: Addon; diff --git a/src/lib/addons/slack-app-definition.ts b/src/lib/addons/slack-app-definition.ts index 60196adb922..606422c838b 100644 --- a/src/lib/addons/slack-app-definition.ts +++ b/src/lib/addons/slack-app-definition.ts @@ -57,7 +57,7 @@ import { CHANGE_REQUEST_SCHEDULED_APPLICATION_SUCCESS, CHANGE_REQUEST_SCHEDULED_APPLICATION_FAILURE, } from '../types/events'; -import { IAddonDefinition } from '../types/model'; +import type { IAddonDefinition } from '../types/model'; const slackAppDefinition: IAddonDefinition = { name: 'slack-app', diff --git a/src/lib/addons/slack-app.test.ts b/src/lib/addons/slack-app.test.ts index b252dd6490d..943373fb321 100644 --- a/src/lib/addons/slack-app.test.ts +++ b/src/lib/addons/slack-app.test.ts @@ -1,6 +1,6 @@ -import { IEvent, FEATURE_ENVIRONMENT_ENABLED } from '../types/events'; +import { type IEvent, FEATURE_ENVIRONMENT_ENABLED } from '../types/events'; import SlackAppAddon from './slack-app'; -import { ChatPostMessageArguments, ErrorCode } from '@slack/web-api'; +import { type ChatPostMessageArguments, ErrorCode } from '@slack/web-api'; import { SYSTEM_USER_ID } from '../types'; const slackApiCalls: ChatPostMessageArguments[] = []; diff --git a/src/lib/addons/slack-app.ts b/src/lib/addons/slack-app.ts index d5ac9d44495..6d92077bd0f 100644 --- a/src/lib/addons/slack-app.ts +++ b/src/lib/addons/slack-app.ts @@ -2,24 +2,24 @@ import { WebClient, ErrorCode, WebClientEvent, - CodedError, - WebAPIPlatformError, - WebAPIRequestError, - WebAPIRateLimitedError, - WebAPIHTTPError, - KnownBlock, - Block, + type CodedError, + type WebAPIPlatformError, + type WebAPIRequestError, + type WebAPIRateLimitedError, + type WebAPIHTTPError, + type KnownBlock, + type Block, } from '@slack/web-api'; import Addon from './addon'; import slackAppDefinition from './slack-app-definition'; -import { IAddonConfig } from '../types/model'; +import type { IAddonConfig } from '../types/model'; import { - FeatureEventFormatter, + type FeatureEventFormatter, FeatureEventFormatterMd, LinkStyle, } from './feature-event-formatter-md'; -import { IEvent } from '../types/events'; +import type { IEvent } from '../types/events'; interface ISlackAppAddonParameters { accessToken: string; diff --git a/src/lib/addons/slack-definition.ts b/src/lib/addons/slack-definition.ts index e2407b75506..66f6d91eab0 100644 --- a/src/lib/addons/slack-definition.ts +++ b/src/lib/addons/slack-definition.ts @@ -15,7 +15,7 @@ import { FEATURE_VARIANTS_UPDATED, FEATURE_POTENTIALLY_STALE_ON, } from '../types/events'; -import { IAddonDefinition } from '../types/model'; +import type { IAddonDefinition } from '../types/model'; const slackDefinition: IAddonDefinition = { name: 'slack', diff --git a/src/lib/addons/slack.test.ts b/src/lib/addons/slack.test.ts index 06d03de2e9c..ce5e1344236 100644 --- a/src/lib/addons/slack.test.ts +++ b/src/lib/addons/slack.test.ts @@ -2,9 +2,9 @@ import { FEATURE_CREATED, FEATURE_ARCHIVED, FEATURE_ENVIRONMENT_DISABLED, - IEvent, + type IEvent, } from '../types/events'; -import { Logger } from '../logger'; +import type { Logger } from '../logger'; import SlackAddon from './slack'; diff --git a/src/lib/addons/slack.ts b/src/lib/addons/slack.ts index 137d3540be6..e496206eb0b 100644 --- a/src/lib/addons/slack.ts +++ b/src/lib/addons/slack.ts @@ -1,14 +1,14 @@ import Addon from './addon'; import slackDefinition from './slack-definition'; -import { IAddonConfig } from '../types/model'; +import type { IAddonConfig } from '../types/model'; import { - FeatureEventFormatter, + type FeatureEventFormatter, FeatureEventFormatterMd, LinkStyle, } from './feature-event-formatter-md'; -import { IEvent } from '../types/events'; +import type { IEvent } from '../types/events'; interface ISlackAddonParameters { url: string; diff --git a/src/lib/addons/teams-definition.ts b/src/lib/addons/teams-definition.ts index 3c888be9f6a..a1c56564040 100644 --- a/src/lib/addons/teams-definition.ts +++ b/src/lib/addons/teams-definition.ts @@ -15,7 +15,7 @@ import { FEATURE_VARIANTS_UPDATED, FEATURE_POTENTIALLY_STALE_ON, } from '../types/events'; -import { IAddonDefinition } from '../types/model'; +import type { IAddonDefinition } from '../types/model'; const teamsDefinition: IAddonDefinition = { name: 'teams', diff --git a/src/lib/addons/teams.test.ts b/src/lib/addons/teams.test.ts index 8bbd239e40d..6352a8b2180 100644 --- a/src/lib/addons/teams.test.ts +++ b/src/lib/addons/teams.test.ts @@ -1,10 +1,10 @@ -import { Logger } from '../logger'; +import type { Logger } from '../logger'; import { FEATURE_ARCHIVED, FEATURE_CREATED, FEATURE_ENVIRONMENT_DISABLED, - IEvent, + type IEvent, } from '../types/events'; import TeamsAddon from './teams'; diff --git a/src/lib/addons/teams.ts b/src/lib/addons/teams.ts index 3b73d4a29db..382e8181034 100644 --- a/src/lib/addons/teams.ts +++ b/src/lib/addons/teams.ts @@ -1,12 +1,12 @@ import Addon from './addon'; import teamsDefinition from './teams-definition'; -import { IAddonConfig } from '../types/model'; +import type { IAddonConfig } from '../types/model'; import { - FeatureEventFormatter, + type FeatureEventFormatter, FeatureEventFormatterMd, } from './feature-event-formatter-md'; -import { IEvent } from '../types/events'; +import type { IEvent } from '../types/events'; interface ITeamsParameters { url: string; diff --git a/src/lib/addons/webhook-definition.ts b/src/lib/addons/webhook-definition.ts index 2867fd6193b..30438b18377 100644 --- a/src/lib/addons/webhook-definition.ts +++ b/src/lib/addons/webhook-definition.ts @@ -30,7 +30,7 @@ import { CHANGE_REQUEST_SCHEDULED, CHANGE_REQUEST_SCHEDULE_SUSPENDED, } from '../types/events'; -import { IAddonDefinition } from '../types/model'; +import type { IAddonDefinition } from '../types/model'; const webhookDefinition: IAddonDefinition = { name: 'webhook', diff --git a/src/lib/addons/webhook.test.ts b/src/lib/addons/webhook.test.ts index 95d281319da..03729ba0151 100644 --- a/src/lib/addons/webhook.test.ts +++ b/src/lib/addons/webhook.test.ts @@ -1,6 +1,6 @@ -import { Logger } from '../logger'; +import type { Logger } from '../logger'; -import { FEATURE_CREATED, IEvent } from '../types/events'; +import { FEATURE_CREATED, type IEvent } from '../types/events'; import WebhookAddon from './webhook'; diff --git a/src/lib/addons/webhook.ts b/src/lib/addons/webhook.ts index 95a1465ba4f..ed0dede5885 100644 --- a/src/lib/addons/webhook.ts +++ b/src/lib/addons/webhook.ts @@ -1,8 +1,8 @@ import Mustache from 'mustache'; import Addon from './addon'; import definition from './webhook-definition'; -import { LogProvider } from '../logger'; -import { IEvent } from '../types/events'; +import type { LogProvider } from '../logger'; +import type { IEvent } from '../types/events'; interface IParameters { url: string; diff --git a/src/lib/app.ts b/src/lib/app.ts index 6e5ed9e5b45..64acd87dc6e 100644 --- a/src/lib/app.ts +++ b/src/lib/app.ts @@ -1,4 +1,4 @@ -import express, { Application, RequestHandler } from 'express'; +import express, { type Application, type RequestHandler } from 'express'; import compression from 'compression'; import favicon from 'serve-favicon'; import cookieParser from 'cookie-parser'; @@ -8,9 +8,9 @@ import { responseTimeMetrics } from './middleware/response-time-metrics'; import { corsOriginMiddleware } from './middleware/cors-origin-middleware'; import rbacMiddleware from './middleware/rbac-middleware'; import apiTokenMiddleware from './middleware/api-token-middleware'; -import { IUnleashServices } from './types/services'; -import { IAuthType, IUnleashConfig } from './types/option'; -import { IUnleashStores } from './types'; +import type { IUnleashServices } from './types/services'; +import { IAuthType, type IUnleashConfig } from './types/option'; +import type { IUnleashStores } from './types'; import IndexRouter from './routes'; @@ -23,7 +23,7 @@ import secureHeaders from './middleware/secure-headers'; import { loadIndexHTML } from './util/load-index-html'; import { findPublicFolder } from './util/findPublicFolder'; import patMiddleware from './middleware/pat-middleware'; -import { Knex } from 'knex'; +import type { Knex } from 'knex'; import maintenanceMiddleware from './features/maintenance/maintenance-middleware'; import { unless } from './middleware/unless-middleware'; import { catchAllErrorHandler } from './middleware/catch-all-error-handler'; diff --git a/src/lib/create-config.ts b/src/lib/create-config.ts index 718830857f3..fd559ba0454 100644 --- a/src/lib/create-config.ts +++ b/src/lib/create-config.ts @@ -2,24 +2,24 @@ import { parse } from 'pg-connection-string'; import merge from 'deepmerge'; import * as fs from 'fs'; import { - IUnleashOptions, - IUnleashConfig, - IDBOption, - ISessionOption, - IServerOption, - IVersionOption, - IAuthOption, + type IUnleashOptions, + type IUnleashConfig, + type IDBOption, + type ISessionOption, + type IServerOption, + type IVersionOption, + type IAuthOption, IAuthType, - IImportOption, - IEmailOption, - IListeningPipe, - IListeningHost, - IUIConfig, - ICspDomainConfig, - ICspDomainOptions, - IClientCachingOption, - IMetricsRateLimiting, - IRateLimiting, + type IImportOption, + type IEmailOption, + type IListeningPipe, + type IListeningHost, + type IUIConfig, + type ICspDomainConfig, + type ICspDomainOptions, + type IClientCachingOption, + type IMetricsRateLimiting, + type IRateLimiting, } from './types/option'; import { getDefaultLogProvider, LogLevel, validateLogProvider } from './logger'; import { defaultCustomAuthDenyAll } from './default-custom-auth-deny-all'; @@ -42,7 +42,7 @@ import { } from './util/parseEnvVar'; import { defaultExperimentalOptions, - IExperimentalOptions, + type IExperimentalOptions, } from './types/experimental'; import { DEFAULT_SEGMENT_VALUES_LIMIT, @@ -50,7 +50,7 @@ import { } from './util/segments'; import FlagResolver from './util/flag-resolver'; import { validateOrigins } from './util/validateOrigin'; -import { ResourceLimitsSchema } from './openapi/spec/resource-limits-schema'; +import type { ResourceLimitsSchema } from './openapi/spec/resource-limits-schema'; const safeToUpper = (s?: string) => (s ? s.toUpperCase() : s); diff --git a/src/lib/db/access-store.test.ts b/src/lib/db/access-store.test.ts index cd14be42c93..3777a12271f 100644 --- a/src/lib/db/access-store.test.ts +++ b/src/lib/db/access-store.test.ts @@ -1,7 +1,7 @@ -import dbInit, { ITestDb } from '../../test/e2e/helpers/database-init'; +import dbInit, { type ITestDb } from '../../test/e2e/helpers/database-init'; import getLogger from '../../test/fixtures/no-logger'; -import { PermissionRef } from '../services/access-service'; -import { AccessStore } from './access-store'; +import type { PermissionRef } from '../services/access-service'; +import type { AccessStore } from './access-store'; import { BadDataError } from '../error'; let db: ITestDb; diff --git a/src/lib/db/access-store.ts b/src/lib/db/access-store.ts index c9ee8f950ff..c374e1ef32c 100644 --- a/src/lib/db/access-store.ts +++ b/src/lib/db/access-store.ts @@ -1,8 +1,8 @@ -import { EventEmitter } from 'events'; +import type { EventEmitter } from 'events'; import metricsHelper from '../util/metrics-helper'; import { DB_TIME } from '../metric-events'; -import { Logger } from '../logger'; -import { +import type { Logger } from '../logger'; +import type { IAccessInfo, IAccessStore, IProjectRoleUsage, @@ -12,7 +12,7 @@ import { IUserRole, IUserWithProjectRoles, } from '../types/stores/access-store'; -import { IPermission, IUserAccessOverview } from '../types/model'; +import type { IPermission, IUserAccessOverview } from '../types/model'; import NotFoundError from '../error/notfound-error'; import { ENVIRONMENT_PERMISSION_TYPE, @@ -20,8 +20,8 @@ import { ROOT_PERMISSION_TYPE, ROOT_ROLE_TYPES, } from '../util/constants'; -import { Db } from './db'; -import { +import type { Db } from './db'; +import type { IdPermissionRef, NamePermissionRef, PermissionRef, diff --git a/src/lib/db/account-store.ts b/src/lib/db/account-store.ts index 48743fd9f60..e1a9b6aba31 100644 --- a/src/lib/db/account-store.ts +++ b/src/lib/db/account-store.ts @@ -1,11 +1,11 @@ -import { Logger, LogProvider } from '../logger'; +import type { Logger, LogProvider } from '../logger'; import User from '../types/user'; import NotFoundError from '../error/notfound-error'; -import { IUserLookup } from '../types/stores/user-store'; -import { IAdminCount } from '../types/stores/account-store'; -import { IAccountStore } from '../types'; -import { Db } from './db'; +import type { IUserLookup } from '../types/stores/user-store'; +import type { IAdminCount } from '../types/stores/account-store'; +import type { IAccountStore } from '../types'; +import type { Db } from './db'; const TABLE = 'users'; diff --git a/src/lib/db/addon-store.ts b/src/lib/db/addon-store.ts index e7513a85998..78843985033 100644 --- a/src/lib/db/addon-store.ts +++ b/src/lib/db/addon-store.ts @@ -1,11 +1,15 @@ -import EventEmitter from 'events'; -import { Logger, LogProvider } from '../logger'; -import { IAddon, IAddonDto, IAddonStore } from '../types/stores/addon-store'; +import type EventEmitter from 'events'; +import type { Logger, LogProvider } from '../logger'; +import type { + IAddon, + IAddonDto, + IAddonStore, +} from '../types/stores/addon-store'; import metricsHelper from '../util/metrics-helper'; import { DB_TIME } from '../metric-events'; import NotFoundError from '../error/notfound-error'; -import { Db } from './db'; +import type { Db } from './db'; const COLUMNS = [ 'id', diff --git a/src/lib/db/api-token-store.ts b/src/lib/db/api-token-store.ts index 031df26cc33..48f4fe27f82 100644 --- a/src/lib/db/api-token-store.ts +++ b/src/lib/db/api-token-store.ts @@ -1,17 +1,17 @@ -import { EventEmitter } from 'events'; +import type { EventEmitter } from 'events'; import metricsHelper from '../util/metrics-helper'; import { DB_TIME } from '../metric-events'; -import { Logger, LogProvider } from '../logger'; +import type { Logger, LogProvider } from '../logger'; import NotFoundError from '../error/notfound-error'; -import { IApiTokenStore } from '../types/stores/api-token-store'; +import type { IApiTokenStore } from '../types/stores/api-token-store'; import { - ApiTokenType, - IApiToken, - IApiTokenCreate, + type ApiTokenType, + type IApiToken, + type IApiTokenCreate, isAllProjects, } from '../types/models/api-token'; import { ALL_PROJECTS } from '../util/constants'; -import { Db } from './db'; +import type { Db } from './db'; import { inTransaction } from './transaction'; const TABLE = 'api_tokens'; diff --git a/src/lib/db/client-applications-store.ts b/src/lib/db/client-applications-store.ts index 50b7657df71..b3502c8ed55 100644 --- a/src/lib/db/client-applications-store.ts +++ b/src/lib/db/client-applications-store.ts @@ -1,14 +1,14 @@ -import EventEmitter from 'events'; +import type EventEmitter from 'events'; import NotFoundError from '../error/notfound-error'; -import { +import type { IClientApplication, IClientApplications, IClientApplicationsSearchParams, IClientApplicationsStore, } from '../types/stores/client-applications-store'; -import { Logger, LogProvider } from '../logger'; -import { Db } from './db'; -import { IApplicationOverview } from '../features/metrics/instance/models'; +import type { Logger, LogProvider } from '../logger'; +import type { Db } from './db'; +import type { IApplicationOverview } from '../features/metrics/instance/models'; import { applySearchFilters } from '../features/feature-search/search-utils'; const COLUMNS = [ diff --git a/src/lib/db/client-instance-store.ts b/src/lib/db/client-instance-store.ts index e68ac8b075f..02d35f49d78 100644 --- a/src/lib/db/client-instance-store.ts +++ b/src/lib/db/client-instance-store.ts @@ -1,12 +1,12 @@ -import EventEmitter from 'events'; -import { Logger, LogProvider } from '../logger'; -import { +import type EventEmitter from 'events'; +import type { Logger, LogProvider } from '../logger'; +import type { IClientInstance, IClientInstanceStore, INewClientInstance, } from '../types/stores/client-instance-store'; import { subDays } from 'date-fns'; -import { Db } from './db'; +import type { Db } from './db'; const metricsHelper = require('../util/metrics-helper'); const { DB_TIME } = require('../metric-events'); diff --git a/src/lib/db/context-field-store.ts b/src/lib/db/context-field-store.ts index 6c85d08e204..43559c2f7a5 100644 --- a/src/lib/db/context-field-store.ts +++ b/src/lib/db/context-field-store.ts @@ -1,13 +1,13 @@ -import { Db } from './db'; -import { Logger, LogProvider } from '../logger'; -import { +import type { Db } from './db'; +import type { Logger, LogProvider } from '../logger'; +import type { IContextField, IContextFieldDto, IContextFieldStore, ILegalValue, } from '../types/stores/context-field-store'; import NotFoundError from '../error/notfound-error'; -import { IFlagResolver } from '../types'; +import type { IFlagResolver } from '../types'; const COLUMNS = [ 'name', diff --git a/src/lib/db/crud/crud-store.ts b/src/lib/db/crud/crud-store.ts index a1f6f36c3f3..2c21bb891a0 100644 --- a/src/lib/db/crud/crud-store.ts +++ b/src/lib/db/crud/crud-store.ts @@ -1,10 +1,10 @@ import { NotFoundError } from '../../error'; import { DB_TIME } from '../../metric-events'; -import { Db, IUnleashConfig } from '../../server-impl'; -import { Store } from '../../types/stores/store'; +import type { Db, IUnleashConfig } from '../../server-impl'; +import type { Store } from '../../types/stores/store'; import metricsHelper from '../../util/metrics-helper'; import { defaultFromRow, defaultToRow } from './default-mappings'; -import { Row } from './row-type'; +import type { Row } from './row-type'; export type CrudStoreConfig = Pick; diff --git a/src/lib/db/db-pool.ts b/src/lib/db/db-pool.ts index e59b18b6fe1..99b58bb8ada 100644 --- a/src/lib/db/db-pool.ts +++ b/src/lib/db/db-pool.ts @@ -1,5 +1,5 @@ -import { knex, Knex } from 'knex'; -import { IUnleashConfig } from '../types/option'; +import { knex, type Knex } from 'knex'; +import type { IUnleashConfig } from '../types/option'; export function createDb({ db, diff --git a/src/lib/db/db.ts b/src/lib/db/db.ts index 4d92e997014..a9039eefdc8 100644 --- a/src/lib/db/db.ts +++ b/src/lib/db/db.ts @@ -1,3 +1,3 @@ -import { Knex } from 'knex'; +import type { Knex } from 'knex'; export type Db = Knex | Knex.Transaction; diff --git a/src/lib/db/favorite-features-store.ts b/src/lib/db/favorite-features-store.ts index 3886ba49883..86952161b12 100644 --- a/src/lib/db/favorite-features-store.ts +++ b/src/lib/db/favorite-features-store.ts @@ -1,9 +1,9 @@ -import EventEmitter from 'events'; -import { IFavoriteFeaturesStore } from '../types'; -import { Logger, LogProvider } from '../logger'; -import { IFavoriteFeatureKey } from '../types/stores/favorite-features'; -import { IFavoriteFeature } from '../types/favorites'; -import { Db } from './db'; +import type EventEmitter from 'events'; +import type { IFavoriteFeaturesStore } from '../types'; +import type { Logger, LogProvider } from '../logger'; +import type { IFavoriteFeatureKey } from '../types/stores/favorite-features'; +import type { IFavoriteFeature } from '../types/favorites'; +import type { Db } from './db'; const T = { FAVORITE_FEATURES: 'favorite_features', diff --git a/src/lib/db/favorite-projects-store.ts b/src/lib/db/favorite-projects-store.ts index 8e7a642be8d..c8d673a602f 100644 --- a/src/lib/db/favorite-projects-store.ts +++ b/src/lib/db/favorite-projects-store.ts @@ -1,11 +1,11 @@ -import EventEmitter from 'events'; -import { Logger, LogProvider } from '../logger'; -import { IFavoriteProject } from '../types/favorites'; -import { +import type EventEmitter from 'events'; +import type { Logger, LogProvider } from '../logger'; +import type { IFavoriteProject } from '../types/favorites'; +import type { IFavoriteProjectKey, IFavoriteProjectsStore, } from '../types/stores/favorite-projects'; -import { Db } from './db'; +import type { Db } from './db'; const T = { FAVORITE_PROJECTS: 'favorite_projects', diff --git a/src/lib/db/feature-environment-store.ts b/src/lib/db/feature-environment-store.ts index 139e08707e7..2d08914a8bf 100644 --- a/src/lib/db/feature-environment-store.ts +++ b/src/lib/db/feature-environment-store.ts @@ -1,15 +1,15 @@ -import EventEmitter from 'events'; -import { +import type EventEmitter from 'events'; +import type { FeatureEnvironmentKey, IFeatureEnvironmentStore, } from '../types/stores/feature-environment-store'; -import { Logger, LogProvider } from '../logger'; +import type { Logger, LogProvider } from '../logger'; import metricsHelper from '../util/metrics-helper'; import { DB_TIME } from '../metric-events'; -import { IFeatureEnvironment, IVariant } from '../types/model'; +import type { IFeatureEnvironment, IVariant } from '../types/model'; import NotFoundError from '../error/notfound-error'; import { v4 as uuidv4 } from 'uuid'; -import { Db } from './db'; +import type { Db } from './db'; const T = { featureEnvs: 'feature_environments', diff --git a/src/lib/db/feature-strategy-store.test.ts b/src/lib/db/feature-strategy-store.test.ts index 76bb35805e1..6641e28b7e5 100644 --- a/src/lib/db/feature-strategy-store.test.ts +++ b/src/lib/db/feature-strategy-store.test.ts @@ -1,6 +1,6 @@ -import dbInit, { ITestDb } from '../../test/e2e/helpers/database-init'; +import dbInit, { type ITestDb } from '../../test/e2e/helpers/database-init'; import getLogger from '../../test/fixtures/no-logger'; -import { +import type { IFeatureStrategiesStore, IFeatureStrategy, IFeatureToggleStore, diff --git a/src/lib/db/feature-tag-store.ts b/src/lib/db/feature-tag-store.ts index bee15a23932..3584e4c511d 100644 --- a/src/lib/db/feature-tag-store.ts +++ b/src/lib/db/feature-tag-store.ts @@ -1,15 +1,15 @@ -import { Logger, LogProvider } from '../logger'; -import { ITag } from '../types'; -import EventEmitter from 'events'; +import type { Logger, LogProvider } from '../logger'; +import type { ITag } from '../types'; +import type EventEmitter from 'events'; import metricsHelper from '../util/metrics-helper'; import { DB_TIME } from '../metric-events'; -import { +import type { IFeatureAndTag, IFeatureTag, IFeatureTagInsert, IFeatureTagStore, } from '../types/stores/feature-tag-store'; -import { Db } from './db'; +import type { Db } from './db'; import NotFoundError from '../error/notfound-error'; const COLUMNS = ['feature_name', 'tag_type', 'tag_value']; diff --git a/src/lib/db/feature-type-store.ts b/src/lib/db/feature-type-store.ts index 0d02174e4ba..4c00220b607 100644 --- a/src/lib/db/feature-type-store.ts +++ b/src/lib/db/feature-type-store.ts @@ -1,9 +1,9 @@ -import { Logger, LogProvider } from '../logger'; -import { +import type { Logger, LogProvider } from '../logger'; +import type { IFeatureType, IFeatureTypeStore, } from '../types/stores/feature-type-store'; -import { Db } from './db'; +import type { Db } from './db'; const COLUMNS = ['id', 'name', 'description', 'lifetime_days']; const TABLE = 'feature_types'; diff --git a/src/lib/db/group-store.ts b/src/lib/db/group-store.ts index 835b6eb416b..bb5b3112b76 100644 --- a/src/lib/db/group-store.ts +++ b/src/lib/db/group-store.ts @@ -1,16 +1,16 @@ -import { IGroupStore, IStoreGroup } from '../types/stores/group-store'; +import type { IGroupStore, IStoreGroup } from '../types/stores/group-store'; import NotFoundError from '../error/notfound-error'; import Group, { - ICreateGroupUserModel, - IGroup, - IGroupModel, - IGroupProject, - IGroupRole, - IGroupUser, + type ICreateGroupUserModel, + type IGroup, + type IGroupModel, + type IGroupProject, + type IGroupRole, + type IGroupUser, } from '../types/group'; -import { Db } from './db'; +import type { Db } from './db'; import { BadDataError, FOREIGN_KEY_VIOLATION } from '../error'; -import { IGroupWithProjectRoles } from '../types/stores/access-store'; +import type { IGroupWithProjectRoles } from '../types/stores/access-store'; import { PROJECT_ROLE_TYPES } from '../util'; const T = { diff --git a/src/lib/db/index.ts b/src/lib/db/index.ts index 67d3055916b..9f3b3c51be8 100644 --- a/src/lib/db/index.ts +++ b/src/lib/db/index.ts @@ -1,4 +1,4 @@ -import { IUnleashConfig, IUnleashStores } from '../types'; +import type { IUnleashConfig, IUnleashStores } from '../types'; import EventStore from '../features/events/event-store'; import FeatureToggleStore from '../features/feature-toggle/feature-toggle-store'; @@ -34,7 +34,7 @@ import { FavoriteFeaturesStore } from './favorite-features-store'; import { FavoriteProjectsStore } from './favorite-projects-store'; import { AccountStore } from './account-store'; import ProjectStatsStore from './project-stats-store'; -import { Db } from './db'; +import type { Db } from './db'; import { ImportTogglesStore } from '../features/export-import-toggles/import-toggles-store'; import PrivateProjectStore from '../features/private-project/privateProjectStore'; import { DependentFeaturesStore } from '../features/dependent-features/dependent-features-store'; diff --git a/src/lib/db/pat-store.ts b/src/lib/db/pat-store.ts index 038d2ef1791..21533b6cc6f 100644 --- a/src/lib/db/pat-store.ts +++ b/src/lib/db/pat-store.ts @@ -1,8 +1,8 @@ -import { Logger, LogProvider } from '../logger'; -import { IPatStore } from '../types/stores/pat-store'; +import type { Logger, LogProvider } from '../logger'; +import type { IPatStore } from '../types/stores/pat-store'; import NotFoundError from '../error/notfound-error'; -import { Db } from './db'; -import { CreatePatSchema, PatSchema } from '../openapi'; +import type { Db } from './db'; +import type { CreatePatSchema, PatSchema } from '../openapi'; const TABLE = 'personal_access_tokens'; diff --git a/src/lib/db/project-stats-store.ts b/src/lib/db/project-stats-store.ts index 627e00c6821..0cc1c47e2f8 100644 --- a/src/lib/db/project-stats-store.ts +++ b/src/lib/db/project-stats-store.ts @@ -1,15 +1,15 @@ -import { Logger, LogProvider } from '../logger'; +import type { Logger, LogProvider } from '../logger'; import metricsHelper from '../util/metrics-helper'; import { DB_TIME } from '../metric-events'; -import EventEmitter from 'events'; -import { IProjectStats } from '../features/project/project-service'; -import { +import type EventEmitter from 'events'; +import type { IProjectStats } from '../features/project/project-service'; +import type { ICreateEnabledDates, IProjectStatsStore, } from '../types/stores/project-stats-store-type'; -import { Db } from './db'; -import { DoraFeaturesSchema } from '../openapi'; +import type { Db } from './db'; +import type { DoraFeaturesSchema } from '../openapi'; const TABLE = 'project_stats'; diff --git a/src/lib/db/public-signup-token-store.ts b/src/lib/db/public-signup-token-store.ts index ab764172c75..40e9f35c125 100644 --- a/src/lib/db/public-signup-token-store.ts +++ b/src/lib/db/public-signup-token-store.ts @@ -1,13 +1,13 @@ -import { EventEmitter } from 'events'; +import type { EventEmitter } from 'events'; import metricsHelper from '../util/metrics-helper'; import { DB_TIME } from '../metric-events'; -import { Logger, LogProvider } from '../logger'; +import type { Logger, LogProvider } from '../logger'; import NotFoundError from '../error/notfound-error'; -import { PublicSignupTokenSchema } from '../openapi/spec/public-signup-token-schema'; -import { IPublicSignupTokenStore } from '../types/stores/public-signup-token-store'; -import { UserSchema } from '../openapi/spec/user-schema'; -import { IPublicSignupTokenCreate } from '../types/models/public-signup-token'; -import { Db } from './db'; +import type { PublicSignupTokenSchema } from '../openapi/spec/public-signup-token-schema'; +import type { IPublicSignupTokenStore } from '../types/stores/public-signup-token-store'; +import type { UserSchema } from '../openapi/spec/user-schema'; +import type { IPublicSignupTokenCreate } from '../types/models/public-signup-token'; +import type { Db } from './db'; const TABLE = 'public_signup_tokens'; const TOKEN_USERS_TABLE = 'public_signup_tokens_user'; diff --git a/src/lib/db/reset-token-store.ts b/src/lib/db/reset-token-store.ts index dfde6c4cb99..06f77f04c4e 100644 --- a/src/lib/db/reset-token-store.ts +++ b/src/lib/db/reset-token-store.ts @@ -1,16 +1,16 @@ -import { EventEmitter } from 'events'; +import type { EventEmitter } from 'events'; import metricsHelper from '../util/metrics-helper'; import { DB_TIME } from '../metric-events'; -import { Logger, LogProvider } from '../logger'; +import type { Logger, LogProvider } from '../logger'; import NotFoundError from '../error/notfound-error'; -import { +import type { IResetQuery, IResetToken, IResetTokenCreate, IResetTokenQuery, IResetTokenStore, } from '../types/stores/reset-token-store'; -import { Db } from './db'; +import type { Db } from './db'; const TABLE = 'reset_tokens'; diff --git a/src/lib/db/role-store.ts b/src/lib/db/role-store.ts index 5c808442935..dc78ff16fdd 100644 --- a/src/lib/db/role-store.ts +++ b/src/lib/db/role-store.ts @@ -1,16 +1,16 @@ -import EventEmitter from 'events'; -import { Logger, LogProvider } from '../logger'; +import type EventEmitter from 'events'; +import type { Logger, LogProvider } from '../logger'; import NotFoundError from '../error/notfound-error'; -import { ICustomRole } from '../types/model'; -import { +import type { ICustomRole } from '../types/model'; +import type { ICustomRoleInsert, ICustomRoleUpdate, IRoleStore, } from '../types/stores/role-store'; -import { IRole, IUserRole } from '../types/stores/access-store'; -import { Db } from './db'; +import type { IRole, IUserRole } from '../types/stores/access-store'; +import type { Db } from './db'; import { PROJECT_ROLE_TYPES, ROOT_ROLE_TYPES } from '../util'; -import { RoleSchema } from '../openapi'; +import type { RoleSchema } from '../openapi'; const T = { ROLE_USER: 'role_user', diff --git a/src/lib/db/session-store.ts b/src/lib/db/session-store.ts index 44dc6b450f4..b12ef5b772c 100644 --- a/src/lib/db/session-store.ts +++ b/src/lib/db/session-store.ts @@ -1,9 +1,9 @@ -import EventEmitter from 'events'; -import { Logger, LogProvider } from '../logger'; +import type EventEmitter from 'events'; +import type { Logger, LogProvider } from '../logger'; import NotFoundError from '../error/notfound-error'; -import { ISession, ISessionStore } from '../types/stores/session-store'; +import type { ISession, ISessionStore } from '../types/stores/session-store'; import { addDays } from 'date-fns'; -import { Db } from './db'; +import type { Db } from './db'; const TABLE = 'unleash_session'; diff --git a/src/lib/db/setting-store.ts b/src/lib/db/setting-store.ts index df5db4b7ba2..7aa8ec284d3 100644 --- a/src/lib/db/setting-store.ts +++ b/src/lib/db/setting-store.ts @@ -1,6 +1,6 @@ -import { Logger, LogProvider } from '../logger'; -import { ISettingStore } from '../types/stores/settings-store'; -import { Db } from './db'; +import type { Logger, LogProvider } from '../logger'; +import type { ISettingStore } from '../types/stores/settings-store'; +import type { Db } from './db'; const TABLE = 'settings'; diff --git a/src/lib/db/strategy-store.ts b/src/lib/db/strategy-store.ts index e99ae9ef99e..35546cf26ac 100644 --- a/src/lib/db/strategy-store.ts +++ b/src/lib/db/strategy-store.ts @@ -1,14 +1,14 @@ -import { Logger, LogProvider } from '../logger'; +import type { Logger, LogProvider } from '../logger'; import NotFoundError from '../error/notfound-error'; -import { +import type { IEditableStrategy, IMinimalStrategyRow, IStrategy, IStrategyImport, IStrategyStore, } from '../types/stores/strategy-store'; -import { Db } from './db'; +import type { Db } from './db'; const STRATEGY_COLUMNS = [ 'title', diff --git a/src/lib/db/tag-store.ts b/src/lib/db/tag-store.ts index 87e23a8253d..886e37ec956 100644 --- a/src/lib/db/tag-store.ts +++ b/src/lib/db/tag-store.ts @@ -1,11 +1,11 @@ -import { EventEmitter } from 'events'; +import type { EventEmitter } from 'events'; import { DB_TIME } from '../metric-events'; import metricsHelper from '../util/metrics-helper'; -import { LogProvider, Logger } from '../logger'; +import type { LogProvider, Logger } from '../logger'; import NotFoundError from '../error/notfound-error'; -import { ITag } from '../types/model'; -import { ITagStore } from '../types/stores/tag-store'; -import { Db } from './db'; +import type { ITag } from '../types/model'; +import type { ITagStore } from '../types/stores/tag-store'; +import type { Db } from './db'; const COLUMNS = ['type', 'value']; const TABLE = 'tags'; diff --git a/src/lib/db/transaction.ts b/src/lib/db/transaction.ts index afc4167864b..2a7988d75d1 100644 --- a/src/lib/db/transaction.ts +++ b/src/lib/db/transaction.ts @@ -1,5 +1,5 @@ -import { Knex } from 'knex'; -import { IUnleashConfig } from '../server-impl'; +import type { Knex } from 'knex'; +import type { IUnleashConfig } from '../server-impl'; export type KnexTransaction = Knex.Transaction; diff --git a/src/lib/db/user-feedback-store.ts b/src/lib/db/user-feedback-store.ts index cb1678fcc0a..a9297624620 100644 --- a/src/lib/db/user-feedback-store.ts +++ b/src/lib/db/user-feedback-store.ts @@ -1,11 +1,11 @@ -import { EventEmitter } from 'events'; -import { LogProvider, Logger } from '../logger'; -import { +import type { EventEmitter } from 'events'; +import type { LogProvider, Logger } from '../logger'; +import type { IUserFeedback, IUserFeedbackKey, IUserFeedbackStore, } from '../types/stores/user-feedback-store'; -import { Db } from './db'; +import type { Db } from './db'; const COLUMNS = ['given', 'user_id', 'feedback_id', 'nevershow']; const TABLE = 'user_feedback'; diff --git a/src/lib/db/user-splash-store.ts b/src/lib/db/user-splash-store.ts index 667edee6fdb..d1ee22f47a2 100644 --- a/src/lib/db/user-splash-store.ts +++ b/src/lib/db/user-splash-store.ts @@ -1,11 +1,11 @@ -import { EventEmitter } from 'events'; -import { LogProvider, Logger } from '../logger'; -import { +import type { EventEmitter } from 'events'; +import type { LogProvider, Logger } from '../logger'; +import type { IUserSplash, IUserSplashKey, IUserSplashStore, } from '../types/stores/user-splash-store'; -import { Db } from './db'; +import type { Db } from './db'; const COLUMNS = ['user_id', 'splash_id', 'seen']; const TABLE = 'user_splash'; diff --git a/src/lib/db/user-store.ts b/src/lib/db/user-store.ts index ca21d28c8a1..73a4e1e2efd 100644 --- a/src/lib/db/user-store.ts +++ b/src/lib/db/user-store.ts @@ -1,16 +1,16 @@ /* eslint camelcase: "off" */ -import { Logger, LogProvider } from '../logger'; +import type { Logger, LogProvider } from '../logger'; import User from '../types/user'; import NotFoundError from '../error/notfound-error'; -import { +import type { ICreateUser, IUserLookup, IUserStore, IUserUpdateFields, } from '../types/stores/user-store'; -import { Db } from './db'; +import type { Db } from './db'; const TABLE = 'users'; diff --git a/src/lib/default-custom-auth-deny-all.ts b/src/lib/default-custom-auth-deny-all.ts index 8e29bc42c6d..a44864f5170 100644 --- a/src/lib/default-custom-auth-deny-all.ts +++ b/src/lib/default-custom-auth-deny-all.ts @@ -1,5 +1,5 @@ -import { Express } from 'express'; -import { IUnleashConfig } from './types/option'; +import type { Express } from 'express'; +import type { IUnleashConfig } from './types/option'; const customAuthWarning = 'You have to configure a custom authentication middleware. Read https://docs.getunleash.io/docs/reference/deploy/configuring-unleash for more details'; diff --git a/src/lib/error/bad-data-error.ts b/src/lib/error/bad-data-error.ts index 61cb28f953a..468b01d0791 100644 --- a/src/lib/error/bad-data-error.ts +++ b/src/lib/error/bad-data-error.ts @@ -1,7 +1,7 @@ -import { ErrorObject } from 'ajv'; -import { ValidationError } from 'joi'; +import type { ErrorObject } from 'ajv'; +import type { ValidationError } from 'joi'; import getProp from 'lodash.get'; -import { ApiErrorSchema, UnleashError } from './unleash-error'; +import { type ApiErrorSchema, UnleashError } from './unleash-error'; type ValidationErrorDescription = { description?: string; diff --git a/src/lib/error/from-legacy-error.ts b/src/lib/error/from-legacy-error.ts index 41e122f22f3..99c656db94f 100644 --- a/src/lib/error/from-legacy-error.ts +++ b/src/lib/error/from-legacy-error.ts @@ -2,7 +2,7 @@ import { fromJoiError } from './bad-data-error'; import { ValidationError as JoiValidationError } from 'joi'; import { GenericUnleashError, - UnleashApiErrorName, + type UnleashApiErrorName, UnleashApiErrorTypes, UnleashError, } from './unleash-error'; diff --git a/src/lib/error/incompatible-project-error.ts b/src/lib/error/incompatible-project-error.ts index a84118e1622..5b8e8ef9f5e 100644 --- a/src/lib/error/incompatible-project-error.ts +++ b/src/lib/error/incompatible-project-error.ts @@ -1,4 +1,4 @@ -import { ApiErrorSchema, UnleashError } from './unleash-error'; +import { type ApiErrorSchema, UnleashError } from './unleash-error'; export default class IncompatibleProjectError extends UnleashError { statusCode = 403; diff --git a/src/lib/error/owasp-validation-error.ts b/src/lib/error/owasp-validation-error.ts index 42390a7eb96..9585d0f289a 100644 --- a/src/lib/error/owasp-validation-error.ts +++ b/src/lib/error/owasp-validation-error.ts @@ -1,5 +1,5 @@ -import { TestResult } from 'owasp-password-strength-test'; -import { ApiErrorSchema, UnleashError } from './unleash-error'; +import type { TestResult } from 'owasp-password-strength-test'; +import { type ApiErrorSchema, UnleashError } from './unleash-error'; type ValidationError = { validationErrors: string[]; diff --git a/src/lib/error/password-undefined.ts b/src/lib/error/password-undefined.ts index 9258e27e81c..acb27bd82df 100644 --- a/src/lib/error/password-undefined.ts +++ b/src/lib/error/password-undefined.ts @@ -1,4 +1,4 @@ -import { ApiErrorSchema, UnleashError } from './unleash-error'; +import { type ApiErrorSchema, UnleashError } from './unleash-error'; export default class PasswordUndefinedError extends UnleashError { statusCode = 400; diff --git a/src/lib/error/pattern-error.ts b/src/lib/error/pattern-error.ts index 2f24f6e6d10..a7cc9933f0f 100644 --- a/src/lib/error/pattern-error.ts +++ b/src/lib/error/pattern-error.ts @@ -1,4 +1,4 @@ -import { ApiErrorSchema, UnleashError } from './unleash-error'; +import { type ApiErrorSchema, UnleashError } from './unleash-error'; class PatternError extends UnleashError { statusCode = 400; diff --git a/src/lib/error/permission-error.ts b/src/lib/error/permission-error.ts index 5938aeaf9bb..1b770c82efb 100644 --- a/src/lib/error/permission-error.ts +++ b/src/lib/error/permission-error.ts @@ -1,4 +1,4 @@ -import { ApiErrorSchema, UnleashError } from './unleash-error'; +import { type ApiErrorSchema, UnleashError } from './unleash-error'; type Permission = string | string[]; diff --git a/src/lib/error/project-without-owner-error.ts b/src/lib/error/project-without-owner-error.ts index 638543639ab..ab93ef98b45 100644 --- a/src/lib/error/project-without-owner-error.ts +++ b/src/lib/error/project-without-owner-error.ts @@ -1,4 +1,4 @@ -import { ApiErrorSchema, UnleashError } from './unleash-error'; +import { type ApiErrorSchema, UnleashError } from './unleash-error'; export default class ProjectWithoutOwnerError extends UnleashError { statusCode = 409; diff --git a/src/lib/error/unleash-error.test.ts b/src/lib/error/unleash-error.test.ts index 4cdc18f5d51..3b6f2dc3588 100644 --- a/src/lib/error/unleash-error.test.ts +++ b/src/lib/error/unleash-error.test.ts @@ -1,7 +1,7 @@ import owasp from 'owasp-password-strength-test'; -import { ErrorObject } from 'ajv'; +import type { ErrorObject } from 'ajv'; import AuthenticationRequired from '../types/authentication-required'; -import { ApiErrorSchema } from './unleash-error'; +import type { ApiErrorSchema } from './unleash-error'; import BadDataError, { fromOpenApiValidationError, fromOpenApiValidationErrors, diff --git a/src/lib/error/unleash-error.ts b/src/lib/error/unleash-error.ts index 3d4741354d3..b8a1c3ec891 100644 --- a/src/lib/error/unleash-error.ts +++ b/src/lib/error/unleash-error.ts @@ -1,5 +1,5 @@ import { v4 as uuidV4 } from 'uuid'; -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const UnleashApiErrorTypes = [ 'ContentTypeError', diff --git a/src/lib/features/access/createAccessService.ts b/src/lib/features/access/createAccessService.ts index bcd74246013..fa986d8e4ea 100644 --- a/src/lib/features/access/createAccessService.ts +++ b/src/lib/features/access/createAccessService.ts @@ -1,4 +1,4 @@ -import { Db, IUnleashConfig } from '../../server-impl'; +import type { Db, IUnleashConfig } from '../../server-impl'; import GroupStore from '../../db/group-store'; import { AccountStore } from '../../db/account-store'; import RoleStore from '../../db/role-store'; @@ -12,7 +12,7 @@ import FakeRoleStore from '../../../test/fixtures/fake-role-store'; import FakeEnvironmentStore from '../project-environments/fake-environment-store'; import FakeAccessStore from '../../../test/fixtures/fake-access-store'; import FakeFeatureTagStore from '../../../test/fixtures/fake-feature-tag-store'; -import { IEventStore } from '../../types'; +import type { IEventStore } from '../../types'; import { createEventsService } from '../events/createEventsService'; export const createAccessService = ( diff --git a/src/lib/features/change-request-access-service/change-request-access-read-model.ts b/src/lib/features/change-request-access-service/change-request-access-read-model.ts index 53eb2c1cc87..da5d78c9bc4 100644 --- a/src/lib/features/change-request-access-service/change-request-access-read-model.ts +++ b/src/lib/features/change-request-access-service/change-request-access-read-model.ts @@ -1,4 +1,4 @@ -import { IUser } from '../../types/user'; +import type { IUser } from '../../types/user'; export interface IChangeRequestAccessReadModel { canBypassChangeRequest( diff --git a/src/lib/features/change-request-access-service/createChangeRequestAccessReadModel.ts b/src/lib/features/change-request-access-service/createChangeRequestAccessReadModel.ts index 81dc9419b01..ac20b906b99 100644 --- a/src/lib/features/change-request-access-service/createChangeRequestAccessReadModel.ts +++ b/src/lib/features/change-request-access-service/createChangeRequestAccessReadModel.ts @@ -1,8 +1,8 @@ -import { Db, IUnleashConfig } from '../../server-impl'; +import type { Db, IUnleashConfig } from '../../server-impl'; import { ChangeRequestAccessReadModel } from './sql-change-request-access-read-model'; import { createAccessService } from '../access/createAccessService'; import { FakeChangeRequestAccessReadModel } from './fake-change-request-access-read-model'; -import { IChangeRequestAccessReadModel } from './change-request-access-read-model'; +import type { IChangeRequestAccessReadModel } from './change-request-access-read-model'; export const createChangeRequestAccessReadModel = ( db: Db, diff --git a/src/lib/features/change-request-access-service/fake-change-request-access-read-model.ts b/src/lib/features/change-request-access-service/fake-change-request-access-read-model.ts index bceed13cb3b..68fa70a700c 100644 --- a/src/lib/features/change-request-access-service/fake-change-request-access-read-model.ts +++ b/src/lib/features/change-request-access-service/fake-change-request-access-read-model.ts @@ -1,4 +1,4 @@ -import { IChangeRequestAccessReadModel } from './change-request-access-read-model'; +import type { IChangeRequestAccessReadModel } from './change-request-access-read-model'; export class FakeChangeRequestAccessReadModel implements IChangeRequestAccessReadModel diff --git a/src/lib/features/change-request-access-service/sql-change-request-access-read-model.ts b/src/lib/features/change-request-access-service/sql-change-request-access-read-model.ts index b0270987bf9..da562e30ae5 100644 --- a/src/lib/features/change-request-access-service/sql-change-request-access-read-model.ts +++ b/src/lib/features/change-request-access-service/sql-change-request-access-read-model.ts @@ -1,8 +1,8 @@ import { SKIP_CHANGE_REQUEST } from '../../types'; -import { Db } from '../../db/db'; -import { AccessService } from '../../services'; -import User from '../../types/user'; -import { IChangeRequestAccessReadModel } from './change-request-access-read-model'; +import type { Db } from '../../db/db'; +import type { AccessService } from '../../services'; +import type User from '../../types/user'; +import type { IChangeRequestAccessReadModel } from './change-request-access-read-model'; export class ChangeRequestAccessReadModel implements IChangeRequestAccessReadModel diff --git a/src/lib/features/change-request-segment-usage-service/change-request-segment-usage-read-model.test.ts b/src/lib/features/change-request-segment-usage-service/change-request-segment-usage-read-model.test.ts index b5816b1cea9..6eea3e093c0 100644 --- a/src/lib/features/change-request-segment-usage-service/change-request-segment-usage-read-model.test.ts +++ b/src/lib/features/change-request-segment-usage-service/change-request-segment-usage-read-model.test.ts @@ -1,7 +1,7 @@ -import { IUser } from '../../server-impl'; -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; +import type { IUser } from '../../server-impl'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import getLogger from '../../../test/fixtures/no-logger'; -import { IChangeRequestSegmentUsageReadModel } from './change-request-segment-usage-read-model'; +import type { IChangeRequestSegmentUsageReadModel } from './change-request-segment-usage-read-model'; import { createChangeRequestSegmentUsageReadModel } from './createChangeRequestSegmentUsageReadModel'; import { randomId } from '../../../lib/util'; diff --git a/src/lib/features/change-request-segment-usage-service/createChangeRequestSegmentUsageReadModel.ts b/src/lib/features/change-request-segment-usage-service/createChangeRequestSegmentUsageReadModel.ts index c5490c4f87c..76b4e7bfe58 100644 --- a/src/lib/features/change-request-segment-usage-service/createChangeRequestSegmentUsageReadModel.ts +++ b/src/lib/features/change-request-segment-usage-service/createChangeRequestSegmentUsageReadModel.ts @@ -1,7 +1,7 @@ -import { Db } from '../../server-impl'; +import type { Db } from '../../server-impl'; import { ChangeRequestSegmentUsageReadModel } from './sql-change-request-segment-usage-read-model'; import { FakeChangeRequestSegmentUsageReadModel } from './fake-change-request-segment-usage-read-model'; -import { IChangeRequestSegmentUsageReadModel } from './change-request-segment-usage-read-model'; +import type { IChangeRequestSegmentUsageReadModel } from './change-request-segment-usage-read-model'; export const createChangeRequestSegmentUsageReadModel = ( db: Db, diff --git a/src/lib/features/change-request-segment-usage-service/fake-change-request-segment-usage-read-model.ts b/src/lib/features/change-request-segment-usage-service/fake-change-request-segment-usage-read-model.ts index 4c8414f023a..c90d80f3a35 100644 --- a/src/lib/features/change-request-segment-usage-service/fake-change-request-segment-usage-read-model.ts +++ b/src/lib/features/change-request-segment-usage-service/fake-change-request-segment-usage-read-model.ts @@ -1,4 +1,4 @@ -import { +import type { ChangeRequestStrategy, IChangeRequestSegmentUsageReadModel, } from './change-request-segment-usage-read-model'; diff --git a/src/lib/features/change-request-segment-usage-service/sql-change-request-segment-usage-read-model.ts b/src/lib/features/change-request-segment-usage-service/sql-change-request-segment-usage-read-model.ts index 9076c11282b..36a59d69686 100644 --- a/src/lib/features/change-request-segment-usage-service/sql-change-request-segment-usage-read-model.ts +++ b/src/lib/features/change-request-segment-usage-service/sql-change-request-segment-usage-read-model.ts @@ -1,5 +1,5 @@ -import { Db } from '../../db/db'; -import { +import type { Db } from '../../db/db'; +import type { ChangeRequestStrategy, IChangeRequestSegmentUsageReadModel, } from './change-request-segment-usage-read-model'; diff --git a/src/lib/features/client-feature-toggles/client-feature-toggle-service.ts b/src/lib/features/client-feature-toggles/client-feature-toggle-service.ts index 262105084af..c4a7f0e5bd0 100644 --- a/src/lib/features/client-feature-toggles/client-feature-toggle-service.ts +++ b/src/lib/features/client-feature-toggles/client-feature-toggle-service.ts @@ -1,4 +1,4 @@ -import { +import type { IFeatureToggleClientStore, IFeatureToggleQuery, ISegmentReadModel, @@ -6,9 +6,9 @@ import { IUnleashStores, } from '../../types'; -import { Logger } from '../../logger'; +import type { Logger } from '../../logger'; -import { FeatureConfigurationClient } from '../feature-toggle/types/feature-toggle-strategies-store-type'; +import type { FeatureConfigurationClient } from '../feature-toggle/types/feature-toggle-strategies-store-type'; export class ClientFeatureToggleService { private logger: Logger; diff --git a/src/lib/features/client-feature-toggles/client-feature-toggle-store.ts b/src/lib/features/client-feature-toggles/client-feature-toggle-store.ts index 77bc396cc3f..ed4b738a734 100644 --- a/src/lib/features/client-feature-toggles/client-feature-toggle-store.ts +++ b/src/lib/features/client-feature-toggles/client-feature-toggle-store.ts @@ -1,8 +1,8 @@ import { Knex } from 'knex'; import metricsHelper from '../../util/metrics-helper'; import { DB_TIME } from '../../metric-events'; -import { Logger, LogProvider } from '../../logger'; -import { +import type { Logger, LogProvider } from '../../logger'; +import type { IFeatureToggleClient, IFeatureToggleClientStore, IFeatureToggleQuery, @@ -17,9 +17,9 @@ import { ensureStringValue, mapValues, } from '../../util'; -import EventEmitter from 'events'; +import type EventEmitter from 'events'; import FeatureToggleStore from '../feature-toggle/feature-toggle-store'; -import { Db } from '../../db/db'; +import type { Db } from '../../db/db'; import Raw = Knex.Raw; export interface IGetAllFeatures { diff --git a/src/lib/features/client-feature-toggles/client-feature-toggle.controller.ts b/src/lib/features/client-feature-toggles/client-feature-toggle.controller.ts index 16ee3b6d8d2..e0c3fb1910d 100644 --- a/src/lib/features/client-feature-toggles/client-feature-toggle.controller.ts +++ b/src/lib/features/client-feature-toggles/client-feature-toggle.controller.ts @@ -1,38 +1,38 @@ import memoizee from 'memoizee'; -import { Response } from 'express'; +import type { Response } from 'express'; // eslint-disable-next-line import/no-extraneous-dependencies import hashSum from 'hash-sum'; import Controller from '../../routes/controller'; -import { +import type { IClientSegment, IFlagResolver, IUnleashConfig, IUnleashServices, } from '../../types'; -import FeatureToggleService from '../feature-toggle/feature-toggle-service'; -import { Logger } from '../../logger'; +import type FeatureToggleService from '../feature-toggle/feature-toggle-service'; +import type { Logger } from '../../logger'; import { querySchema } from '../../schema/feature-schema'; -import { IFeatureToggleQuery } from '../../types/model'; +import type { IFeatureToggleQuery } from '../../types/model'; import NotFoundError from '../../error/notfound-error'; -import { IAuthRequest } from '../../routes/unleash-types'; +import type { IAuthRequest } from '../../routes/unleash-types'; import ApiUser from '../../types/api-user'; import { ALL, isAllProjects } from '../../types/models/api-token'; -import { FeatureConfigurationClient } from '../feature-toggle/types/feature-toggle-strategies-store-type'; -import { ClientSpecService } from '../../services/client-spec-service'; -import { OpenApiService } from '../../services/openapi-service'; +import type { FeatureConfigurationClient } from '../feature-toggle/types/feature-toggle-strategies-store-type'; +import type { ClientSpecService } from '../../services/client-spec-service'; +import type { OpenApiService } from '../../services/openapi-service'; import { NONE } from '../../types/permissions'; import { createResponseSchema } from '../../openapi/util/create-response-schema'; -import { ClientFeaturesQuerySchema } from '../../openapi/spec/client-features-query-schema'; +import type { ClientFeaturesQuerySchema } from '../../openapi/spec/client-features-query-schema'; import { clientFeatureSchema, - ClientFeatureSchema, + type ClientFeatureSchema, } from '../../openapi/spec/client-feature-schema'; import { clientFeaturesSchema, - ClientFeaturesSchema, + type ClientFeaturesSchema, } from '../../openapi/spec/client-features-schema'; -import ConfigurationRevisionService from '../feature-toggle/configuration-revision-service'; -import { ClientFeatureToggleService } from './client-feature-toggle-service'; +import type ConfigurationRevisionService from '../feature-toggle/configuration-revision-service'; +import type { ClientFeatureToggleService } from './client-feature-toggle-service'; const version = 2; diff --git a/src/lib/features/client-feature-toggles/createClientFeatureToggleService.ts b/src/lib/features/client-feature-toggles/createClientFeatureToggleService.ts index 9a0f4c330ce..be72bf8026f 100644 --- a/src/lib/features/client-feature-toggles/createClientFeatureToggleService.ts +++ b/src/lib/features/client-feature-toggles/createClientFeatureToggleService.ts @@ -1,6 +1,6 @@ import FeatureToggleClientStore from '../client-feature-toggles/client-feature-toggle-store'; -import { Db } from '../../db/db'; -import { IUnleashConfig } from '../../types'; +import type { Db } from '../../db/db'; +import type { IUnleashConfig } from '../../types'; import FakeClientFeatureToggleStore from './fakes/fake-client-feature-toggle-store'; import { ClientFeatureToggleService } from './client-feature-toggle-service'; import { SegmentReadModel } from '../segment/segment-read-model'; diff --git a/src/lib/features/client-feature-toggles/fakes/fake-client-feature-toggle-store.ts b/src/lib/features/client-feature-toggles/fakes/fake-client-feature-toggle-store.ts index f7cf3d2da0b..93554b42745 100644 --- a/src/lib/features/client-feature-toggles/fakes/fake-client-feature-toggle-store.ts +++ b/src/lib/features/client-feature-toggles/fakes/fake-client-feature-toggle-store.ts @@ -1,10 +1,10 @@ -import { +import type { FeatureToggle, IFeatureToggleClient, IFeatureToggleQuery, } from '../../../types/model'; -import { IFeatureToggleClientStore } from '../types/client-feature-toggle-store-type'; -import { IGetAdminFeatures } from '../client-feature-toggle-store'; +import type { IFeatureToggleClientStore } from '../types/client-feature-toggle-store-type'; +import type { IGetAdminFeatures } from '../client-feature-toggle-store'; export default class FakeClientFeatureToggleStore implements IFeatureToggleClientStore diff --git a/src/lib/features/client-feature-toggles/tests/client-feature-toggle.e2e.test.ts b/src/lib/features/client-feature-toggles/tests/client-feature-toggle.e2e.test.ts index b81f02d42e2..2a0d5bd5919 100644 --- a/src/lib/features/client-feature-toggles/tests/client-feature-toggle.e2e.test.ts +++ b/src/lib/features/client-feature-toggles/tests/client-feature-toggle.e2e.test.ts @@ -1,4 +1,4 @@ -import supertest, { Test } from 'supertest'; +import supertest, { type Test } from 'supertest'; import createStores from '../../../../test/fixtures/store'; import getLogger from '../../../../test/fixtures/no-logger'; import getApp from '../../../app'; @@ -7,9 +7,9 @@ import FeatureController from '../client-feature-toggle.controller'; import { createTestConfig } from '../../../../test/config/test-config'; import { secondsToMilliseconds } from 'date-fns'; import { ClientSpecService } from '../../../services/client-spec-service'; -import { Application } from 'express'; -import { IFlagResolver } from '../../../types'; -import TestAgent from 'supertest/lib/agent'; +import type { Application } from 'express'; +import type { IFlagResolver } from '../../../types'; +import type TestAgent from 'supertest/lib/agent'; let app: Application; diff --git a/src/lib/features/client-feature-toggles/tests/client-feature-toggles.e2e.test.ts b/src/lib/features/client-feature-toggles/tests/client-feature-toggles.e2e.test.ts index 9140cbfc5a2..1cb7de9a1b8 100644 --- a/src/lib/features/client-feature-toggles/tests/client-feature-toggles.e2e.test.ts +++ b/src/lib/features/client-feature-toggles/tests/client-feature-toggles.e2e.test.ts @@ -1,12 +1,14 @@ import { RoleName } from '../../../types/model'; -import dbInit, { ITestDb } from '../../../../test/e2e/helpers/database-init'; +import dbInit, { + type ITestDb, +} from '../../../../test/e2e/helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../../../test/e2e/helpers/test-helper'; import getLogger from '../../../../test/fixtures/no-logger'; import { DEFAULT_ENV } from '../../../util/constants'; -import { IUserWithRootRole } from '../../../types'; +import type { IUserWithRootRole } from '../../../types'; let app: IUnleashTest; let db: ITestDb; diff --git a/src/lib/features/client-feature-toggles/types/client-feature-toggle-store-type.ts b/src/lib/features/client-feature-toggles/types/client-feature-toggle-store-type.ts index 02b3ee11fc4..3d045d74f85 100644 --- a/src/lib/features/client-feature-toggles/types/client-feature-toggle-store-type.ts +++ b/src/lib/features/client-feature-toggles/types/client-feature-toggle-store-type.ts @@ -1,8 +1,8 @@ -import { +import type { IFeatureToggleClient, IFeatureToggleQuery, } from '../../../types/model'; -import { IGetAdminFeatures } from '../client-feature-toggle-store'; +import type { IGetAdminFeatures } from '../client-feature-toggle-store'; export interface IFeatureToggleClientStore { getClient( diff --git a/src/lib/features/dependent-features/createDependentFeaturesService.ts b/src/lib/features/dependent-features/createDependentFeaturesService.ts index de461cc9aae..4697835cc46 100644 --- a/src/lib/features/dependent-features/createDependentFeaturesService.ts +++ b/src/lib/features/dependent-features/createDependentFeaturesService.ts @@ -1,10 +1,10 @@ -import { Db } from '../../db/db'; +import type { Db } from '../../db/db'; import { DependentFeaturesService } from './dependent-features-service'; import { DependentFeaturesStore } from './dependent-features-store'; import { DependentFeaturesReadModel } from './dependent-features-read-model'; import { FakeDependentFeaturesStore } from './fake-dependent-features-store'; import { FakeDependentFeaturesReadModel } from './fake-dependent-features-read-model'; -import { IUnleashConfig } from '../../types'; +import type { IUnleashConfig } from '../../types'; import { createChangeRequestAccessReadModel, createFakeChangeRequestAccessService, diff --git a/src/lib/features/dependent-features/dependent-features-controller.ts b/src/lib/features/dependent-features/dependent-features-controller.ts index b2e58d53170..3ec5c7a4050 100644 --- a/src/lib/features/dependent-features/dependent-features-controller.ts +++ b/src/lib/features/dependent-features/dependent-features-controller.ts @@ -1,25 +1,25 @@ -import { Response } from 'express'; +import type { Response } from 'express'; import Controller from '../../routes/controller'; -import { OpenApiService } from '../../services'; +import type { OpenApiService } from '../../services'; import { - IFlagResolver, - IUnleashConfig, - IUnleashServices, + type IFlagResolver, + type IUnleashConfig, + type IUnleashServices, NONE, UPDATE_FEATURE_DEPENDENCY, } from '../../types'; -import { Logger } from '../../logger'; +import type { Logger } from '../../logger'; import { - CreateDependentFeatureSchema, + type CreateDependentFeatureSchema, createRequestSchema, createResponseSchema, emptyResponse, getStandardResponses, - ParentFeatureOptionsSchema, + type ParentFeatureOptionsSchema, } from '../../openapi'; -import { IAuthRequest } from '../../routes/unleash-types'; -import { DependentFeaturesService } from './dependent-features-service'; -import { WithTransactional } from '../../db/transaction'; +import type { IAuthRequest } from '../../routes/unleash-types'; +import type { DependentFeaturesService } from './dependent-features-service'; +import type { WithTransactional } from '../../db/transaction'; interface ProjectParams { projectId: string; diff --git a/src/lib/features/dependent-features/dependent-features-read-model-type.ts b/src/lib/features/dependent-features/dependent-features-read-model-type.ts index 70bd3c76ef1..6ceba695cde 100644 --- a/src/lib/features/dependent-features/dependent-features-read-model-type.ts +++ b/src/lib/features/dependent-features/dependent-features-read-model-type.ts @@ -1,4 +1,4 @@ -import { IDependency, IFeatureDependency } from '../../types'; +import type { IDependency, IFeatureDependency } from '../../types'; export interface IDependentFeaturesReadModel { getChildren(parents: string[]): Promise; diff --git a/src/lib/features/dependent-features/dependent-features-read-model.ts b/src/lib/features/dependent-features/dependent-features-read-model.ts index 7ba20dae6c7..dd1a6264ddf 100644 --- a/src/lib/features/dependent-features/dependent-features-read-model.ts +++ b/src/lib/features/dependent-features/dependent-features-read-model.ts @@ -1,6 +1,6 @@ -import { Db } from '../../db/db'; -import { IDependentFeaturesReadModel } from './dependent-features-read-model-type'; -import { IDependency, IFeatureDependency } from '../../types'; +import type { Db } from '../../db/db'; +import type { IDependentFeaturesReadModel } from './dependent-features-read-model-type'; +import type { IDependency, IFeatureDependency } from '../../types'; export class DependentFeaturesReadModel implements IDependentFeaturesReadModel { private db: Db; diff --git a/src/lib/features/dependent-features/dependent-features-service.ts b/src/lib/features/dependent-features/dependent-features-service.ts index 8ff19bfd9f0..4274793c7ec 100644 --- a/src/lib/features/dependent-features/dependent-features-service.ts +++ b/src/lib/features/dependent-features/dependent-features-service.ts @@ -1,14 +1,17 @@ import { InvalidOperationError, PermissionError } from '../../error'; -import { CreateDependentFeatureSchema } from '../../openapi'; -import { IDependentFeaturesStore } from './dependent-features-store-type'; -import { FeatureDependency, FeatureDependencyId } from './dependent-features'; -import { IDependentFeaturesReadModel } from './dependent-features-read-model-type'; -import { EventService } from '../../services'; -import { IUser } from '../../server-impl'; +import type { CreateDependentFeatureSchema } from '../../openapi'; +import type { IDependentFeaturesStore } from './dependent-features-store-type'; +import type { + FeatureDependency, + FeatureDependencyId, +} from './dependent-features'; +import type { IDependentFeaturesReadModel } from './dependent-features-read-model-type'; +import type { EventService } from '../../services'; +import type { IUser } from '../../server-impl'; import { SKIP_CHANGE_REQUEST } from '../../types'; -import { IChangeRequestAccessReadModel } from '../change-request-access-service/change-request-access-read-model'; +import type { IChangeRequestAccessReadModel } from '../change-request-access-service/change-request-access-read-model'; import { extractUsernameFromUser } from '../../util'; -import { IFeaturesReadModel } from '../feature-toggle/types/features-read-model-type'; +import type { IFeaturesReadModel } from '../feature-toggle/types/features-read-model-type'; interface IDependentFeaturesServiceDeps { dependentFeaturesStore: IDependentFeaturesStore; diff --git a/src/lib/features/dependent-features/dependent-features-store-type.ts b/src/lib/features/dependent-features/dependent-features-store-type.ts index 8d736f83b8c..c745cba3b18 100644 --- a/src/lib/features/dependent-features/dependent-features-store-type.ts +++ b/src/lib/features/dependent-features/dependent-features-store-type.ts @@ -1,4 +1,7 @@ -import { FeatureDependency, FeatureDependencyId } from './dependent-features'; +import type { + FeatureDependency, + FeatureDependencyId, +} from './dependent-features'; export interface IDependentFeaturesStore { upsert(featureDependency: FeatureDependency): Promise; diff --git a/src/lib/features/dependent-features/dependent-features-store.ts b/src/lib/features/dependent-features/dependent-features-store.ts index a14b0eb0e1d..de169682057 100644 --- a/src/lib/features/dependent-features/dependent-features-store.ts +++ b/src/lib/features/dependent-features/dependent-features-store.ts @@ -1,6 +1,9 @@ -import { Db } from '../../db/db'; -import { IDependentFeaturesStore } from './dependent-features-store-type'; -import { FeatureDependency, FeatureDependencyId } from './dependent-features'; +import type { Db } from '../../db/db'; +import type { IDependentFeaturesStore } from './dependent-features-store-type'; +import type { + FeatureDependency, + FeatureDependencyId, +} from './dependent-features'; type SerializableFeatureDependency = Omit & { variants?: string; diff --git a/src/lib/features/dependent-features/dependent.features.e2e.test.ts b/src/lib/features/dependent-features/dependent.features.e2e.test.ts index 04c57576b2e..0e476dfa9b1 100644 --- a/src/lib/features/dependent-features/dependent.features.e2e.test.ts +++ b/src/lib/features/dependent-features/dependent.features.e2e.test.ts @@ -1,16 +1,16 @@ import { v4 as uuidv4 } from 'uuid'; -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../../test/e2e/helpers/test-helper'; import getLogger from '../../../test/fixtures/no-logger'; -import { CreateDependentFeatureSchema } from '../../openapi'; +import type { CreateDependentFeatureSchema } from '../../openapi'; import { FEATURE_DEPENDENCIES_REMOVED, FEATURE_DEPENDENCY_ADDED, FEATURE_DEPENDENCY_REMOVED, - IEventStore, + type IEventStore, } from '../../types'; let app: IUnleashTest; diff --git a/src/lib/features/dependent-features/fake-dependent-features-read-model.ts b/src/lib/features/dependent-features/fake-dependent-features-read-model.ts index 70e1cf84214..925a3d4c29d 100644 --- a/src/lib/features/dependent-features/fake-dependent-features-read-model.ts +++ b/src/lib/features/dependent-features/fake-dependent-features-read-model.ts @@ -1,5 +1,5 @@ -import { IDependentFeaturesReadModel } from './dependent-features-read-model-type'; -import { IDependency, IFeatureDependency } from '../../types'; +import type { IDependentFeaturesReadModel } from './dependent-features-read-model-type'; +import type { IDependency, IFeatureDependency } from '../../types'; export class FakeDependentFeaturesReadModel implements IDependentFeaturesReadModel diff --git a/src/lib/features/dependent-features/fake-dependent-features-store.ts b/src/lib/features/dependent-features/fake-dependent-features-store.ts index 5df0fc5690e..593b110c66b 100644 --- a/src/lib/features/dependent-features/fake-dependent-features-store.ts +++ b/src/lib/features/dependent-features/fake-dependent-features-store.ts @@ -1,4 +1,4 @@ -import { IDependentFeaturesStore } from './dependent-features-store-type'; +import type { IDependentFeaturesStore } from './dependent-features-store-type'; export class FakeDependentFeaturesStore implements IDependentFeaturesStore { async upsert(): Promise { diff --git a/src/lib/features/events/createEventsService.ts b/src/lib/features/events/createEventsService.ts index 33fc5380c59..e9b209d8743 100644 --- a/src/lib/features/events/createEventsService.ts +++ b/src/lib/features/events/createEventsService.ts @@ -1,10 +1,10 @@ import FakeEventStore from '../../../test/fixtures/fake-event-store'; import FakeFeatureTagStore from '../../../test/fixtures/fake-feature-tag-store'; -import { Db } from '../../db/db'; +import type { Db } from '../../db/db'; import EventStore from './event-store'; import FeatureTagStore from '../../db/feature-tag-store'; import { EventService } from '../../services'; -import { IUnleashConfig } from '../../types'; +import type { IUnleashConfig } from '../../types'; export const createEventsService: ( db: Db, diff --git a/src/lib/features/events/event-created-by-migration.test.ts b/src/lib/features/events/event-created-by-migration.test.ts index d85abc384fc..f68bc2b840a 100644 --- a/src/lib/features/events/event-created-by-migration.test.ts +++ b/src/lib/features/events/event-created-by-migration.test.ts @@ -1,6 +1,6 @@ import EventStore from './event-store'; import getLogger from '../../../test/fixtures/no-logger'; -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import { defaultExperimentalOptions } from '../../types/experimental'; import FlagResolver from '../../util/flag-resolver'; import { EventEmitter } from 'stream'; diff --git a/src/lib/features/events/event-service.test.ts b/src/lib/features/events/event-service.test.ts index d89115f1233..616be65011c 100644 --- a/src/lib/features/events/event-service.test.ts +++ b/src/lib/features/events/event-service.test.ts @@ -1,4 +1,4 @@ -import { ADMIN_TOKEN_USER, IApiUser } from '../../types'; +import { ADMIN_TOKEN_USER, type IApiUser } from '../../types'; import { createTestConfig } from '../../../test/config/test-config'; import { createFakeEventsService } from '..'; import { ApiTokenType } from '../../types/models/api-token'; diff --git a/src/lib/features/events/event-service.ts b/src/lib/features/events/event-service.ts index 282f4f97c92..21927a593e6 100644 --- a/src/lib/features/events/event-service.ts +++ b/src/lib/features/events/event-service.ts @@ -1,11 +1,11 @@ -import { IUnleashConfig } from '../../types/option'; -import { IFeatureTagStore, IUnleashStores } from '../../types/stores'; -import { Logger } from '../../logger'; -import { IEventStore } from '../../types/stores/event-store'; -import { IBaseEvent, IEventList, IUserEvent } from '../../types/events'; -import { SearchEventsSchema } from '../../openapi/spec/search-events-schema'; -import EventEmitter from 'events'; -import { IApiUser, ITag, IUser } from '../../types'; +import type { IUnleashConfig } from '../../types/option'; +import type { IFeatureTagStore, IUnleashStores } from '../../types/stores'; +import type { Logger } from '../../logger'; +import type { IEventStore } from '../../types/stores/event-store'; +import type { IBaseEvent, IEventList, IUserEvent } from '../../types/events'; +import type { SearchEventsSchema } from '../../openapi/spec/search-events-schema'; +import type EventEmitter from 'events'; +import type { IApiUser, ITag, IUser } from '../../types'; import { ApiTokenType } from '../../types/models/api-token'; import { extractUserIdFromUser, diff --git a/src/lib/features/events/event-store.ts b/src/lib/features/events/event-store.ts index d4e925e909f..c0a477f8419 100644 --- a/src/lib/features/events/event-store.ts +++ b/src/lib/features/events/event-store.ts @@ -1,20 +1,24 @@ import { - IEvent, - IBaseEvent, + type IEvent, + type IBaseEvent, SEGMENT_UPDATED, FEATURE_IMPORT, FEATURES_IMPORTED, - IEventType, + type IEventType, } from '../../types/events'; -import { LogProvider, Logger } from '../../logger'; -import { IEventStore } from '../../types/stores/event-store'; -import { ITag } from '../../types/model'; -import { SearchEventsSchema } from '../../openapi/spec/search-events-schema'; +import type { LogProvider, Logger } from '../../logger'; +import type { IEventStore } from '../../types/stores/event-store'; +import type { ITag } from '../../types/model'; +import type { SearchEventsSchema } from '../../openapi/spec/search-events-schema'; import { sharedEventEmitter } from '../../util/anyEventEmitter'; -import { Db } from '../../db/db'; -import { Knex } from 'knex'; -import EventEmitter from 'events'; -import { ADMIN_TOKEN_USER, IFlagResolver, SYSTEM_USER_ID } from '../../types'; +import type { Db } from '../../db/db'; +import type { Knex } from 'knex'; +import type EventEmitter from 'events'; +import { + ADMIN_TOKEN_USER, + type IFlagResolver, + SYSTEM_USER_ID, +} from '../../types'; const EVENT_COLUMNS = [ 'id', @@ -122,7 +126,7 @@ class EventStore implements IEventStore { return 0; } if (typeof count.count === 'string') { - return parseInt(count.count, 10); + return Number.parseInt(count.count, 10); } else { return count.count; } @@ -144,7 +148,7 @@ class EventStore implements IEventStore { return 0; } if (typeof count.count === 'string') { - return parseInt(count.count, 10); + return Number.parseInt(count.count, 10); } else { return count.count; } @@ -246,7 +250,7 @@ class EventStore implements IEventStore { }); const queryResult = await query.first(); - return parseInt(queryResult.count || 0); + return Number.parseInt(queryResult.count || 0); } catch (e) { return 0; } diff --git a/src/lib/features/export-import-toggles/createExportImportService.ts b/src/lib/features/export-import-toggles/createExportImportService.ts index ff75d77cdf7..7fc61091738 100644 --- a/src/lib/features/export-import-toggles/createExportImportService.ts +++ b/src/lib/features/export-import-toggles/createExportImportService.ts @@ -1,5 +1,5 @@ -import { Db } from '../../db/db'; -import { IUnleashConfig } from '../../types'; +import type { Db } from '../../db/db'; +import type { IUnleashConfig } from '../../types'; import ExportImportService from './export-import-service'; import { ImportTogglesStore } from './import-toggles-store'; import FeatureToggleStore from '../feature-toggle/feature-toggle-store'; @@ -41,7 +41,7 @@ import { createFakePrivateProjectChecker, createPrivateProjectChecker, } from '../private-project/createPrivateProjectChecker'; -import { DeferredServiceFactory } from '../../db/transaction'; +import type { DeferredServiceFactory } from '../../db/transaction'; import { DependentFeaturesReadModel } from '../dependent-features/dependent-features-read-model'; import { FakeDependentFeaturesReadModel } from '../dependent-features/fake-dependent-features-read-model'; import { diff --git a/src/lib/features/export-import-toggles/export-import-api-usage.test.ts b/src/lib/features/export-import-toggles/export-import-api-usage.test.ts index 5e8585d1662..24a779a6e57 100644 --- a/src/lib/features/export-import-toggles/export-import-api-usage.test.ts +++ b/src/lib/features/export-import-toggles/export-import-api-usage.test.ts @@ -1,9 +1,9 @@ import { setupAppWithCustomAuth } from '../../../test/e2e/helpers/test-helper'; -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import getLogger from '../../../test/fixtures/no-logger'; import { DEFAULT_PROJECT } from '../../types'; import { DEFAULT_ENV } from '../../util'; -import { ImportTogglesSchema } from '../../openapi'; +import type { ImportTogglesSchema } from '../../openapi'; import { ApiTokenType } from '../../types/models/api-token'; import { ApiUser } from '../../server-impl'; diff --git a/src/lib/features/export-import-toggles/export-import-controller.ts b/src/lib/features/export-import-toggles/export-import-controller.ts index eef65ef4f65..53f787eecc5 100644 --- a/src/lib/features/export-import-toggles/export-import-controller.ts +++ b/src/lib/features/export-import-toggles/export-import-controller.ts @@ -1,12 +1,12 @@ -import { Response } from 'express'; +import type { Response } from 'express'; import Controller from '../../routes/controller'; -import { Logger } from '../../logger'; -import { IExportService, IImportService } from './export-import-service'; -import { OpenApiService } from '../../services'; -import { WithTransactional } from '../../db/transaction'; +import type { Logger } from '../../logger'; +import type { IExportService, IImportService } from './export-import-service'; +import type { OpenApiService } from '../../services'; +import type { WithTransactional } from '../../db/transaction'; import { - IUnleashConfig, - IUnleashServices, + type IUnleashConfig, + type IUnleashServices, NONE, serializeDates, } from '../../types'; @@ -14,13 +14,13 @@ import { createRequestSchema, createResponseSchema, emptyResponse, - ExportQuerySchema, + type ExportQuerySchema, exportResultSchema, getStandardResponses, - ImportTogglesSchema, + type ImportTogglesSchema, importTogglesValidateSchema, } from '../../openapi'; -import { IAuthRequest } from '../../routes/unleash-types'; +import type { IAuthRequest } from '../../routes/unleash-types'; import { extractUsername } from '../../util'; import { BadDataError, InvalidOperationError } from '../../error'; import ApiUser from '../../types/api-user'; diff --git a/src/lib/features/export-import-toggles/export-import-permissions.e2e.test.ts b/src/lib/features/export-import-toggles/export-import-permissions.e2e.test.ts index eaf32460c8c..d3e27f8e860 100644 --- a/src/lib/features/export-import-toggles/export-import-permissions.e2e.test.ts +++ b/src/lib/features/export-import-toggles/export-import-permissions.e2e.test.ts @@ -1,24 +1,24 @@ import { - IUnleashTest, + type IUnleashTest, setupAppWithAuth, } from '../../../test/e2e/helpers/test-helper'; -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import getLogger from '../../../test/fixtures/no-logger'; import { DEFAULT_PROJECT, - IContextFieldStore, - IEnvironmentStore, - IEventStore, - IFeatureToggleStore, - IProjectStore, - IUnleashStores, + type IContextFieldStore, + type IEnvironmentStore, + type IEventStore, + type IFeatureToggleStore, + type IProjectStore, + type IUnleashStores, RoleName, } from '../../types'; -import { ImportTogglesSchema, VariantsSchema } from '../../openapi'; -import { IContextFieldDto } from '../../types/stores/context-field-store'; -import { AccessService } from '../../services'; +import type { ImportTogglesSchema, VariantsSchema } from '../../openapi'; +import type { IContextFieldDto } from '../../types/stores/context-field-store'; +import type { AccessService } from '../../services'; import { DEFAULT_ENV } from '../../util'; -import { IRole } from '../../types/stores/access-store'; +import type { IRole } from '../../types/stores/access-store'; let app: IUnleashTest; let db: ITestDb; diff --git a/src/lib/features/export-import-toggles/export-import-service.ts b/src/lib/features/export-import-toggles/export-import-service.ts index 21d04df466e..15f12d911ca 100644 --- a/src/lib/features/export-import-toggles/export-import-service.ts +++ b/src/lib/features/export-import-toggles/export-import-service.ts @@ -1,35 +1,35 @@ -import { Logger } from '../../logger'; -import { IStrategy } from '../../types/stores/strategy-store'; -import { IFeatureToggleStore } from '../feature-toggle/types/feature-toggle-store-type'; -import { IFeatureStrategiesStore } from '../feature-toggle/types/feature-toggle-strategies-store-type'; +import type { Logger } from '../../logger'; +import type { IStrategy } from '../../types/stores/strategy-store'; +import type { IFeatureToggleStore } from '../feature-toggle/types/feature-toggle-store-type'; +import type { IFeatureStrategiesStore } from '../feature-toggle/types/feature-toggle-strategies-store-type'; import { FEATURES_EXPORTED, FEATURES_IMPORTED, - FeatureToggleDTO, - IContextFieldStore, - IFeatureEnvironmentStore, - IFeatureStrategy, - IFeatureStrategySegment, - IFeatureTagStore, - IFlagResolver, - ITagTypeStore, - IUnleashConfig, - IUnleashServices, - IUnleashStores, - IVariant, - WithRequired, + type FeatureToggleDTO, + type IContextFieldStore, + type IFeatureEnvironmentStore, + type IFeatureStrategy, + type IFeatureStrategySegment, + type IFeatureTagStore, + type IFlagResolver, + type ITagTypeStore, + type IUnleashConfig, + type IUnleashServices, + type IUnleashStores, + type IVariant, + type WithRequired, } from '../../types'; -import { +import type { ExportQuerySchema, ExportResultSchema, FeatureStrategySchema, ImportTogglesSchema, ImportTogglesValidateSchema, } from '../../openapi'; -import { IUser } from '../../types/user'; +import type { IUser } from '../../types/user'; import { BadDataError } from '../../error'; import { extractUsernameFromUser } from '../../util'; -import { +import type { AccessService, ContextService, DependentFeaturesService, @@ -40,18 +40,21 @@ import { TagTypeService, } from '../../services'; import { isValidField } from './import-context-validation'; -import { +import type { IImportTogglesStore, ProjectFeaturesLimit, } from './import-toggles-store-type'; -import { ImportPermissionsService, Mode } from './import-permissions-service'; +import { + ImportPermissionsService, + type Mode, +} from './import-permissions-service'; import { ImportValidationMessages } from './import-validation-messages'; import { findDuplicates } from '../../util/findDuplicates'; -import { FeatureNameCheckResultWithFeaturePattern } from '../feature-toggle/feature-toggle-service'; -import { IDependentFeaturesReadModel } from '../dependent-features/dependent-features-read-model-type'; +import type { FeatureNameCheckResultWithFeaturePattern } from '../feature-toggle/feature-toggle-service'; +import type { IDependentFeaturesReadModel } from '../dependent-features/dependent-features-read-model-type'; import groupBy from 'lodash.groupby'; import { allSettledWithRejection } from '../../util/allSettledWithRejection'; -import { ISegmentReadModel } from '../segment/segment-read-model-type'; +import type { ISegmentReadModel } from '../segment/segment-read-model-type'; export type IImportService = { validate( diff --git a/src/lib/features/export-import-toggles/export-import.e2e.test.ts b/src/lib/features/export-import-toggles/export-import.e2e.test.ts index abcbcfc3add..b339277a704 100644 --- a/src/lib/features/export-import-toggles/export-import.e2e.test.ts +++ b/src/lib/features/export-import-toggles/export-import.e2e.test.ts @@ -1,31 +1,31 @@ import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../../test/e2e/helpers/test-helper'; -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import getLogger from '../../../test/fixtures/no-logger'; import { DEFAULT_PROJECT, - FeatureToggleDTO, - IContextFieldStore, - IEnvironmentStore, - IEventStore, - IFeatureToggleStore, - IProjectStore, - ISegment, - IStrategyConfig, - ITagStore, - IVariant, + type FeatureToggleDTO, + type IContextFieldStore, + type IEnvironmentStore, + type IEventStore, + type IFeatureToggleStore, + type IProjectStore, + type ISegment, + type IStrategyConfig, + type ITagStore, + type IVariant, } from '../../types'; import { DEFAULT_ENV } from '../../util'; -import { +import type { ContextFieldSchema, ImportTogglesSchema, UpsertSegmentSchema, VariantsSchema, } from '../../openapi'; import User from '../../types/user'; -import { IContextFieldDto } from '../../types/stores/context-field-store'; +import type { IContextFieldDto } from '../../types/stores/context-field-store'; let app: IUnleashTest; let db: ITestDb; diff --git a/src/lib/features/export-import-toggles/import-context-validation.ts b/src/lib/features/export-import-toggles/import-context-validation.ts index 718c58df38b..fd43eb10f1d 100644 --- a/src/lib/features/export-import-toggles/import-context-validation.ts +++ b/src/lib/features/export-import-toggles/import-context-validation.ts @@ -1,4 +1,4 @@ -import { IContextFieldDto } from '../../types/stores/context-field-store'; +import type { IContextFieldDto } from '../../types/stores/context-field-store'; export const isValidField = ( importedField: IContextFieldDto, diff --git a/src/lib/features/export-import-toggles/import-permissions-service.ts b/src/lib/features/export-import-toggles/import-permissions-service.ts index 2b2bf4d99e1..8c4f0b021f9 100644 --- a/src/lib/features/export-import-toggles/import-permissions-service.ts +++ b/src/lib/features/export-import-toggles/import-permissions-service.ts @@ -1,8 +1,12 @@ -import { IImportTogglesStore } from './import-toggles-store-type'; -import { AccessService, ContextService, TagTypeService } from '../../services'; -import { ContextFieldSchema, ImportTogglesSchema } from '../../openapi'; -import { ITagType } from '../tag-type/tag-type-store-type'; -import { IUser } from '../../types/user'; +import type { IImportTogglesStore } from './import-toggles-store-type'; +import type { + AccessService, + ContextService, + TagTypeService, +} from '../../services'; +import type { ContextFieldSchema, ImportTogglesSchema } from '../../openapi'; +import type { ITagType } from '../tag-type/tag-type-store-type'; +import type { IUser } from '../../types/user'; import { CREATE_CONTEXT_FIELD, CREATE_FEATURE, diff --git a/src/lib/features/export-import-toggles/import-toggles-store.ts b/src/lib/features/export-import-toggles/import-toggles-store.ts index 0b94328793e..31744cac80f 100644 --- a/src/lib/features/export-import-toggles/import-toggles-store.ts +++ b/src/lib/features/export-import-toggles/import-toggles-store.ts @@ -1,8 +1,8 @@ -import { +import type { IImportTogglesStore, ProjectFeaturesLimit, } from './import-toggles-store-type'; -import { Db } from '../../db/db'; +import type { Db } from '../../db/db'; const T = { featureStrategies: 'feature_strategies', diff --git a/src/lib/features/export-import-toggles/import-validation-messages.ts b/src/lib/features/export-import-toggles/import-validation-messages.ts index fe95b432ff2..d56fa20fbea 100644 --- a/src/lib/features/export-import-toggles/import-validation-messages.ts +++ b/src/lib/features/export-import-toggles/import-validation-messages.ts @@ -1,10 +1,10 @@ -import { +import type { FeatureStrategySchema, ImportTogglesValidateItemSchema, } from '../../openapi'; -import { IContextFieldDto } from '../../types/stores/context-field-store'; -import { FeatureNameCheckResultWithFeaturePattern } from '../feature-toggle/feature-toggle-service'; -import { ProjectFeaturesLimit } from './import-toggles-store-type'; +import type { IContextFieldDto } from '../../types/stores/context-field-store'; +import type { FeatureNameCheckResultWithFeaturePattern } from '../feature-toggle/feature-toggle-service'; +import type { ProjectFeaturesLimit } from './import-toggles-store-type'; export interface IErrorsParams { projectName: string; diff --git a/src/lib/features/feature-naming-pattern/feature-naming-validation.ts b/src/lib/features/feature-naming-pattern/feature-naming-validation.ts index a32be5925e8..1bd7c56e258 100644 --- a/src/lib/features/feature-naming-pattern/feature-naming-validation.ts +++ b/src/lib/features/feature-naming-pattern/feature-naming-validation.ts @@ -1,4 +1,4 @@ -import { IFeatureNaming } from '../../types/model'; +import type { IFeatureNaming } from '../../types/model'; const compileRegex = (pattern: string) => new RegExp(`^${pattern}$`); diff --git a/src/lib/features/feature-search/createFeatureSearchService.ts b/src/lib/features/feature-search/createFeatureSearchService.ts index d7c8b49beda..066314534c9 100644 --- a/src/lib/features/feature-search/createFeatureSearchService.ts +++ b/src/lib/features/feature-search/createFeatureSearchService.ts @@ -1,5 +1,5 @@ -import { Db } from '../../db/db'; -import { IUnleashConfig } from '../../types'; +import type { Db } from '../../db/db'; +import type { IUnleashConfig } from '../../types'; import { FeatureSearchService } from './feature-search-service'; import FakeFeatureSearchStore from './fake-feature-search-store'; diff --git a/src/lib/features/feature-search/fake-feature-search-store.ts b/src/lib/features/feature-search/fake-feature-search-store.ts index 0e3875c5560..06aff6571b0 100644 --- a/src/lib/features/feature-search/fake-feature-search-store.ts +++ b/src/lib/features/feature-search/fake-feature-search-store.ts @@ -1,9 +1,9 @@ -import { IFeatureOverview } from '../../types'; -import { +import type { IFeatureOverview } from '../../types'; +import type { IFeatureSearchParams, IQueryParam, } from '../feature-toggle/types/feature-toggle-strategies-store-type'; -import { IFeatureSearchStore } from './feature-search-store-type'; +import type { IFeatureSearchStore } from './feature-search-store-type'; export default class FakeFeatureSearchStore implements IFeatureSearchStore { searchFeatures( diff --git a/src/lib/features/feature-search/feature-search-controller.ts b/src/lib/features/feature-search/feature-search-controller.ts index 5c8b4d0a6fb..ef1706d541e 100644 --- a/src/lib/features/feature-search/feature-search-controller.ts +++ b/src/lib/features/feature-search/feature-search-controller.ts @@ -1,22 +1,22 @@ -import { Response } from 'express'; +import type { Response } from 'express'; import Controller from '../../routes/controller'; -import { FeatureSearchService, OpenApiService } from '../../services'; +import type { FeatureSearchService, OpenApiService } from '../../services'; import { - IFlagResolver, - IUnleashConfig, - IUnleashServices, + type IFlagResolver, + type IUnleashConfig, + type IUnleashServices, NONE, serializeDates, } from '../../types'; -import { Logger } from '../../logger'; +import type { Logger } from '../../logger'; import { createResponseSchema, getStandardResponses, searchFeaturesSchema, } from '../../openapi'; -import { IAuthRequest } from '../../routes/unleash-types'; +import type { IAuthRequest } from '../../routes/unleash-types'; import { - FeatureSearchQueryParameters, + type FeatureSearchQueryParameters, featureSearchQueryParameters, } from '../../openapi/spec/feature-search-query-parameters'; import { normalizeQueryParams } from './search-utils'; diff --git a/src/lib/features/feature-search/feature-search-service.ts b/src/lib/features/feature-search/feature-search-service.ts index 74d52854948..f4fc5de85c3 100644 --- a/src/lib/features/feature-search/feature-search-service.ts +++ b/src/lib/features/feature-search/feature-search-service.ts @@ -1,10 +1,10 @@ -import { Logger } from '../../logger'; -import { +import type { Logger } from '../../logger'; +import type { IFeatureSearchStore, IUnleashConfig, IUnleashStores, } from '../../types'; -import { +import type { IFeatureSearchParams, IQueryOperator, IQueryParam, diff --git a/src/lib/features/feature-search/feature-search-store-type.ts b/src/lib/features/feature-search/feature-search-store-type.ts index db56c3ab517..3bfaaa55f6c 100644 --- a/src/lib/features/feature-search/feature-search-store-type.ts +++ b/src/lib/features/feature-search/feature-search-store-type.ts @@ -1,8 +1,8 @@ -import { +import type { IFeatureSearchParams, IQueryParam, } from '../feature-toggle/types/feature-toggle-strategies-store-type'; -import { IFeatureOverview } from '../../types'; +import type { IFeatureOverview } from '../../types'; export interface IFeatureSearchStore { searchFeatures( diff --git a/src/lib/features/feature-search/feature-search-store.ts b/src/lib/features/feature-search/feature-search-store.ts index 086a7773da6..07ca8ec1807 100644 --- a/src/lib/features/feature-search/feature-search-store.ts +++ b/src/lib/features/feature-search/feature-search-store.ts @@ -1,18 +1,18 @@ import { Knex } from 'knex'; -import EventEmitter from 'events'; +import type EventEmitter from 'events'; import metricsHelper from '../../util/metrics-helper'; import { DB_TIME } from '../../metric-events'; -import { Logger, LogProvider } from '../../logger'; -import { +import type { Logger, LogProvider } from '../../logger'; +import type { IEnvironmentOverview, IFeatureOverview, IFeatureSearchStore, ITag, } from '../../types'; import FeatureToggleStore from '../feature-toggle/feature-toggle-store'; -import { Db } from '../../db/db'; +import type { Db } from '../../db/db'; import Raw = Knex.Raw; -import { +import type { IFeatureSearchParams, IQueryParam, } from '../feature-toggle/types/feature-toggle-strategies-store-type'; diff --git a/src/lib/features/feature-search/feature.search.e2e.test.ts b/src/lib/features/feature-search/feature.search.e2e.test.ts index 813f35acaed..b0b06ed9a4b 100644 --- a/src/lib/features/feature-search/feature.search.e2e.test.ts +++ b/src/lib/features/feature-search/feature.search.e2e.test.ts @@ -1,12 +1,12 @@ -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import { insertLastSeenAt, - IUnleashTest, + type IUnleashTest, setupAppWithAuth, } from '../../../test/e2e/helpers/test-helper'; import getLogger from '../../../test/fixtures/no-logger'; -import { FeatureSearchQueryParameters } from '../../openapi/spec/feature-search-query-parameters'; -import { DEFAULT_PROJECT, IUnleashStores } from '../../types'; +import type { FeatureSearchQueryParameters } from '../../openapi/spec/feature-search-query-parameters'; +import { DEFAULT_PROJECT, type IUnleashStores } from '../../types'; import { DEFAULT_ENV } from '../../util'; let app: IUnleashTest; diff --git a/src/lib/features/feature-search/search-utils.ts b/src/lib/features/feature-search/search-utils.ts index 6dff611cc88..dea6385a46a 100644 --- a/src/lib/features/feature-search/search-utils.ts +++ b/src/lib/features/feature-search/search-utils.ts @@ -1,5 +1,5 @@ -import { Knex } from 'knex'; -import { IQueryParam } from '../feature-toggle/types/feature-toggle-strategies-store-type'; +import type { Knex } from 'knex'; +import type { IQueryParam } from '../feature-toggle/types/feature-toggle-strategies-store-type'; export interface NormalizeParamsDefaults { limitDefault: number; diff --git a/src/lib/features/feature-toggle/archive-feature-toggle-controller.ts b/src/lib/features/feature-toggle/archive-feature-toggle-controller.ts index bf288fb75f4..e2ed118ea98 100644 --- a/src/lib/features/feature-toggle/archive-feature-toggle-controller.ts +++ b/src/lib/features/feature-toggle/archive-feature-toggle-controller.ts @@ -1,26 +1,29 @@ -import { Request, Response } from 'express'; -import { IUnleashConfig } from '../../types/option'; -import { IUnleashServices } from '../../types'; +import type { Request, Response } from 'express'; +import type { IUnleashConfig } from '../../types/option'; +import type { IUnleashServices } from '../../types'; import Controller from '../../routes/controller'; import { extractUserIdFromUser, extractUsername, } from '../../util/extract-user'; import { DELETE_FEATURE, NONE, UPDATE_FEATURE } from '../../types/permissions'; -import FeatureToggleService from './feature-toggle-service'; -import { IAuthRequest } from '../../routes/unleash-types'; +import type FeatureToggleService from './feature-toggle-service'; +import type { IAuthRequest } from '../../routes/unleash-types'; import { featuresSchema, - FeaturesSchema, + type FeaturesSchema, } from '../../openapi/spec/features-schema'; import { serializeDates } from '../../types/serialize-dates'; -import { OpenApiService } from '../../services/openapi-service'; +import type { OpenApiService } from '../../services/openapi-service'; import { createResponseSchema } from '../../openapi/util/create-response-schema'; import { emptyResponse, getStandardResponses, } from '../../openapi/util/standard-responses'; -import { TransactionCreator, UnleashTransaction } from '../../db/transaction'; +import type { + TransactionCreator, + UnleashTransaction, +} from '../../db/transaction'; export default class ArchiveController extends Controller { private featureService: FeatureToggleService; diff --git a/src/lib/features/feature-toggle/configuration-revision-service.ts b/src/lib/features/feature-toggle/configuration-revision-service.ts index 49b11ceeb5d..8d6d9043032 100644 --- a/src/lib/features/feature-toggle/configuration-revision-service.ts +++ b/src/lib/features/feature-toggle/configuration-revision-service.ts @@ -1,5 +1,5 @@ -import { Logger } from '../../logger'; -import { +import type { Logger } from '../../logger'; +import type { IEventStore, IFlagResolver, IUnleashConfig, diff --git a/src/lib/features/feature-toggle/converters/feature-toggle-row-converter.ts b/src/lib/features/feature-toggle/converters/feature-toggle-row-converter.ts index b657a987017..0ea0a5d5ffe 100644 --- a/src/lib/features/feature-toggle/converters/feature-toggle-row-converter.ts +++ b/src/lib/features/feature-toggle/converters/feature-toggle-row-converter.ts @@ -1,4 +1,4 @@ -import { +import type { PartialDeep, IFeatureToggleClient, IStrategyConfig, @@ -9,7 +9,7 @@ import { } from '../../../types'; import { mapValues, ensureStringValue } from '../../../util'; -import { FeatureConfigurationClient } from '../types/feature-toggle-strategies-store-type'; +import type { FeatureConfigurationClient } from '../types/feature-toggle-strategies-store-type'; export class FeatureToggleRowConverter { private flagResolver: IFlagResolver; diff --git a/src/lib/features/feature-toggle/createFeatureToggleService.ts b/src/lib/features/feature-toggle/createFeatureToggleService.ts index 6c943a215ad..d5837df4233 100644 --- a/src/lib/features/feature-toggle/createFeatureToggleService.ts +++ b/src/lib/features/feature-toggle/createFeatureToggleService.ts @@ -15,8 +15,8 @@ import { AccountStore } from '../../db/account-store'; import { AccessStore } from '../../db/access-store'; import RoleStore from '../../db/role-store'; import EnvironmentStore from '../project-environments/environment-store'; -import { Db } from '../../db/db'; -import { IUnleashConfig } from '../../types'; +import type { Db } from '../../db/db'; +import type { IUnleashConfig } from '../../types'; import FakeEventStore from '../../../test/fixtures/fake-event-store'; import FakeFeatureStrategiesStore from './fakes/fake-feature-strategies-store'; import FakeFeatureToggleStore from './fakes/fake-feature-toggle-store'; diff --git a/src/lib/features/feature-toggle/fakes/fake-feature-strategies-store.ts b/src/lib/features/feature-toggle/fakes/fake-feature-strategies-store.ts index 3e282d304d4..b8b67065058 100644 --- a/src/lib/features/feature-toggle/fakes/fake-feature-strategies-store.ts +++ b/src/lib/features/feature-toggle/fakes/fake-feature-strategies-store.ts @@ -1,5 +1,5 @@ import { randomUUID } from 'crypto'; -import { +import type { FeatureToggleWithEnvironment, IFeatureOverview, IFeatureToggleClient, @@ -8,8 +8,8 @@ import { FeatureToggle, } from '../../../types/model'; import NotFoundError from '../../../error/notfound-error'; -import { IFeatureStrategiesStore } from '../types/feature-toggle-strategies-store-type'; -import { IFeatureProjectUserParams } from '../feature-toggle-controller'; +import type { IFeatureStrategiesStore } from '../types/feature-toggle-strategies-store-type'; +import type { IFeatureProjectUserParams } from '../feature-toggle-controller'; import { ALL_PROJECTS } from '../../../util'; interface ProjectEnvironment { diff --git a/src/lib/features/feature-toggle/fakes/fake-feature-toggle-store.ts b/src/lib/features/feature-toggle/fakes/fake-feature-toggle-store.ts index 2aedede0ac5..4ad2d9ec9d2 100644 --- a/src/lib/features/feature-toggle/fakes/fake-feature-toggle-store.ts +++ b/src/lib/features/feature-toggle/fakes/fake-feature-toggle-store.ts @@ -1,9 +1,9 @@ -import { +import type { IFeatureToggleStore, IFeatureToggleStoreQuery, } from '../types/feature-toggle-store-type'; import NotFoundError from '../../../error/notfound-error'; -import { +import type { FeatureToggle, FeatureToggleDTO, IFeatureEnvironment, @@ -11,13 +11,13 @@ import { IFeatureTypeCount, IVariant, } from '../../../types/model'; -import { LastSeenInput } from '../../metrics/last-seen/last-seen-service'; -import { +import type { LastSeenInput } from '../../metrics/last-seen/last-seen-service'; +import type { EnvironmentFeatureNames, FeatureToggleInsert, } from '../feature-toggle-store'; -import { FeatureConfigurationClient } from '../types/feature-toggle-strategies-store-type'; -import { IFeatureProjectUserParams } from '../feature-toggle-controller'; +import type { FeatureConfigurationClient } from '../types/feature-toggle-strategies-store-type'; +import type { IFeatureProjectUserParams } from '../feature-toggle-controller'; export default class FakeFeatureToggleStore implements IFeatureToggleStore { features: FeatureToggle[] = []; diff --git a/src/lib/features/feature-toggle/fakes/fake-features-read-model.ts b/src/lib/features/feature-toggle/fakes/fake-features-read-model.ts index 5667f530b0a..550a3878904 100644 --- a/src/lib/features/feature-toggle/fakes/fake-features-read-model.ts +++ b/src/lib/features/feature-toggle/fakes/fake-features-read-model.ts @@ -1,4 +1,4 @@ -import { IFeaturesReadModel } from '../types/features-read-model-type'; +import type { IFeaturesReadModel } from '../types/features-read-model-type'; export class FakeFeaturesReadModel implements IFeaturesReadModel { featureExists(): Promise { diff --git a/src/lib/features/feature-toggle/feature-toggle-controller.ts b/src/lib/features/feature-toggle/feature-toggle-controller.ts index e6860fd2727..1995a7eb94b 100644 --- a/src/lib/features/feature-toggle/feature-toggle-controller.ts +++ b/src/lib/features/feature-toggle/feature-toggle-controller.ts @@ -1,54 +1,57 @@ -import { Request, Response } from 'express'; -import { applyPatch, Operation } from 'fast-json-patch'; +import type { Request, Response } from 'express'; +import { applyPatch, type Operation } from 'fast-json-patch'; import Controller from '../../routes/controller'; import { CREATE_FEATURE, CREATE_FEATURE_STRATEGY, DELETE_FEATURE, DELETE_FEATURE_STRATEGY, - IFlagResolver, - IUnleashConfig, - IUnleashServices, + type IFlagResolver, + type IUnleashConfig, + type IUnleashServices, NONE, serializeDates, UPDATE_FEATURE, UPDATE_FEATURE_ENVIRONMENT, UPDATE_FEATURE_STRATEGY, } from '../../types'; -import { Logger } from '../../logger'; +import type { Logger } from '../../logger'; import { extractUsername } from '../../util'; -import { IAuthRequest } from '../../routes/unleash-types'; +import type { IAuthRequest } from '../../routes/unleash-types'; import { - AdminFeaturesQuerySchema, - BulkToggleFeaturesSchema, - CreateFeatureSchema, - CreateFeatureStrategySchema, + type AdminFeaturesQuerySchema, + type BulkToggleFeaturesSchema, + type CreateFeatureSchema, + type CreateFeatureStrategySchema, createRequestSchema, createResponseSchema, emptyResponse, featureEnvironmentSchema, - FeatureEnvironmentSchema, + type FeatureEnvironmentSchema, featureSchema, - FeatureSchema, + type FeatureSchema, featuresSchema, - FeaturesSchema, - FeatureStrategySchema, + type FeaturesSchema, + type FeatureStrategySchema, getStandardResponses, - ParametersSchema, - SetStrategySortOrderSchema, - TagsBulkAddSchema, - TagSchema, - UpdateFeatureSchema, - UpdateFeatureStrategySchema, + type ParametersSchema, + type SetStrategySortOrderSchema, + type TagsBulkAddSchema, + type TagSchema, + type UpdateFeatureSchema, + type UpdateFeatureStrategySchema, } from '../../openapi'; -import { +import type { FeatureTagService, FeatureToggleService, OpenApiService, } from '../../services'; import { querySchema } from '../../schema/feature-schema'; -import { BatchStaleSchema } from '../../openapi/spec/batch-stale-schema'; -import { TransactionCreator, UnleashTransaction } from '../../db/transaction'; +import type { BatchStaleSchema } from '../../openapi/spec/batch-stale-schema'; +import type { + TransactionCreator, + UnleashTransaction, +} from '../../db/transaction'; import { BadDataError } from '../../error'; interface FeatureStrategyParams { diff --git a/src/lib/features/feature-toggle/feature-toggle-service.ts b/src/lib/features/feature-toggle/feature-toggle-service.ts index bc557f1acb7..1aec0f677f7 100644 --- a/src/lib/features/feature-toggle/feature-toggle-service.ts +++ b/src/lib/features/feature-toggle/feature-toggle-service.ts @@ -13,42 +13,42 @@ import { FeatureStrategyAddEvent, FeatureStrategyRemoveEvent, FeatureStrategyUpdateEvent, - FeatureToggle, - FeatureToggleDTO, - FeatureToggleLegacy, - FeatureToggleWithDependencies, - FeatureToggleWithEnvironment, + type FeatureToggle, + type FeatureToggleDTO, + type FeatureToggleLegacy, + type FeatureToggleWithDependencies, + type FeatureToggleWithEnvironment, FeatureVariantEvent, - IConstraint, - IDependency, - IFeatureEnvironmentInfo, - IFeatureEnvironmentStore, - IFeatureNaming, - IFeatureOverview, - IFeatureStrategy, - IFeatureTagStore, - IFeatureToggleClientStore, - IFeatureToggleQuery, - IFeatureToggleStore, - IFeatureTypeCount, - IFlagResolver, - IProjectStore, - ISegment, - IStrategyConfig, - IStrategyStore, - IUnleashConfig, - IUnleashStores, - IVariant, + type IConstraint, + type IDependency, + type IFeatureEnvironmentInfo, + type IFeatureEnvironmentStore, + type IFeatureNaming, + type IFeatureOverview, + type IFeatureStrategy, + type IFeatureTagStore, + type IFeatureToggleClientStore, + type IFeatureToggleQuery, + type IFeatureToggleStore, + type IFeatureTypeCount, + type IFlagResolver, + type IProjectStore, + type ISegment, + type IStrategyConfig, + type IStrategyStore, + type IUnleashConfig, + type IUnleashStores, + type IVariant, PotentiallyStaleOnEvent, - Saved, + type Saved, SKIP_CHANGE_REQUEST, StrategiesOrderChangedEvent, - StrategyIds, + type StrategyIds, SYSTEM_USER_ID, - Unsaved, + type Unsaved, WeightType, } from '../../types'; -import { Logger } from '../../logger'; +import type { Logger } from '../../logger'; import { ForbiddenError, FOREIGN_KEY_VIOLATION, @@ -66,7 +66,7 @@ import { variantsArraySchema, } from '../../schema/feature-schema'; import NotFoundError from '../../error/notfound-error'; -import { +import type { FeatureConfigurationClient, IFeatureStrategiesStore, } from './types/feature-toggle-strategies-store-type'; @@ -78,7 +78,7 @@ import { SEMVER_OPERATORS, STRING_OPERATORS, } from '../../util'; -import { applyPatch, deepClone, Operation } from 'fast-json-patch'; +import { applyPatch, deepClone, type Operation } from 'fast-json-patch'; import { validateDate, validateLegalValues, @@ -86,27 +86,27 @@ import { validateSemver, validateString, } from '../../util/validators/constraint-types'; -import { IContextFieldStore } from '../../types/stores/context-field-store'; -import { SetStrategySortOrderSchema } from '../../openapi/spec/set-strategy-sort-order-schema'; +import type { IContextFieldStore } from '../../types/stores/context-field-store'; +import type { SetStrategySortOrderSchema } from '../../openapi/spec/set-strategy-sort-order-schema'; import { getDefaultStrategy, getProjectDefaultStrategy, } from '../playground/feature-evaluator/helpers'; -import { AccessService } from '../../services/access-service'; -import { IUser } from '../../server-impl'; -import { IFeatureProjectUserParams } from './feature-toggle-controller'; +import type { AccessService } from '../../services/access-service'; +import type { IUser } from '../../server-impl'; +import type { IFeatureProjectUserParams } from './feature-toggle-controller'; import { unique } from '../../util/unique'; -import { ISegmentService } from '../segment/segment-service-interface'; -import { IChangeRequestAccessReadModel } from '../change-request-access-service/change-request-access-read-model'; +import type { ISegmentService } from '../segment/segment-service-interface'; +import type { IChangeRequestAccessReadModel } from '../change-request-access-service/change-request-access-read-model'; import { checkFeatureFlagNamesAgainstPattern } from '../feature-naming-pattern/feature-naming-validation'; -import { IPrivateProjectChecker } from '../private-project/privateProjectCheckerType'; -import { IDependentFeaturesReadModel } from '../dependent-features/dependent-features-read-model-type'; -import EventService from '../events/event-service'; -import { DependentFeaturesService } from '../dependent-features/dependent-features-service'; -import { FeatureToggleInsert } from './feature-toggle-store'; +import type { IPrivateProjectChecker } from '../private-project/privateProjectCheckerType'; +import type { IDependentFeaturesReadModel } from '../dependent-features/dependent-features-read-model-type'; +import type EventService from '../events/event-service'; +import type { DependentFeaturesService } from '../dependent-features/dependent-features-service'; +import type { FeatureToggleInsert } from './feature-toggle-store'; import ArchivedFeatureError from '../../error/archivedfeature-error'; import { FEATURES_CREATED_BY_PROCESSED } from '../../metric-events'; -import { EventEmitter } from 'stream'; +import type { EventEmitter } from 'stream'; interface IFeatureContext { featureName: string; diff --git a/src/lib/features/feature-toggle/feature-toggle-store.ts b/src/lib/features/feature-toggle/feature-toggle-store.ts index 81de041613d..12d3982dc66 100644 --- a/src/lib/features/feature-toggle/feature-toggle-store.ts +++ b/src/lib/features/feature-toggle/feature-toggle-store.ts @@ -1,30 +1,30 @@ -import { Knex } from 'knex'; -import EventEmitter from 'events'; +import type { Knex } from 'knex'; +import type EventEmitter from 'events'; import metricsHelper from '../../util/metrics-helper'; import { DB_TIME } from '../../metric-events'; import NotFoundError from '../../error/notfound-error'; -import { Logger, LogProvider } from '../../logger'; -import { +import type { Logger, LogProvider } from '../../logger'; +import type { FeatureToggle, FeatureToggleDTO, IFeatureToggleQuery, IVariant, } from '../../types/model'; -import { IFeatureToggleStore } from './types/feature-toggle-store-type'; -import { Db } from '../../db/db'; -import { LastSeenInput } from '../metrics/last-seen/last-seen-service'; +import type { IFeatureToggleStore } from './types/feature-toggle-store-type'; +import type { Db } from '../../db/db'; +import type { LastSeenInput } from '../metrics/last-seen/last-seen-service'; import { NameExistsError } from '../../error'; import { DEFAULT_ENV } from '../../../lib/util'; import { FeatureToggleListBuilder } from './query-builders/feature-toggle-list-builder'; -import { FeatureConfigurationClient } from './types/feature-toggle-strategies-store-type'; +import type { FeatureConfigurationClient } from './types/feature-toggle-strategies-store-type'; import { ADMIN_TOKEN_USER, - IFeatureTypeCount, - IFlagResolver, + type IFeatureTypeCount, + type IFlagResolver, } from '../../../lib/types'; import { FeatureToggleRowConverter } from './converters/feature-toggle-row-converter'; -import { IFeatureProjectUserParams } from './feature-toggle-controller'; +import type { IFeatureProjectUserParams } from './feature-toggle-controller'; export type EnvironmentFeatureNames = { [key: string]: string[]; @@ -347,7 +347,7 @@ export default class FeatureToggleStore implements IFeatureToggleStore { } const queryResult = await query.first(); - return parseInt(queryResult.count || 0); + return Number.parseInt(queryResult.count || 0); } /** diff --git a/src/lib/features/feature-toggle/feature-toggle-strategies-store.ts b/src/lib/features/feature-toggle/feature-toggle-strategies-store.ts index cd81e3b6f02..71e44a69ed3 100644 --- a/src/lib/features/feature-toggle/feature-toggle-strategies-store.ts +++ b/src/lib/features/feature-toggle/feature-toggle-strategies-store.ts @@ -1,11 +1,11 @@ import { Knex } from 'knex'; -import EventEmitter from 'events'; +import type EventEmitter from 'events'; import { v4 as uuidv4 } from 'uuid'; import metricsHelper from '../../util/metrics-helper'; import { DB_TIME } from '../../metric-events'; -import { Logger, LogProvider } from '../../logger'; +import type { Logger, LogProvider } from '../../logger'; import NotFoundError from '../../error/notfound-error'; -import { +import type { FeatureToggleWithEnvironment, IConstraint, IEnvironmentOverview, @@ -22,8 +22,8 @@ import { } from '../../types'; import FeatureToggleStore from './feature-toggle-store'; import { ensureStringValue, mapValues } from '../../util'; -import { IFeatureProjectUserParams } from './feature-toggle-controller'; -import { Db } from '../../db/db'; +import type { IFeatureProjectUserParams } from './feature-toggle-controller'; +import type { Db } from '../../db/db'; import Raw = Knex.Raw; import { isAfter } from 'date-fns'; diff --git a/src/lib/features/feature-toggle/features-read-model.ts b/src/lib/features/feature-toggle/features-read-model.ts index 32c1150d688..46157af8f38 100644 --- a/src/lib/features/feature-toggle/features-read-model.ts +++ b/src/lib/features/feature-toggle/features-read-model.ts @@ -1,5 +1,5 @@ -import { Db } from '../../db/db'; -import { IFeaturesReadModel } from './types/features-read-model-type'; +import type { Db } from '../../db/db'; +import type { IFeaturesReadModel } from './types/features-read-model-type'; export class FeaturesReadModel implements IFeaturesReadModel { private db: Db; diff --git a/src/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.ts b/src/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.ts index 472c9159b9e..1df8d8aa84f 100644 --- a/src/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.ts +++ b/src/lib/features/feature-toggle/legacy/feature-toggle-legacy-controller.ts @@ -1,24 +1,24 @@ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ -import { Request, Response } from 'express'; +import type { Request, Response } from 'express'; import Controller from '../../../routes/controller'; import { extractUsername } from '../../../util/extract-user'; import { NONE, UPDATE_FEATURE } from '../../../types/permissions'; -import { IUnleashConfig } from '../../../types/option'; -import { IUnleashServices } from '../../../types'; -import FeatureToggleService from '../feature-toggle-service'; +import type { IUnleashConfig } from '../../../types/option'; +import type { IUnleashServices } from '../../../types'; +import type FeatureToggleService from '../feature-toggle-service'; import { featureSchema, querySchema } from '../../../schema/feature-schema'; -import { IFeatureToggleQuery } from '../../../types/model'; -import FeatureTagService from '../../../services/feature-tag-service'; -import { IAuthRequest } from '../../../routes/unleash-types'; +import type { IFeatureToggleQuery } from '../../../types/model'; +import type FeatureTagService from '../../../services/feature-tag-service'; +import type { IAuthRequest } from '../../../routes/unleash-types'; import { DEFAULT_ENV } from '../../../util/constants'; import { featuresSchema, - FeaturesSchema, + type FeaturesSchema, } from '../../../openapi/spec/features-schema'; -import { TagSchema } from '../../../openapi/spec/tag-schema'; -import { TagsSchema } from '../../../openapi/spec/tags-schema'; +import type { TagSchema } from '../../../openapi/spec/tag-schema'; +import type { TagsSchema } from '../../../openapi/spec/tags-schema'; import { serializeDates } from '../../../types/serialize-dates'; -import { OpenApiService } from '../../../services/openapi-service'; +import type { OpenApiService } from '../../../services/openapi-service'; import { createRequestSchema } from '../../../openapi/util/create-request-schema'; import { createResponseSchema, @@ -28,8 +28,8 @@ import { emptyResponse, getStandardResponses, } from '../../../openapi/util/standard-responses'; -import { UpdateTagsSchema } from '../../../openapi/spec/update-tags-schema'; -import { ValidateFeatureSchema } from '../../../openapi/spec/validate-feature-schema'; +import type { UpdateTagsSchema } from '../../../openapi/spec/update-tags-schema'; +import type { ValidateFeatureSchema } from '../../../openapi/spec/validate-feature-schema'; const version = 1; diff --git a/src/lib/features/feature-toggle/query-builders/feature-toggle-list-builder.ts b/src/lib/features/feature-toggle/query-builders/feature-toggle-list-builder.ts index a7b5501817f..d009d189c41 100644 --- a/src/lib/features/feature-toggle/query-builders/feature-toggle-list-builder.ts +++ b/src/lib/features/feature-toggle/query-builders/feature-toggle-list-builder.ts @@ -1,4 +1,4 @@ -import { Knex } from 'knex'; +import type { Knex } from 'knex'; import FeatureToggleStore from '../feature-toggle-store'; export class FeatureToggleListBuilder { diff --git a/src/lib/features/feature-toggle/tests/archive-feature-toggles.e2e.test.ts b/src/lib/features/feature-toggle/tests/archive-feature-toggles.e2e.test.ts index e82846245af..62c9ef7b88a 100644 --- a/src/lib/features/feature-toggle/tests/archive-feature-toggles.e2e.test.ts +++ b/src/lib/features/feature-toggle/tests/archive-feature-toggles.e2e.test.ts @@ -1,6 +1,8 @@ -import dbInit, { ITestDb } from '../../../../test/e2e/helpers/database-init'; +import dbInit, { + type ITestDb, +} from '../../../../test/e2e/helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../../../test/e2e/helpers/test-helper'; import getLogger from '../../../../test/fixtures/no-logger'; diff --git a/src/lib/features/feature-toggle/tests/feature-toggle-last-seen-at.e2e.test.ts b/src/lib/features/feature-toggle/tests/feature-toggle-last-seen-at.e2e.test.ts index 09a086426d1..4c05a20c501 100644 --- a/src/lib/features/feature-toggle/tests/feature-toggle-last-seen-at.e2e.test.ts +++ b/src/lib/features/feature-toggle/tests/feature-toggle-last-seen-at.e2e.test.ts @@ -1,6 +1,8 @@ -import dbInit, { ITestDb } from '../../../../test/e2e/helpers/database-init'; +import dbInit, { + type ITestDb, +} from '../../../../test/e2e/helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, insertLastSeenAt, setupAppWithCustomConfig, } from '../../../../test/e2e/helpers/test-helper'; diff --git a/src/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.ts b/src/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.ts index bb216bb31de..1d81ce37026 100644 --- a/src/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.ts +++ b/src/lib/features/feature-toggle/tests/feature-toggle-service.e2e.test.ts @@ -1,21 +1,23 @@ -import FeatureToggleService from '../feature-toggle-service'; +import type FeatureToggleService from '../feature-toggle-service'; import { createTestConfig } from '../../../../test/config/test-config'; -import dbInit, { ITestDb } from '../../../../test/e2e/helpers/database-init'; +import dbInit, { + type ITestDb, +} from '../../../../test/e2e/helpers/database-init'; import { DEFAULT_ENV } from '../../../util'; -import { FeatureStrategySchema } from '../../../openapi'; -import User from '../../../types/user'; +import type { FeatureStrategySchema } from '../../../openapi'; +import type User from '../../../types/user'; import { - IConstraint, - IUnleashConfig, - IUnleashStores, - IVariant, + type IConstraint, + type IUnleashConfig, + type IUnleashStores, + type IVariant, SKIP_CHANGE_REQUEST, SYSTEM_USER, SYSTEM_USER_ID, } from '../../../types'; import EnvironmentService from '../../project-environments/environment-service'; import { ForbiddenError, PatternError, PermissionError } from '../../../error'; -import { ISegmentService } from '../../segment/segment-service-interface'; +import type { ISegmentService } from '../../segment/segment-service-interface'; import { createFeatureToggleService, createSegmentService } from '../..'; import { insertFeatureEnvironmentsLastSeen, diff --git a/src/lib/features/feature-toggle/tests/feature-toggle-store.e2e.test.ts b/src/lib/features/feature-toggle/tests/feature-toggle-store.e2e.test.ts index ab6a45146ed..bd521839549 100644 --- a/src/lib/features/feature-toggle/tests/feature-toggle-store.e2e.test.ts +++ b/src/lib/features/feature-toggle/tests/feature-toggle-store.e2e.test.ts @@ -1,11 +1,13 @@ -import dbInit, { ITestDb } from '../../../../test/e2e/helpers/database-init'; +import dbInit, { + type ITestDb, +} from '../../../../test/e2e/helpers/database-init'; import getLogger from '../../../../test/fixtures/no-logger'; -import { +import type { IFeatureToggleStore, IProjectStore, IUnleashStores, } from '../../../types'; -import { FeatureToggleInsert } from '../feature-toggle-store'; +import type { FeatureToggleInsert } from '../feature-toggle-store'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/lib/features/feature-toggle/tests/feature-toggle-strategies-store.e2e.test.ts b/src/lib/features/feature-toggle/tests/feature-toggle-strategies-store.e2e.test.ts index e350468c37b..c2e27c1ee4d 100644 --- a/src/lib/features/feature-toggle/tests/feature-toggle-strategies-store.e2e.test.ts +++ b/src/lib/features/feature-toggle/tests/feature-toggle-strategies-store.e2e.test.ts @@ -1,8 +1,10 @@ -import { IFeatureStrategiesStore } from '../../../features/feature-toggle/types/feature-toggle-strategies-store-type'; -import { IFeatureToggleStore } from '../../../features/feature-toggle/types/feature-toggle-store-type'; -import dbInit, { ITestDb } from '../../../../test/e2e/helpers/database-init'; +import type { IFeatureStrategiesStore } from '../../../features/feature-toggle/types/feature-toggle-strategies-store-type'; +import type { IFeatureToggleStore } from '../../../features/feature-toggle/types/feature-toggle-store-type'; +import dbInit, { + type ITestDb, +} from '../../../../test/e2e/helpers/database-init'; import getLogger from '../../../../test/fixtures/no-logger'; -import { IUnleashStores } from '../../../types'; +import type { IUnleashStores } from '../../../types'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/lib/features/feature-toggle/tests/feature-toggles.auth.e2e.test.ts b/src/lib/features/feature-toggle/tests/feature-toggles.auth.e2e.test.ts index 4cf6bffc236..72254d4f5f1 100644 --- a/src/lib/features/feature-toggle/tests/feature-toggles.auth.e2e.test.ts +++ b/src/lib/features/feature-toggle/tests/feature-toggles.auth.e2e.test.ts @@ -1,6 +1,8 @@ -import dbInit, { ITestDb } from '../../../../test/e2e/helpers/database-init'; +import dbInit, { + type ITestDb, +} from '../../../../test/e2e/helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithAuth, } from '../../../../test/e2e/helpers/test-helper'; import getLogger from '../../../../test/fixtures/no-logger'; diff --git a/src/lib/features/feature-toggle/tests/feature-toggles.e2e.test.ts b/src/lib/features/feature-toggle/tests/feature-toggles.e2e.test.ts index 84b68d04773..baa2f6eded5 100644 --- a/src/lib/features/feature-toggle/tests/feature-toggles.e2e.test.ts +++ b/src/lib/features/feature-toggle/tests/feature-toggles.e2e.test.ts @@ -1,6 +1,8 @@ -import dbInit, { ITestDb } from '../../../../test/e2e/helpers/database-init'; +import dbInit, { + type ITestDb, +} from '../../../../test/e2e/helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../../../test/e2e/helpers/test-helper'; import getLogger from '../../../../test/fixtures/no-logger'; @@ -17,16 +19,16 @@ import ApiUser from '../../../types/api-user'; import { ApiTokenType } from '../../../types/models/api-token'; import IncompatibleProjectError from '../../../error/incompatible-project-error'; import { - IStrategyConfig, - IVariant, + type IStrategyConfig, + type IVariant, RoleName, WeightType, } from '../../../types/model'; import { v4 as uuidv4 } from 'uuid'; -import supertest from 'supertest'; +import type supertest from 'supertest'; import { randomId } from '../../../util/random-id'; import { DEFAULT_PROJECT } from '../../../types'; -import { +import type { FeatureStrategySchema, SetStrategySortOrderSchema, } from '../../../openapi'; diff --git a/src/lib/features/feature-toggle/time-to-production/time-to-production.ts b/src/lib/features/feature-toggle/time-to-production/time-to-production.ts index 1bc75544fff..80d6cb501c8 100644 --- a/src/lib/features/feature-toggle/time-to-production/time-to-production.ts +++ b/src/lib/features/feature-toggle/time-to-production/time-to-production.ts @@ -1,5 +1,5 @@ import { differenceInDays } from 'date-fns'; -import { ICreateEnabledDates } from '../../../types/stores/project-stats-store-type'; +import type { ICreateEnabledDates } from '../../../types/stores/project-stats-store-type'; const calculateTimeToProdForFeatures = ( items: ICreateEnabledDates[], diff --git a/src/lib/features/feature-toggle/types/feature-toggle-store-type.ts b/src/lib/features/feature-toggle/types/feature-toggle-store-type.ts index 20b189922c1..e083afb81db 100644 --- a/src/lib/features/feature-toggle/types/feature-toggle-store-type.ts +++ b/src/lib/features/feature-toggle/types/feature-toggle-store-type.ts @@ -1,15 +1,15 @@ -import { +import type { FeatureToggle, FeatureToggleDTO, IFeatureToggleQuery, IFeatureTypeCount, IVariant, } from '../../../types/model'; -import { FeatureToggleInsert } from '../feature-toggle-store'; -import { Store } from '../../../types/stores/store'; -import { LastSeenInput } from '../../metrics/last-seen/last-seen-service'; -import { FeatureConfigurationClient } from './feature-toggle-strategies-store-type'; -import { IFeatureProjectUserParams } from '../feature-toggle-controller'; +import type { FeatureToggleInsert } from '../feature-toggle-store'; +import type { Store } from '../../../types/stores/store'; +import type { LastSeenInput } from '../../metrics/last-seen/last-seen-service'; +import type { FeatureConfigurationClient } from './feature-toggle-strategies-store-type'; +import type { IFeatureProjectUserParams } from '../feature-toggle-controller'; export interface IFeatureToggleStoreQuery { archived: boolean; diff --git a/src/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.ts b/src/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.ts index 398323205dc..71ec9f9323d 100644 --- a/src/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.ts +++ b/src/lib/features/feature-toggle/types/feature-toggle-strategies-store-type.ts @@ -1,4 +1,4 @@ -import { +import type { FeatureToggleWithEnvironment, IDependency, IFeatureOverview, @@ -6,8 +6,8 @@ import { IStrategyConfig, IVariant, } from '../../../types/model'; -import { Store } from '../../../types/stores/store'; -import { IFeatureProjectUserParams } from '../feature-toggle-controller'; +import type { Store } from '../../../types/stores/store'; +import type { IFeatureProjectUserParams } from '../feature-toggle-controller'; export interface FeatureConfigurationClient { name: string; diff --git a/src/lib/features/frontend-api/client-feature-toggle-read-model-type.ts b/src/lib/features/frontend-api/client-feature-toggle-read-model-type.ts index 93067d24801..2f938aee51d 100644 --- a/src/lib/features/frontend-api/client-feature-toggle-read-model-type.ts +++ b/src/lib/features/frontend-api/client-feature-toggle-read-model-type.ts @@ -1,4 +1,4 @@ -import { IFeatureToggleClient } from '../../types'; +import type { IFeatureToggleClient } from '../../types'; export interface IClientFeatureToggleReadModel { getAll(): Promise>>; diff --git a/src/lib/features/frontend-api/client-feature-toggle-read-model.ts b/src/lib/features/frontend-api/client-feature-toggle-read-model.ts index 191aa8e5200..5d81898da9a 100644 --- a/src/lib/features/frontend-api/client-feature-toggle-read-model.ts +++ b/src/lib/features/frontend-api/client-feature-toggle-read-model.ts @@ -1,17 +1,17 @@ import { Knex } from 'knex'; -import { +import type { IFeatureToggleClient, IStrategyConfig, PartialDeep, } from '../../types'; import { ensureStringValue, mapValues } from '../../util'; -import { Db } from '../../db/db'; +import type { Db } from '../../db/db'; import FeatureToggleStore from '../feature-toggle/feature-toggle-store'; import Raw = Knex.Raw; import metricsHelper from '../../util/metrics-helper'; import { DB_TIME } from '../../metric-events'; -import EventEmitter from 'events'; -import { IClientFeatureToggleReadModel } from './client-feature-toggle-read-model-type'; +import type EventEmitter from 'events'; +import type { IClientFeatureToggleReadModel } from './client-feature-toggle-read-model-type'; export default class ClientFeatureToggleReadModel implements IClientFeatureToggleReadModel diff --git a/src/lib/features/frontend-api/create-context.ts b/src/lib/features/frontend-api/create-context.ts index d2b1e2801c3..683d901941f 100644 --- a/src/lib/features/frontend-api/create-context.ts +++ b/src/lib/features/frontend-api/create-context.ts @@ -1,7 +1,7 @@ // Copy of https://github.com/Unleash/unleash-proxy/blob/main/src/create-context.ts. /* eslint-disable prefer-object-spread */ -import { Context } from 'unleash-client'; +import type { Context } from 'unleash-client'; // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types export function createContext(value: any): Context { diff --git a/src/lib/features/frontend-api/createFrontendApiService.ts b/src/lib/features/frontend-api/createFrontendApiService.ts index 4af589a6517..51087589fd5 100644 --- a/src/lib/features/frontend-api/createFrontendApiService.ts +++ b/src/lib/features/frontend-api/createFrontendApiService.ts @@ -1,6 +1,6 @@ import { FrontendApiService } from './frontend-api-service'; import { SegmentReadModel } from '../segment/segment-read-model'; -import ClientMetricsServiceV2 from '../metrics/client-metrics/metrics-service-v2'; +import type ClientMetricsServiceV2 from '../metrics/client-metrics/metrics-service-v2'; import SettingService from '../../services/setting-service'; import SettingStore from '../../db/setting-store'; import { @@ -9,14 +9,14 @@ import { createFakeFeatureToggleService, createFeatureToggleService, } from '../index'; -import ConfigurationRevisionService from '../feature-toggle/configuration-revision-service'; +import type ConfigurationRevisionService from '../feature-toggle/configuration-revision-service'; import { GlobalFrontendApiCache } from './global-frontend-api-cache'; import ClientFeatureToggleReadModel from './client-feature-toggle-read-model'; import { FakeSegmentReadModel } from '../segment/fake-segment-read-model'; import FakeSettingStore from '../../../test/fixtures/fake-setting-store'; import FakeClientFeatureToggleReadModel from './fake-client-feature-toggle-read-model'; -import { IUnleashConfig } from '../../types'; -import { Db } from '../../db/db'; +import type { IUnleashConfig } from '../../types'; +import type { Db } from '../../db/db'; export const createFrontendApiService = ( db: Db, diff --git a/src/lib/features/frontend-api/fake-client-feature-toggle-read-model.ts b/src/lib/features/frontend-api/fake-client-feature-toggle-read-model.ts index 889046d1622..f9fb7ef8604 100644 --- a/src/lib/features/frontend-api/fake-client-feature-toggle-read-model.ts +++ b/src/lib/features/frontend-api/fake-client-feature-toggle-read-model.ts @@ -1,5 +1,5 @@ -import { IFeatureToggleClient } from '../../types'; -import { IClientFeatureToggleReadModel } from './client-feature-toggle-read-model-type'; +import type { IFeatureToggleClient } from '../../types'; +import type { IClientFeatureToggleReadModel } from './client-feature-toggle-read-model-type'; export default class FakeClientFeatureToggleReadModel implements IClientFeatureToggleReadModel diff --git a/src/lib/features/frontend-api/frontend-api-controller.ts b/src/lib/features/frontend-api/frontend-api-controller.ts index d850d65957e..bbb4429e85f 100644 --- a/src/lib/features/frontend-api/frontend-api-controller.ts +++ b/src/lib/features/frontend-api/frontend-api-controller.ts @@ -1,20 +1,20 @@ -import { Request, Response } from 'express'; +import type { Request, Response } from 'express'; import Controller from '../../routes/controller'; -import { IUnleashConfig, IUnleashServices, NONE } from '../../types'; -import { Logger } from '../../logger'; -import { IApiUser } from '../../types/api-user'; +import { type IUnleashConfig, type IUnleashServices, NONE } from '../../types'; +import type { Logger } from '../../logger'; +import type { IApiUser } from '../../types/api-user'; import { - ClientMetricsSchema, + type ClientMetricsSchema, createRequestSchema, createResponseSchema, emptyResponse, getStandardResponses, - FrontendApiClientSchema, - FrontendApiFeatureSchema, + type FrontendApiClientSchema, + type FrontendApiFeatureSchema, frontendApiFeaturesSchema, - FrontendApiFeaturesSchema, + type FrontendApiFeaturesSchema, } from '../../openapi'; -import { Context } from 'unleash-client'; +import type { Context } from 'unleash-client'; import { enrichContextWithIp } from './index'; import { corsOriginMiddleware } from '../../middleware'; import NotImplementedError from '../../error/not-implemented-error'; diff --git a/src/lib/features/frontend-api/frontend-api-repository.ts b/src/lib/features/frontend-api/frontend-api-repository.ts index 50606a9e3f6..7d1889ac919 100644 --- a/src/lib/features/frontend-api/frontend-api-repository.ts +++ b/src/lib/features/frontend-api/frontend-api-repository.ts @@ -1,15 +1,15 @@ import EventEmitter from 'events'; -import { RepositoryInterface } from 'unleash-client/lib/repository'; -import { Segment } from 'unleash-client/lib/strategy/strategy'; -import { +import type { RepositoryInterface } from 'unleash-client/lib/repository'; +import type { Segment } from 'unleash-client/lib/strategy/strategy'; +import type { EnhancedFeatureInterface, FeatureInterface, } from 'unleash-client/lib/feature'; -import { IApiUser } from '../../types/api-user'; -import { IUnleashConfig } from '../../types'; +import type { IApiUser } from '../../types/api-user'; +import type { IUnleashConfig } from '../../types'; import { UnleashEvents } from 'unleash-client'; -import { Logger } from '../../logger'; -import { GlobalFrontendApiCache } from './global-frontend-api-cache'; +import type { Logger } from '../../logger'; +import type { GlobalFrontendApiCache } from './global-frontend-api-cache'; type Config = Pick; diff --git a/src/lib/features/frontend-api/frontend-api-service.e2e.test.ts b/src/lib/features/frontend-api/frontend-api-service.e2e.test.ts index eb81dbf211d..c99d3066581 100644 --- a/src/lib/features/frontend-api/frontend-api-service.e2e.test.ts +++ b/src/lib/features/frontend-api/frontend-api-service.e2e.test.ts @@ -1,6 +1,6 @@ -import { IApiUser, IUnleashConfig, IUnleashStores } from '../../types'; -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; -import { FrontendApiService } from './frontend-api-service'; +import type { IApiUser, IUnleashConfig, IUnleashStores } from '../../types'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; +import type { FrontendApiService } from './frontend-api-service'; import { createFrontendApiService } from './createFrontendApiService'; import { createLastSeenService } from '../metrics/last-seen/createLastSeenService'; import ClientMetricsServiceV2 from '../metrics/client-metrics/metrics-service-v2'; @@ -8,7 +8,7 @@ import ConfigurationRevisionService from '../feature-toggle/configuration-revisi import getLogger from '../../../test/fixtures/no-logger'; import { createTestConfig } from '../../../test/config/test-config'; import { ApiTokenType } from '../../types/models/api-token'; -import FeatureToggleService from '../feature-toggle/feature-toggle-service'; +import type FeatureToggleService from '../feature-toggle/feature-toggle-service'; import { createFeatureToggleService } from '../feature-toggle/createFeatureToggleService'; import { FRONTEND_API_REPOSITORY_CREATED, diff --git a/src/lib/features/frontend-api/frontend-api-service.test.ts b/src/lib/features/frontend-api/frontend-api-service.test.ts index 043d4786110..dcf743d42c9 100644 --- a/src/lib/features/frontend-api/frontend-api-service.test.ts +++ b/src/lib/features/frontend-api/frontend-api-service.test.ts @@ -1,7 +1,7 @@ -import { FrontendApiService, Config } from './frontend-api-service'; -import { GlobalFrontendApiCache } from './global-frontend-api-cache'; -import { IApiUser } from '../../types'; -import { FeatureInterface } from 'unleash-client/lib/feature'; +import { FrontendApiService, type Config } from './frontend-api-service'; +import type { GlobalFrontendApiCache } from './global-frontend-api-cache'; +import type { IApiUser } from '../../types'; +import type { FeatureInterface } from 'unleash-client/lib/feature'; import noLogger from '../../../test/fixtures/no-logger'; import { ApiTokenType } from '../../types/models/api-token'; import EventEmitter from 'events'; diff --git a/src/lib/features/frontend-api/frontend-api-service.ts b/src/lib/features/frontend-api/frontend-api-service.ts index 2a43dc27741..6761979938c 100644 --- a/src/lib/features/frontend-api/frontend-api-service.ts +++ b/src/lib/features/frontend-api/frontend-api-service.ts @@ -1,16 +1,24 @@ -import { IUnleashConfig, IUnleashServices, IUnleashStores } from '../../types'; -import { Logger } from '../../logger'; -import { ClientMetricsSchema, FrontendApiFeatureSchema } from '../../openapi'; -import ApiUser, { IApiUser } from '../../types/api-user'; +import type { + IUnleashConfig, + IUnleashServices, + IUnleashStores, +} from '../../types'; +import type { Logger } from '../../logger'; +import type { + ClientMetricsSchema, + FrontendApiFeatureSchema, +} from '../../openapi'; +import type ApiUser from '../../types/api-user'; +import type { IApiUser } from '../../types/api-user'; import { - Context, + type Context, InMemStorageProvider, Unleash, UnleashEvents, } from 'unleash-client'; import { ApiTokenType } from '../../types/models/api-token'; import { - FrontendSettings, + type FrontendSettings, frontendSettingsKey, } from '../../types/settings/frontend-settings'; import { validateOrigins } from '../../util'; @@ -20,7 +28,7 @@ import { PROXY_REPOSITORY_CREATED, } from '../../metric-events'; import { FrontendApiRepository } from './frontend-api-repository'; -import { GlobalFrontendApiCache } from './global-frontend-api-cache'; +import type { GlobalFrontendApiCache } from './global-frontend-api-cache'; import { ProxyRepository } from './proxy-repository'; export type Config = Pick< diff --git a/src/lib/features/frontend-api/frontend-api.concurrency.e2e.test.ts b/src/lib/features/frontend-api/frontend-api.concurrency.e2e.test.ts index e0a9bff29b9..ee108885cdb 100644 --- a/src/lib/features/frontend-api/frontend-api.concurrency.e2e.test.ts +++ b/src/lib/features/frontend-api/frontend-api.concurrency.e2e.test.ts @@ -1,8 +1,8 @@ import { - IUnleashTest, + type IUnleashTest, setupAppWithAuth, } from '../../../test/e2e/helpers/test-helper'; -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import getLogger from '../../../test/fixtures/no-logger'; import { randomId } from '../../util'; import { ApiTokenType } from '../../types/models/api-token'; diff --git a/src/lib/features/frontend-api/frontend-api.e2e.test.ts b/src/lib/features/frontend-api/frontend-api.e2e.test.ts index 59e092e9b9a..ecf124262a1 100644 --- a/src/lib/features/frontend-api/frontend-api.e2e.test.ts +++ b/src/lib/features/frontend-api/frontend-api.e2e.test.ts @@ -1,24 +1,24 @@ import { - IUnleashTest, + type IUnleashTest, setupAppWithAuth, } from '../../../test/e2e/helpers/test-helper'; -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import getLogger from '../../../test/fixtures/no-logger'; import { randomId } from '../../util'; import { ApiTokenType, - IApiToken, - IApiTokenCreate, + type IApiToken, + type IApiTokenCreate, } from '../../types/models/api-token'; import { startOfHour } from 'date-fns'; import { FEATURE_UPDATED, - IConstraint, - IStrategyConfig, + type IConstraint, + type IStrategyConfig, SYSTEM_USER, } from '../../types'; import { ProxyRepository } from './index'; -import { Logger } from '../../logger'; +import type { Logger } from '../../logger'; let app: IUnleashTest; let db: ITestDb; diff --git a/src/lib/features/frontend-api/global-frontend-api-cache.test.ts b/src/lib/features/frontend-api/global-frontend-api-cache.test.ts index 560ae6a94da..0e3af334d32 100644 --- a/src/lib/features/frontend-api/global-frontend-api-cache.test.ts +++ b/src/lib/features/frontend-api/global-frontend-api-cache.test.ts @@ -1,12 +1,12 @@ import { GlobalFrontendApiCache, - GlobalFrontendApiCacheState, + type GlobalFrontendApiCacheState, } from './global-frontend-api-cache'; import noLogger from '../../../test/fixtures/no-logger'; import { FakeSegmentReadModel } from '../segment/fake-segment-read-model'; import FakeClientFeatureToggleReadModel from './fake-client-feature-toggle-read-model'; import EventEmitter from 'events'; -import { +import type { IApiUser, IFeatureToggleClient, IFlagResolver, diff --git a/src/lib/features/frontend-api/global-frontend-api-cache.ts b/src/lib/features/frontend-api/global-frontend-api-cache.ts index 0199878c71b..5eb9adfb328 100644 --- a/src/lib/features/frontend-api/global-frontend-api-cache.ts +++ b/src/lib/features/frontend-api/global-frontend-api-cache.ts @@ -1,8 +1,8 @@ import EventEmitter from 'events'; -import { Segment } from 'unleash-client/lib/strategy/strategy'; -import { FeatureInterface } from 'unleash-client/lib/feature'; -import { IApiUser } from '../../types/api-user'; -import { +import type { Segment } from 'unleash-client/lib/strategy/strategy'; +import type { FeatureInterface } from 'unleash-client/lib/feature'; +import type { IApiUser } from '../../types/api-user'; +import type { IFeatureToggleClient, ISegmentReadModel, IUnleashConfig, @@ -12,9 +12,9 @@ import { mapSegmentsForClient, } from '../playground/offline-unleash-client'; import { ALL_ENVS } from '../../util/constants'; -import { Logger } from '../../logger'; +import type { Logger } from '../../logger'; import { UPDATE_REVISION } from '../feature-toggle/configuration-revision-service'; -import { IClientFeatureToggleReadModel } from './client-feature-toggle-read-model-type'; +import type { IClientFeatureToggleReadModel } from './client-feature-toggle-read-model-type'; import metricsHelper from '../../util/metrics-helper'; import { FUNCTION_TIME } from '../../metric-events'; diff --git a/src/lib/features/frontend-api/proxy-repository.ts b/src/lib/features/frontend-api/proxy-repository.ts index 1c5e13c4c16..cfaebc2d1b8 100644 --- a/src/lib/features/frontend-api/proxy-repository.ts +++ b/src/lib/features/frontend-api/proxy-repository.ts @@ -1,22 +1,25 @@ import EventEmitter from 'events'; -import { RepositoryInterface } from 'unleash-client/lib/repository'; -import { Segment } from 'unleash-client/lib/strategy/strategy'; -import { +import type { RepositoryInterface } from 'unleash-client/lib/repository'; +import type { Segment } from 'unleash-client/lib/strategy/strategy'; +import type { EnhancedFeatureInterface, FeatureInterface, } from 'unleash-client/lib/feature'; -import { IApiUser } from '../../types/api-user'; -import { IUnleashConfig, IUnleashServices, IUnleashStores } from '../../types'; +import type { IApiUser } from '../../types/api-user'; +import type { + IUnleashConfig, + IUnleashServices, + IUnleashStores, +} from '../../types'; import { mapFeaturesForClient, mapSegmentsForClient, } from '../playground/offline-unleash-client'; import { ALL_ENVS } from '../../util/constants'; import { UnleashEvents } from 'unleash-client'; -import { Logger } from '../../logger'; -import ConfigurationRevisionService, { - UPDATE_REVISION, -} from '../feature-toggle/configuration-revision-service'; +import type { Logger } from '../../logger'; +import type ConfigurationRevisionService from '../feature-toggle/configuration-revision-service'; +import { UPDATE_REVISION } from '../feature-toggle/configuration-revision-service'; import { FUNCTION_TIME, PROXY_FEATURES_FOR_TOKEN_TIME, diff --git a/src/lib/features/group/createGroupService.ts b/src/lib/features/group/createGroupService.ts index 6fdc3ef9b15..848cf173a11 100644 --- a/src/lib/features/group/createGroupService.ts +++ b/src/lib/features/group/createGroupService.ts @@ -1,6 +1,6 @@ -import { IUnleashConfig } from '../../types'; +import type { IUnleashConfig } from '../../types'; import { GroupService } from '../../services'; -import { Db } from '../../db/db'; +import type { Db } from '../../db/db'; import GroupStore from '../../db/group-store'; import { AccountStore } from '../../db/account-store'; import { createEventsService } from '../events/createEventsService'; diff --git a/src/lib/features/instance-stats/createInstanceStatsService.ts b/src/lib/features/instance-stats/createInstanceStatsService.ts index 2a369b9eec5..f55f120316b 100644 --- a/src/lib/features/instance-stats/createInstanceStatsService.ts +++ b/src/lib/features/instance-stats/createInstanceStatsService.ts @@ -7,8 +7,8 @@ import { createFakeGetProductionChanges, createGetProductionChanges, } from './getProductionChanges'; -import { IUnleashConfig } from '../../types'; -import { Db } from '../../db/db'; +import type { IUnleashConfig } from '../../types'; +import type { Db } from '../../db/db'; import FeatureToggleStore from '../feature-toggle/feature-toggle-store'; import UserStore from '../../db/user-store'; import ProjectStore from '../project/project-store'; diff --git a/src/lib/features/instance-stats/getActiveUsers.ts b/src/lib/features/instance-stats/getActiveUsers.ts index bfe1363f19c..144350eed5c 100644 --- a/src/lib/features/instance-stats/getActiveUsers.ts +++ b/src/lib/features/instance-stats/getActiveUsers.ts @@ -1,4 +1,4 @@ -import { type Db } from '../../server-impl'; +import type { Db } from '../../server-impl'; export type GetActiveUsers = () => Promise<{ last7: number; @@ -36,10 +36,10 @@ export const createGetActiveUsers = .from('Combined'); return { - last7: parseInt(result?.[0]?.last_week || '0', 10), - last30: parseInt(result?.[0]?.last_month || '0', 10), - last60: parseInt(result?.[0]?.last_two_months || '0', 10), - last90: parseInt(result?.[0]?.last_quarter || '0', 10), + last7: Number.parseInt(result?.[0]?.last_week || '0', 10), + last30: Number.parseInt(result?.[0]?.last_month || '0', 10), + last60: Number.parseInt(result?.[0]?.last_two_months || '0', 10), + last90: Number.parseInt(result?.[0]?.last_quarter || '0', 10), }; }; diff --git a/src/lib/features/instance-stats/getProductionChanges.e2e.test.ts b/src/lib/features/instance-stats/getProductionChanges.e2e.test.ts index 5d33efee609..9140955f764 100644 --- a/src/lib/features/instance-stats/getProductionChanges.e2e.test.ts +++ b/src/lib/features/instance-stats/getProductionChanges.e2e.test.ts @@ -2,7 +2,7 @@ import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import getLogger from '../../../test/fixtures/no-logger'; import { createGetProductionChanges, - GetProductionChanges, + type GetProductionChanges, } from './getProductionChanges'; import subDays from 'date-fns/subDays'; let db: ITestDb; diff --git a/src/lib/features/instance-stats/getProductionChanges.ts b/src/lib/features/instance-stats/getProductionChanges.ts index 80e2bcd95fc..d73fcb0dd4d 100644 --- a/src/lib/features/instance-stats/getProductionChanges.ts +++ b/src/lib/features/instance-stats/getProductionChanges.ts @@ -1,4 +1,4 @@ -import { type Db } from '../../server-impl'; +import type { Db } from '../../server-impl'; export type GetProductionChanges = () => Promise<{ last30: number; @@ -17,12 +17,15 @@ export const createGetProductionChanges = ON e.name = seu.environment WHERE e.type = 'production';`); return { - last30: parseInt(productionChanges.rows[0]?.last_month || '0', 10), - last60: parseInt( + last30: Number.parseInt( + productionChanges.rows[0]?.last_month || '0', + 10, + ), + last60: Number.parseInt( productionChanges.rows[0]?.last_two_months || '0', 10, ), - last90: parseInt( + last90: Number.parseInt( productionChanges.rows[0]?.last_quarter || '0', 10, ), diff --git a/src/lib/features/instance-stats/instance-stats-service.ts b/src/lib/features/instance-stats/instance-stats-service.ts index 404d7eabbaa..17d7b347309 100644 --- a/src/lib/features/instance-stats/instance-stats-service.ts +++ b/src/lib/features/instance-stats/instance-stats-service.ts @@ -1,32 +1,32 @@ import { sha256 } from 'js-sha256'; -import { Logger } from '../../logger'; -import { IUnleashConfig } from '../../types/option'; -import { +import type { Logger } from '../../logger'; +import type { IUnleashConfig } from '../../types/option'; +import type { IClientInstanceStore, IClientMetricsStoreV2, IEventStore, IUnleashStores, } from '../../types/stores'; -import { IContextFieldStore } from '../../types/stores/context-field-store'; -import { IEnvironmentStore } from '../project-environments/environment-store-type'; -import { IFeatureToggleStore } from '../feature-toggle/types/feature-toggle-store-type'; -import { IGroupStore } from '../../types/stores/group-store'; -import { IProjectStore } from '../../features/project/project-store-type'; -import { IStrategyStore } from '../../types/stores/strategy-store'; -import { IUserStore } from '../../types/stores/user-store'; -import { ISegmentStore } from '../segment/segment-store-type'; -import { IRoleStore } from '../../types/stores/role-store'; -import VersionService from '../../services/version-service'; -import { ISettingStore } from '../../types/stores/settings-store'; +import type { IContextFieldStore } from '../../types/stores/context-field-store'; +import type { IEnvironmentStore } from '../project-environments/environment-store-type'; +import type { IFeatureToggleStore } from '../feature-toggle/types/feature-toggle-store-type'; +import type { IGroupStore } from '../../types/stores/group-store'; +import type { IProjectStore } from '../../features/project/project-store-type'; +import type { IStrategyStore } from '../../types/stores/strategy-store'; +import type { IUserStore } from '../../types/stores/user-store'; +import type { ISegmentStore } from '../segment/segment-store-type'; +import type { IRoleStore } from '../../types/stores/role-store'; +import type VersionService from '../../services/version-service'; +import type { ISettingStore } from '../../types/stores/settings-store'; import { FEATURES_EXPORTED, FEATURES_IMPORTED, - IApiTokenStore, + type IApiTokenStore, } from '../../types'; import { CUSTOM_ROOT_ROLE_TYPE } from '../../util'; -import { type GetActiveUsers } from './getActiveUsers'; -import { ProjectModeCount } from '../project/project-store'; -import { GetProductionChanges } from './getProductionChanges'; +import type { GetActiveUsers } from './getActiveUsers'; +import type { ProjectModeCount } from '../project/project-store'; +import type { GetProductionChanges } from './getProductionChanges'; export type TimeRange = 'allTime' | '30d' | '7d'; diff --git a/src/lib/features/maintenance/maintenance-controller.ts b/src/lib/features/maintenance/maintenance-controller.ts index 9b16b697a67..25646e1ee01 100644 --- a/src/lib/features/maintenance/maintenance-controller.ts +++ b/src/lib/features/maintenance/maintenance-controller.ts @@ -1,22 +1,22 @@ -import { ADMIN, IUnleashConfig, IUnleashServices } from '../../types'; -import { Request, Response } from 'express'; +import { ADMIN, type IUnleashConfig, type IUnleashServices } from '../../types'; +import type { Request, Response } from 'express'; import Controller from '../../routes/controller'; -import { Logger } from '../../logger'; +import type { Logger } from '../../logger'; import { createRequestSchema, createResponseSchema, emptyResponse, getStandardResponses, } from '../../openapi'; -import { OpenApiService } from '../../services'; -import { IAuthRequest } from '../../routes/unleash-types'; +import type { OpenApiService } from '../../services'; +import type { IAuthRequest } from '../../routes/unleash-types'; import { extractUsername } from '../../util'; import { - MaintenanceSchema, + type MaintenanceSchema, maintenanceSchema, } from '../../openapi/spec/maintenance-schema'; -import MaintenanceService from '../../features/maintenance/maintenance-service'; -import { ToggleMaintenanceSchema } from '../../openapi/spec/toggle-maintenance-schema'; +import type MaintenanceService from '../../features/maintenance/maintenance-service'; +import type { ToggleMaintenanceSchema } from '../../openapi/spec/toggle-maintenance-schema'; export default class MaintenanceController extends Controller { private maintenanceService: MaintenanceService; diff --git a/src/lib/features/maintenance/maintenance-middleware.ts b/src/lib/features/maintenance/maintenance-middleware.ts index 13c1c1fc584..97b1f5f43c5 100644 --- a/src/lib/features/maintenance/maintenance-middleware.ts +++ b/src/lib/features/maintenance/maintenance-middleware.ts @@ -1,6 +1,6 @@ -import { IUnleashConfig } from '../../types'; -import MaintenanceService from './maintenance-service'; -import { IAuthRequest } from '../../routes/unleash-types'; +import type { IUnleashConfig } from '../../types'; +import type MaintenanceService from './maintenance-service'; +import type { IAuthRequest } from '../../routes/unleash-types'; export const MAINTENANCE_MODE_ENABLED = 'Unleash is currently in maintenance mode.'; diff --git a/src/lib/features/maintenance/maintenance-service.test.ts b/src/lib/features/maintenance/maintenance-service.test.ts index 7e7d7ae63b5..0f6cf2cda47 100644 --- a/src/lib/features/maintenance/maintenance-service.test.ts +++ b/src/lib/features/maintenance/maintenance-service.test.ts @@ -3,7 +3,7 @@ import MaintenanceService from './maintenance-service'; import SettingService from '../../services/setting-service'; import { createTestConfig } from '../../../test/config/test-config'; import FakeSettingStore from '../../../test/fixtures/fake-setting-store'; -import EventService from '../events/event-service'; +import type EventService from '../events/event-service'; test('Scheduler should run scheduled functions if maintenance mode is off', async () => { const config = createTestConfig(); diff --git a/src/lib/features/maintenance/maintenance-service.ts b/src/lib/features/maintenance/maintenance-service.ts index a60267b426f..a4caeddbccc 100644 --- a/src/lib/features/maintenance/maintenance-service.ts +++ b/src/lib/features/maintenance/maintenance-service.ts @@ -1,9 +1,9 @@ import memoizee from 'memoizee'; -import { IUnleashConfig } from '../../types'; -import { Logger } from '../../logger'; -import SettingService from '../../services/setting-service'; +import type { IUnleashConfig } from '../../types'; +import type { Logger } from '../../logger'; +import type SettingService from '../../services/setting-service'; import { maintenanceSettingsKey } from '../../types/settings/maintenance-settings'; -import { MaintenanceSchema } from '../../openapi/spec/maintenance-schema'; +import type { MaintenanceSchema } from '../../openapi/spec/maintenance-schema'; import { minutesToMilliseconds } from 'date-fns'; export interface IMaintenanceStatus { diff --git a/src/lib/features/metrics/client-metrics/client-metrics-service.e2e.test.ts b/src/lib/features/metrics/client-metrics/client-metrics-service.e2e.test.ts index c65f52ac98f..37aa28f1e8e 100644 --- a/src/lib/features/metrics/client-metrics/client-metrics-service.e2e.test.ts +++ b/src/lib/features/metrics/client-metrics/client-metrics-service.e2e.test.ts @@ -1,10 +1,10 @@ import ClientInstanceService from '../instance/instance-service'; -import { IClientApp } from '../../../types/model'; +import type { IClientApp } from '../../../types/model'; import { secondsToMilliseconds } from 'date-fns'; import { createTestConfig } from '../../../../test/config/test-config'; -import { IUnleashConfig, IUnleashStores } from '../../../types'; +import type { IUnleashConfig, IUnleashStores } from '../../../types'; import { FakePrivateProjectChecker } from '../../private-project/fakePrivateProjectChecker'; -import { ITestDb } from '../../../../test/e2e/helpers/database-init'; +import type { ITestDb } from '../../../../test/e2e/helpers/database-init'; const faker = require('faker'); const dbInit = require('../../../../test/e2e/helpers/database-init'); diff --git a/src/lib/features/metrics/client-metrics/client-metrics-store-v2-type.ts b/src/lib/features/metrics/client-metrics/client-metrics-store-v2-type.ts index 149b74a3e39..18d1900ed1b 100644 --- a/src/lib/features/metrics/client-metrics/client-metrics-store-v2-type.ts +++ b/src/lib/features/metrics/client-metrics/client-metrics-store-v2-type.ts @@ -1,4 +1,4 @@ -import { Store } from '../../../types/stores/store'; +import type { Store } from '../../../types/stores/store'; export interface IClientMetricsEnvKey { featureName: string; diff --git a/src/lib/features/metrics/client-metrics/client-metrics-store-v2.e2e.test.ts b/src/lib/features/metrics/client-metrics/client-metrics-store-v2.e2e.test.ts index 736cc8e5c2c..824b729ac59 100644 --- a/src/lib/features/metrics/client-metrics/client-metrics-store-v2.e2e.test.ts +++ b/src/lib/features/metrics/client-metrics/client-metrics-store-v2.e2e.test.ts @@ -1,8 +1,10 @@ import { addHours, set, subDays } from 'date-fns'; -import dbInit, { ITestDb } from '../../../../test/e2e/helpers/database-init'; +import dbInit, { + type ITestDb, +} from '../../../../test/e2e/helpers/database-init'; import getLogger from '../../../../test/fixtures/no-logger'; -import { IUnleashStores } from '../../../types'; -import { +import type { IUnleashStores } from '../../../types'; +import type { IClientMetricsEnv, IClientMetricsStoreV2, } from './client-metrics-store-v2-type'; diff --git a/src/lib/features/metrics/client-metrics/client-metrics-store-v2.test.ts b/src/lib/features/metrics/client-metrics/client-metrics-store-v2.test.ts index 5374caaf960..190cb8f0962 100644 --- a/src/lib/features/metrics/client-metrics/client-metrics-store-v2.test.ts +++ b/src/lib/features/metrics/client-metrics/client-metrics-store-v2.test.ts @@ -1,6 +1,8 @@ -import dbInit, { ITestDb } from '../../../../test/e2e/helpers/database-init'; +import dbInit, { + type ITestDb, +} from '../../../../test/e2e/helpers/database-init'; import getLogger from '../../../../test/fixtures/no-logger'; -import { IClientMetricsStoreV2, IUnleashStores } from '../../../types'; +import type { IClientMetricsStoreV2, IUnleashStores } from '../../../types'; import { endOfDay, setHours, startOfHour, subDays } from 'date-fns'; let stores: IUnleashStores; diff --git a/src/lib/features/metrics/client-metrics/client-metrics-store-v2.ts b/src/lib/features/metrics/client-metrics/client-metrics-store-v2.ts index 38cef5d4b55..7fa222f4462 100644 --- a/src/lib/features/metrics/client-metrics/client-metrics-store-v2.ts +++ b/src/lib/features/metrics/client-metrics/client-metrics-store-v2.ts @@ -1,5 +1,5 @@ -import { Logger, LogProvider } from '../../../logger'; -import { +import type { Logger, LogProvider } from '../../../logger'; +import type { IClientMetricsEnv, IClientMetricsEnvKey, IClientMetricsEnvVariant, @@ -8,8 +8,8 @@ import { import NotFoundError from '../../../error/notfound-error'; import { endOfDay, startOfHour } from 'date-fns'; import { collapseHourlyMetrics, spreadVariants } from './collapseHourlyMetrics'; -import { Db } from '../../../db/db'; -import { IFlagResolver } from '../../../types'; +import type { Db } from '../../../db/db'; +import type { IFlagResolver } from '../../../types'; interface ClientMetricsBaseTable { feature_name: string; diff --git a/src/lib/features/metrics/client-metrics/client-metrics.e2e.test.ts b/src/lib/features/metrics/client-metrics/client-metrics.e2e.test.ts index 16d6ba45afe..0e67a8596bb 100644 --- a/src/lib/features/metrics/client-metrics/client-metrics.e2e.test.ts +++ b/src/lib/features/metrics/client-metrics/client-metrics.e2e.test.ts @@ -1,10 +1,12 @@ -import dbInit, { ITestDb } from '../../../../test/e2e/helpers/database-init'; +import dbInit, { + type ITestDb, +} from '../../../../test/e2e/helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../../../test/e2e/helpers/test-helper'; import getLogger from '../../../../test/fixtures/no-logger'; -import { IClientMetricsEnv } from './client-metrics-store-v2-type'; +import type { IClientMetricsEnv } from './client-metrics-store-v2-type'; import { subHours } from 'date-fns'; let app: IUnleashTest; diff --git a/src/lib/features/metrics/client-metrics/client-metrics.ts b/src/lib/features/metrics/client-metrics/client-metrics.ts index 14ab245b275..1e77e60fac4 100644 --- a/src/lib/features/metrics/client-metrics/client-metrics.ts +++ b/src/lib/features/metrics/client-metrics/client-metrics.ts @@ -1,20 +1,20 @@ -import { Request, Response } from 'express'; +import type { Request, Response } from 'express'; import Controller from '../../../routes/controller'; -import { IUnleashConfig } from '../../../types/option'; -import { IFlagResolver, IUnleashServices } from '../../../types'; -import { Logger } from '../../../logger'; -import ClientMetricsServiceV2 from './metrics-service-v2'; +import type { IUnleashConfig } from '../../../types/option'; +import type { IFlagResolver, IUnleashServices } from '../../../types'; +import type { Logger } from '../../../logger'; +import type ClientMetricsServiceV2 from './metrics-service-v2'; import { NONE } from '../../../types/permissions'; import { createResponseSchema } from '../../../openapi/util/create-response-schema'; -import { OpenApiService } from '../../../services/openapi-service'; +import type { OpenApiService } from '../../../services/openapi-service'; import { serializeDates } from '../../../types/serialize-dates'; import { - FeatureUsageSchema, + type FeatureUsageSchema, featureUsageSchema, } from '../../../openapi/spec/feature-usage-schema'; import { featureMetricsSchema, - FeatureMetricsSchema, + type FeatureMetricsSchema, } from '../../../openapi/spec/feature-metrics-schema'; import { getStandardResponses } from '../../../openapi'; diff --git a/src/lib/features/metrics/client-metrics/collapseHourlyMetrics.test.ts b/src/lib/features/metrics/client-metrics/collapseHourlyMetrics.test.ts index 0cb2f4ac634..9082265cc0e 100644 --- a/src/lib/features/metrics/client-metrics/collapseHourlyMetrics.test.ts +++ b/src/lib/features/metrics/client-metrics/collapseHourlyMetrics.test.ts @@ -1,5 +1,5 @@ import { collapseHourlyMetrics } from './collapseHourlyMetrics'; -import { IClientMetricsEnv } from './client-metrics-store-v2-type'; +import type { IClientMetricsEnv } from './client-metrics-store-v2-type'; import { addMinutes, startOfHour } from 'date-fns'; test('collapseHourlyMetrics', () => { diff --git a/src/lib/features/metrics/client-metrics/collapseHourlyMetrics.ts b/src/lib/features/metrics/client-metrics/collapseHourlyMetrics.ts index d691531d28d..6cb236985ed 100644 --- a/src/lib/features/metrics/client-metrics/collapseHourlyMetrics.ts +++ b/src/lib/features/metrics/client-metrics/collapseHourlyMetrics.ts @@ -1,4 +1,4 @@ -import { +import type { IClientMetricsEnv, IClientMetricsEnvVariant, } from './client-metrics-store-v2-type'; diff --git a/src/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.ts b/src/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.ts index cf1fe7948ff..5af1a473f6d 100644 --- a/src/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.ts +++ b/src/lib/features/metrics/client-metrics/fake-client-metrics-store-v2.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/lines-between-class-members */ /* eslint-disable @typescript-eslint/no-unused-vars */ import EventEmitter from 'events'; -import { +import type { IClientMetricsEnv, IClientMetricsEnvKey, IClientMetricsStoreV2, diff --git a/src/lib/features/metrics/client-metrics/metrics-service-v2.test.ts b/src/lib/features/metrics/client-metrics/metrics-service-v2.test.ts index b88f8ffc8b8..127f23aedb0 100644 --- a/src/lib/features/metrics/client-metrics/metrics-service-v2.test.ts +++ b/src/lib/features/metrics/client-metrics/metrics-service-v2.test.ts @@ -5,9 +5,12 @@ import getLogger from '../../../../test/fixtures/no-logger'; import createStores from '../../../../test/fixtures/store'; import EventEmitter from 'events'; import { LastSeenService } from '../last-seen/last-seen-service'; -import { IClientMetricsStoreV2, IUnleashConfig } from '../../../../lib/types'; +import type { + IClientMetricsStoreV2, + IUnleashConfig, +} from '../../../../lib/types'; import { endOfDay, startOfHour, subDays, subHours } from 'date-fns'; -import { IClientMetricsEnv } from './client-metrics-store-v2-type'; +import type { IClientMetricsEnv } from './client-metrics-store-v2-type'; function initClientMetrics(flagEnabled = true) { const stores = createStores(); diff --git a/src/lib/features/metrics/client-metrics/metrics-service-v2.ts b/src/lib/features/metrics/client-metrics/metrics-service-v2.ts index 47b40c83cb5..3365398ad96 100644 --- a/src/lib/features/metrics/client-metrics/metrics-service-v2.ts +++ b/src/lib/features/metrics/client-metrics/metrics-service-v2.ts @@ -1,25 +1,25 @@ -import { Logger } from '../../../logger'; -import { IFlagResolver, IUnleashConfig } from '../../../types'; -import { IUnleashStores } from '../../../types'; -import { ToggleMetricsSummary } from '../../../types/models/metrics'; -import { +import type { Logger } from '../../../logger'; +import type { IFlagResolver, IUnleashConfig } from '../../../types'; +import type { IUnleashStores } from '../../../types'; +import type { ToggleMetricsSummary } from '../../../types/models/metrics'; +import type { IClientMetricsEnv, IClientMetricsStoreV2, } from './client-metrics-store-v2-type'; import { clientMetricsSchema } from '../shared/schema'; import { compareAsc } from 'date-fns'; import { CLIENT_METRICS } from '../../../types/events'; -import ApiUser, { IApiUser } from '../../../types/api-user'; +import ApiUser, { type IApiUser } from '../../../types/api-user'; import { ALL } from '../../../types/models/api-token'; -import { IUser } from '../../../types/user'; +import type { IUser } from '../../../types/user'; import { collapseHourlyMetrics } from './collapseHourlyMetrics'; -import { LastSeenService } from '../last-seen/last-seen-service'; +import type { LastSeenService } from '../last-seen/last-seen-service'; import { generateDayBuckets, generateHourBuckets, - HourBucket, + type HourBucket, } from '../../../util/time-utils'; -import { ClientMetricsSchema } from '../../../../lib/openapi'; +import type { ClientMetricsSchema } from '../../../../lib/openapi'; import { nameSchema } from '../../../schema/feature-schema'; export default class ClientMetricsServiceV2 { @@ -76,8 +76,9 @@ export default class ClientMetricsServiceV2 { ); const limit = - payload?.value && Number.isInteger(parseInt(payload?.value)) - ? parseInt(payload?.value) + payload?.value && + Number.isInteger(Number.parseInt(payload?.value)) + ? Number.parseInt(payload?.value) : 3600000; const totalHourlyCount = hourlyEnabledCount + hourlyVariantCount; diff --git a/src/lib/features/metrics/instance/instance-service.test.ts b/src/lib/features/metrics/instance/instance-service.test.ts index de3851a999d..09d13da536b 100644 --- a/src/lib/features/metrics/instance/instance-service.test.ts +++ b/src/lib/features/metrics/instance/instance-service.test.ts @@ -1,9 +1,9 @@ import ClientInstanceService from './instance-service'; -import { IClientApp } from '../../../types/model'; +import type { IClientApp } from '../../../types/model'; import FakeEventStore from '../../../../test/fixtures/fake-event-store'; import { createTestConfig } from '../../../../test/config/test-config'; import { FakePrivateProjectChecker } from '../../private-project/fakePrivateProjectChecker'; -import { IUnleashConfig } from '../../../types'; +import type { IUnleashConfig } from '../../../types'; import FakeClientMetricsStoreV2 from '../client-metrics/fake-client-metrics-store-v2'; import FakeStrategiesStore from '../../../../test/fixtures/fake-strategies-store'; import FakeFeatureToggleStore from '../../feature-toggle/fakes/fake-feature-toggle-store'; diff --git a/src/lib/features/metrics/instance/instance-service.ts b/src/lib/features/metrics/instance/instance-service.ts index 52938e05a5f..2db09ffce24 100644 --- a/src/lib/features/metrics/instance/instance-service.ts +++ b/src/lib/features/metrics/instance/instance-service.ts @@ -1,29 +1,29 @@ import { APPLICATION_CREATED, CLIENT_REGISTER } from '../../../types/events'; -import { IApplication, IApplicationOverview } from './models'; -import { IUnleashStores } from '../../../types/stores'; -import { IUnleashConfig } from '../../../types/option'; -import { IEventStore } from '../../../types/stores/event-store'; -import { +import type { IApplication, IApplicationOverview } from './models'; +import type { IUnleashStores } from '../../../types/stores'; +import type { IUnleashConfig } from '../../../types/option'; +import type { IEventStore } from '../../../types/stores/event-store'; +import type { IClientApplication, IClientApplications, IClientApplicationsSearchParams, IClientApplicationsStore, } from '../../../types/stores/client-applications-store'; -import { IFeatureToggleStore } from '../../feature-toggle/types/feature-toggle-store-type'; -import { IStrategyStore } from '../../../types/stores/strategy-store'; -import { IClientInstanceStore } from '../../../types/stores/client-instance-store'; -import { IClientApp } from '../../../types/model'; +import type { IFeatureToggleStore } from '../../feature-toggle/types/feature-toggle-store-type'; +import type { IStrategyStore } from '../../../types/stores/strategy-store'; +import type { IClientInstanceStore } from '../../../types/stores/client-instance-store'; +import type { IClientApp } from '../../../types/model'; import { clientRegisterSchema } from '../shared/schema'; -import { IClientMetricsStoreV2 } from '../client-metrics/client-metrics-store-v2-type'; +import type { IClientMetricsStoreV2 } from '../client-metrics/client-metrics-store-v2-type'; import { clientMetricsSchema } from '../shared/schema'; -import { PartialSome } from '../../../types/partial'; -import { IPrivateProjectChecker } from '../../private-project/privateProjectCheckerType'; -import { IFlagResolver, SYSTEM_USER } from '../../../types'; +import type { PartialSome } from '../../../types/partial'; +import type { IPrivateProjectChecker } from '../../private-project/privateProjectCheckerType'; +import { type IFlagResolver, SYSTEM_USER } from '../../../types'; import { ALL_PROJECTS, parseStrictSemVer } from '../../../util'; -import { Logger } from '../../../logger'; +import type { Logger } from '../../../logger'; import { findOutdatedSDKs, isOutdatedSdk } from './findOutdatedSdks'; -import { OutdatedSdksSchema } from '../../../openapi/spec/outdated-sdks-schema'; +import type { OutdatedSdksSchema } from '../../../openapi/spec/outdated-sdks-schema'; export default class ClientInstanceService { apps = {}; diff --git a/src/lib/features/metrics/instance/metrics.test.ts b/src/lib/features/metrics/instance/metrics.test.ts index ea6802f5efb..9d39a41b07a 100644 --- a/src/lib/features/metrics/instance/metrics.test.ts +++ b/src/lib/features/metrics/instance/metrics.test.ts @@ -1,18 +1,20 @@ -import supertest, { Test } from 'supertest'; +import supertest, { type Test } from 'supertest'; import getApp from '../../../app'; import { createTestConfig } from '../../../../test/config/test-config'; import { clientMetricsSchema } from '../shared/schema'; import { createServices } from '../../../services'; import { IAuthType, - IUnleashOptions, - IUnleashServices, - IUnleashStores, + type IUnleashOptions, + type IUnleashServices, + type IUnleashStores, } from '../../../types'; -import dbInit, { ITestDb } from '../../../../test/e2e/helpers/database-init'; +import dbInit, { + type ITestDb, +} from '../../../../test/e2e/helpers/database-init'; import { subMinutes } from 'date-fns'; import { ApiTokenType } from '../../../types/models/api-token'; -import TestAgent from 'supertest/lib/agent'; +import type TestAgent from 'supertest/lib/agent'; let db: ITestDb; diff --git a/src/lib/features/metrics/instance/metrics.ts b/src/lib/features/metrics/instance/metrics.ts index 63d30539ada..83cee8985d3 100644 --- a/src/lib/features/metrics/instance/metrics.ts +++ b/src/lib/features/metrics/instance/metrics.ts @@ -1,16 +1,16 @@ -import { Response } from 'express'; +import type { Response } from 'express'; import Controller from '../../../routes/controller'; -import { +import type { IFlagResolver, IUnleashConfig, IUnleashServices, } from '../../../types'; -import ClientInstanceService from './instance-service'; -import { Logger } from '../../../logger'; -import { IAuthRequest } from '../../../routes/unleash-types'; -import ClientMetricsServiceV2 from '../client-metrics/metrics-service-v2'; +import type ClientInstanceService from './instance-service'; +import type { Logger } from '../../../logger'; +import type { IAuthRequest } from '../../../routes/unleash-types'; +import type ClientMetricsServiceV2 from '../client-metrics/metrics-service-v2'; import { NONE } from '../../../types/permissions'; -import { OpenApiService } from '../../../services/openapi-service'; +import type { OpenApiService } from '../../../services/openapi-service'; import { createRequestSchema } from '../../../openapi/util/create-request-schema'; import { emptyResponse, @@ -18,9 +18,9 @@ import { } from '../../../openapi/util/standard-responses'; import rateLimit from 'express-rate-limit'; import { minutesToMilliseconds } from 'date-fns'; -import { BulkMetricsSchema } from '../../../openapi/spec/bulk-metrics-schema'; +import type { BulkMetricsSchema } from '../../../openapi/spec/bulk-metrics-schema'; import { clientMetricsEnvBulkSchema } from '../shared/schema'; -import { IClientMetricsEnv } from '../client-metrics/client-metrics-store-v2-type'; +import type { IClientMetricsEnv } from '../client-metrics/client-metrics-store-v2-type'; export default class ClientMetricsController extends Controller { logger: Logger; diff --git a/src/lib/features/metrics/instance/models.ts b/src/lib/features/metrics/instance/models.ts index 0df13c66f0b..6d0efe33fc2 100644 --- a/src/lib/features/metrics/instance/models.ts +++ b/src/lib/features/metrics/instance/models.ts @@ -1,6 +1,6 @@ -import { IClientInstance } from '../../../types/stores/client-instance-store'; -import { ApplicationOverviewSchema } from '../../../openapi/spec/application-overview-schema'; -import { ApplicationOverviewEnvironmentSchema } from '../../../openapi/spec/application-overview-environment-schema'; +import type { IClientInstance } from '../../../types/stores/client-instance-store'; +import type { ApplicationOverviewSchema } from '../../../openapi/spec/application-overview-schema'; +import type { ApplicationOverviewEnvironmentSchema } from '../../../openapi/spec/application-overview-environment-schema'; export interface IYesNoCount { yes: number; diff --git a/src/lib/features/metrics/instance/register.test.ts b/src/lib/features/metrics/instance/register.test.ts index fcdb620ea31..73d66161172 100644 --- a/src/lib/features/metrics/instance/register.test.ts +++ b/src/lib/features/metrics/instance/register.test.ts @@ -1,10 +1,10 @@ -import supertest, { Test } from 'supertest'; +import supertest, { type Test } from 'supertest'; import { createTestConfig } from '../../../../test/config/test-config'; import createStores from '../../../../test/fixtures/store'; import getLogger from '../../../../test/fixtures/no-logger'; import getApp from '../../../app'; import { createServices } from '../../../services'; -import TestAgent from 'supertest/lib/agent'; +import type TestAgent from 'supertest/lib/agent'; async function getSetup() { const stores = createStores(); diff --git a/src/lib/features/metrics/instance/register.ts b/src/lib/features/metrics/instance/register.ts index 9d1c1d14f55..3a965dda819 100644 --- a/src/lib/features/metrics/instance/register.ts +++ b/src/lib/features/metrics/instance/register.ts @@ -1,18 +1,18 @@ -import { Response } from 'express'; +import type { Response } from 'express'; import Controller from '../../../routes/controller'; -import { IUnleashServices } from '../../../types'; -import { IUnleashConfig } from '../../../types/option'; -import { Logger } from '../../../logger'; -import ClientInstanceService from './instance-service'; -import { IAuthRequest, IUser } from '../../../server-impl'; -import { IClientApp } from '../../../types/model'; -import ApiUser, { IApiUser } from '../../../types/api-user'; +import type { IUnleashServices } from '../../../types'; +import type { IUnleashConfig } from '../../../types/option'; +import type { Logger } from '../../../logger'; +import type ClientInstanceService from './instance-service'; +import type { IAuthRequest, IUser } from '../../../server-impl'; +import type { IClientApp } from '../../../types/model'; +import ApiUser, { type IApiUser } from '../../../types/api-user'; import { ALL } from '../../../types/models/api-token'; import { NONE } from '../../../types/permissions'; -import { OpenApiService } from '../../../services/openapi-service'; +import type { OpenApiService } from '../../../services/openapi-service'; import { emptyResponse } from '../../../openapi/util/standard-responses'; import { createRequestSchema } from '../../../openapi/util/create-request-schema'; -import { ClientApplicationSchema } from '../../../openapi/spec/client-application-schema'; +import type { ClientApplicationSchema } from '../../../openapi/spec/client-application-schema'; import rateLimit from 'express-rate-limit'; import { minutesToMilliseconds } from 'date-fns'; import version from '../../../util/version'; diff --git a/src/lib/features/metrics/last-seen/createLastSeenService.ts b/src/lib/features/metrics/last-seen/createLastSeenService.ts index f75562f286c..095992ad4c0 100644 --- a/src/lib/features/metrics/last-seen/createLastSeenService.ts +++ b/src/lib/features/metrics/last-seen/createLastSeenService.ts @@ -1,6 +1,6 @@ import FakeFeatureToggleStore from '../../feature-toggle/fakes/fake-feature-toggle-store'; import FeatureToggleStore from '../../feature-toggle/feature-toggle-store'; -import { Db, IUnleashConfig } from '../../../server-impl'; +import type { Db, IUnleashConfig } from '../../../server-impl'; import { FakeLastSeenStore } from './fake-last-seen-store'; import { LastSeenService } from './last-seen-service'; import LastSeenStore from './last-seen-store'; diff --git a/src/lib/features/metrics/last-seen/fake-last-seen-read-model.ts b/src/lib/features/metrics/last-seen/fake-last-seen-read-model.ts index 119a64f4ae2..e83b42404bd 100644 --- a/src/lib/features/metrics/last-seen/fake-last-seen-read-model.ts +++ b/src/lib/features/metrics/last-seen/fake-last-seen-read-model.ts @@ -1,5 +1,5 @@ -import { IFeatureLastSeenResults } from './last-seen-read-model'; -import { ILastSeenReadModel } from './types/last-seen-read-model-type'; +import type { IFeatureLastSeenResults } from './last-seen-read-model'; +import type { ILastSeenReadModel } from './types/last-seen-read-model-type'; export class FakeLastSeenReadModel implements ILastSeenReadModel { // eslint-disable-next-line diff --git a/src/lib/features/metrics/last-seen/fake-last-seen-store.ts b/src/lib/features/metrics/last-seen/fake-last-seen-store.ts index eb11764aefc..8f06dfc9424 100644 --- a/src/lib/features/metrics/last-seen/fake-last-seen-store.ts +++ b/src/lib/features/metrics/last-seen/fake-last-seen-store.ts @@ -1,5 +1,5 @@ -import { LastSeenInput } from './last-seen-service'; -import { ILastSeenStore } from './types/last-seen-store-type'; +import type { LastSeenInput } from './last-seen-service'; +import type { ILastSeenStore } from './types/last-seen-store-type'; export class FakeLastSeenStore implements ILastSeenStore { setLastSeen(data: LastSeenInput[]): Promise { diff --git a/src/lib/features/metrics/last-seen/last-seen-read-model.ts b/src/lib/features/metrics/last-seen/last-seen-read-model.ts index 9980f98332e..4a1836e84db 100644 --- a/src/lib/features/metrics/last-seen/last-seen-read-model.ts +++ b/src/lib/features/metrics/last-seen/last-seen-read-model.ts @@ -1,5 +1,5 @@ -import { Db } from '../../../db/db'; -import { ILastSeenReadModel } from './types/last-seen-read-model-type'; +import type { Db } from '../../../db/db'; +import type { ILastSeenReadModel } from './types/last-seen-read-model-type'; const TABLE = 'last_seen_at_metrics'; diff --git a/src/lib/features/metrics/last-seen/last-seen-service.ts b/src/lib/features/metrics/last-seen/last-seen-service.ts index 9f8e613beb9..e657c4213a6 100644 --- a/src/lib/features/metrics/last-seen/last-seen-service.ts +++ b/src/lib/features/metrics/last-seen/last-seen-service.ts @@ -1,8 +1,8 @@ -import { Logger } from '../../../logger'; -import { IUnleashConfig } from '../../../server-impl'; -import { IClientMetricsEnv } from '../client-metrics/client-metrics-store-v2-type'; -import { ILastSeenStore } from './types/last-seen-store-type'; -import { +import type { Logger } from '../../../logger'; +import type { IUnleashConfig } from '../../../server-impl'; +import type { IClientMetricsEnv } from '../client-metrics/client-metrics-store-v2-type'; +import type { ILastSeenStore } from './types/last-seen-store-type'; +import type { IFeatureToggleStore, IFlagResolver, IUnleashStores, diff --git a/src/lib/features/metrics/last-seen/last-seen-store.ts b/src/lib/features/metrics/last-seen/last-seen-store.ts index 47da4bf6482..3905cc06da7 100644 --- a/src/lib/features/metrics/last-seen/last-seen-store.ts +++ b/src/lib/features/metrics/last-seen/last-seen-store.ts @@ -1,10 +1,10 @@ -import EventEmitter from 'events'; -import { LogProvider, Logger } from '../../../logger'; +import type EventEmitter from 'events'; +import type { LogProvider, Logger } from '../../../logger'; import { DB_TIME } from '../../../metric-events'; -import { Db } from '../../../server-impl'; +import type { Db } from '../../../server-impl'; import metricsHelper from '../../../util/metrics-helper'; -import { LastSeenInput } from './last-seen-service'; -import { ILastSeenStore } from './types/last-seen-store-type'; +import type { LastSeenInput } from './last-seen-service'; +import type { ILastSeenStore } from './types/last-seen-store-type'; const TABLE = 'last_seen_at_metrics'; diff --git a/src/lib/features/metrics/last-seen/tests/last-seen-service.e2e.test.ts b/src/lib/features/metrics/last-seen/tests/last-seen-service.e2e.test.ts index 226f88df616..5a786eb09d4 100644 --- a/src/lib/features/metrics/last-seen/tests/last-seen-service.e2e.test.ts +++ b/src/lib/features/metrics/last-seen/tests/last-seen-service.e2e.test.ts @@ -1,6 +1,8 @@ -import dbInit, { ITestDb } from '../../../../../test/e2e/helpers/database-init'; +import dbInit, { + type ITestDb, +} from '../../../../../test/e2e/helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../../../../test/e2e/helpers/test-helper'; import getLogger from '../../../../../test/fixtures/no-logger'; diff --git a/src/lib/features/metrics/last-seen/tests/last-seen-service.test.ts b/src/lib/features/metrics/last-seen/tests/last-seen-service.test.ts index a0376f39960..d343f61422d 100644 --- a/src/lib/features/metrics/last-seen/tests/last-seen-service.test.ts +++ b/src/lib/features/metrics/last-seen/tests/last-seen-service.test.ts @@ -1,7 +1,7 @@ import createStores from '../../../../../test/fixtures/store'; import EventEmitter from 'events'; import getLogger from '../../../../../test/fixtures/no-logger'; -import { IUnleashConfig } from '../../../../types'; +import type { IUnleashConfig } from '../../../../types'; import { LastSeenService } from '../last-seen-service'; function initLastSeenService(flagEnabled = true) { diff --git a/src/lib/features/metrics/last-seen/types/last-seen-read-model-type.ts b/src/lib/features/metrics/last-seen/types/last-seen-read-model-type.ts index ec06efd6367..2f6d983f9f6 100644 --- a/src/lib/features/metrics/last-seen/types/last-seen-read-model-type.ts +++ b/src/lib/features/metrics/last-seen/types/last-seen-read-model-type.ts @@ -1,4 +1,4 @@ -import { IFeatureLastSeenResults } from '../last-seen-read-model'; +import type { IFeatureLastSeenResults } from '../last-seen-read-model'; export interface ILastSeenReadModel { getForFeature(features: string[]): Promise; diff --git a/src/lib/features/metrics/last-seen/types/last-seen-store-type.ts b/src/lib/features/metrics/last-seen/types/last-seen-store-type.ts index 38beef583ce..d59c7c957a8 100644 --- a/src/lib/features/metrics/last-seen/types/last-seen-store-type.ts +++ b/src/lib/features/metrics/last-seen/types/last-seen-store-type.ts @@ -1,4 +1,4 @@ -import { LastSeenInput } from '../last-seen-service'; +import type { LastSeenInput } from '../last-seen-service'; export interface ILastSeenStore { setLastSeen(data: LastSeenInput[]): Promise; diff --git a/src/lib/features/metrics/shared/schema.ts b/src/lib/features/metrics/shared/schema.ts index 577c736f341..54a8098ff3f 100644 --- a/src/lib/features/metrics/shared/schema.ts +++ b/src/lib/features/metrics/shared/schema.ts @@ -1,5 +1,5 @@ import joi from 'joi'; -import { IMetricsBucket } from '../../../types'; +import type { IMetricsBucket } from '../../../types'; const countSchema = joi .object() diff --git a/src/lib/features/playground/advanced-playground.test.ts b/src/lib/features/playground/advanced-playground.test.ts index 6086b8b4f90..4005829ac14 100644 --- a/src/lib/features/playground/advanced-playground.test.ts +++ b/src/lib/features/playground/advanced-playground.test.ts @@ -1,10 +1,10 @@ import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../../test/e2e/helpers/test-helper'; -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import getLogger from '../../../test/fixtures/no-logger'; -import { AdvancedPlaygroundResponseSchema } from '../../openapi'; +import type { AdvancedPlaygroundResponseSchema } from '../../openapi'; let app: IUnleashTest; let db: ITestDb; diff --git a/src/lib/features/playground/feature-evaluator/client.ts b/src/lib/features/playground/feature-evaluator/client.ts index e5b737c553a..2d09cc6dd8f 100644 --- a/src/lib/features/playground/feature-evaluator/client.ts +++ b/src/lib/features/playground/feature-evaluator/client.ts @@ -1,15 +1,15 @@ -import { Strategy } from './strategy'; -import { FeatureInterface } from './feature'; -import { RepositoryInterface } from './repository'; +import type { Strategy } from './strategy'; +import type { FeatureInterface } from './feature'; +import type { RepositoryInterface } from './repository'; import { getDefaultVariant, selectVariant, - Variant, - VariantDefinition, + type Variant, + type VariantDefinition, } from './variant'; -import { Context } from './context'; -import { SegmentForEvaluation } from './strategy/strategy'; -import { PlaygroundStrategySchema } from '../../../openapi/spec/playground-strategy-schema'; +import type { Context } from './context'; +import type { SegmentForEvaluation } from './strategy/strategy'; +import type { PlaygroundStrategySchema } from '../../../openapi/spec/playground-strategy-schema'; import { playgroundStrategyEvaluation } from '../../../openapi/spec/playground-strategy-schema'; import { randomId } from '../../../util'; diff --git a/src/lib/features/playground/feature-evaluator/constraint.ts b/src/lib/features/playground/feature-evaluator/constraint.ts index c39cf17fe5b..a81aae23b52 100644 --- a/src/lib/features/playground/feature-evaluator/constraint.ts +++ b/src/lib/features/playground/feature-evaluator/constraint.ts @@ -1,5 +1,5 @@ import { gt as semverGt, lt as semverLt, eq as semverEq } from 'semver'; -import { Context } from './context'; +import type { Context } from './context'; import { resolveContextValue } from './helpers'; export interface Constraint { diff --git a/src/lib/features/playground/feature-evaluator/feature-evaluator.ts b/src/lib/features/playground/feature-evaluator/feature-evaluator.ts index e60ba8dda9d..ad8c54b9a67 100644 --- a/src/lib/features/playground/feature-evaluator/feature-evaluator.ts +++ b/src/lib/features/playground/feature-evaluator/feature-evaluator.ts @@ -1,16 +1,16 @@ -import Client, { FeatureStrategiesEvaluationResult } from './client'; -import Repository, { RepositoryInterface } from './repository'; -import { Context } from './context'; +import Client, { type FeatureStrategiesEvaluationResult } from './client'; +import Repository, { type RepositoryInterface } from './repository'; +import type { Context } from './context'; import { Strategy, defaultStrategies } from './strategy'; -import { ClientFeaturesResponse, FeatureInterface } from './feature'; -import { Variant } from './variant'; -import { FallbackFunction, createFallbackFunction } from './helpers'; +import type { ClientFeaturesResponse, FeatureInterface } from './feature'; +import type { Variant } from './variant'; +import { type FallbackFunction, createFallbackFunction } from './helpers'; import { - BootstrapOptions, + type BootstrapOptions, resolveBootstrapProvider, } from './repository/bootstrap-provider'; -import { StorageProvider } from './repository/storage-provider'; +import type { StorageProvider } from './repository/storage-provider'; import InMemStorageProvider from './repository/storage-provider-in-mem'; export { Strategy }; diff --git a/src/lib/features/playground/feature-evaluator/feature.ts b/src/lib/features/playground/feature-evaluator/feature.ts index 50fdd81500d..64b4043e093 100644 --- a/src/lib/features/playground/feature-evaluator/feature.ts +++ b/src/lib/features/playground/feature-evaluator/feature.ts @@ -1,7 +1,7 @@ -import { StrategyTransportInterface } from './strategy'; -import { Segment } from './strategy/strategy'; +import type { StrategyTransportInterface } from './strategy'; +import type { Segment } from './strategy/strategy'; // eslint-disable-next-line import/no-cycle -import { VariantDefinition } from './variant'; +import type { VariantDefinition } from './variant'; export interface Dependency { feature: string; diff --git a/src/lib/features/playground/feature-evaluator/helpers.ts b/src/lib/features/playground/feature-evaluator/helpers.ts index 4566a2031f1..f5e3debae88 100644 --- a/src/lib/features/playground/feature-evaluator/helpers.ts +++ b/src/lib/features/playground/feature-evaluator/helpers.ts @@ -1,6 +1,6 @@ -import { IStrategyConfig } from '../../../types'; -import { FeatureStrategiesEvaluationResult } from './client'; -import { Context } from './context'; +import type { IStrategyConfig } from '../../../types'; +import type { FeatureStrategiesEvaluationResult } from './client'; +import type { Context } from './context'; export type FallbackFunction = (name: string, context: Context) => boolean; diff --git a/src/lib/features/playground/feature-evaluator/index.ts b/src/lib/features/playground/feature-evaluator/index.ts index 0783a2443a1..a90046032fa 100644 --- a/src/lib/features/playground/feature-evaluator/index.ts +++ b/src/lib/features/playground/feature-evaluator/index.ts @@ -1,7 +1,10 @@ -import { FeatureEvaluator, FeatureEvaluatorConfig } from './feature-evaluator'; +import { + FeatureEvaluator, + type FeatureEvaluatorConfig, +} from './feature-evaluator'; import { Variant } from './variant'; import { Context } from './context'; -import { ClientFeaturesResponse } from './feature'; +import type { ClientFeaturesResponse } from './feature'; import InMemStorageProvider from './repository/storage-provider-in-mem'; // exports diff --git a/src/lib/features/playground/feature-evaluator/repository/bootstrap-provider.ts b/src/lib/features/playground/feature-evaluator/repository/bootstrap-provider.ts index 7179c91baec..af6bd7ce013 100644 --- a/src/lib/features/playground/feature-evaluator/repository/bootstrap-provider.ts +++ b/src/lib/features/playground/feature-evaluator/repository/bootstrap-provider.ts @@ -1,5 +1,5 @@ -import { ClientFeaturesResponse, FeatureInterface } from '../feature'; -import { Segment } from '../strategy/strategy'; +import type { ClientFeaturesResponse, FeatureInterface } from '../feature'; +import type { Segment } from '../strategy/strategy'; export interface BootstrapProvider { readBootstrap(): Promise; diff --git a/src/lib/features/playground/feature-evaluator/repository/index.ts b/src/lib/features/playground/feature-evaluator/repository/index.ts index ac86655b531..741360a740f 100644 --- a/src/lib/features/playground/feature-evaluator/repository/index.ts +++ b/src/lib/features/playground/feature-evaluator/repository/index.ts @@ -1,7 +1,7 @@ -import { ClientFeaturesResponse, FeatureInterface } from '../feature'; -import { BootstrapProvider } from './bootstrap-provider'; -import { StorageProvider } from './storage-provider'; -import { Segment } from '../strategy/strategy'; +import type { ClientFeaturesResponse, FeatureInterface } from '../feature'; +import type { BootstrapProvider } from './bootstrap-provider'; +import type { StorageProvider } from './storage-provider'; +import type { Segment } from '../strategy/strategy'; import { EventEmitter } from 'stream'; import { UnleashEvents } from 'unleash-client'; diff --git a/src/lib/features/playground/feature-evaluator/repository/storage-provider-in-mem.ts b/src/lib/features/playground/feature-evaluator/repository/storage-provider-in-mem.ts index 707f4571c2b..c236f3a454b 100644 --- a/src/lib/features/playground/feature-evaluator/repository/storage-provider-in-mem.ts +++ b/src/lib/features/playground/feature-evaluator/repository/storage-provider-in-mem.ts @@ -1,4 +1,4 @@ -import { StorageProvider } from './storage-provider'; +import type { StorageProvider } from './storage-provider'; export default class InMemStorageProvider implements StorageProvider { private store: Map = new Map(); diff --git a/src/lib/features/playground/feature-evaluator/strategy/flexible-rollout-strategy.ts b/src/lib/features/playground/feature-evaluator/strategy/flexible-rollout-strategy.ts index 728bdec61f9..2d2a0da7993 100644 --- a/src/lib/features/playground/feature-evaluator/strategy/flexible-rollout-strategy.ts +++ b/src/lib/features/playground/feature-evaluator/strategy/flexible-rollout-strategy.ts @@ -1,5 +1,5 @@ import { Strategy } from './strategy'; -import { Context } from '../context'; +import type { Context } from '../context'; import { normalizedStrategyValue } from './util'; import { resolveContextValue } from '../helpers'; diff --git a/src/lib/features/playground/feature-evaluator/strategy/gradual-rollout-random.ts b/src/lib/features/playground/feature-evaluator/strategy/gradual-rollout-random.ts index a55dbfbfd62..e6dd43f637f 100644 --- a/src/lib/features/playground/feature-evaluator/strategy/gradual-rollout-random.ts +++ b/src/lib/features/playground/feature-evaluator/strategy/gradual-rollout-random.ts @@ -1,5 +1,5 @@ import { Strategy } from './strategy'; -import { Context } from '../context'; +import type { Context } from '../context'; export default class GradualRolloutRandomStrategy extends Strategy { private randomGenerator: Function = () => diff --git a/src/lib/features/playground/feature-evaluator/strategy/gradual-rollout-session-id.ts b/src/lib/features/playground/feature-evaluator/strategy/gradual-rollout-session-id.ts index 3ea08d75023..0ed3aaec338 100644 --- a/src/lib/features/playground/feature-evaluator/strategy/gradual-rollout-session-id.ts +++ b/src/lib/features/playground/feature-evaluator/strategy/gradual-rollout-session-id.ts @@ -1,6 +1,6 @@ import { Strategy } from './strategy'; import { normalizedStrategyValue } from './util'; -import { Context } from '../context'; +import type { Context } from '../context'; export default class GradualRolloutSessionIdStrategy extends Strategy { constructor() { diff --git a/src/lib/features/playground/feature-evaluator/strategy/gradual-rollout-user-id.ts b/src/lib/features/playground/feature-evaluator/strategy/gradual-rollout-user-id.ts index f31325a4d0a..0a5e0428435 100644 --- a/src/lib/features/playground/feature-evaluator/strategy/gradual-rollout-user-id.ts +++ b/src/lib/features/playground/feature-evaluator/strategy/gradual-rollout-user-id.ts @@ -1,5 +1,5 @@ import { Strategy } from './strategy'; -import { Context } from '../context'; +import type { Context } from '../context'; import { normalizedStrategyValue } from './util'; export default class GradualRolloutUserIdStrategy extends Strategy { diff --git a/src/lib/features/playground/feature-evaluator/strategy/index.ts b/src/lib/features/playground/feature-evaluator/strategy/index.ts index 727662dce76..55c3fab9566 100644 --- a/src/lib/features/playground/feature-evaluator/strategy/index.ts +++ b/src/lib/features/playground/feature-evaluator/strategy/index.ts @@ -5,7 +5,7 @@ import GradualRolloutSessionIdStrategy from './gradual-rollout-session-id'; import UserWithIdStrategy from './user-with-id-strategy'; import RemoteAddressStrategy from './remote-address-strategy'; import FlexibleRolloutStrategy from './flexible-rollout-strategy'; -import { Strategy } from './strategy'; +import type { Strategy } from './strategy'; import UnknownStrategy from './unknown-strategy'; import ApplicationHostnameStrategy from './application-hostname-strategy'; diff --git a/src/lib/features/playground/feature-evaluator/strategy/remote-address-strategy.ts b/src/lib/features/playground/feature-evaluator/strategy/remote-address-strategy.ts index 5172c77c003..237a7208fd6 100644 --- a/src/lib/features/playground/feature-evaluator/strategy/remote-address-strategy.ts +++ b/src/lib/features/playground/feature-evaluator/strategy/remote-address-strategy.ts @@ -1,5 +1,5 @@ import { Strategy } from './strategy'; -import { Context } from '../context'; +import type { Context } from '../context'; import ip from 'ip'; export default class RemoteAddressStrategy extends Strategy { diff --git a/src/lib/features/playground/feature-evaluator/strategy/strategy.ts b/src/lib/features/playground/feature-evaluator/strategy/strategy.ts index 661e6dad9fd..f58e8b9395c 100644 --- a/src/lib/features/playground/feature-evaluator/strategy/strategy.ts +++ b/src/lib/features/playground/feature-evaluator/strategy/strategy.ts @@ -1,9 +1,9 @@ -import { PlaygroundConstraintSchema } from '../../../../openapi/spec/playground-constraint-schema'; -import { PlaygroundSegmentSchema } from '../../../../openapi/spec/playground-segment-schema'; -import { StrategyEvaluationResult } from '../client'; -import { Constraint, operators } from '../constraint'; -import { Context } from '../context'; -import { selectVariantDefinition, VariantDefinition } from '../variant'; +import type { PlaygroundConstraintSchema } from '../../../../openapi/spec/playground-constraint-schema'; +import type { PlaygroundSegmentSchema } from '../../../../openapi/spec/playground-segment-schema'; +import type { StrategyEvaluationResult } from '../client'; +import { type Constraint, operators } from '../constraint'; +import type { Context } from '../context'; +import { selectVariantDefinition, type VariantDefinition } from '../variant'; export type SegmentForEvaluation = { name: string; diff --git a/src/lib/features/playground/feature-evaluator/strategy/unknown-strategy.ts b/src/lib/features/playground/feature-evaluator/strategy/unknown-strategy.ts index 5277101483e..909117c6eab 100644 --- a/src/lib/features/playground/feature-evaluator/strategy/unknown-strategy.ts +++ b/src/lib/features/playground/feature-evaluator/strategy/unknown-strategy.ts @@ -1,8 +1,8 @@ import { playgroundStrategyEvaluation } from '../../../../openapi/spec/playground-strategy-schema'; -import { StrategyEvaluationResult } from '../client'; -import { Constraint } from '../constraint'; -import { Context } from '../context'; -import { SegmentForEvaluation, Strategy } from './strategy'; +import type { StrategyEvaluationResult } from '../client'; +import type { Constraint } from '../constraint'; +import type { Context } from '../context'; +import { type SegmentForEvaluation, Strategy } from './strategy'; export default class UnknownStrategy extends Strategy { constructor() { diff --git a/src/lib/features/playground/feature-evaluator/strategy/user-with-id-strategy.ts b/src/lib/features/playground/feature-evaluator/strategy/user-with-id-strategy.ts index 2dd5273e0d2..31268fb5da0 100644 --- a/src/lib/features/playground/feature-evaluator/strategy/user-with-id-strategy.ts +++ b/src/lib/features/playground/feature-evaluator/strategy/user-with-id-strategy.ts @@ -1,5 +1,5 @@ import { Strategy } from './strategy'; -import { Context } from '../context'; +import type { Context } from '../context'; export default class UserWithIdStrategy extends Strategy { constructor() { diff --git a/src/lib/features/playground/feature-evaluator/variant.ts b/src/lib/features/playground/feature-evaluator/variant.ts index 3537d9bedfe..6a0de9ac659 100644 --- a/src/lib/features/playground/feature-evaluator/variant.ts +++ b/src/lib/features/playground/feature-evaluator/variant.ts @@ -1,6 +1,6 @@ -import { Context } from './context'; +import type { Context } from './context'; // eslint-disable-next-line import/no-cycle -import { FeatureInterface } from './feature'; +import type { FeatureInterface } from './feature'; import { normalizedVariantValue } from './strategy/util'; import { resolveContextValue } from './helpers'; diff --git a/src/lib/features/playground/offline-unleash-client.test.ts b/src/lib/features/playground/offline-unleash-client.test.ts index 7306ecc4915..ce160faf85a 100644 --- a/src/lib/features/playground/offline-unleash-client.test.ts +++ b/src/lib/features/playground/offline-unleash-client.test.ts @@ -1,5 +1,5 @@ import { - ClientInitOptions, + type ClientInitOptions, mapFeaturesForClient, mapSegmentsForClient, offlineUnleashClient, diff --git a/src/lib/features/playground/offline-unleash-client.ts b/src/lib/features/playground/offline-unleash-client.ts index 3b11cbf5cc4..435b17379ac 100644 --- a/src/lib/features/playground/offline-unleash-client.ts +++ b/src/lib/features/playground/offline-unleash-client.ts @@ -1,13 +1,13 @@ -import { SdkContextSchema } from '../../openapi/spec/sdk-context-schema'; +import type { SdkContextSchema } from '../../openapi/spec/sdk-context-schema'; import { InMemStorageProvider, FeatureEvaluator } from './feature-evaluator'; -import { FeatureConfigurationClient } from '../../features/feature-toggle/types/feature-toggle-strategies-store-type'; -import { Segment } from './feature-evaluator/strategy/strategy'; -import { ISegment } from '../../types/model'; +import type { FeatureConfigurationClient } from '../../features/feature-toggle/types/feature-toggle-strategies-store-type'; +import type { Segment } from './feature-evaluator/strategy/strategy'; +import type { ISegment } from '../../types/model'; import { serializeDates } from '../../types/serialize-dates'; -import { Operator } from './feature-evaluator/constraint'; -import { PayloadType } from 'unleash-client'; -import { FeatureInterface } from 'unleash-client/lib/feature'; -import { FeatureInterface as PlaygroundFeatureInterface } from './feature-evaluator/feature'; +import type { Operator } from './feature-evaluator/constraint'; +import type { PayloadType } from 'unleash-client'; +import type { FeatureInterface } from 'unleash-client/lib/feature'; +import type { FeatureInterface as PlaygroundFeatureInterface } from './feature-evaluator/feature'; type NonEmptyList = [T, ...T[]]; diff --git a/src/lib/features/playground/playground-service.ts b/src/lib/features/playground/playground-service.ts index 3da945dd943..1f206325809 100644 --- a/src/lib/features/playground/playground-service.ts +++ b/src/lib/features/playground/playground-service.ts @@ -1,32 +1,32 @@ -import FeatureToggleService from '../feature-toggle/feature-toggle-service'; -import { SdkContextSchema } from '../../openapi/spec/sdk-context-schema'; -import { IUnleashServices } from '../../types/services'; +import type FeatureToggleService from '../feature-toggle/feature-toggle-service'; +import type { SdkContextSchema } from '../../openapi/spec/sdk-context-schema'; +import type { IUnleashServices } from '../../types/services'; import { ALL } from '../../types/models/api-token'; -import { PlaygroundFeatureSchema } from '../../openapi/spec/playground-feature-schema'; -import { Logger } from '../../logger'; -import { +import type { PlaygroundFeatureSchema } from '../../openapi/spec/playground-feature-schema'; +import type { Logger } from '../../logger'; +import type { IFlagResolver, ISegment, ISegmentReadModel, IUnleashConfig, } from '../../types'; import { offlineUnleashClient } from './offline-unleash-client'; -import { FeatureInterface } from '../../features/playground/feature-evaluator/feature'; -import { +import type { FeatureInterface } from '../../features/playground/feature-evaluator/feature'; +import type { EvaluatedPlaygroundStrategy, FeatureStrategiesEvaluationResult, } from '../../features/playground/feature-evaluator/client'; -import { FeatureConfigurationClient } from '../feature-toggle/types/feature-toggle-strategies-store-type'; +import type { FeatureConfigurationClient } from '../feature-toggle/types/feature-toggle-strategies-store-type'; import { generateObjectCombinations } from './generateObjectCombinations'; import groupBy from 'lodash.groupby'; import { omitKeys } from '../../util'; -import { +import type { AdvancedPlaygroundFeatureSchema, playgroundStrategyEvaluation, } from '../../openapi'; -import { AdvancedPlaygroundEnvironmentFeatureSchema } from '../../openapi/spec/advanced-playground-environment-feature-schema'; +import type { AdvancedPlaygroundEnvironmentFeatureSchema } from '../../openapi/spec/advanced-playground-environment-feature-schema'; import { validateQueryComplexity } from './validateQueryComplexity'; -import { IPrivateProjectChecker } from '../private-project/privateProjectCheckerType'; +import type { IPrivateProjectChecker } from '../private-project/privateProjectCheckerType'; import { getDefaultVariant } from './feature-evaluator/variant'; type EvaluationInput = { diff --git a/src/lib/features/playground/playground-view-model.ts b/src/lib/features/playground/playground-view-model.ts index 8c57a0d05a8..a7cdcce7e91 100644 --- a/src/lib/features/playground/playground-view-model.ts +++ b/src/lib/features/playground/playground-view-model.ts @@ -1,11 +1,11 @@ -import { +import type { AdvancedPlaygroundRequestSchema, AdvancedPlaygroundResponseSchema, PlaygroundRequestSchema, PlaygroundResponseSchema, PlaygroundStrategySchema, } from '../../openapi'; -import { +import type { AdvancedPlaygroundFeatureEvaluationResult, PlaygroundFeatureEvaluationResult, } from './playground-service'; diff --git a/src/lib/features/playground/playground.test.ts b/src/lib/features/playground/playground.test.ts index 24dd2eb01ef..205c80eb04b 100644 --- a/src/lib/features/playground/playground.test.ts +++ b/src/lib/features/playground/playground.test.ts @@ -9,7 +9,7 @@ import createStores from '../../../test/fixtures/store'; import getApp from '../../app'; import { playgroundRequestSchema, - PlaygroundRequestSchema, + type PlaygroundRequestSchema, } from '../../openapi/spec/playground-request-schema'; import { generate as generateRequest } from '../../openapi/spec/playground-request-schema.test'; diff --git a/src/lib/features/playground/playground.ts b/src/lib/features/playground/playground.ts index f807379a109..41f5da2cd52 100644 --- a/src/lib/features/playground/playground.ts +++ b/src/lib/features/playground/playground.ts @@ -1,26 +1,26 @@ -import { Request, Response } from 'express'; -import { IUnleashConfig } from '../../types/option'; -import { IUnleashServices } from '../../types/services'; +import type { Request, Response } from 'express'; +import type { IUnleashConfig } from '../../types/option'; +import type { IUnleashServices } from '../../types/services'; import { NONE } from '../../types/permissions'; import Controller from '../../routes/controller'; -import { OpenApiService } from '../../services/openapi-service'; +import type { OpenApiService } from '../../services/openapi-service'; import { createResponseSchema } from '../../openapi/util/create-response-schema'; import { getStandardResponses } from '../../openapi/util/standard-responses'; import { createRequestSchema } from '../../openapi/util/create-request-schema'; import { - PlaygroundResponseSchema, + type PlaygroundResponseSchema, playgroundResponseSchema, } from '../../openapi/spec/playground-response-schema'; -import { PlaygroundRequestSchema } from '../../openapi/spec/playground-request-schema'; -import { PlaygroundService } from './playground-service'; -import { IFlagResolver } from '../../types'; -import { AdvancedPlaygroundRequestSchema } from '../../openapi/spec/advanced-playground-request-schema'; -import { AdvancedPlaygroundResponseSchema } from '../../openapi/spec/advanced-playground-response-schema'; +import type { PlaygroundRequestSchema } from '../../openapi/spec/playground-request-schema'; +import type { PlaygroundService } from './playground-service'; +import type { IFlagResolver } from '../../types'; +import type { AdvancedPlaygroundRequestSchema } from '../../openapi/spec/advanced-playground-request-schema'; +import type { AdvancedPlaygroundResponseSchema } from '../../openapi/spec/advanced-playground-response-schema'; import { advancedPlaygroundViewModel, playgroundViewModel, } from './playground-view-model'; -import { IAuthRequest } from '../../routes/unleash-types'; +import type { IAuthRequest } from '../../routes/unleash-types'; import { extractUserIdFromUser } from '../../util'; export default class PlaygroundController extends Controller { @@ -121,8 +121,8 @@ export default class PlaygroundController extends Controller { // used for runtime control, do not remove const { payload } = this.flagResolver.getVariant('advancedPlayground'); const limit = - payload?.value && Number.isInteger(parseInt(payload?.value)) - ? parseInt(payload?.value) + payload?.value && Number.isInteger(Number.parseInt(payload?.value)) + ? Number.parseInt(payload?.value) : 15000; const result = await this.playgroundService.evaluateAdvancedQuery( diff --git a/src/lib/features/private-project/createPrivateProjectChecker.ts b/src/lib/features/private-project/createPrivateProjectChecker.ts index 8b9e4b8d3b3..d7a034f86f6 100644 --- a/src/lib/features/private-project/createPrivateProjectChecker.ts +++ b/src/lib/features/private-project/createPrivateProjectChecker.ts @@ -1,4 +1,4 @@ -import { Db, IUnleashConfig } from '../../server-impl'; +import type { Db, IUnleashConfig } from '../../server-impl'; import PrivateProjectStore from './privateProjectStore'; import { PrivateProjectChecker } from './privateProjectChecker'; import { FakePrivateProjectChecker } from './fakePrivateProjectChecker'; diff --git a/src/lib/features/private-project/fakePrivateProjectChecker.ts b/src/lib/features/private-project/fakePrivateProjectChecker.ts index 26ee2346332..27a061ce2d1 100644 --- a/src/lib/features/private-project/fakePrivateProjectChecker.ts +++ b/src/lib/features/private-project/fakePrivateProjectChecker.ts @@ -1,5 +1,5 @@ -import { IPrivateProjectChecker } from './privateProjectCheckerType'; -import { ALL_PROJECT_ACCESS, ProjectAccess } from './privateProjectStore'; +import type { IPrivateProjectChecker } from './privateProjectCheckerType'; +import { ALL_PROJECT_ACCESS, type ProjectAccess } from './privateProjectStore'; export class FakePrivateProjectChecker implements IPrivateProjectChecker { // eslint-disable-next-line @typescript-eslint/no-unused-vars diff --git a/src/lib/features/private-project/privateProjectChecker.ts b/src/lib/features/private-project/privateProjectChecker.ts index 2af389a8f7b..89db3cd7b5c 100644 --- a/src/lib/features/private-project/privateProjectChecker.ts +++ b/src/lib/features/private-project/privateProjectChecker.ts @@ -1,7 +1,7 @@ -import { IUnleashConfig, IUnleashStores } from '../../types'; -import { IPrivateProjectStore } from './privateProjectStoreType'; -import { IPrivateProjectChecker } from './privateProjectCheckerType'; -import { ALL_PROJECT_ACCESS, ProjectAccess } from './privateProjectStore'; +import type { IUnleashConfig, IUnleashStores } from '../../types'; +import type { IPrivateProjectStore } from './privateProjectStoreType'; +import type { IPrivateProjectChecker } from './privateProjectCheckerType'; +import { ALL_PROJECT_ACCESS, type ProjectAccess } from './privateProjectStore'; export class PrivateProjectChecker implements IPrivateProjectChecker { private privateProjectStore: IPrivateProjectStore; diff --git a/src/lib/features/private-project/privateProjectCheckerType.ts b/src/lib/features/private-project/privateProjectCheckerType.ts index 8ddb3b9ce4f..39552dc1d93 100644 --- a/src/lib/features/private-project/privateProjectCheckerType.ts +++ b/src/lib/features/private-project/privateProjectCheckerType.ts @@ -1,4 +1,4 @@ -import { ProjectAccess } from './privateProjectStore'; +import type { ProjectAccess } from './privateProjectStore'; export interface IPrivateProjectChecker { getUserAccessibleProjects(userId: number): Promise; diff --git a/src/lib/features/private-project/privateProjectStore.ts b/src/lib/features/private-project/privateProjectStore.ts index 16838e8e83c..16b68230a99 100644 --- a/src/lib/features/private-project/privateProjectStore.ts +++ b/src/lib/features/private-project/privateProjectStore.ts @@ -1,6 +1,6 @@ -import { Db } from '../../db/db'; -import { Logger, LogProvider } from '../../logger'; -import { IPrivateProjectStore } from './privateProjectStoreType'; +import type { Db } from '../../db/db'; +import type { Logger, LogProvider } from '../../logger'; +import type { IPrivateProjectStore } from './privateProjectStoreType'; import { ADMIN_TOKEN_USER } from '../../types'; export type ProjectAccess = diff --git a/src/lib/features/private-project/privateProjectStoreType.ts b/src/lib/features/private-project/privateProjectStoreType.ts index 98b213775f4..77bd1e56c24 100644 --- a/src/lib/features/private-project/privateProjectStoreType.ts +++ b/src/lib/features/private-project/privateProjectStoreType.ts @@ -1,4 +1,4 @@ -import { ProjectAccess } from './privateProjectStore'; +import type { ProjectAccess } from './privateProjectStore'; export interface IPrivateProjectStore { getUserAccessibleProjects(userId: number): Promise; diff --git a/src/lib/features/project-environments/createEnvironmentService.ts b/src/lib/features/project-environments/createEnvironmentService.ts index 8f5303723db..c243c8515c2 100644 --- a/src/lib/features/project-environments/createEnvironmentService.ts +++ b/src/lib/features/project-environments/createEnvironmentService.ts @@ -1,5 +1,5 @@ -import { Db } from '../../db/db'; -import { IUnleashConfig } from '../../types'; +import type { Db } from '../../db/db'; +import type { IUnleashConfig } from '../../types'; import { EventService } from '../../services'; import FakeEventStore from '../../../test/fixtures/fake-event-store'; import FakeFeatureTagStore from '../../../test/fixtures/fake-feature-tag-store'; diff --git a/src/lib/features/project-environments/environment-service.test.ts b/src/lib/features/project-environments/environment-service.test.ts index 79eeb5be00c..173dbf55b13 100644 --- a/src/lib/features/project-environments/environment-service.test.ts +++ b/src/lib/features/project-environments/environment-service.test.ts @@ -1,8 +1,8 @@ import EnvironmentService from './environment-service'; import { createTestConfig } from '../../../test/config/test-config'; -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import NotFoundError from '../../error/notfound-error'; -import { IUnleashStores, SYSTEM_USER } from '../../types'; +import { type IUnleashStores, SYSTEM_USER } from '../../types'; import NameExistsError from '../../error/name-exists-error'; import { EventService } from '../../services'; diff --git a/src/lib/features/project-environments/environment-service.ts b/src/lib/features/project-environments/environment-service.ts index e5fa8d098f4..77bd88a7fde 100644 --- a/src/lib/features/project-environments/environment-service.ts +++ b/src/lib/features/project-environments/environment-service.ts @@ -1,27 +1,27 @@ import { DEFAULT_STRATEGY_UPDATED, - IEnvironment, - IEnvironmentStore, - IFeatureEnvironmentStore, - IFeatureStrategiesStore, - IProjectEnvironment, - ISortOrder, - IUnleashConfig, - IUnleashStores, + type IEnvironment, + type IEnvironmentStore, + type IFeatureEnvironmentStore, + type IFeatureStrategiesStore, + type IProjectEnvironment, + type ISortOrder, + type IUnleashConfig, + type IUnleashStores, PROJECT_ENVIRONMENT_ADDED, PROJECT_ENVIRONMENT_REMOVED, SYSTEM_USER, } from '../../types'; -import { Logger } from '../../logger'; +import type { Logger } from '../../logger'; import { BadDataError, UNIQUE_CONSTRAINT_VIOLATION } from '../../error'; import NameExistsError from '../../error/name-exists-error'; import { sortOrderSchema } from '../../services/state-schema'; import NotFoundError from '../../error/notfound-error'; -import { IProjectStore } from '../../features/project/project-store-type'; +import type { IProjectStore } from '../../features/project/project-store-type'; import MinimumOneEnvironmentError from '../../error/minimum-one-environment-error'; -import { IFlagResolver } from '../../types/experimental'; -import { CreateFeatureStrategySchema } from '../../openapi'; -import EventService from '../events/event-service'; +import type { IFlagResolver } from '../../types/experimental'; +import type { CreateFeatureStrategySchema } from '../../openapi'; +import type EventService from '../events/event-service'; export default class EnvironmentService { private logger: Logger; diff --git a/src/lib/features/project-environments/environment-store-type.ts b/src/lib/features/project-environments/environment-store-type.ts index 5926b76f0fe..75d2dc97e2b 100644 --- a/src/lib/features/project-environments/environment-store-type.ts +++ b/src/lib/features/project-environments/environment-store-type.ts @@ -1,9 +1,9 @@ -import { +import type { IEnvironment, IEnvironmentCreate, IProjectEnvironment, } from '../../types/model'; -import { Store } from '../../types/stores/store'; +import type { Store } from '../../types/stores/store'; export interface IEnvironmentStore extends Store { exists(name: string): Promise; diff --git a/src/lib/features/project-environments/environment-store.ts b/src/lib/features/project-environments/environment-store.ts index 87c0982a72a..6838d6eb4a8 100644 --- a/src/lib/features/project-environments/environment-store.ts +++ b/src/lib/features/project-environments/environment-store.ts @@ -1,17 +1,17 @@ -import EventEmitter from 'events'; -import { Db } from '../../db/db'; -import { Logger, LogProvider } from '../../logger'; +import type EventEmitter from 'events'; +import type { Db } from '../../db/db'; +import type { Logger, LogProvider } from '../../logger'; import metricsHelper from '../../util/metrics-helper'; import { DB_TIME } from '../../metric-events'; -import { +import type { IEnvironment, IEnvironmentCreate, IProjectEnvironment, } from '../../types/model'; import NotFoundError from '../../error/notfound-error'; -import { IEnvironmentStore } from './environment-store-type'; +import type { IEnvironmentStore } from './environment-store-type'; import { snakeCaseKeys } from '../../util/snakeCase'; -import { CreateFeatureStrategySchema } from '../../openapi'; +import type { CreateFeatureStrategySchema } from '../../openapi'; interface IEnvironmentsTable { name: string; @@ -58,12 +58,14 @@ function mapRowWithCounts( ): IProjectEnvironment { return { ...mapRow(row), - projectCount: row.project_count ? parseInt(row.project_count, 10) : 0, + projectCount: row.project_count + ? Number.parseInt(row.project_count, 10) + : 0, apiTokenCount: row.api_token_count - ? parseInt(row.api_token_count, 10) + ? Number.parseInt(row.api_token_count, 10) : 0, enabledToggleCount: row.enabled_toggle_count - ? parseInt(row.enabled_toggle_count, 10) + ? Number.parseInt(row.enabled_toggle_count, 10) : 0, }; } @@ -74,10 +76,10 @@ function mapRowWithProjectCounts( return { ...mapRow(row), projectApiTokenCount: row.project_api_token_count - ? parseInt(row.project_api_token_count, 10) + ? Number.parseInt(row.project_api_token_count, 10) : 0, projectEnabledToggleCount: row.project_enabled_toggle_count - ? parseInt(row.project_enabled_toggle_count, 10) + ? Number.parseInt(row.project_enabled_toggle_count, 10) : 0, defaultStrategy: row.project_default_strategy ? (row.project_default_strategy as any) diff --git a/src/lib/features/project-environments/environments.e2e.test.ts b/src/lib/features/project-environments/environments.e2e.test.ts index 417fa73642c..094ca3da39f 100644 --- a/src/lib/features/project-environments/environments.e2e.test.ts +++ b/src/lib/features/project-environments/environments.e2e.test.ts @@ -1,6 +1,6 @@ -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../../test/e2e/helpers/test-helper'; import getLogger from '../../../test/fixtures/no-logger'; diff --git a/src/lib/features/project-environments/environments.ts b/src/lib/features/project-environments/environments.ts index 6bfbb0245e8..8f55c9f1925 100644 --- a/src/lib/features/project-environments/environments.ts +++ b/src/lib/features/project-environments/environments.ts @@ -1,27 +1,27 @@ -import { Response } from 'express'; +import type { Response } from 'express'; import Controller from '../../routes/controller'; import { - IUnleashConfig, - IUnleashServices, + type IUnleashConfig, + type IUnleashServices, serializeDates, SYSTEM_USER_ID, UPDATE_PROJECT, } from '../../types'; -import { Logger } from '../../logger'; -import EnvironmentService from './environment-service'; +import type { Logger } from '../../logger'; +import type EnvironmentService from './environment-service'; import { createFeatureStrategySchema, - CreateFeatureStrategySchema, + type CreateFeatureStrategySchema, createRequestSchema, createResponseSchema, emptyResponse, getStandardResponses, - ProjectEnvironmentSchema, + type ProjectEnvironmentSchema, } from '../../openapi'; -import { OpenApiService, ProjectService } from '../../services'; +import type { OpenApiService, ProjectService } from '../../services'; import { extractUsername } from '../../util'; -import { IAuthRequest } from '../../routes/unleash-types'; -import { WithTransactional } from '../../db/transaction'; +import type { IAuthRequest } from '../../routes/unleash-types'; +import type { WithTransactional } from '../../db/transaction'; const PREFIX = '/:projectId/environments'; diff --git a/src/lib/features/project-environments/fake-environment-store.ts b/src/lib/features/project-environments/fake-environment-store.ts index b6af7c706fc..b8e3deb55cf 100644 --- a/src/lib/features/project-environments/fake-environment-store.ts +++ b/src/lib/features/project-environments/fake-environment-store.ts @@ -1,6 +1,6 @@ -import { IEnvironment, IProjectEnvironment } from '../../types/model'; +import type { IEnvironment, IProjectEnvironment } from '../../types/model'; import NotFoundError from '../../error/notfound-error'; -import { IEnvironmentStore } from './environment-store-type'; +import type { IEnvironmentStore } from './environment-store-type'; export default class FakeEnvironmentStore implements IEnvironmentStore { importEnvironments(envs: IEnvironment[]): Promise { diff --git a/src/lib/features/project/createProjectService.ts b/src/lib/features/project/createProjectService.ts index efb2c781dde..1bf9a2b0c07 100644 --- a/src/lib/features/project/createProjectService.ts +++ b/src/lib/features/project/createProjectService.ts @@ -1,10 +1,10 @@ -import { Db, IUnleashConfig } from '../../server-impl'; +import type { Db, IUnleashConfig } from '../../server-impl'; import EventStore from '../events/event-store'; import GroupStore from '../../db/group-store'; import { AccountStore } from '../../db/account-store'; import EnvironmentStore from '../project-environments/environment-store'; import { - AccessService, + type AccessService, EventService, FavoritesService, GroupService, diff --git a/src/lib/features/project/project-applications.e2e.test.ts b/src/lib/features/project/project-applications.e2e.test.ts index 889e6ab01de..a5268f75a95 100644 --- a/src/lib/features/project/project-applications.e2e.test.ts +++ b/src/lib/features/project/project-applications.e2e.test.ts @@ -1,11 +1,11 @@ -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../../test/e2e/helpers/test-helper'; import getLogger from '../../../test/fixtures/no-logger'; -import { ApiTokenType, IApiToken } from '../../types/models/api-token'; +import { ApiTokenType, type IApiToken } from '../../types/models/api-token'; let app: IUnleashTest; let db: ITestDb; diff --git a/src/lib/features/project/project-controller.ts b/src/lib/features/project/project-controller.ts index e979386ceaa..55d0a2a770e 100644 --- a/src/lib/features/project/project-controller.ts +++ b/src/lib/features/project/project-controller.ts @@ -1,41 +1,45 @@ -import { Response } from 'express'; +import type { Response } from 'express'; import Controller from '../../routes/controller'; import { - IArchivedQuery, - IFlagResolver, - IProjectParam, - IUnleashConfig, - IUnleashServices, + type IArchivedQuery, + type IFlagResolver, + type IProjectParam, + type IUnleashConfig, + type IUnleashServices, NONE, serializeDates, } from '../../types'; import ProjectFeaturesController from '../feature-toggle/feature-toggle-controller'; import EnvironmentsController from '../project-environments/environments'; import ProjectHealthReport from '../../routes/admin-api/project/health-report'; -import ProjectService from './project-service'; +import type ProjectService from './project-service'; import VariantsController from '../../routes/admin-api/project/variants'; import { createResponseSchema, - DeprecatedProjectOverviewSchema, + type DeprecatedProjectOverviewSchema, deprecatedProjectOverviewSchema, - ProjectDoraMetricsSchema, + type ProjectDoraMetricsSchema, projectDoraMetricsSchema, projectOverviewSchema, - ProjectsSchema, + type ProjectsSchema, projectsSchema, } from '../../openapi'; import { getStandardResponses } from '../../openapi/util/standard-responses'; -import { AccessService, OpenApiService, SettingService } from '../../services'; -import { IAuthRequest } from '../../routes/unleash-types'; +import type { + AccessService, + OpenApiService, + SettingService, +} from '../../services'; +import type { IAuthRequest } from '../../routes/unleash-types'; import { ProjectApiTokenController } from '../../routes/admin-api/project/api-token'; import ProjectArchiveController from '../../routes/admin-api/project/project-archive'; import { createKnexTransactionStarter } from '../../db/transaction'; -import { Db } from '../../db/db'; +import type { Db } from '../../db/db'; import DependentFeaturesController from '../dependent-features/dependent-features-controller'; -import { ProjectOverviewSchema } from '../../openapi/spec/project-overview-schema'; +import type { ProjectOverviewSchema } from '../../openapi/spec/project-overview-schema'; import { projectApplicationsSchema, - ProjectApplicationsSchema, + type ProjectApplicationsSchema, } from '../../openapi/spec/project-applications-schema'; import { NotFoundError } from '../../error'; import { projectApplicationsQueryParameters } from '../../openapi/spec/project-applications-query-parameters'; diff --git a/src/lib/features/project/project-service.ts b/src/lib/features/project/project-service.ts index d627ba8b117..c5e7ecc916c 100644 --- a/src/lib/features/project/project-service.ts +++ b/src/lib/features/project/project-service.ts @@ -1,7 +1,10 @@ import { subDays } from 'date-fns'; import { ValidationError } from 'joi'; -import { IUser } from '../../types/user'; -import { AccessService, AccessWithRoles } from '../../services/access-service'; +import type { IUser } from '../../types/user'; +import type { + AccessService, + AccessWithRoles, +} from '../../services/access-service'; import NameExistsError from '../../error/name-exists-error'; import InvalidOperationError from '../../error/invalid-operation-error'; import { nameType } from '../../routes/util'; @@ -9,26 +12,26 @@ import { projectSchema } from '../../services/project-schema'; import NotFoundError from '../../error/notfound-error'; import { ADMIN_TOKEN_USER, - CreateProject, + type CreateProject, DEFAULT_PROJECT, - FeatureToggle, - IAccountStore, - IEnvironmentStore, - IEventStore, - IFeatureEnvironmentStore, - IFeatureNaming, - IFeatureToggleStore, - IFlagResolver, - IProject, - IProjectApplications, - IProjectHealth, - IProjectOverview, - IProjectRoleUsage, - IProjectStore, - IProjectUpdate, - IProjectWithCount, - IUnleashConfig, - IUnleashStores, + type FeatureToggle, + type IAccountStore, + type IEnvironmentStore, + type IEventStore, + type IFeatureEnvironmentStore, + type IFeatureNaming, + type IFeatureToggleStore, + type IFlagResolver, + type IProject, + type IProjectApplications, + type IProjectHealth, + type IProjectOverview, + type IProjectRoleUsage, + type IProjectStore, + type IProjectUpdate, + type IProjectWithCount, + type IUnleashConfig, + type IUnleashStores, MOVE_FEATURE_TOGGLE, PROJECT_CREATED, PROJECT_DELETED, @@ -47,27 +50,27 @@ import { SYSTEM_USER, SYSTEM_USER_ID, } from '../../types'; -import { +import type { IProjectAccessModel, IRoleDescriptor, IRoleWithProject, } from '../../types/stores/access-store'; -import FeatureToggleService from '../feature-toggle/feature-toggle-service'; +import type FeatureToggleService from '../feature-toggle/feature-toggle-service'; import IncompatibleProjectError from '../../error/incompatible-project-error'; import ProjectWithoutOwnerError from '../../error/project-without-owner-error'; import { arraysHaveSameItems } from '../../util'; -import { GroupService } from '../../services/group-service'; -import { IGroupRole } from '../../types/group'; -import { FavoritesService } from '../../services/favorites-service'; +import type { GroupService } from '../../services/group-service'; +import type { IGroupRole } from '../../types/group'; +import type { FavoritesService } from '../../services/favorites-service'; import { calculateAverageTimeToProd } from '../feature-toggle/time-to-production/time-to-production'; -import { IProjectStatsStore } from '../../types/stores/project-stats-store-type'; +import type { IProjectStatsStore } from '../../types/stores/project-stats-store-type'; import { uniqueByKey } from '../../util/unique'; import { BadDataError, PermissionError } from '../../error'; -import { ProjectDoraMetricsSchema } from '../../openapi'; +import type { ProjectDoraMetricsSchema } from '../../openapi'; import { checkFeatureNamingData } from '../feature-naming-pattern/feature-naming-validation'; -import { IPrivateProjectChecker } from '../private-project/privateProjectCheckerType'; -import EventService from '../events/event-service'; -import { +import type { IPrivateProjectChecker } from '../private-project/privateProjectCheckerType'; +import type EventService from '../events/event-service'; +import type { IProjectApplicationsSearchParams, IProjectEnterpriseSettingsUpdate, IProjectQuery, diff --git a/src/lib/features/project/project-store-type.ts b/src/lib/features/project/project-store-type.ts index 49490c36417..410a90d51c3 100644 --- a/src/lib/features/project/project-store-type.ts +++ b/src/lib/features/project/project-store-type.ts @@ -1,9 +1,9 @@ -import { +import type { IEnvironmentProjectLink, IProjectMembersCount, ProjectModeCount, } from './project-store'; -import { +import type { IEnvironment, IFeatureNaming, IProject, @@ -11,8 +11,8 @@ import { IProjectWithCount, ProjectMode, } from '../../types/model'; -import { Store } from '../../types/stores/store'; -import { CreateFeatureStrategySchema } from '../../openapi'; +import type { Store } from '../../types/stores/store'; +import type { CreateFeatureStrategySchema } from '../../openapi'; export interface IProjectInsert { id: string; diff --git a/src/lib/features/project/project-store.ts b/src/lib/features/project/project-store.ts index acdc03cebb1..eced172ca22 100644 --- a/src/lib/features/project/project-store.ts +++ b/src/lib/features/project/project-store.ts @@ -1,8 +1,8 @@ import { Knex } from 'knex'; -import { Logger, LogProvider } from '../../logger'; +import type { Logger, LogProvider } from '../../logger'; import NotFoundError from '../../error/notfound-error'; -import { +import type { IEnvironment, IFlagResolver, IProject, @@ -12,7 +12,7 @@ import { IProjectWithCount, ProjectMode, } from '../../types'; -import { +import type { IProjectHealthUpdate, IProjectInsert, IProjectQuery, @@ -25,10 +25,10 @@ import { import { DEFAULT_ENV } from '../../util'; import metricsHelper from '../../util/metrics-helper'; import { DB_TIME } from '../../metric-events'; -import EventEmitter from 'events'; -import { Db } from '../../db/db'; +import type EventEmitter from 'events'; +import type { Db } from '../../db/db'; import Raw = Knex.Raw; -import { CreateFeatureStrategySchema } from '../../openapi'; +import type { CreateFeatureStrategySchema } from '../../openapi'; import { applySearchFilters } from '../feature-search/search-utils'; const COLUMNS = [ diff --git a/src/lib/features/project/projects.e2e.test.ts b/src/lib/features/project/projects.e2e.test.ts index e64bd64cb9a..5c071453147 100644 --- a/src/lib/features/project/projects.e2e.test.ts +++ b/src/lib/features/project/projects.e2e.test.ts @@ -1,13 +1,13 @@ -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, insertFeatureEnvironmentsLastSeen, insertLastSeenAt, setupAppWithCustomConfig, } from '../../../test/e2e/helpers/test-helper'; import getLogger from '../../../test/fixtures/no-logger'; -import { IProjectStore } from '../../types'; +import type { IProjectStore } from '../../types'; import { DEFAULT_ENV } from '../../util'; let app: IUnleashTest; diff --git a/src/lib/features/scheduler/schedule-services.ts b/src/lib/features/scheduler/schedule-services.ts index 8c337cb09f8..25e417c279a 100644 --- a/src/lib/features/scheduler/schedule-services.ts +++ b/src/lib/features/scheduler/schedule-services.ts @@ -3,7 +3,7 @@ import { minutesToMilliseconds, secondsToMilliseconds, } from 'date-fns'; -import { IUnleashServices } from '../../server-impl'; +import type { IUnleashServices } from '../../server-impl'; /** * Schedules service methods. diff --git a/src/lib/features/scheduler/scheduler-service.test.ts b/src/lib/features/scheduler/scheduler-service.test.ts index 8e894ed5735..5363133b6d8 100644 --- a/src/lib/features/scheduler/scheduler-service.test.ts +++ b/src/lib/features/scheduler/scheduler-service.test.ts @@ -1,10 +1,10 @@ import { SchedulerService } from './scheduler-service'; -import { LogProvider } from '../../logger'; +import type { LogProvider } from '../../logger'; import MaintenanceService from '../maintenance/maintenance-service'; import { createTestConfig } from '../../../test/config/test-config'; import SettingService from '../../services/setting-service'; import FakeSettingStore from '../../../test/fixtures/fake-setting-store'; -import EventService from '../events/event-service'; +import type EventService from '../events/event-service'; import { SCHEDULER_JOB_TIME } from '../../metric-events'; import EventEmitter from 'events'; diff --git a/src/lib/features/scheduler/scheduler-service.ts b/src/lib/features/scheduler/scheduler-service.ts index 1e95b3479da..ca64a9f3a69 100644 --- a/src/lib/features/scheduler/scheduler-service.ts +++ b/src/lib/features/scheduler/scheduler-service.ts @@ -1,6 +1,6 @@ -import EventEmitter from 'events'; -import { Logger, LogProvider } from '../../logger'; -import { IMaintenanceStatus } from '../maintenance/maintenance-service'; +import type EventEmitter from 'events'; +import type { Logger, LogProvider } from '../../logger'; +import type { IMaintenanceStatus } from '../maintenance/maintenance-service'; import { SCHEDULER_JOB_TIME } from '../../metric-events'; // returns between min and max seconds in ms diff --git a/src/lib/features/segment/admin-segment.e2e.test.ts b/src/lib/features/segment/admin-segment.e2e.test.ts index 5eecae2ef30..b60fcd30ef8 100644 --- a/src/lib/features/segment/admin-segment.e2e.test.ts +++ b/src/lib/features/segment/admin-segment.e2e.test.ts @@ -1,18 +1,18 @@ import { randomId } from '../../util/random-id'; -import { IFeatureToggleClient, ISegment } from '../../types/model'; +import type { IFeatureToggleClient, ISegment } from '../../types/model'; import { collectIds } from '../../util/collect-ids'; -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import getLogger from '../../../test/fixtures/no-logger'; import { addStrategyToFeatureEnv, createFeatureToggle, } from '../../../test/e2e/helpers/app.utils'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../../test/e2e/helpers/test-helper'; -import { StrategiesUsingSegment } from './segment-service-interface'; -import { IUser } from '../../types'; +import type { StrategiesUsingSegment } from './segment-service-interface'; +import type { IUser } from '../../types'; let app: IUnleashTest; let db: ITestDb; diff --git a/src/lib/features/segment/client-segment.e2e.test.ts b/src/lib/features/segment/client-segment.e2e.test.ts index 960b3863713..770c4185f8b 100644 --- a/src/lib/features/segment/client-segment.e2e.test.ts +++ b/src/lib/features/segment/client-segment.e2e.test.ts @@ -1,10 +1,14 @@ -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import getLogger from '../../../test/fixtures/no-logger'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../../test/e2e/helpers/test-helper'; -import { IConstraint, IFeatureToggleClient, ISegment } from '../../types/model'; +import type { + IConstraint, + IFeatureToggleClient, + ISegment, +} from '../../types/model'; import { randomId } from '../../util/random-id'; import User from '../../types/user'; import { @@ -13,7 +17,7 @@ import { } from '../../util/segments'; import { collectIds } from '../../util/collect-ids'; import { arraysHaveSameItems } from '../../util/arraysHaveSameItems'; -import { +import type { CreateFeatureSchema, CreateFeatureStrategySchema, FeatureStrategySchema, diff --git a/src/lib/features/segment/createSegmentService.ts b/src/lib/features/segment/createSegmentService.ts index ddab9bb1929..85e6f78617f 100644 --- a/src/lib/features/segment/createSegmentService.ts +++ b/src/lib/features/segment/createSegmentService.ts @@ -1,7 +1,7 @@ -import { Db, IUnleashConfig } from '../../server-impl'; +import type { Db, IUnleashConfig } from '../../server-impl'; import { EventService, SegmentService } from '../../services'; import FakeEventStore from '../../../test/fixtures/fake-event-store'; -import { ISegmentService } from './segment-service-interface'; +import type { ISegmentService } from './segment-service-interface'; import FeatureStrategiesStore from '../feature-toggle/feature-toggle-strategies-store'; import SegmentStore from './segment-store'; import FakeSegmentStore from '../../../test/fixtures/fake-segment-store'; diff --git a/src/lib/features/segment/fake-segment-read-model.ts b/src/lib/features/segment/fake-segment-read-model.ts index 0a79bb34962..30e4d2076d4 100644 --- a/src/lib/features/segment/fake-segment-read-model.ts +++ b/src/lib/features/segment/fake-segment-read-model.ts @@ -1,5 +1,9 @@ -import { IClientSegment, IFeatureStrategySegment, ISegment } from '../../types'; -import { ISegmentReadModel } from './segment-read-model-type'; +import type { + IClientSegment, + IFeatureStrategySegment, + ISegment, +} from '../../types'; +import type { ISegmentReadModel } from './segment-read-model-type'; export class FakeSegmentReadModel implements ISegmentReadModel { constructor(private segments: ISegment[] = []) {} diff --git a/src/lib/features/segment/segment-controller.ts b/src/lib/features/segment/segment-controller.ts index e216d070ad0..f9aaa6c1603 100644 --- a/src/lib/features/segment/segment-controller.ts +++ b/src/lib/features/segment/segment-controller.ts @@ -1,16 +1,16 @@ -import { Request, Response } from 'express'; +import type { Request, Response } from 'express'; import Controller from '../../routes/controller'; -import { +import type { IAuthRequest, IUnleashConfig, IUnleashServices, Logger, } from '../../server-impl'; import { - AdminSegmentSchema, - UpdateFeatureStrategySegmentsSchema, - UpsertSegmentSchema, + type AdminSegmentSchema, + type UpdateFeatureStrategySegmentsSchema, + type UpsertSegmentSchema, adminSegmentSchema, createRequestSchema, createResponseSchema, @@ -21,13 +21,13 @@ import { emptyResponse, getStandardResponses, } from '../../openapi/util/standard-responses'; -import { ISegmentService } from './segment-service-interface'; -import { SegmentStrategiesSchema } from '../../openapi/spec/segment-strategies-schema'; -import { AccessService, OpenApiService } from '../../services'; +import type { ISegmentService } from './segment-service-interface'; +import type { SegmentStrategiesSchema } from '../../openapi/spec/segment-strategies-schema'; +import type { AccessService, OpenApiService } from '../../services'; import { CREATE_SEGMENT, DELETE_SEGMENT, - IFlagResolver, + type IFlagResolver, NONE, UPDATE_FEATURE_STRATEGY, UPDATE_PROJECT_SEGMENT, @@ -36,7 +36,7 @@ import { } from '../../types'; import { segmentsSchema, - SegmentsSchema, + type SegmentsSchema, } from '../../openapi/spec/segments-schema'; import { anonymiseKeys, extractUserIdFromUser } from '../../util'; diff --git a/src/lib/features/segment/segment-read-model-type.ts b/src/lib/features/segment/segment-read-model-type.ts index 74a4da2bd24..c034f275f3a 100644 --- a/src/lib/features/segment/segment-read-model-type.ts +++ b/src/lib/features/segment/segment-read-model-type.ts @@ -1,4 +1,8 @@ -import { IClientSegment, IFeatureStrategySegment, ISegment } from '../../types'; +import type { + IClientSegment, + IFeatureStrategySegment, + ISegment, +} from '../../types'; export interface ISegmentReadModel { getAll(): Promise; diff --git a/src/lib/features/segment/segment-read-model.ts b/src/lib/features/segment/segment-read-model.ts index 6b5b10707a9..803991b7186 100644 --- a/src/lib/features/segment/segment-read-model.ts +++ b/src/lib/features/segment/segment-read-model.ts @@ -1,12 +1,12 @@ -import { +import type { IClientSegment, IConstraint, IFeatureStrategySegment, ISegment, } from '../../types'; -import { ISegmentReadModel } from './segment-read-model-type'; +import type { ISegmentReadModel } from './segment-read-model-type'; import NotFoundError from '../../error/notfound-error'; -import { Db } from '../../db/db'; +import type { Db } from '../../db/db'; interface ISegmentRow { id: number; diff --git a/src/lib/features/segment/segment-service-interface.ts b/src/lib/features/segment/segment-service-interface.ts index 590db47ef9e..382a5dfd661 100644 --- a/src/lib/features/segment/segment-service-interface.ts +++ b/src/lib/features/segment/segment-service-interface.ts @@ -1,6 +1,6 @@ -import { ChangeRequestStrategy } from '../change-request-segment-usage-service/change-request-segment-usage-read-model'; -import { UpsertSegmentSchema } from '../../openapi'; -import { IFeatureStrategy, ISegment, IUser } from '../../types'; +import type { ChangeRequestStrategy } from '../change-request-segment-usage-service/change-request-segment-usage-read-model'; +import type { UpsertSegmentSchema } from '../../openapi'; +import type { IFeatureStrategy, ISegment, IUser } from '../../types'; export type StrategiesUsingSegment = { strategies: IFeatureStrategy[]; diff --git a/src/lib/features/segment/segment-service.ts b/src/lib/features/segment/segment-service.ts index d88656f297f..2e32d9ca996 100644 --- a/src/lib/features/segment/segment-service.ts +++ b/src/lib/features/segment/segment-service.ts @@ -1,32 +1,32 @@ -import { IUnleashConfig } from '../../types/option'; +import type { IUnleashConfig } from '../../types/option'; import { - IFlagResolver, - IUnleashStores, + type IFlagResolver, + type IUnleashStores, SKIP_CHANGE_REQUEST, SYSTEM_USER, } from '../../types'; -import { Logger } from '../../logger'; +import type { Logger } from '../../logger'; import NameExistsError from '../../error/name-exists-error'; -import { ISegmentStore } from './segment-store-type'; -import { ISegment } from '../../types/model'; +import type { ISegmentStore } from './segment-store-type'; +import type { ISegment } from '../../types/model'; import { segmentSchema } from '../../services/segment-schema'; import { SEGMENT_CREATED, SEGMENT_DELETED, SEGMENT_UPDATED, } from '../../types/events'; -import User from '../../types/user'; -import { IFeatureStrategiesStore } from '../feature-toggle/types/feature-toggle-strategies-store-type'; +import type User from '../../types/user'; +import type { IFeatureStrategiesStore } from '../feature-toggle/types/feature-toggle-strategies-store-type'; import BadDataError from '../../error/bad-data-error'; -import { +import type { ISegmentService, StrategiesUsingSegment, } from './segment-service-interface'; import { PermissionError } from '../../error'; -import { IChangeRequestAccessReadModel } from '../change-request-access-service/change-request-access-read-model'; -import { IPrivateProjectChecker } from '../private-project/privateProjectCheckerType'; -import EventService from '../events/event-service'; -import { IChangeRequestSegmentUsageReadModel } from '../change-request-segment-usage-service/change-request-segment-usage-read-model'; +import type { IChangeRequestAccessReadModel } from '../change-request-access-service/change-request-access-read-model'; +import type { IPrivateProjectChecker } from '../private-project/privateProjectCheckerType'; +import type EventService from '../events/event-service'; +import type { IChangeRequestSegmentUsageReadModel } from '../change-request-segment-usage-service/change-request-segment-usage-read-model'; export class SegmentService implements ISegmentService { private logger: Logger; diff --git a/src/lib/features/segment/segment-store-type.ts b/src/lib/features/segment/segment-store-type.ts index cf939d7edd2..88927eac558 100644 --- a/src/lib/features/segment/segment-store-type.ts +++ b/src/lib/features/segment/segment-store-type.ts @@ -1,6 +1,6 @@ -import { IFeatureStrategySegment, ISegment } from '../../types/model'; -import { Store } from '../../types/stores/store'; -import User from '../../types/user'; +import type { IFeatureStrategySegment, ISegment } from '../../types/model'; +import type { Store } from '../../types/stores/store'; +import type User from '../../types/user'; export interface ISegmentStore extends Store { getAll(includeChangeRequestUsageData?: boolean): Promise; diff --git a/src/lib/features/segment/segment-store.test.ts b/src/lib/features/segment/segment-store.test.ts index 39e6654de20..f96cc5440e7 100644 --- a/src/lib/features/segment/segment-store.test.ts +++ b/src/lib/features/segment/segment-store.test.ts @@ -1,8 +1,8 @@ -import { ISegmentStore } from './segment-store-type'; -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; +import type { ISegmentStore } from './segment-store-type'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import getLogger from '../../../test/fixtures/no-logger'; import NotFoundError from '../../error/notfound-error'; -import { IUnleashStores, IUser } from '../../types'; +import type { IUnleashStores, IUser } from '../../types'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/lib/features/segment/segment-store.ts b/src/lib/features/segment/segment-store.ts index 67346621e8b..98425a0263b 100644 --- a/src/lib/features/segment/segment-store.ts +++ b/src/lib/features/segment/segment-store.ts @@ -1,16 +1,16 @@ -import { ISegmentStore } from './segment-store-type'; -import { +import type { ISegmentStore } from './segment-store-type'; +import type { IConstraint, IFeatureStrategySegment, ISegment, } from '../../types/model'; -import { Logger, LogProvider } from '../../logger'; -import EventEmitter from 'events'; +import type { Logger, LogProvider } from '../../logger'; +import type EventEmitter from 'events'; import NotFoundError from '../../error/notfound-error'; -import { PartialSome } from '../../types/partial'; -import User from '../../types/user'; -import { Db } from '../../db/db'; -import { IFlagResolver } from '../../types'; +import type { PartialSome } from '../../types/partial'; +import type User from '../../types/user'; +import type { Db } from '../../db/db'; +import type { IFlagResolver } from '../../types'; import { isDefined } from '../../util'; const T = { diff --git a/src/lib/features/tag-type/createTagTypeService.ts b/src/lib/features/tag-type/createTagTypeService.ts index 38a27f0df46..fb5a367f759 100644 --- a/src/lib/features/tag-type/createTagTypeService.ts +++ b/src/lib/features/tag-type/createTagTypeService.ts @@ -1,5 +1,5 @@ -import { Db } from '../../db/db'; -import { IUnleashConfig } from '../../types'; +import type { Db } from '../../db/db'; +import type { IUnleashConfig } from '../../types'; import TagTypeService from './tag-type-service'; import TagTypeStore from './tag-type-store'; import FakeTagTypeStore from './fake-tag-type-store'; diff --git a/src/lib/features/tag-type/fake-tag-type-store.ts b/src/lib/features/tag-type/fake-tag-type-store.ts index 49a981702e9..c61da6ab3b3 100644 --- a/src/lib/features/tag-type/fake-tag-type-store.ts +++ b/src/lib/features/tag-type/fake-tag-type-store.ts @@ -1,4 +1,4 @@ -import { ITagType, ITagTypeStore } from './tag-type-store-type'; +import type { ITagType, ITagTypeStore } from './tag-type-store-type'; const NotFoundError = require('../../error/notfound-error'); diff --git a/src/lib/features/tag-type/tag-type-service.ts b/src/lib/features/tag-type/tag-type-service.ts index 7deb36d0f17..727226f2171 100644 --- a/src/lib/features/tag-type/tag-type-service.ts +++ b/src/lib/features/tag-type/tag-type-service.ts @@ -2,17 +2,17 @@ import NameExistsError from '../../error/name-exists-error'; import { tagTypeSchema } from '../../services/tag-type-schema'; -import { IUnleashStores } from '../../types/stores'; +import type { IUnleashStores } from '../../types/stores'; import { TAG_TYPE_CREATED, TAG_TYPE_DELETED, TAG_TYPE_UPDATED, } from '../../types/events'; -import { Logger } from '../../logger'; -import { ITagType, ITagTypeStore } from './tag-type-store-type'; -import { IUnleashConfig } from '../../types/option'; -import EventService from '../events/event-service'; +import type { Logger } from '../../logger'; +import type { ITagType, ITagTypeStore } from './tag-type-store-type'; +import type { IUnleashConfig } from '../../types/option'; +import type EventService from '../events/event-service'; import { SYSTEM_USER } from '../../types'; export default class TagTypeService { diff --git a/src/lib/features/tag-type/tag-type-store-type.ts b/src/lib/features/tag-type/tag-type-store-type.ts index 1aae875bcef..b52b4c3fe3b 100644 --- a/src/lib/features/tag-type/tag-type-store-type.ts +++ b/src/lib/features/tag-type/tag-type-store-type.ts @@ -1,4 +1,4 @@ -import { Store } from '../../types/stores/store'; +import type { Store } from '../../types/stores/store'; export interface ITagType { name: string; diff --git a/src/lib/features/tag-type/tag-type-store.ts b/src/lib/features/tag-type/tag-type-store.ts index 1973779abbf..ba00d14e8c7 100644 --- a/src/lib/features/tag-type/tag-type-store.ts +++ b/src/lib/features/tag-type/tag-type-store.ts @@ -1,10 +1,10 @@ -import { EventEmitter } from 'events'; -import { LogProvider, Logger } from '../../logger'; +import type { EventEmitter } from 'events'; +import type { LogProvider, Logger } from '../../logger'; import { DB_TIME } from '../../metric-events'; import metricsHelper from '../../util/metrics-helper'; import NotFoundError from '../../error/notfound-error'; -import { ITagType, ITagTypeStore } from './tag-type-store-type'; -import { Db } from '../../db/db'; +import type { ITagType, ITagTypeStore } from './tag-type-store-type'; +import type { Db } from '../../db/db'; const COLUMNS = ['name', 'description', 'icon']; const TABLE = 'tag_types'; diff --git a/src/lib/features/tag-type/tag-type.ts b/src/lib/features/tag-type/tag-type.ts index 8ec5c25f1d7..38fd1745f1c 100644 --- a/src/lib/features/tag-type/tag-type.ts +++ b/src/lib/features/tag-type/tag-type.ts @@ -1,4 +1,4 @@ -import { Request, Response } from 'express'; +import type { Request, Response } from 'express'; import Controller from '../../routes/controller'; import { @@ -8,29 +8,29 @@ import { UPDATE_TAG_TYPE, } from '../../types/permissions'; import { extractUsername } from '../../util/extract-user'; -import { IUnleashConfig } from '../../types/option'; -import { IUnleashServices } from '../../types/services'; -import TagTypeService from './tag-type-service'; -import { Logger } from '../../logger'; -import { IAuthRequest } from '../../routes/unleash-types'; +import type { IUnleashConfig } from '../../types/option'; +import type { IUnleashServices } from '../../types/services'; +import type TagTypeService from './tag-type-service'; +import type { Logger } from '../../logger'; +import type { IAuthRequest } from '../../routes/unleash-types'; import { createRequestSchema } from '../../openapi/util/create-request-schema'; import { createResponseSchema, resourceCreatedResponseSchema, } from '../../openapi/util/create-response-schema'; -import { TagTypesSchema } from '../../openapi/spec/tag-types-schema'; +import type { TagTypesSchema } from '../../openapi/spec/tag-types-schema'; import { validateTagTypeSchema, - ValidateTagTypeSchema, + type ValidateTagTypeSchema, } from '../../openapi/spec/validate-tag-type-schema'; -import { TagTypeSchema } from '../../openapi/spec/tag-type-schema'; -import { UpdateTagTypeSchema } from '../../openapi/spec/update-tag-type-schema'; -import { OpenApiService } from '../../services/openapi-service'; +import type { TagTypeSchema } from '../../openapi/spec/tag-type-schema'; +import type { UpdateTagTypeSchema } from '../../openapi/spec/update-tag-type-schema'; +import type { OpenApiService } from '../../services/openapi-service'; import { emptyResponse, getStandardResponses, } from '../../openapi/util/standard-responses'; -import { WithTransactional } from '../../db/transaction'; +import type { WithTransactional } from '../../db/transaction'; const version = 1; diff --git a/src/lib/features/tag-type/tag-types.e2e.test.ts b/src/lib/features/tag-type/tag-types.e2e.test.ts index acaec7409a4..06eb83ffa36 100644 --- a/src/lib/features/tag-type/tag-types.e2e.test.ts +++ b/src/lib/features/tag-type/tag-types.e2e.test.ts @@ -1,6 +1,6 @@ -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../../test/e2e/helpers/test-helper'; import getLogger from '../../../test/fixtures/no-logger'; diff --git a/src/lib/features/traffic-data-usage/fake-traffic-data-usage-store.ts b/src/lib/features/traffic-data-usage/fake-traffic-data-usage-store.ts index e1a6cb18153..00c038ab23c 100644 --- a/src/lib/features/traffic-data-usage/fake-traffic-data-usage-store.ts +++ b/src/lib/features/traffic-data-usage/fake-traffic-data-usage-store.ts @@ -1,8 +1,8 @@ -import { +import type { IStatTrafficUsageKey, IStatTrafficUsage, } from './traffic-data-usage-store-type'; -import { ITrafficDataUsageStore } from '../../types'; +import type { ITrafficDataUsageStore } from '../../types'; export class FakeTrafficDataUsageStore implements ITrafficDataUsageStore { get(key: IStatTrafficUsageKey): Promise { diff --git a/src/lib/features/traffic-data-usage/traffic-data-usage-store-type.ts b/src/lib/features/traffic-data-usage/traffic-data-usage-store-type.ts index 4e31189cbad..dd39dba9c79 100644 --- a/src/lib/features/traffic-data-usage/traffic-data-usage-store-type.ts +++ b/src/lib/features/traffic-data-usage/traffic-data-usage-store-type.ts @@ -1,4 +1,4 @@ -import { Store } from '../../types/stores/store'; +import type { Store } from '../../types/stores/store'; export type IStatTrafficUsage = { day: Date; diff --git a/src/lib/features/traffic-data-usage/traffic-data-usage-store.test.ts b/src/lib/features/traffic-data-usage/traffic-data-usage-store.test.ts index 37f19dbe1b0..cbe6bb36299 100644 --- a/src/lib/features/traffic-data-usage/traffic-data-usage-store.test.ts +++ b/src/lib/features/traffic-data-usage/traffic-data-usage-store.test.ts @@ -1,6 +1,6 @@ -import dbInit, { ITestDb } from '../../../test/e2e/helpers/database-init'; +import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init'; import getLogger from '../../../test/fixtures/no-logger'; -import { ITrafficDataUsageStore, IUnleashStores } from '../../types'; +import type { ITrafficDataUsageStore, IUnleashStores } from '../../types'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/lib/features/traffic-data-usage/traffic-data-usage-store.ts b/src/lib/features/traffic-data-usage/traffic-data-usage-store.ts index 0688cb51dfe..5025160365e 100644 --- a/src/lib/features/traffic-data-usage/traffic-data-usage-store.ts +++ b/src/lib/features/traffic-data-usage/traffic-data-usage-store.ts @@ -1,6 +1,6 @@ -import { Db } from '../../db/db'; -import { Logger, LogProvider } from '../../logger'; -import { +import type { Db } from '../../db/db'; +import type { Logger, LogProvider } from '../../logger'; +import type { IStatTrafficUsage, IStatTrafficUsageKey, ITrafficDataUsageStore, diff --git a/src/lib/features/ui-observability-controller/ui-observability-controller.ts b/src/lib/features/ui-observability-controller/ui-observability-controller.ts index b0fc768aaa2..70aaac1fcaa 100644 --- a/src/lib/features/ui-observability-controller/ui-observability-controller.ts +++ b/src/lib/features/ui-observability-controller/ui-observability-controller.ts @@ -1,10 +1,10 @@ -import { Request, Response } from 'express'; +import type { Request, Response } from 'express'; import Controller from '../../routes/controller'; import { NONE } from '../../types/permissions'; -import { IUnleashConfig } from '../../types/option'; -import { IUnleashServices } from '../../types/services'; -import { Logger } from '../../logger'; +import type { IUnleashConfig } from '../../types/option'; +import type { IUnleashServices } from '../../types/services'; +import type { Logger } from '../../logger'; import { emptyResponse, diff --git a/src/lib/metrics.test.ts b/src/lib/metrics.test.ts index 040af2fa074..7f27944716d 100644 --- a/src/lib/metrics.test.ts +++ b/src/lib/metrics.test.ts @@ -1,6 +1,6 @@ import { register } from 'prom-client'; import EventEmitter from 'events'; -import { IEventStore } from './types/stores/event-store'; +import type { IEventStore } from './types/stores/event-store'; import { createTestConfig } from '../test/config/test-config'; import { DB_TIME, FUNCTION_TIME, REQUEST_TIME } from './metric-events'; import { @@ -15,7 +15,7 @@ import { InstanceStatsService } from './features/instance-stats/instance-stats-s import VersionService from './services/version-service'; import { createFakeGetActiveUsers } from './features/instance-stats/getActiveUsers'; import { createFakeGetProductionChanges } from './features/instance-stats/getProductionChanges'; -import { IEnvironmentStore, IUnleashStores } from './types'; +import type { IEnvironmentStore, IUnleashStores } from './types'; import FakeEnvironmentStore from './features/project-environments/fake-environment-store'; import { SchedulerService } from './services'; import noLogger from '../test/fixtures/no-logger'; diff --git a/src/lib/metrics.ts b/src/lib/metrics.ts index e77ab6152b1..2643ba67c69 100644 --- a/src/lib/metrics.ts +++ b/src/lib/metrics.ts @@ -1,7 +1,7 @@ import { collectDefaultMetrics } from 'prom-client'; import memoizee from 'memoizee'; -import EventEmitter from 'events'; -import { Knex } from 'knex'; +import type EventEmitter from 'events'; +import type { Knex } from 'knex'; import * as events from './metric-events'; import { DB_POOL_UPDATE, @@ -19,19 +19,19 @@ import { CLIENT_METRICS, CLIENT_REGISTER, } from './types/events'; -import { IUnleashConfig } from './types/option'; -import { IUnleashStores } from './types/stores'; +import type { IUnleashConfig } from './types/option'; +import type { IUnleashStores } from './types/stores'; import { hoursToMilliseconds, minutesToMilliseconds } from 'date-fns'; -import { InstanceStatsService } from './features/instance-stats/instance-stats-service'; -import { ValidatedClientMetrics } from './features/metrics/shared/schema'; -import { IEnvironment } from './types'; +import type { InstanceStatsService } from './features/instance-stats/instance-stats-service'; +import type { ValidatedClientMetrics } from './features/metrics/shared/schema'; +import type { IEnvironment } from './types'; import { createCounter, createGauge, createSummary, createHistogram, } from './util/metrics'; -import { SchedulerService } from './services'; +import type { SchedulerService } from './services'; export default class MetricsMonitor { constructor() {} diff --git a/src/lib/middleware/api-token-middleware.test.ts b/src/lib/middleware/api-token-middleware.test.ts index ff17a942cac..f5434c69aae 100644 --- a/src/lib/middleware/api-token-middleware.test.ts +++ b/src/lib/middleware/api-token-middleware.test.ts @@ -6,8 +6,8 @@ import { ALL, ApiTokenType } from '../types/models/api-token'; import apiTokenMiddleware, { TOKEN_TYPE_ERROR_MESSAGE, } from './api-token-middleware'; -import { ApiTokenService } from '../services'; -import { IUnleashConfig } from '../types'; +import type { ApiTokenService } from '../services'; +import type { IUnleashConfig } from '../types'; let config: IUnleashConfig; diff --git a/src/lib/middleware/api-token-middleware.ts b/src/lib/middleware/api-token-middleware.ts index 4a0d7a88245..1a3e95390a3 100644 --- a/src/lib/middleware/api-token-middleware.ts +++ b/src/lib/middleware/api-token-middleware.ts @@ -1,8 +1,8 @@ import { ApiTokenType } from '../types/models/api-token'; -import { IUnleashConfig } from '../types/option'; -import { IApiRequest, IAuthRequest } from '../routes/unleash-types'; -import { IUnleashServices } from '../server-impl'; -import { IFlagContext } from '../types'; +import type { IUnleashConfig } from '../types/option'; +import type { IApiRequest, IAuthRequest } from '../routes/unleash-types'; +import type { IUnleashServices } from '../server-impl'; +import type { IFlagContext } from '../types'; const isClientApi = ({ path }) => { return path && path.indexOf('/api/client') > -1; diff --git a/src/lib/middleware/authorization-middleware.ts b/src/lib/middleware/authorization-middleware.ts index 1f79253ff3c..5568d5c5957 100644 --- a/src/lib/middleware/authorization-middleware.ts +++ b/src/lib/middleware/authorization-middleware.ts @@ -1,6 +1,6 @@ -import { IAuthRequest } from '../routes/unleash-types'; -import { NextFunction, Response } from 'express'; -import { LogProvider } from '../logger'; +import type { IAuthRequest } from '../routes/unleash-types'; +import type { NextFunction, Response } from 'express'; +import type { LogProvider } from '../logger'; import { AuthenticationRequired } from '../server-impl'; import UnauthorizedError from '../error/unauthorized-error'; diff --git a/src/lib/middleware/catch-all-error-handler.ts b/src/lib/middleware/catch-all-error-handler.ts index a29538ac70c..0623a1d9ea9 100644 --- a/src/lib/middleware/catch-all-error-handler.ts +++ b/src/lib/middleware/catch-all-error-handler.ts @@ -1,5 +1,5 @@ -import { ErrorRequestHandler } from 'express'; -import { LogProvider } from '../logger'; +import type { ErrorRequestHandler } from 'express'; +import type { LogProvider } from '../logger'; import { handleErrors } from '../routes/util'; export const catchAllErrorHandler = ( diff --git a/src/lib/middleware/conditional-middleware.ts b/src/lib/middleware/conditional-middleware.ts index c548618c205..55f630d7b14 100644 --- a/src/lib/middleware/conditional-middleware.ts +++ b/src/lib/middleware/conditional-middleware.ts @@ -1,4 +1,4 @@ -import { RequestHandler, Router } from 'express'; +import { type RequestHandler, Router } from 'express'; export const conditionalMiddleware = ( condition: () => boolean, diff --git a/src/lib/middleware/content_type_checker.test.ts b/src/lib/middleware/content_type_checker.test.ts index cf12f497494..1f9c08a11d2 100644 --- a/src/lib/middleware/content_type_checker.test.ts +++ b/src/lib/middleware/content_type_checker.test.ts @@ -1,4 +1,4 @@ -import { Request, Response } from 'express'; +import type { Request, Response } from 'express'; import requireContentType from './content_type_checker'; const mockRequest: (contentType: string) => Request = (contentType) => ({ diff --git a/src/lib/middleware/content_type_checker.ts b/src/lib/middleware/content_type_checker.ts index f34b42fe70e..800505fbaa6 100644 --- a/src/lib/middleware/content_type_checker.ts +++ b/src/lib/middleware/content_type_checker.ts @@ -1,4 +1,4 @@ -import { RequestHandler } from 'express'; +import type { RequestHandler } from 'express'; import { is } from 'type-is'; import ContentTypeError from '../error/content-type-error'; diff --git a/src/lib/middleware/cors-origin-middleware.test.ts b/src/lib/middleware/cors-origin-middleware.test.ts index 28d4dcf8291..49263f8de20 100644 --- a/src/lib/middleware/cors-origin-middleware.test.ts +++ b/src/lib/middleware/cors-origin-middleware.test.ts @@ -9,7 +9,7 @@ import { FrontendApiService, SettingService, } from '../../lib/services'; -import { ISettingStore } from '../../lib/types'; +import type { ISettingStore } from '../../lib/types'; import { frontendSettingsKey } from '../../lib/types/settings/frontend-settings'; import FakeFeatureTagStore from '../../test/fixtures/fake-feature-tag-store'; diff --git a/src/lib/middleware/cors-origin-middleware.ts b/src/lib/middleware/cors-origin-middleware.ts index 0ff3f0acad8..604c84613f7 100644 --- a/src/lib/middleware/cors-origin-middleware.ts +++ b/src/lib/middleware/cors-origin-middleware.ts @@ -1,6 +1,6 @@ -import { RequestHandler } from 'express'; +import type { RequestHandler } from 'express'; import cors from 'cors'; -import { IUnleashConfig, IUnleashServices } from '../types'; +import type { IUnleashConfig, IUnleashServices } from '../types'; export const resolveOrigin = (allowedOrigins: string[]): string | string[] => { if (allowedOrigins.length === 0) { diff --git a/src/lib/middleware/demo-authentication.ts b/src/lib/middleware/demo-authentication.ts index 241c07bfb59..b1d62260373 100644 --- a/src/lib/middleware/demo-authentication.ts +++ b/src/lib/middleware/demo-authentication.ts @@ -1,11 +1,11 @@ -import { Application } from 'express'; +import type { Application } from 'express'; import AuthenticationRequired from '../types/authentication-required'; -import { IUnleashServices } from '../types/services'; -import { IUnleashConfig } from '../types/option'; +import type { IUnleashServices } from '../types/services'; +import type { IUnleashConfig } from '../types/option'; import ApiUser from '../types/api-user'; import { ApiTokenType } from '../types/models/api-token'; -import { IAuthRequest } from '../server-impl'; -import { IApiRequest } from '../routes/unleash-types'; +import type { IAuthRequest } from '../server-impl'; +import type { IApiRequest } from '../routes/unleash-types'; import { encrypt } from '../util'; function demoAuthentication( diff --git a/src/lib/middleware/no-authentication.test.ts b/src/lib/middleware/no-authentication.test.ts index 34cfa4ed11a..efe1f46d2a0 100644 --- a/src/lib/middleware/no-authentication.test.ts +++ b/src/lib/middleware/no-authentication.test.ts @@ -1,4 +1,4 @@ -import { IAuthRequest } from '../routes/unleash-types'; +import type { IAuthRequest } from '../routes/unleash-types'; import supertest from 'supertest'; import express from 'express'; import noAuthentication from './no-authentication'; diff --git a/src/lib/middleware/no-authentication.ts b/src/lib/middleware/no-authentication.ts index 1d6c9fac879..3884a8058ab 100644 --- a/src/lib/middleware/no-authentication.ts +++ b/src/lib/middleware/no-authentication.ts @@ -1,10 +1,10 @@ -import { Application } from 'express'; +import type { Application } from 'express'; import NoAuthUser from '../types/no-auth-user'; import { ApiTokenType } from '../types/models/api-token'; import { ApiUser, - IApiRequest, - IAuthRequest, + type IApiRequest, + type IAuthRequest, permissions, } from '../server-impl'; import { DEFAULT_ENV } from '../util'; diff --git a/src/lib/middleware/oss-authentication.test.ts b/src/lib/middleware/oss-authentication.test.ts index 62b73c5d97a..199c316528c 100644 --- a/src/lib/middleware/oss-authentication.test.ts +++ b/src/lib/middleware/oss-authentication.test.ts @@ -7,8 +7,8 @@ import ossAuth from './oss-authentication'; import getApp from '../app'; import User from '../types/user'; import sessionDb from './session-db'; -import { Knex } from 'knex'; -import { LogProvider } from '../logger'; +import type { Knex } from 'knex'; +import type { LogProvider } from '../logger'; const getLogger = (() => ({ debug() {} })) as unknown as LogProvider; diff --git a/src/lib/middleware/oss-authentication.ts b/src/lib/middleware/oss-authentication.ts index ab7e074e136..eeb56fb0624 100644 --- a/src/lib/middleware/oss-authentication.ts +++ b/src/lib/middleware/oss-authentication.ts @@ -1,6 +1,6 @@ -import { Application } from 'express'; +import type { Application } from 'express'; import authorizationMiddleware from './authorization-middleware'; -import { LogProvider } from '../logger'; +import type { LogProvider } from '../logger'; function ossAuthHook( app: Application, diff --git a/src/lib/middleware/pat-middleware.test.ts b/src/lib/middleware/pat-middleware.test.ts index d6167f7a554..1488a1cb072 100644 --- a/src/lib/middleware/pat-middleware.test.ts +++ b/src/lib/middleware/pat-middleware.test.ts @@ -2,7 +2,7 @@ import getLogger from '../../test/fixtures/no-logger'; import patMiddleware from './pat-middleware'; import User from '../types/user'; import NotFoundError from '../error/notfound-error'; -import { AccountService } from '../services/account-service'; +import type { AccountService } from '../services/account-service'; let config: any; diff --git a/src/lib/middleware/pat-middleware.ts b/src/lib/middleware/pat-middleware.ts index 519daae9c42..f5c631e352b 100644 --- a/src/lib/middleware/pat-middleware.ts +++ b/src/lib/middleware/pat-middleware.ts @@ -1,7 +1,7 @@ -import { IUnleashConfig } from '../types'; -import { IAuthRequest } from '../routes/unleash-types'; +import type { IUnleashConfig } from '../types'; +import type { IAuthRequest } from '../routes/unleash-types'; import NotFoundError from '../error/notfound-error'; -import { AccountService } from '../services/account-service'; +import type { AccountService } from '../services/account-service'; const patMiddleware = ( { getLogger }: Pick, diff --git a/src/lib/middleware/rbac-middleware.test.ts b/src/lib/middleware/rbac-middleware.test.ts index 0e9b84572d7..ebbe56b9949 100644 --- a/src/lib/middleware/rbac-middleware.test.ts +++ b/src/lib/middleware/rbac-middleware.test.ts @@ -1,13 +1,13 @@ import rbacMiddleware from './rbac-middleware'; import User from '../types/user'; import * as perms from '../types/permissions'; -import { IUnleashConfig } from '../types/option'; +import type { IUnleashConfig } from '../types/option'; import { createTestConfig } from '../../test/config/test-config'; import ApiUser from '../types/api-user'; -import { IFeatureToggleStore } from '../features/feature-toggle/types/feature-toggle-store-type'; +import type { IFeatureToggleStore } from '../features/feature-toggle/types/feature-toggle-store-type'; import FakeFeatureToggleStore from '../features/feature-toggle/fakes/fake-feature-toggle-store'; import { ApiTokenType } from '../types/models/api-token'; -import { ISegmentStore, SYSTEM_USER_ID } from '../types'; +import { type ISegmentStore, SYSTEM_USER_ID } from '../types'; import FakeSegmentStore from '../../test/fixtures/fake-segment-store'; let config: IUnleashConfig; diff --git a/src/lib/middleware/rbac-middleware.ts b/src/lib/middleware/rbac-middleware.ts index d59c2cc274f..f9fbb4c600f 100644 --- a/src/lib/middleware/rbac-middleware.ts +++ b/src/lib/middleware/rbac-middleware.ts @@ -5,10 +5,10 @@ import { UPDATE_FEATURE, UPDATE_PROJECT_SEGMENT, } from '../types/permissions'; -import { IUnleashConfig } from '../types/option'; -import { IUnleashStores } from '../types/stores'; -import User from '../types/user'; -import { Request } from 'express'; +import type { IUnleashConfig } from '../types/option'; +import type { IUnleashStores } from '../types/stores'; +import type User from '../types/user'; +import type { Request } from 'express'; import { extractUserId } from '../util'; interface PermissionChecker { diff --git a/src/lib/middleware/request-logger.ts b/src/lib/middleware/request-logger.ts index 00ca7e089dd..2ba1c222b2c 100644 --- a/src/lib/middleware/request-logger.ts +++ b/src/lib/middleware/request-logger.ts @@ -1,6 +1,6 @@ import url from 'url'; -import { RequestHandler } from 'express'; -import { IUnleashConfig } from '../types/option'; +import type { RequestHandler } from 'express'; +import type { IUnleashConfig } from '../types/option'; const requestLogger: (config: IUnleashConfig) => RequestHandler = (config) => { const logger = config.getLogger('HTTP'); diff --git a/src/lib/middleware/response-time-metrics.ts b/src/lib/middleware/response-time-metrics.ts index 357d74a3627..87792c1b291 100644 --- a/src/lib/middleware/response-time-metrics.ts +++ b/src/lib/middleware/response-time-metrics.ts @@ -1,9 +1,9 @@ import * as responseTime from 'response-time'; -import EventEmitter from 'events'; +import type EventEmitter from 'events'; import { REQUEST_TIME } from '../metric-events'; -import { IFlagResolver } from '../types/experimental'; -import { InstanceStatsService } from '../services'; -import { RequestHandler } from 'express'; +import type { IFlagResolver } from '../types/experimental'; +import type { InstanceStatsService } from '../services'; +import type { RequestHandler } from 'express'; const _responseTime = responseTime.default; const appNameReportingThreshold = 1000; diff --git a/src/lib/middleware/secure-headers.ts b/src/lib/middleware/secure-headers.ts index c9bbfebfdb4..2cbe8be202a 100644 --- a/src/lib/middleware/secure-headers.ts +++ b/src/lib/middleware/secure-headers.ts @@ -1,6 +1,6 @@ import helmet from 'helmet'; -import { RequestHandler } from 'express'; -import { IUnleashConfig } from '../types'; +import type { RequestHandler } from 'express'; +import type { IUnleashConfig } from '../types'; import { hoursToSeconds } from 'date-fns'; const secureHeaders: (config: IUnleashConfig) => RequestHandler = (config) => { diff --git a/src/lib/middleware/session-db.ts b/src/lib/middleware/session-db.ts index dc4fc93dfbb..bac42e054b1 100644 --- a/src/lib/middleware/session-db.ts +++ b/src/lib/middleware/session-db.ts @@ -1,8 +1,8 @@ -import { Knex } from 'knex'; +import type { Knex } from 'knex'; import session from 'express-session'; import knexSessionStore from 'connect-session-knex'; -import { RequestHandler } from 'express'; -import { IUnleashConfig } from '../types/option'; +import type { RequestHandler } from 'express'; +import type { IUnleashConfig } from '../types/option'; import { hoursToMilliseconds } from 'date-fns'; function sessionDb( diff --git a/src/lib/middleware/unless-middleware.ts b/src/lib/middleware/unless-middleware.ts index 709e0f7a001..e0b5edb99ad 100644 --- a/src/lib/middleware/unless-middleware.ts +++ b/src/lib/middleware/unless-middleware.ts @@ -1,4 +1,4 @@ -import { RequestHandler } from 'express'; +import type { RequestHandler } from 'express'; export const unless = (path: string, middleware: RequestHandler): RequestHandler => diff --git a/src/lib/openapi/index.ts b/src/lib/openapi/index.ts index 4cecb1bbcaa..154de4f64f9 100644 --- a/src/lib/openapi/index.ts +++ b/src/lib/openapi/index.ts @@ -1,6 +1,6 @@ -import { OpenAPIV3 } from 'openapi-types'; +import type { OpenAPIV3 } from 'openapi-types'; -import { IServerOption } from '../types'; +import type { IServerOption } from '../types'; import { mapValues, omitKeys } from '../util'; import { openApiTags } from './util'; import { URL } from 'url'; diff --git a/src/lib/openapi/meta-schema-rules.test.ts b/src/lib/openapi/meta-schema-rules.test.ts index 26495144235..fb09a1ec7df 100644 --- a/src/lib/openapi/meta-schema-rules.test.ts +++ b/src/lib/openapi/meta-schema-rules.test.ts @@ -1,4 +1,4 @@ -import Ajv, { Schema } from 'ajv'; +import Ajv, { type Schema } from 'ajv'; import { schemas } from '.'; const ajv = new Ajv(); diff --git a/src/lib/openapi/spec/addon-create-update-schema.ts b/src/lib/openapi/spec/addon-create-update-schema.ts index fb6399e0b67..72478fab88f 100644 --- a/src/lib/openapi/spec/addon-create-update-schema.ts +++ b/src/lib/openapi/spec/addon-create-update-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const addonCreateUpdateSchema = { $id: '#/components/schemas/addonCreateUpdateSchema', diff --git a/src/lib/openapi/spec/addon-parameter-schema.ts b/src/lib/openapi/spec/addon-parameter-schema.ts index ca3efdffb48..0a265254ec3 100644 --- a/src/lib/openapi/spec/addon-parameter-schema.ts +++ b/src/lib/openapi/spec/addon-parameter-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const addonParameterSchema = { $id: '#/components/schemas/addonParameterSchema', diff --git a/src/lib/openapi/spec/addon-schema.test.ts b/src/lib/openapi/spec/addon-schema.test.ts index 772d76c0270..5757d3fa295 100644 --- a/src/lib/openapi/spec/addon-schema.test.ts +++ b/src/lib/openapi/spec/addon-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { AddonSchema } from './addon-schema'; +import type { AddonSchema } from './addon-schema'; test('addonSchema', () => { const data: AddonSchema = { diff --git a/src/lib/openapi/spec/addon-schema.ts b/src/lib/openapi/spec/addon-schema.ts index a7f585e59d2..229a619d797 100644 --- a/src/lib/openapi/spec/addon-schema.ts +++ b/src/lib/openapi/spec/addon-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const addonSchema = { $id: '#/components/schemas/addonSchema', diff --git a/src/lib/openapi/spec/addon-type-schema.ts b/src/lib/openapi/spec/addon-type-schema.ts index 0dba4fd4124..96cf17e3be7 100644 --- a/src/lib/openapi/spec/addon-type-schema.ts +++ b/src/lib/openapi/spec/addon-type-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { addonParameterSchema } from './addon-parameter-schema'; import { tagTypeSchema } from './tag-type-schema'; diff --git a/src/lib/openapi/spec/addons-schema.test.ts b/src/lib/openapi/spec/addons-schema.test.ts index e763c449824..10a52b7e9a7 100644 --- a/src/lib/openapi/spec/addons-schema.test.ts +++ b/src/lib/openapi/spec/addons-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { AddonsSchema } from './addons-schema'; +import type { AddonsSchema } from './addons-schema'; test('addonsSchema', () => { const data: AddonsSchema = { diff --git a/src/lib/openapi/spec/addons-schema.ts b/src/lib/openapi/spec/addons-schema.ts index d76e9f4a8ed..572d91f808f 100644 --- a/src/lib/openapi/spec/addons-schema.ts +++ b/src/lib/openapi/spec/addons-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { addonSchema } from './addon-schema'; import { addonTypeSchema } from './addon-type-schema'; import { addonParameterSchema } from './addon-parameter-schema'; diff --git a/src/lib/openapi/spec/admin-count-schema.ts b/src/lib/openapi/spec/admin-count-schema.ts index 7861f372819..591c00cd703 100644 --- a/src/lib/openapi/spec/admin-count-schema.ts +++ b/src/lib/openapi/spec/admin-count-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const adminCountSchema = { $id: '#/components/schemas/adminCountSchema', diff --git a/src/lib/openapi/spec/admin-features-query-schema.test.ts b/src/lib/openapi/spec/admin-features-query-schema.test.ts index c02736cffbd..2b0c5d02a53 100644 --- a/src/lib/openapi/spec/admin-features-query-schema.test.ts +++ b/src/lib/openapi/spec/admin-features-query-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { AdminFeaturesQuerySchema } from './admin-features-query-schema'; +import type { AdminFeaturesQuerySchema } from './admin-features-query-schema'; test('adminFeaturesQuerySchema empty', () => { const data: AdminFeaturesQuerySchema = {}; diff --git a/src/lib/openapi/spec/admin-features-query-schema.ts b/src/lib/openapi/spec/admin-features-query-schema.ts index 954cd3d13c1..2e796ee63c9 100644 --- a/src/lib/openapi/spec/admin-features-query-schema.ts +++ b/src/lib/openapi/spec/admin-features-query-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const adminFeaturesQuerySchema = { $id: '#/components/schemas/adminFeaturesQuerySchema', diff --git a/src/lib/openapi/spec/admin-segment-schema.test.ts b/src/lib/openapi/spec/admin-segment-schema.test.ts index 89363b1f78d..b75b719f64d 100644 --- a/src/lib/openapi/spec/admin-segment-schema.test.ts +++ b/src/lib/openapi/spec/admin-segment-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { AdminSegmentSchema } from './admin-segment-schema'; +import type { AdminSegmentSchema } from './admin-segment-schema'; test('updateEnvironmentSchema', () => { const data: AdminSegmentSchema = { diff --git a/src/lib/openapi/spec/admin-segment-schema.ts b/src/lib/openapi/spec/admin-segment-schema.ts index b281015dd87..f266d21fece 100644 --- a/src/lib/openapi/spec/admin-segment-schema.ts +++ b/src/lib/openapi/spec/admin-segment-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { constraintSchema } from './constraint-schema'; export const adminSegmentSchema = { diff --git a/src/lib/openapi/spec/advanced-playground-environment-feature-schema.ts b/src/lib/openapi/spec/advanced-playground-environment-feature-schema.ts index 011e74660d0..04c2aeadb8f 100644 --- a/src/lib/openapi/spec/advanced-playground-environment-feature-schema.ts +++ b/src/lib/openapi/spec/advanced-playground-environment-feature-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { parametersSchema } from './parameters-schema'; import { variantSchema } from './variant-schema'; import { overrideSchema } from './override-schema'; diff --git a/src/lib/openapi/spec/advanced-playground-feature-schema.ts b/src/lib/openapi/spec/advanced-playground-feature-schema.ts index e65b04b4d77..f907470df98 100644 --- a/src/lib/openapi/spec/advanced-playground-feature-schema.ts +++ b/src/lib/openapi/spec/advanced-playground-feature-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { parametersSchema } from './parameters-schema'; import { variantSchema } from './variant-schema'; import { overrideSchema } from './override-schema'; diff --git a/src/lib/openapi/spec/advanced-playground-request-schema.ts b/src/lib/openapi/spec/advanced-playground-request-schema.ts index 47b68d533ec..ed0b4055ea5 100644 --- a/src/lib/openapi/spec/advanced-playground-request-schema.ts +++ b/src/lib/openapi/spec/advanced-playground-request-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { ALL } from '../../types/models/api-token'; import { sdkContextSchema } from './sdk-context-schema'; diff --git a/src/lib/openapi/spec/advanced-playground-response-schema.ts b/src/lib/openapi/spec/advanced-playground-response-schema.ts index abd8533fdac..9854a4c6afa 100644 --- a/src/lib/openapi/spec/advanced-playground-response-schema.ts +++ b/src/lib/openapi/spec/advanced-playground-response-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { sdkContextSchema } from './sdk-context-schema'; import { constraintSchema } from './constraint-schema'; import { parametersSchema } from './parameters-schema'; diff --git a/src/lib/openapi/spec/api-token-schema.test.ts b/src/lib/openapi/spec/api-token-schema.test.ts index 10c111e79a4..c0ae240a0b4 100644 --- a/src/lib/openapi/spec/api-token-schema.test.ts +++ b/src/lib/openapi/spec/api-token-schema.test.ts @@ -1,6 +1,6 @@ import { ApiTokenType } from '../../types/models/api-token'; import { validateSchema } from '../validate'; -import { ApiTokenSchema } from './api-token-schema'; +import type { ApiTokenSchema } from './api-token-schema'; const defaultData: ApiTokenSchema = { secret: '', diff --git a/src/lib/openapi/spec/api-token-schema.ts b/src/lib/openapi/spec/api-token-schema.ts index 162d2cd4246..92632f9db44 100644 --- a/src/lib/openapi/spec/api-token-schema.ts +++ b/src/lib/openapi/spec/api-token-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { ApiTokenType } from '../../types/models/api-token'; export const apiTokenSchema = { diff --git a/src/lib/openapi/spec/api-tokens-schema.ts b/src/lib/openapi/spec/api-tokens-schema.ts index 843688395fd..c607f28a6a8 100644 --- a/src/lib/openapi/spec/api-tokens-schema.ts +++ b/src/lib/openapi/spec/api-tokens-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { apiTokenSchema } from './api-token-schema'; export const apiTokensSchema = { diff --git a/src/lib/openapi/spec/application-environment-instances-schema.ts b/src/lib/openapi/spec/application-environment-instances-schema.ts index 9a8dcf7b72b..fbac9b89b79 100644 --- a/src/lib/openapi/spec/application-environment-instances-schema.ts +++ b/src/lib/openapi/spec/application-environment-instances-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const applicationEnvironmentInstancesSchema = { $id: '#/components/schemas/applicationEnvironmentInstanceSchema', diff --git a/src/lib/openapi/spec/application-environment-issues-schema.ts b/src/lib/openapi/spec/application-environment-issues-schema.ts index d906d2a454d..198ae982ba5 100644 --- a/src/lib/openapi/spec/application-environment-issues-schema.ts +++ b/src/lib/openapi/spec/application-environment-issues-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const applicationEnvironmentIssuesSchema = { $id: '#/components/schemas/applicationEnvironmentIssuesSchema', diff --git a/src/lib/openapi/spec/application-overview-environment-schema.ts b/src/lib/openapi/spec/application-overview-environment-schema.ts index af7cfa1aaa2..66fbd263488 100644 --- a/src/lib/openapi/spec/application-overview-environment-schema.ts +++ b/src/lib/openapi/spec/application-overview-environment-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { applicationEnvironmentIssuesSchema } from './application-environment-issues-schema'; export const applicationOverviewEnvironmentSchema = { diff --git a/src/lib/openapi/spec/application-overview-issues-schema.ts b/src/lib/openapi/spec/application-overview-issues-schema.ts index a6e26a99d23..64ce4b735e6 100644 --- a/src/lib/openapi/spec/application-overview-issues-schema.ts +++ b/src/lib/openapi/spec/application-overview-issues-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const applicationOverviewIssuesSchema = { $id: '#/components/schemas/applicationOverviewIssuesSchema', diff --git a/src/lib/openapi/spec/application-overview-schema.ts b/src/lib/openapi/spec/application-overview-schema.ts index f62231d73ea..580fd2f6660 100644 --- a/src/lib/openapi/spec/application-overview-schema.ts +++ b/src/lib/openapi/spec/application-overview-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { applicationOverviewEnvironmentSchema } from './application-overview-environment-schema'; import { applicationOverviewIssuesSchema } from './application-overview-issues-schema'; import { applicationEnvironmentIssuesSchema } from './application-environment-issues-schema'; diff --git a/src/lib/openapi/spec/application-schema.ts b/src/lib/openapi/spec/application-schema.ts index 0874e13d89b..82fae83ce1b 100644 --- a/src/lib/openapi/spec/application-schema.ts +++ b/src/lib/openapi/spec/application-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { applicationUsageSchema } from './application-usage-schema'; export const applicationSchema = { diff --git a/src/lib/openapi/spec/application-usage-schema.ts b/src/lib/openapi/spec/application-usage-schema.ts index 0340ff9d3dd..a2f0cd77ff6 100644 --- a/src/lib/openapi/spec/application-usage-schema.ts +++ b/src/lib/openapi/spec/application-usage-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const applicationUsageSchema = { $id: '#/components/schemas/applicationUsageSchema', diff --git a/src/lib/openapi/spec/applications-query-parameters.ts b/src/lib/openapi/spec/applications-query-parameters.ts index e8e08e50395..eefe30b417e 100644 --- a/src/lib/openapi/spec/applications-query-parameters.ts +++ b/src/lib/openapi/spec/applications-query-parameters.ts @@ -1,4 +1,4 @@ -import { FromQueryParams } from '../util/from-query-params'; +import type { FromQueryParams } from '../util/from-query-params'; export const applicationsQueryParameters = [ { diff --git a/src/lib/openapi/spec/applications-schema.ts b/src/lib/openapi/spec/applications-schema.ts index 84434e74b72..9d05bc09658 100644 --- a/src/lib/openapi/spec/applications-schema.ts +++ b/src/lib/openapi/spec/applications-schema.ts @@ -1,5 +1,5 @@ import { applicationSchema } from './application-schema'; -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { applicationUsageSchema } from './application-usage-schema'; export const applicationsSchema = { diff --git a/src/lib/openapi/spec/batch-features-schema.ts b/src/lib/openapi/spec/batch-features-schema.ts index c2e378bdbfa..55d9cef17a4 100644 --- a/src/lib/openapi/spec/batch-features-schema.ts +++ b/src/lib/openapi/spec/batch-features-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const batchFeaturesSchema = { $id: '#/components/schemas/batchFeaturesSchema', diff --git a/src/lib/openapi/spec/batch-stale-schema.ts b/src/lib/openapi/spec/batch-stale-schema.ts index dc80f62fdba..915511ab770 100644 --- a/src/lib/openapi/spec/batch-stale-schema.ts +++ b/src/lib/openapi/spec/batch-stale-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const batchStaleSchema = { $id: '#/components/schemas/batchStaleSchema', diff --git a/src/lib/openapi/spec/bulk-metrics-schema.ts b/src/lib/openapi/spec/bulk-metrics-schema.ts index 7fc49fe5bdc..c50d44e7e6c 100644 --- a/src/lib/openapi/spec/bulk-metrics-schema.ts +++ b/src/lib/openapi/spec/bulk-metrics-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { bulkRegistrationSchema } from './bulk-registration-schema'; import { dateSchema } from './date-schema'; import { clientMetricsEnvSchema } from './client-metrics-env-schema'; diff --git a/src/lib/openapi/spec/bulk-registration-schema.ts b/src/lib/openapi/spec/bulk-registration-schema.ts index 728194fc17f..97e04a6fef5 100644 --- a/src/lib/openapi/spec/bulk-registration-schema.ts +++ b/src/lib/openapi/spec/bulk-registration-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { dateSchema } from './date-schema'; export const bulkRegistrationSchema = { diff --git a/src/lib/openapi/spec/bulk-toggle-features-schema.ts b/src/lib/openapi/spec/bulk-toggle-features-schema.ts index 8697b45596e..88ba9189330 100644 --- a/src/lib/openapi/spec/bulk-toggle-features-schema.ts +++ b/src/lib/openapi/spec/bulk-toggle-features-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const bulkToggleFeaturesSchema = { $id: '#/components/schemas/bulkToggleFeaturesSchema', diff --git a/src/lib/openapi/spec/change-password-schema.test.ts b/src/lib/openapi/spec/change-password-schema.test.ts index d96ad159375..17bf0c56ef0 100644 --- a/src/lib/openapi/spec/change-password-schema.test.ts +++ b/src/lib/openapi/spec/change-password-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { ChangePasswordSchema } from './change-password-schema'; +import type { ChangePasswordSchema } from './change-password-schema'; test('changePasswordSchema', () => { const data: ChangePasswordSchema = { diff --git a/src/lib/openapi/spec/change-password-schema.ts b/src/lib/openapi/spec/change-password-schema.ts index f6e88899d83..885fb8e5125 100644 --- a/src/lib/openapi/spec/change-password-schema.ts +++ b/src/lib/openapi/spec/change-password-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const changePasswordSchema = { $id: '#/components/schemas/changePasswordSchema', diff --git a/src/lib/openapi/spec/client-application-schema.test.ts b/src/lib/openapi/spec/client-application-schema.test.ts index ca55ed3411a..355279713aa 100644 --- a/src/lib/openapi/spec/client-application-schema.test.ts +++ b/src/lib/openapi/spec/client-application-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { ClientApplicationSchema } from './client-application-schema'; +import type { ClientApplicationSchema } from './client-application-schema'; test('clientApplicationSchema no fields', () => { expect( diff --git a/src/lib/openapi/spec/client-application-schema.ts b/src/lib/openapi/spec/client-application-schema.ts index c3e36415066..2b39c9ffb0e 100644 --- a/src/lib/openapi/spec/client-application-schema.ts +++ b/src/lib/openapi/spec/client-application-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const clientApplicationSchema = { $id: '#/components/schemas/clientApplicationSchema', diff --git a/src/lib/openapi/spec/client-feature-schema.ts b/src/lib/openapi/spec/client-feature-schema.ts index de370adda32..c294d59b449 100644 --- a/src/lib/openapi/spec/client-feature-schema.ts +++ b/src/lib/openapi/spec/client-feature-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { constraintSchema } from './constraint-schema'; import { parametersSchema } from './parameters-schema'; import { featureStrategySchema } from './feature-strategy-schema'; diff --git a/src/lib/openapi/spec/client-features-query-schema.test.ts b/src/lib/openapi/spec/client-features-query-schema.test.ts index 173555db5f1..19508656be9 100644 --- a/src/lib/openapi/spec/client-features-query-schema.test.ts +++ b/src/lib/openapi/spec/client-features-query-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { ClientFeaturesQuerySchema } from './client-features-query-schema'; +import type { ClientFeaturesQuerySchema } from './client-features-query-schema'; test('clientFeatureQuerySchema empty', () => { const data: ClientFeaturesQuerySchema = {}; diff --git a/src/lib/openapi/spec/client-features-query-schema.ts b/src/lib/openapi/spec/client-features-query-schema.ts index 68b72425c2f..9773673a095 100644 --- a/src/lib/openapi/spec/client-features-query-schema.ts +++ b/src/lib/openapi/spec/client-features-query-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const clientFeaturesQuerySchema = { $id: '#/components/schemas/clientFeaturesQuerySchema', diff --git a/src/lib/openapi/spec/client-features-schema.test.ts b/src/lib/openapi/spec/client-features-schema.test.ts index 9bf290845ef..8a8a804b286 100644 --- a/src/lib/openapi/spec/client-features-schema.test.ts +++ b/src/lib/openapi/spec/client-features-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { ClientFeaturesSchema } from './client-features-schema'; +import type { ClientFeaturesSchema } from './client-features-schema'; test('clientFeaturesSchema no fields', () => { expect( diff --git a/src/lib/openapi/spec/client-features-schema.ts b/src/lib/openapi/spec/client-features-schema.ts index 5e1aa924b27..767788198c8 100644 --- a/src/lib/openapi/spec/client-features-schema.ts +++ b/src/lib/openapi/spec/client-features-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { clientFeaturesQuerySchema } from './client-features-query-schema'; import { clientSegmentSchema } from './client-segment-schema'; import { constraintSchema } from './constraint-schema'; diff --git a/src/lib/openapi/spec/client-metrics-env-schema.ts b/src/lib/openapi/spec/client-metrics-env-schema.ts index a32cca402d7..f0023399e4a 100644 --- a/src/lib/openapi/spec/client-metrics-env-schema.ts +++ b/src/lib/openapi/spec/client-metrics-env-schema.ts @@ -1,5 +1,5 @@ import { dateSchema } from './date-schema'; -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const clientMetricsEnvSchema = { $id: '#/components/schemas/clientMetricsEnvSchema', diff --git a/src/lib/openapi/spec/client-metrics-schema.test.ts b/src/lib/openapi/spec/client-metrics-schema.test.ts index b7361cb6e06..fa034421281 100644 --- a/src/lib/openapi/spec/client-metrics-schema.test.ts +++ b/src/lib/openapi/spec/client-metrics-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { ClientMetricsSchema } from './client-metrics-schema'; +import type { ClientMetricsSchema } from './client-metrics-schema'; test('clientMetricsSchema full', () => { const data: ClientMetricsSchema = { diff --git a/src/lib/openapi/spec/client-metrics-schema.ts b/src/lib/openapi/spec/client-metrics-schema.ts index b8ab297bd6f..c41f0732841 100644 --- a/src/lib/openapi/spec/client-metrics-schema.ts +++ b/src/lib/openapi/spec/client-metrics-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { dateSchema } from './date-schema'; export const clientMetricsSchema = { diff --git a/src/lib/openapi/spec/client-segment-schema.ts b/src/lib/openapi/spec/client-segment-schema.ts index 904065f92b0..506cdeacfa4 100644 --- a/src/lib/openapi/spec/client-segment-schema.ts +++ b/src/lib/openapi/spec/client-segment-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { constraintSchema } from './constraint-schema'; export const clientSegmentSchema = { diff --git a/src/lib/openapi/spec/clone-feature-schema.ts b/src/lib/openapi/spec/clone-feature-schema.ts index f555d41f9e9..4c215f3fe17 100644 --- a/src/lib/openapi/spec/clone-feature-schema.ts +++ b/src/lib/openapi/spec/clone-feature-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const cloneFeatureSchema = { $id: '#/components/schemas/cloneFeatureSchema', diff --git a/src/lib/openapi/spec/constraint-schema.test.ts b/src/lib/openapi/spec/constraint-schema.test.ts index f38ad099c65..9c3387a061f 100644 --- a/src/lib/openapi/spec/constraint-schema.test.ts +++ b/src/lib/openapi/spec/constraint-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { ConstraintSchema } from './constraint-schema'; +import type { ConstraintSchema } from './constraint-schema'; test('constraintSchema', () => { const data: ConstraintSchema = { diff --git a/src/lib/openapi/spec/constraint-schema.ts b/src/lib/openapi/spec/constraint-schema.ts index 58af9c407d2..07b2740f2cc 100644 --- a/src/lib/openapi/spec/constraint-schema.ts +++ b/src/lib/openapi/spec/constraint-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { ALL_OPERATORS } from '../../util/constants'; export const constraintSchemaBase = { diff --git a/src/lib/openapi/spec/context-field-schema.test.ts b/src/lib/openapi/spec/context-field-schema.test.ts index 7e1b8788dc1..2ba0513973d 100644 --- a/src/lib/openapi/spec/context-field-schema.test.ts +++ b/src/lib/openapi/spec/context-field-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { ContextFieldSchema } from './context-field-schema'; +import type { ContextFieldSchema } from './context-field-schema'; test('contextFieldSchema', () => { const data: ContextFieldSchema = { diff --git a/src/lib/openapi/spec/context-field-schema.ts b/src/lib/openapi/spec/context-field-schema.ts index 4b04da8ba73..883acdca0be 100644 --- a/src/lib/openapi/spec/context-field-schema.ts +++ b/src/lib/openapi/spec/context-field-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { legalValueSchema } from './legal-value-schema'; export const contextFieldSchema = { diff --git a/src/lib/openapi/spec/context-field-strategies-schema.ts b/src/lib/openapi/spec/context-field-strategies-schema.ts index 4703a2bcb53..f9e78ef4228 100644 --- a/src/lib/openapi/spec/context-field-strategies-schema.ts +++ b/src/lib/openapi/spec/context-field-strategies-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const contextFieldStrategiesSchema = { $id: '#/components/schemas/contextFieldStrategiesSchema', diff --git a/src/lib/openapi/spec/context-fields-schema.ts b/src/lib/openapi/spec/context-fields-schema.ts index 64509afe94a..f56f28ae800 100644 --- a/src/lib/openapi/spec/context-fields-schema.ts +++ b/src/lib/openapi/spec/context-fields-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { contextFieldSchema } from './context-field-schema'; import { legalValueSchema } from './legal-value-schema'; diff --git a/src/lib/openapi/spec/create-api-token-schema.ts b/src/lib/openapi/spec/create-api-token-schema.ts index 8a69e04aa95..3c78f2abb99 100644 --- a/src/lib/openapi/spec/create-api-token-schema.ts +++ b/src/lib/openapi/spec/create-api-token-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { mergeAllOfs } from '../util/all-of'; const adminSchema = { required: ['type'], diff --git a/src/lib/openapi/spec/create-application-schema.ts b/src/lib/openapi/spec/create-application-schema.ts index 8a849824c8b..3b93daa528a 100644 --- a/src/lib/openapi/spec/create-application-schema.ts +++ b/src/lib/openapi/spec/create-application-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const createApplicationSchema = { $id: '#/components/schemas/createApplicationSchema', diff --git a/src/lib/openapi/spec/create-context-field-schema.ts b/src/lib/openapi/spec/create-context-field-schema.ts index 044bdc508c0..bafde988e68 100644 --- a/src/lib/openapi/spec/create-context-field-schema.ts +++ b/src/lib/openapi/spec/create-context-field-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { updateContextFieldSchema } from './update-context-field-schema'; export const createContextFieldSchema = { diff --git a/src/lib/openapi/spec/create-dependent-feature-schema.ts b/src/lib/openapi/spec/create-dependent-feature-schema.ts index a6e8c72b695..940133668d9 100644 --- a/src/lib/openapi/spec/create-dependent-feature-schema.ts +++ b/src/lib/openapi/spec/create-dependent-feature-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const createDependentFeatureSchema = { $id: '#/components/schemas/createDependentFeatureSchema', diff --git a/src/lib/openapi/spec/create-feature-naming-pattern-schema.ts b/src/lib/openapi/spec/create-feature-naming-pattern-schema.ts index bbebba641cd..ee75d24cae6 100644 --- a/src/lib/openapi/spec/create-feature-naming-pattern-schema.ts +++ b/src/lib/openapi/spec/create-feature-naming-pattern-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const createFeatureNamingPatternSchema = { $id: '#/components/schemas/createFeatureNamingPatternSchema', diff --git a/src/lib/openapi/spec/create-feature-schema.ts b/src/lib/openapi/spec/create-feature-schema.ts index 73dc3f7f0f7..a342a313703 100644 --- a/src/lib/openapi/spec/create-feature-schema.ts +++ b/src/lib/openapi/spec/create-feature-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const createFeatureSchema = { $id: '#/components/schemas/createFeatureSchema', diff --git a/src/lib/openapi/spec/create-feature-strategy-schema.ts b/src/lib/openapi/spec/create-feature-strategy-schema.ts index 04b250bfd0e..d3ad89c6c06 100644 --- a/src/lib/openapi/spec/create-feature-strategy-schema.ts +++ b/src/lib/openapi/spec/create-feature-strategy-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { parametersSchema } from './parameters-schema'; import { constraintSchema } from './constraint-schema'; import { createStrategyVariantSchema } from './create-strategy-variant-schema'; diff --git a/src/lib/openapi/spec/create-group-schema.ts b/src/lib/openapi/spec/create-group-schema.ts index 113314c8d8c..c11ee5a8b9e 100644 --- a/src/lib/openapi/spec/create-group-schema.ts +++ b/src/lib/openapi/spec/create-group-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { groupSchema } from './group-schema'; export const createGroupSchema = { diff --git a/src/lib/openapi/spec/create-invited-user-schema.ts b/src/lib/openapi/spec/create-invited-user-schema.ts index 33291dfb5f4..69e4178fa46 100644 --- a/src/lib/openapi/spec/create-invited-user-schema.ts +++ b/src/lib/openapi/spec/create-invited-user-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const createInvitedUserSchema = { $id: '#/components/schemas/createInvitedUserSchema', diff --git a/src/lib/openapi/spec/create-pat-schema.ts b/src/lib/openapi/spec/create-pat-schema.ts index a2c4cac8fe7..b99075acc7b 100644 --- a/src/lib/openapi/spec/create-pat-schema.ts +++ b/src/lib/openapi/spec/create-pat-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const createPatSchema = { $id: '#/components/schemas/createPatSchema', diff --git a/src/lib/openapi/spec/create-strategy-schema.ts b/src/lib/openapi/spec/create-strategy-schema.ts index e5991d13611..db1d38596a0 100644 --- a/src/lib/openapi/spec/create-strategy-schema.ts +++ b/src/lib/openapi/spec/create-strategy-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const createStrategySchema = { $id: '#/components/schemas/createStrategySchema', diff --git a/src/lib/openapi/spec/create-strategy-variant-schema.ts b/src/lib/openapi/spec/create-strategy-variant-schema.ts index 0520cb8dfe1..49e786e8a1a 100644 --- a/src/lib/openapi/spec/create-strategy-variant-schema.ts +++ b/src/lib/openapi/spec/create-strategy-variant-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const createStrategyVariantSchema = { $id: '#/components/schemas/createStrategyVariantSchema', diff --git a/src/lib/openapi/spec/create-user-response-schema.ts b/src/lib/openapi/spec/create-user-response-schema.ts index 86db9f96dc6..1970bf630b3 100644 --- a/src/lib/openapi/spec/create-user-response-schema.ts +++ b/src/lib/openapi/spec/create-user-response-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { userSchema } from './user-schema'; export const createUserResponseSchema = { diff --git a/src/lib/openapi/spec/create-user-schema.ts b/src/lib/openapi/spec/create-user-schema.ts index 90f03975609..8956c066867 100644 --- a/src/lib/openapi/spec/create-user-schema.ts +++ b/src/lib/openapi/spec/create-user-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const createUserSchema = { $id: '#/components/schemas/createUserSchema', diff --git a/src/lib/openapi/spec/date-schema.ts b/src/lib/openapi/spec/date-schema.ts index 10c6dd62a07..a74e3135628 100644 --- a/src/lib/openapi/spec/date-schema.ts +++ b/src/lib/openapi/spec/date-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const dateSchema = { $id: '#/components/schemas/dateSchema', diff --git a/src/lib/openapi/spec/dependencies-exist-schema.ts b/src/lib/openapi/spec/dependencies-exist-schema.ts index 220836e7e08..db8c4adddb1 100644 --- a/src/lib/openapi/spec/dependencies-exist-schema.ts +++ b/src/lib/openapi/spec/dependencies-exist-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const dependenciesExistSchema = { $id: '#/components/schemas/dependenciesExistSchema', diff --git a/src/lib/openapi/spec/dependent-feature-schema.ts b/src/lib/openapi/spec/dependent-feature-schema.ts index d32b5cc0495..092b317473f 100644 --- a/src/lib/openapi/spec/dependent-feature-schema.ts +++ b/src/lib/openapi/spec/dependent-feature-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { createDependentFeatureSchema } from './create-dependent-feature-schema'; export const dependentFeatureSchema = { diff --git a/src/lib/openapi/spec/deprecated-project-overview-schema.test.ts b/src/lib/openapi/spec/deprecated-project-overview-schema.test.ts index 98c798b397d..ce7d60c2d2c 100644 --- a/src/lib/openapi/spec/deprecated-project-overview-schema.test.ts +++ b/src/lib/openapi/spec/deprecated-project-overview-schema.test.ts @@ -1,4 +1,4 @@ -import { DeprecatedProjectOverviewSchema } from './deprecated-project-overview-schema'; +import type { DeprecatedProjectOverviewSchema } from './deprecated-project-overview-schema'; import { validateSchema } from '../validate'; test('deprecatedProjectOverviewSchema', () => { diff --git a/src/lib/openapi/spec/deprecated-project-overview-schema.ts b/src/lib/openapi/spec/deprecated-project-overview-schema.ts index c46e35108f0..61c78427526 100644 --- a/src/lib/openapi/spec/deprecated-project-overview-schema.ts +++ b/src/lib/openapi/spec/deprecated-project-overview-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { parametersSchema } from './parameters-schema'; import { variantSchema } from './variant-schema'; import { overrideSchema } from './override-schema'; diff --git a/src/lib/openapi/spec/dora-features-schema.ts b/src/lib/openapi/spec/dora-features-schema.ts index 7f44acf4ed7..49ce96bb1da 100644 --- a/src/lib/openapi/spec/dora-features-schema.ts +++ b/src/lib/openapi/spec/dora-features-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const doraFeaturesSchema = { $id: '#/components/schemas/doraFeaturesSchema', diff --git a/src/lib/openapi/spec/edge-token-schema.ts b/src/lib/openapi/spec/edge-token-schema.ts index 4fae34f6d72..1944d6ecd90 100644 --- a/src/lib/openapi/spec/edge-token-schema.ts +++ b/src/lib/openapi/spec/edge-token-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { ApiTokenType } from '../../types/models/api-token'; export const edgeTokenSchema = { diff --git a/src/lib/openapi/spec/email-schema.test.ts b/src/lib/openapi/spec/email-schema.test.ts index 89c58950c08..48180f94022 100644 --- a/src/lib/openapi/spec/email-schema.test.ts +++ b/src/lib/openapi/spec/email-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { EmailSchema } from './email-schema'; +import type { EmailSchema } from './email-schema'; test('emailSchema', () => { const data: EmailSchema = { diff --git a/src/lib/openapi/spec/email-schema.ts b/src/lib/openapi/spec/email-schema.ts index 0f42aec7c07..b1ff840c5cc 100644 --- a/src/lib/openapi/spec/email-schema.ts +++ b/src/lib/openapi/spec/email-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const emailSchema = { $id: '#/components/schemas/emailSchema', diff --git a/src/lib/openapi/spec/environment-project-schema.ts b/src/lib/openapi/spec/environment-project-schema.ts index 0620cd697dd..23bbfb2d98b 100644 --- a/src/lib/openapi/spec/environment-project-schema.ts +++ b/src/lib/openapi/spec/environment-project-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { createFeatureStrategySchema } from './create-feature-strategy-schema'; import { createStrategyVariantSchema } from './create-strategy-variant-schema'; diff --git a/src/lib/openapi/spec/environment-schema.ts b/src/lib/openapi/spec/environment-schema.ts index 500c99dc7be..8275a200c56 100644 --- a/src/lib/openapi/spec/environment-schema.ts +++ b/src/lib/openapi/spec/environment-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const environmentSchema = { $id: '#/components/schemas/environmentSchema', diff --git a/src/lib/openapi/spec/environments-project-schema.ts b/src/lib/openapi/spec/environments-project-schema.ts index 1f8d38966b4..acb26a503bb 100644 --- a/src/lib/openapi/spec/environments-project-schema.ts +++ b/src/lib/openapi/spec/environments-project-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { environmentProjectSchema } from './environment-project-schema'; export const environmentsProjectSchema = { diff --git a/src/lib/openapi/spec/environments-schema.ts b/src/lib/openapi/spec/environments-schema.ts index cce7e9bbefe..855112f5690 100644 --- a/src/lib/openapi/spec/environments-schema.ts +++ b/src/lib/openapi/spec/environments-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { environmentSchema } from './environment-schema'; export const environmentsSchema = { diff --git a/src/lib/openapi/spec/event-schema.test.ts b/src/lib/openapi/spec/event-schema.test.ts index 217c6724142..a095b0856cf 100644 --- a/src/lib/openapi/spec/event-schema.test.ts +++ b/src/lib/openapi/spec/event-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { EventSchema } from './event-schema'; +import type { EventSchema } from './event-schema'; test('eventSchema', () => { const data: EventSchema = { diff --git a/src/lib/openapi/spec/event-schema.ts b/src/lib/openapi/spec/event-schema.ts index 15f999784b4..1355a7dc9af 100644 --- a/src/lib/openapi/spec/event-schema.ts +++ b/src/lib/openapi/spec/event-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { tagSchema } from './tag-schema'; import { IEventTypes } from '../../types'; import { variantSchema } from './variant-schema'; diff --git a/src/lib/openapi/spec/events-schema.test.ts b/src/lib/openapi/spec/events-schema.test.ts index 509102ed2ae..fadea5d0959 100644 --- a/src/lib/openapi/spec/events-schema.test.ts +++ b/src/lib/openapi/spec/events-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { EventsSchema } from './events-schema'; +import type { EventsSchema } from './events-schema'; test('eventsSchema', () => { const data: EventsSchema = { diff --git a/src/lib/openapi/spec/events-schema.ts b/src/lib/openapi/spec/events-schema.ts index 000557f1030..820747c61a1 100644 --- a/src/lib/openapi/spec/events-schema.ts +++ b/src/lib/openapi/spec/events-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { eventSchema } from './event-schema'; import { tagSchema } from './tag-schema'; diff --git a/src/lib/openapi/spec/export-query-parameters.ts b/src/lib/openapi/spec/export-query-parameters.ts index 2896710878d..fe835d227f4 100644 --- a/src/lib/openapi/spec/export-query-parameters.ts +++ b/src/lib/openapi/spec/export-query-parameters.ts @@ -1,4 +1,4 @@ -import { FromQueryParams } from '../util/from-query-params'; +import type { FromQueryParams } from '../util/from-query-params'; export const exportQueryParameters = [ { diff --git a/src/lib/openapi/spec/export-query-schema.test.ts b/src/lib/openapi/spec/export-query-schema.test.ts index 386d8753f1c..a53f2efdc1d 100644 --- a/src/lib/openapi/spec/export-query-schema.test.ts +++ b/src/lib/openapi/spec/export-query-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { ExportQuerySchema } from './export-query-schema'; +import type { ExportQuerySchema } from './export-query-schema'; test('exportQuerySchema', () => { const data: ExportQuerySchema = { diff --git a/src/lib/openapi/spec/export-query-schema.ts b/src/lib/openapi/spec/export-query-schema.ts index 55d114dc513..07924374e70 100644 --- a/src/lib/openapi/spec/export-query-schema.ts +++ b/src/lib/openapi/spec/export-query-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; const commonProps = { environment: { diff --git a/src/lib/openapi/spec/export-result-schema.test.ts b/src/lib/openapi/spec/export-result-schema.test.ts index 0aa4621cb79..20444e09152 100644 --- a/src/lib/openapi/spec/export-result-schema.test.ts +++ b/src/lib/openapi/spec/export-result-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { ExportResultSchema } from './export-result-schema'; +import type { ExportResultSchema } from './export-result-schema'; test('exportResultSchema', () => { const data: ExportResultSchema = { diff --git a/src/lib/openapi/spec/export-result-schema.ts b/src/lib/openapi/spec/export-result-schema.ts index 75d3d2c5b4f..fedc8593b87 100644 --- a/src/lib/openapi/spec/export-result-schema.ts +++ b/src/lib/openapi/spec/export-result-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { featureSchema } from './feature-schema'; import { featureStrategySchema } from './feature-strategy-schema'; import { featureEnvironmentSchema } from './feature-environment-schema'; diff --git a/src/lib/openapi/spec/feature-dependencies-schema.ts b/src/lib/openapi/spec/feature-dependencies-schema.ts index d6c7d3a2420..6d538ab2e34 100644 --- a/src/lib/openapi/spec/feature-dependencies-schema.ts +++ b/src/lib/openapi/spec/feature-dependencies-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { dependentFeatureSchema } from './dependent-feature-schema'; export const featureDependenciesSchema = { diff --git a/src/lib/openapi/spec/feature-environment-metrics-schema.ts b/src/lib/openapi/spec/feature-environment-metrics-schema.ts index 4a63d536a6c..3192c4bbd69 100644 --- a/src/lib/openapi/spec/feature-environment-metrics-schema.ts +++ b/src/lib/openapi/spec/feature-environment-metrics-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { dateSchema } from './date-schema'; export const featureEnvironmentMetricsSchema = { diff --git a/src/lib/openapi/spec/feature-environment-schema.test.ts b/src/lib/openapi/spec/feature-environment-schema.test.ts index cd836c0cc26..709833abe71 100644 --- a/src/lib/openapi/spec/feature-environment-schema.test.ts +++ b/src/lib/openapi/spec/feature-environment-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { FeatureEnvironmentSchema } from './feature-environment-schema'; +import type { FeatureEnvironmentSchema } from './feature-environment-schema'; test('featureEnvironmentSchema', () => { const data: FeatureEnvironmentSchema = { diff --git a/src/lib/openapi/spec/feature-environment-schema.ts b/src/lib/openapi/spec/feature-environment-schema.ts index d776169e899..eca0f95d3c0 100644 --- a/src/lib/openapi/spec/feature-environment-schema.ts +++ b/src/lib/openapi/spec/feature-environment-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { constraintSchema } from './constraint-schema'; import { parametersSchema } from './parameters-schema'; import { featureStrategySchema } from './feature-strategy-schema'; diff --git a/src/lib/openapi/spec/feature-events-schema.test.ts b/src/lib/openapi/spec/feature-events-schema.test.ts index 3f9400dfb43..185a26bc781 100644 --- a/src/lib/openapi/spec/feature-events-schema.test.ts +++ b/src/lib/openapi/spec/feature-events-schema.test.ts @@ -1,6 +1,6 @@ import { validateSchema } from '../validate'; import { - FeatureEventsSchema, + type FeatureEventsSchema, featureEventsSchema, } from './feature-events-schema'; diff --git a/src/lib/openapi/spec/feature-events-schema.ts b/src/lib/openapi/spec/feature-events-schema.ts index e1b98bf0736..ab0f512a76c 100644 --- a/src/lib/openapi/spec/feature-events-schema.ts +++ b/src/lib/openapi/spec/feature-events-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { eventSchema } from './event-schema'; import { tagSchema } from './tag-schema'; diff --git a/src/lib/openapi/spec/feature-metrics-schema.test.ts b/src/lib/openapi/spec/feature-metrics-schema.test.ts index 0a0878b9034..7de3d6b996b 100644 --- a/src/lib/openapi/spec/feature-metrics-schema.test.ts +++ b/src/lib/openapi/spec/feature-metrics-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { FeatureMetricsSchema } from './feature-metrics-schema'; +import type { FeatureMetricsSchema } from './feature-metrics-schema'; test('featureMetricsSchema', () => { const data: FeatureMetricsSchema = { diff --git a/src/lib/openapi/spec/feature-metrics-schema.ts b/src/lib/openapi/spec/feature-metrics-schema.ts index 0eeb6200034..1921cd9b74b 100644 --- a/src/lib/openapi/spec/feature-metrics-schema.ts +++ b/src/lib/openapi/spec/feature-metrics-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { featureEnvironmentMetricsSchema } from './feature-environment-metrics-schema'; import { dateSchema } from './date-schema'; diff --git a/src/lib/openapi/spec/feature-schema.test.ts b/src/lib/openapi/spec/feature-schema.test.ts index 845220a5488..2721689e5d3 100644 --- a/src/lib/openapi/spec/feature-schema.test.ts +++ b/src/lib/openapi/spec/feature-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { FeatureSchema } from './feature-schema'; +import type { FeatureSchema } from './feature-schema'; test('featureSchema', () => { const data: FeatureSchema = { diff --git a/src/lib/openapi/spec/feature-schema.ts b/src/lib/openapi/spec/feature-schema.ts index dbdfbde0c52..bba2c025f70 100644 --- a/src/lib/openapi/spec/feature-schema.ts +++ b/src/lib/openapi/spec/feature-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { variantSchema } from './variant-schema'; import { constraintSchema } from './constraint-schema'; import { overrideSchema } from './override-schema'; diff --git a/src/lib/openapi/spec/feature-search-query-parameters.ts b/src/lib/openapi/spec/feature-search-query-parameters.ts index 7c06c885104..472b79673e2 100644 --- a/src/lib/openapi/spec/feature-search-query-parameters.ts +++ b/src/lib/openapi/spec/feature-search-query-parameters.ts @@ -1,4 +1,4 @@ -import { FromQueryParams } from '../util/from-query-params'; +import type { FromQueryParams } from '../util/from-query-params'; export const featureSearchQueryParameters = [ { diff --git a/src/lib/openapi/spec/feature-search-response-schema.ts b/src/lib/openapi/spec/feature-search-response-schema.ts index 96d21cb9104..ae655fac0f7 100644 --- a/src/lib/openapi/spec/feature-search-response-schema.ts +++ b/src/lib/openapi/spec/feature-search-response-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { variantSchema } from './variant-schema'; import { constraintSchema } from './constraint-schema'; import { overrideSchema } from './override-schema'; diff --git a/src/lib/openapi/spec/feature-strategy-schema.ts b/src/lib/openapi/spec/feature-strategy-schema.ts index 1f15763fac0..97aed33307b 100644 --- a/src/lib/openapi/spec/feature-strategy-schema.ts +++ b/src/lib/openapi/spec/feature-strategy-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { constraintSchema } from './constraint-schema'; import { parametersSchema } from './parameters-schema'; import { strategyVariantSchema } from './strategy-variant-schema'; diff --git a/src/lib/openapi/spec/feature-strategy-segment-schema.ts b/src/lib/openapi/spec/feature-strategy-segment-schema.ts index 70b6b40e7e9..e63f15848fe 100644 --- a/src/lib/openapi/spec/feature-strategy-segment-schema.ts +++ b/src/lib/openapi/spec/feature-strategy-segment-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const featureStrategySegmentSchema = { $id: '#/components/schemas/featureStrategySegmentSchema', diff --git a/src/lib/openapi/spec/feature-tag-schema.ts b/src/lib/openapi/spec/feature-tag-schema.ts index 5be4ecfe5e4..f21aae94b0d 100644 --- a/src/lib/openapi/spec/feature-tag-schema.ts +++ b/src/lib/openapi/spec/feature-tag-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const featureTagSchema = { $id: '#/components/schemas/featureTagSchema', diff --git a/src/lib/openapi/spec/feature-type-count-schema.test.ts b/src/lib/openapi/spec/feature-type-count-schema.test.ts index 299c25321bf..01921152b79 100644 --- a/src/lib/openapi/spec/feature-type-count-schema.test.ts +++ b/src/lib/openapi/spec/feature-type-count-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { FeatureTypeCountSchema } from './feature-type-count-schema'; +import type { FeatureTypeCountSchema } from './feature-type-count-schema'; test('featureTypeCountSchema', () => { const data: FeatureTypeCountSchema = { diff --git a/src/lib/openapi/spec/feature-type-count-schema.ts b/src/lib/openapi/spec/feature-type-count-schema.ts index ba6832ce370..a8c4252e291 100644 --- a/src/lib/openapi/spec/feature-type-count-schema.ts +++ b/src/lib/openapi/spec/feature-type-count-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const featureTypeCountSchema = { $id: '#/components/schemas/featureTypeCountSchema', diff --git a/src/lib/openapi/spec/feature-type-schema.test.ts b/src/lib/openapi/spec/feature-type-schema.test.ts index 57219dc6b4f..5b5a9fe90f6 100644 --- a/src/lib/openapi/spec/feature-type-schema.test.ts +++ b/src/lib/openapi/spec/feature-type-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { FeatureTypeSchema } from './feature-type-schema'; +import type { FeatureTypeSchema } from './feature-type-schema'; test('featureTypeSchema', () => { const data: FeatureTypeSchema = { diff --git a/src/lib/openapi/spec/feature-type-schema.ts b/src/lib/openapi/spec/feature-type-schema.ts index 689980bb53b..19c7d514dee 100644 --- a/src/lib/openapi/spec/feature-type-schema.ts +++ b/src/lib/openapi/spec/feature-type-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const featureTypeSchema = { $id: '#/components/schemas/featureTypeSchema', diff --git a/src/lib/openapi/spec/feature-types-schema.ts b/src/lib/openapi/spec/feature-types-schema.ts index fe5380f5ef9..633cfd67935 100644 --- a/src/lib/openapi/spec/feature-types-schema.ts +++ b/src/lib/openapi/spec/feature-types-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { featureTypeSchema } from './feature-type-schema'; export const featureTypesSchema = { diff --git a/src/lib/openapi/spec/feature-usage-schema.test.ts b/src/lib/openapi/spec/feature-usage-schema.test.ts index 6020a85478e..bb2f75f969b 100644 --- a/src/lib/openapi/spec/feature-usage-schema.test.ts +++ b/src/lib/openapi/spec/feature-usage-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { FeatureUsageSchema } from './feature-usage-schema'; +import type { FeatureUsageSchema } from './feature-usage-schema'; test('featureUsageSchema', () => { const data: FeatureUsageSchema = { diff --git a/src/lib/openapi/spec/feature-usage-schema.ts b/src/lib/openapi/spec/feature-usage-schema.ts index e0d0d02192b..300a68f96f2 100644 --- a/src/lib/openapi/spec/feature-usage-schema.ts +++ b/src/lib/openapi/spec/feature-usage-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { featureEnvironmentMetricsSchema } from './feature-environment-metrics-schema'; import { dateSchema } from './date-schema'; diff --git a/src/lib/openapi/spec/feature-variants-schema.ts b/src/lib/openapi/spec/feature-variants-schema.ts index 5b30d44f5db..2e0cd4cc05f 100644 --- a/src/lib/openapi/spec/feature-variants-schema.ts +++ b/src/lib/openapi/spec/feature-variants-schema.ts @@ -1,5 +1,5 @@ import { variantSchema } from './variant-schema'; -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { overrideSchema } from './override-schema'; export const featureVariantsSchema = { diff --git a/src/lib/openapi/spec/features-schema.test.ts b/src/lib/openapi/spec/features-schema.test.ts index 5df85ac5c37..2534f3e4307 100644 --- a/src/lib/openapi/spec/features-schema.test.ts +++ b/src/lib/openapi/spec/features-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { FeaturesSchema } from './features-schema'; +import type { FeaturesSchema } from './features-schema'; test('featuresSchema', () => { const data: FeaturesSchema = { diff --git a/src/lib/openapi/spec/features-schema.ts b/src/lib/openapi/spec/features-schema.ts index 75c95b7961c..7bc813c85f5 100644 --- a/src/lib/openapi/spec/features-schema.ts +++ b/src/lib/openapi/spec/features-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { featureSchema } from './feature-schema'; import { parametersSchema } from './parameters-schema'; import { variantSchema } from './variant-schema'; diff --git a/src/lib/openapi/spec/feedback-create-schema.ts b/src/lib/openapi/spec/feedback-create-schema.ts index fc1b485ee20..ba9b25c59e3 100644 --- a/src/lib/openapi/spec/feedback-create-schema.ts +++ b/src/lib/openapi/spec/feedback-create-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const feedbackCreateSchema = { $id: '#/components/schemas/feedbackCreateSchema', diff --git a/src/lib/openapi/spec/feedback-response-schema.ts b/src/lib/openapi/spec/feedback-response-schema.ts index ce707fb90c1..a69e4f4ca73 100644 --- a/src/lib/openapi/spec/feedback-response-schema.ts +++ b/src/lib/openapi/spec/feedback-response-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const feedbackResponseSchema = { $id: '#/components/schemas/feedbackResponseSchema', diff --git a/src/lib/openapi/spec/feedback-update-schema.ts b/src/lib/openapi/spec/feedback-update-schema.ts index b566b71775f..8bb699e6e9c 100644 --- a/src/lib/openapi/spec/feedback-update-schema.ts +++ b/src/lib/openapi/spec/feedback-update-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const feedbackUpdateSchema = { $id: '#/components/schemas/feedbackUpdateSchema', diff --git a/src/lib/openapi/spec/frontend-api-client-schema.ts b/src/lib/openapi/spec/frontend-api-client-schema.ts index 3036d036731..5e67cfb6336 100644 --- a/src/lib/openapi/spec/frontend-api-client-schema.ts +++ b/src/lib/openapi/spec/frontend-api-client-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const frontendApiClientSchema = { $id: '#/components/schemas/frontendApiClientSchema', diff --git a/src/lib/openapi/spec/frontend-api-feature-schema.ts b/src/lib/openapi/spec/frontend-api-feature-schema.ts index 98a1a6eff81..ee1896248fc 100644 --- a/src/lib/openapi/spec/frontend-api-feature-schema.ts +++ b/src/lib/openapi/spec/frontend-api-feature-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const frontendApiFeatureSchema = { $id: '#/components/schemas/frontendApiFeatureSchema', diff --git a/src/lib/openapi/spec/frontend-api-features-schema.ts b/src/lib/openapi/spec/frontend-api-features-schema.ts index 56d173d111d..b422af899d4 100644 --- a/src/lib/openapi/spec/frontend-api-features-schema.ts +++ b/src/lib/openapi/spec/frontend-api-features-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { frontendApiFeatureSchema } from './frontend-api-feature-schema'; export const frontendApiFeaturesSchema = { diff --git a/src/lib/openapi/spec/group-schema.ts b/src/lib/openapi/spec/group-schema.ts index bdde437477e..39419bf3c02 100644 --- a/src/lib/openapi/spec/group-schema.ts +++ b/src/lib/openapi/spec/group-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { groupUserModelSchema } from './group-user-model-schema'; import { userSchema } from './user-schema'; diff --git a/src/lib/openapi/spec/group-user-model-schema.ts b/src/lib/openapi/spec/group-user-model-schema.ts index 7c8c5adaa4c..4a76ec6108f 100644 --- a/src/lib/openapi/spec/group-user-model-schema.ts +++ b/src/lib/openapi/spec/group-user-model-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { userSchema } from './user-schema'; export const groupUserModelSchema = { diff --git a/src/lib/openapi/spec/groups-schema.test.ts b/src/lib/openapi/spec/groups-schema.test.ts index 64b2b0036b4..c19050aea2e 100644 --- a/src/lib/openapi/spec/groups-schema.test.ts +++ b/src/lib/openapi/spec/groups-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { GroupsSchema } from './groups-schema'; +import type { GroupsSchema } from './groups-schema'; test('groupsSchema', () => { const data: GroupsSchema = { diff --git a/src/lib/openapi/spec/groups-schema.ts b/src/lib/openapi/spec/groups-schema.ts index 19ade84d5ed..5e6cd458fb2 100644 --- a/src/lib/openapi/spec/groups-schema.ts +++ b/src/lib/openapi/spec/groups-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { groupSchema } from './group-schema'; import { groupUserModelSchema } from './group-user-model-schema'; import { userSchema } from './user-schema'; diff --git a/src/lib/openapi/spec/health-check-schema.ts b/src/lib/openapi/spec/health-check-schema.ts index a090cd22d50..81612d4e14e 100644 --- a/src/lib/openapi/spec/health-check-schema.ts +++ b/src/lib/openapi/spec/health-check-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const healthCheckSchema = { $id: '#/components/schemas/healthCheckSchema', diff --git a/src/lib/openapi/spec/health-overview-schema.ts b/src/lib/openapi/spec/health-overview-schema.ts index be590d973a0..1eec1ad8b76 100644 --- a/src/lib/openapi/spec/health-overview-schema.ts +++ b/src/lib/openapi/spec/health-overview-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { parametersSchema } from './parameters-schema'; import { variantSchema } from './variant-schema'; import { overrideSchema } from './override-schema'; diff --git a/src/lib/openapi/spec/health-report-schema.ts b/src/lib/openapi/spec/health-report-schema.ts index e9073c0656e..76065b03b9a 100644 --- a/src/lib/openapi/spec/health-report-schema.ts +++ b/src/lib/openapi/spec/health-report-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { healthOverviewSchema } from './health-overview-schema'; export const healthReportSchema = { diff --git a/src/lib/openapi/spec/id-schema.ts b/src/lib/openapi/spec/id-schema.ts index 29d9960e494..5945879b2e7 100644 --- a/src/lib/openapi/spec/id-schema.ts +++ b/src/lib/openapi/spec/id-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const idSchema = { $id: '#/components/schemas/idSchema', diff --git a/src/lib/openapi/spec/ids-schema.ts b/src/lib/openapi/spec/ids-schema.ts index be5a60415de..f8825e71c1a 100644 --- a/src/lib/openapi/spec/ids-schema.ts +++ b/src/lib/openapi/spec/ids-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const idsSchema = { $id: '#/components/schemas/idsSchema', diff --git a/src/lib/openapi/spec/import-toggles-schema.ts b/src/lib/openapi/spec/import-toggles-schema.ts index 36f184679fe..b75915393c6 100644 --- a/src/lib/openapi/spec/import-toggles-schema.ts +++ b/src/lib/openapi/spec/import-toggles-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { exportResultSchema } from './export-result-schema'; import { featureSchema } from './feature-schema'; import { featureStrategySchema } from './feature-strategy-schema'; diff --git a/src/lib/openapi/spec/import-toggles-validate-item-schema.ts b/src/lib/openapi/spec/import-toggles-validate-item-schema.ts index 878aa8b53dd..22115e226b6 100644 --- a/src/lib/openapi/spec/import-toggles-validate-item-schema.ts +++ b/src/lib/openapi/spec/import-toggles-validate-item-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const importTogglesValidateItemSchema = { $id: '#/components/schemas/importTogglesValidateItemSchema', diff --git a/src/lib/openapi/spec/import-toggles-validate-schema.ts b/src/lib/openapi/spec/import-toggles-validate-schema.ts index 5c0fc3750cc..e006db77942 100644 --- a/src/lib/openapi/spec/import-toggles-validate-schema.ts +++ b/src/lib/openapi/spec/import-toggles-validate-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { importTogglesValidateItemSchema } from './import-toggles-validate-item-schema'; export const importTogglesValidateSchema = { diff --git a/src/lib/openapi/spec/inactive-user-schema.ts b/src/lib/openapi/spec/inactive-user-schema.ts index 1e50283bd64..d9482a4d357 100644 --- a/src/lib/openapi/spec/inactive-user-schema.ts +++ b/src/lib/openapi/spec/inactive-user-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const inactiveUserSchema = { $id: '#/components/schemas/inactiveUserSchema', diff --git a/src/lib/openapi/spec/inactive-users-schema.ts b/src/lib/openapi/spec/inactive-users-schema.ts index c9a14ece1ae..0b5346afcbc 100644 --- a/src/lib/openapi/spec/inactive-users-schema.ts +++ b/src/lib/openapi/spec/inactive-users-schema.ts @@ -1,5 +1,5 @@ import { inactiveUserSchema } from './inactive-user-schema'; -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const inactiveUsersSchema = { $id: '#/components/schemas/inactiveUsersSchema', diff --git a/src/lib/openapi/spec/instance-admin-stats-schema.test.ts b/src/lib/openapi/spec/instance-admin-stats-schema.test.ts index 9b689b11a7c..61fd51b22d5 100644 --- a/src/lib/openapi/spec/instance-admin-stats-schema.test.ts +++ b/src/lib/openapi/spec/instance-admin-stats-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { InstanceAdminStatsSchema } from './instance-admin-stats-schema'; +import type { InstanceAdminStatsSchema } from './instance-admin-stats-schema'; test('instanceAdminStatsSchema', () => { const data: InstanceAdminStatsSchema = { diff --git a/src/lib/openapi/spec/instance-admin-stats-schema.ts b/src/lib/openapi/spec/instance-admin-stats-schema.ts index d58f142189e..cdbc1f33cf1 100644 --- a/src/lib/openapi/spec/instance-admin-stats-schema.ts +++ b/src/lib/openapi/spec/instance-admin-stats-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const instanceAdminStatsSchema = { $id: '#/components/schemas/instanceAdminStatsSchema', diff --git a/src/lib/openapi/spec/legal-value-schema.ts b/src/lib/openapi/spec/legal-value-schema.ts index 4c9885bcb6b..2ef8da5ddc7 100644 --- a/src/lib/openapi/spec/legal-value-schema.ts +++ b/src/lib/openapi/spec/legal-value-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const legalValueSchema = { $id: '#/components/schemas/legalValueSchema', diff --git a/src/lib/openapi/spec/login-schema.ts b/src/lib/openapi/spec/login-schema.ts index 1141ea541ce..0e9701690be 100644 --- a/src/lib/openapi/spec/login-schema.ts +++ b/src/lib/openapi/spec/login-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const loginSchema = { $id: '#/components/schemas/loginSchema', diff --git a/src/lib/openapi/spec/maintenance-schema.ts b/src/lib/openapi/spec/maintenance-schema.ts index fa15236e6ce..c0711eae2b7 100644 --- a/src/lib/openapi/spec/maintenance-schema.ts +++ b/src/lib/openapi/spec/maintenance-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const maintenanceSchema = { $id: '#/components/schemas/maintenanceSchema', diff --git a/src/lib/openapi/spec/me-schema.test.ts b/src/lib/openapi/spec/me-schema.test.ts index 851d4b79059..95ece9a6adf 100644 --- a/src/lib/openapi/spec/me-schema.test.ts +++ b/src/lib/openapi/spec/me-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { MeSchema } from './me-schema'; +import type { MeSchema } from './me-schema'; test('meSchema', () => { const data: MeSchema = { diff --git a/src/lib/openapi/spec/me-schema.ts b/src/lib/openapi/spec/me-schema.ts index c24fddbd4da..510702e0d6d 100644 --- a/src/lib/openapi/spec/me-schema.ts +++ b/src/lib/openapi/spec/me-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { userSchema } from './user-schema'; import { permissionSchema } from './permission-schema'; import { feedbackResponseSchema } from './feedback-response-schema'; diff --git a/src/lib/openapi/spec/name-schema.ts b/src/lib/openapi/spec/name-schema.ts index c9933d64b09..40c50942be4 100644 --- a/src/lib/openapi/spec/name-schema.ts +++ b/src/lib/openapi/spec/name-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const nameSchema = { $id: '#/components/schemas/nameSchema', diff --git a/src/lib/openapi/spec/outdated-sdks-schema.ts b/src/lib/openapi/spec/outdated-sdks-schema.ts index 63e1a27567d..a7e2ccce152 100644 --- a/src/lib/openapi/spec/outdated-sdks-schema.ts +++ b/src/lib/openapi/spec/outdated-sdks-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const outdatedSdksSchema = { $id: '#/components/schemas/outdatedSdksSchema', diff --git a/src/lib/openapi/spec/override-schema.ts b/src/lib/openapi/spec/override-schema.ts index 6e79eb49467..97cc988991c 100644 --- a/src/lib/openapi/spec/override-schema.ts +++ b/src/lib/openapi/spec/override-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const overrideSchema = { $id: '#/components/schemas/overrideSchema', diff --git a/src/lib/openapi/spec/parameters-schema.ts b/src/lib/openapi/spec/parameters-schema.ts index 8e12209a9e4..e8c8cd458f5 100644 --- a/src/lib/openapi/spec/parameters-schema.ts +++ b/src/lib/openapi/spec/parameters-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const parametersSchema = { $id: '#/components/schemas/parametersSchema', diff --git a/src/lib/openapi/spec/parent-feature-options-schema.ts b/src/lib/openapi/spec/parent-feature-options-schema.ts index 57ca7b56d96..b7db2939d19 100644 --- a/src/lib/openapi/spec/parent-feature-options-schema.ts +++ b/src/lib/openapi/spec/parent-feature-options-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const parentFeatureOptionsSchema = { $id: '#/components/schemas/parentFeatureOptionsSchema', diff --git a/src/lib/openapi/spec/password-schema.ts b/src/lib/openapi/spec/password-schema.ts index f93dab59735..6ea682c52af 100644 --- a/src/lib/openapi/spec/password-schema.ts +++ b/src/lib/openapi/spec/password-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const passwordSchema = { $id: '#/components/schemas/passwordSchema', diff --git a/src/lib/openapi/spec/pat-schema.ts b/src/lib/openapi/spec/pat-schema.ts index 332c4617999..0428206d239 100644 --- a/src/lib/openapi/spec/pat-schema.ts +++ b/src/lib/openapi/spec/pat-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { createPatSchema } from './create-pat-schema'; export const patSchema = { diff --git a/src/lib/openapi/spec/patch-schema.ts b/src/lib/openapi/spec/patch-schema.ts index 95d752959f4..2146bb3e013 100644 --- a/src/lib/openapi/spec/patch-schema.ts +++ b/src/lib/openapi/spec/patch-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const patchSchema = { $id: '#/components/schemas/patchSchema', diff --git a/src/lib/openapi/spec/patches-schema.ts b/src/lib/openapi/spec/patches-schema.ts index 8069cd2bdd8..b42e6dc9d5a 100644 --- a/src/lib/openapi/spec/patches-schema.ts +++ b/src/lib/openapi/spec/patches-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { patchSchema } from './patch-schema'; export const patchesSchema = { diff --git a/src/lib/openapi/spec/pats-schema.ts b/src/lib/openapi/spec/pats-schema.ts index 348e2532541..d9255fe8903 100644 --- a/src/lib/openapi/spec/pats-schema.ts +++ b/src/lib/openapi/spec/pats-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { patSchema } from './pat-schema'; export const patsSchema = { diff --git a/src/lib/openapi/spec/permission-schema.ts b/src/lib/openapi/spec/permission-schema.ts index bf421453a10..5e20d2c75db 100644 --- a/src/lib/openapi/spec/permission-schema.ts +++ b/src/lib/openapi/spec/permission-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const permissionSchema = { $id: '#/components/schemas/permissionSchema', diff --git a/src/lib/openapi/spec/playground-constraint-schema.ts b/src/lib/openapi/spec/playground-constraint-schema.ts index e26cbc065ad..c9e3f88b414 100644 --- a/src/lib/openapi/spec/playground-constraint-schema.ts +++ b/src/lib/openapi/spec/playground-constraint-schema.ts @@ -1,5 +1,5 @@ import { constraintSchemaBase } from './constraint-schema'; -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const playgroundConstraintSchema = { $id: '#/components/schemas/playgroundConstraintSchema', diff --git a/src/lib/openapi/spec/playground-feature-schema.test.ts b/src/lib/openapi/spec/playground-feature-schema.test.ts index 7c99fd38556..04eb50cfa67 100644 --- a/src/lib/openapi/spec/playground-feature-schema.test.ts +++ b/src/lib/openapi/spec/playground-feature-schema.test.ts @@ -1,19 +1,19 @@ -import fc, { Arbitrary } from 'fast-check'; +import fc, { type Arbitrary } from 'fast-check'; import { strategyConstraint, urlFriendlyString, variants, } from '../../../test/arbitraries.test'; import { validateSchema } from '../validate'; -import { PlaygroundConstraintSchema } from './playground-constraint-schema'; +import type { PlaygroundConstraintSchema } from './playground-constraint-schema'; import { playgroundFeatureSchema, - PlaygroundFeatureSchema, + type PlaygroundFeatureSchema, } from './playground-feature-schema'; -import { PlaygroundSegmentSchema } from './playground-segment-schema'; +import type { PlaygroundSegmentSchema } from './playground-segment-schema'; import { playgroundStrategyEvaluation, - PlaygroundStrategySchema, + type PlaygroundStrategySchema, } from './playground-strategy-schema'; const playgroundStrategyConstraint = diff --git a/src/lib/openapi/spec/playground-feature-schema.ts b/src/lib/openapi/spec/playground-feature-schema.ts index aa58ff8c472..b66bfc817da 100644 --- a/src/lib/openapi/spec/playground-feature-schema.ts +++ b/src/lib/openapi/spec/playground-feature-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { parametersSchema } from './parameters-schema'; import { variantSchema } from './variant-schema'; import { overrideSchema } from './override-schema'; diff --git a/src/lib/openapi/spec/playground-request-schema.test.ts b/src/lib/openapi/spec/playground-request-schema.test.ts index 9dfb17958d7..1731146ab64 100644 --- a/src/lib/openapi/spec/playground-request-schema.test.ts +++ b/src/lib/openapi/spec/playground-request-schema.test.ts @@ -1,8 +1,8 @@ -import fc, { Arbitrary } from 'fast-check'; +import fc, { type Arbitrary } from 'fast-check'; import { urlFriendlyString } from '../../../test/arbitraries.test'; import { playgroundRequestSchema, - PlaygroundRequestSchema, + type PlaygroundRequestSchema, } from '../../../lib/openapi/spec/playground-request-schema'; import { validateSchema } from '../validate'; import { generate as generateContext } from './sdk-context-schema.test'; diff --git a/src/lib/openapi/spec/playground-request-schema.ts b/src/lib/openapi/spec/playground-request-schema.ts index 9ba04e71417..5f4341ab431 100644 --- a/src/lib/openapi/spec/playground-request-schema.ts +++ b/src/lib/openapi/spec/playground-request-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { ALL } from '../../types/models/api-token'; import { sdkContextSchema } from './sdk-context-schema'; diff --git a/src/lib/openapi/spec/playground-response-schema.test.ts b/src/lib/openapi/spec/playground-response-schema.test.ts index 09cca87e2a9..b744a818810 100644 --- a/src/lib/openapi/spec/playground-response-schema.test.ts +++ b/src/lib/openapi/spec/playground-response-schema.test.ts @@ -1,7 +1,7 @@ -import fc, { Arbitrary } from 'fast-check'; +import fc, { type Arbitrary } from 'fast-check'; import { playgroundResponseSchema, - PlaygroundResponseSchema, + type PlaygroundResponseSchema, } from '../../../lib/openapi/spec/playground-response-schema'; import { validateSchema } from '../validate'; import { generate as generateInput } from './playground-request-schema.test'; diff --git a/src/lib/openapi/spec/playground-response-schema.ts b/src/lib/openapi/spec/playground-response-schema.ts index 71359bd05b5..712d697e789 100644 --- a/src/lib/openapi/spec/playground-response-schema.ts +++ b/src/lib/openapi/spec/playground-response-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { sdkContextSchema } from './sdk-context-schema'; import { playgroundRequestSchema } from './playground-request-schema'; import { playgroundFeatureSchema } from './playground-feature-schema'; diff --git a/src/lib/openapi/spec/playground-segment-schema.ts b/src/lib/openapi/spec/playground-segment-schema.ts index 03f6948ed7f..b73f1c34318 100644 --- a/src/lib/openapi/spec/playground-segment-schema.ts +++ b/src/lib/openapi/spec/playground-segment-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { playgroundConstraintSchema } from './playground-constraint-schema'; export const playgroundSegmentSchema = { diff --git a/src/lib/openapi/spec/playground-strategy-schema.ts b/src/lib/openapi/spec/playground-strategy-schema.ts index cd510e527ca..49c0eeeb7c0 100644 --- a/src/lib/openapi/spec/playground-strategy-schema.ts +++ b/src/lib/openapi/spec/playground-strategy-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { parametersSchema } from './parameters-schema'; import { playgroundConstraintSchema } from './playground-constraint-schema'; import { playgroundSegmentSchema } from './playground-segment-schema'; diff --git a/src/lib/openapi/spec/profile-schema.test.ts b/src/lib/openapi/spec/profile-schema.test.ts index 9ff86d23bfd..de7d17bcc87 100644 --- a/src/lib/openapi/spec/profile-schema.test.ts +++ b/src/lib/openapi/spec/profile-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { ProfileSchema } from './profile-schema'; +import type { ProfileSchema } from './profile-schema'; test('profileSchema', () => { const data: ProfileSchema = { diff --git a/src/lib/openapi/spec/profile-schema.ts b/src/lib/openapi/spec/profile-schema.ts index baeeebab4be..08a5a3e41a1 100644 --- a/src/lib/openapi/spec/profile-schema.ts +++ b/src/lib/openapi/spec/profile-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { featureSchema } from './feature-schema'; import { roleSchema } from './role-schema'; diff --git a/src/lib/openapi/spec/project-application-schema.ts b/src/lib/openapi/spec/project-application-schema.ts index 97a2c8672ed..c9a9f48111f 100644 --- a/src/lib/openapi/spec/project-application-schema.ts +++ b/src/lib/openapi/spec/project-application-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { projectApplicationSdkSchema } from './project-application-sdk-schema'; export const projectApplicationSchema = { diff --git a/src/lib/openapi/spec/project-application-sdk-schema.ts b/src/lib/openapi/spec/project-application-sdk-schema.ts index 1cc064f97f4..2a2727a80f2 100644 --- a/src/lib/openapi/spec/project-application-sdk-schema.ts +++ b/src/lib/openapi/spec/project-application-sdk-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const projectApplicationSdkSchema = { $id: '#/components/schemas/projectApplicationSdkSchema', diff --git a/src/lib/openapi/spec/project-applications-query-parameters.ts b/src/lib/openapi/spec/project-applications-query-parameters.ts index f970546ec22..f28dce49407 100644 --- a/src/lib/openapi/spec/project-applications-query-parameters.ts +++ b/src/lib/openapi/spec/project-applications-query-parameters.ts @@ -1,4 +1,4 @@ -import { FromQueryParams } from '../util/from-query-params'; +import type { FromQueryParams } from '../util/from-query-params'; export const projectApplicationsQueryParameters = [ { diff --git a/src/lib/openapi/spec/project-applications-schema.test.ts b/src/lib/openapi/spec/project-applications-schema.test.ts index fee0ee2184f..6c9f6beeec4 100644 --- a/src/lib/openapi/spec/project-applications-schema.test.ts +++ b/src/lib/openapi/spec/project-applications-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { ProjectApplicationsSchema } from './project-applications-schema'; +import type { ProjectApplicationsSchema } from './project-applications-schema'; test('projectApplicationsSchema', () => { const data: ProjectApplicationsSchema = { diff --git a/src/lib/openapi/spec/project-applications-schema.ts b/src/lib/openapi/spec/project-applications-schema.ts index 131e48e657c..2f5e6ca5acc 100644 --- a/src/lib/openapi/spec/project-applications-schema.ts +++ b/src/lib/openapi/spec/project-applications-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { projectApplicationSchema } from './project-application-schema'; import { projectApplicationSdkSchema } from './project-application-sdk-schema'; diff --git a/src/lib/openapi/spec/project-dora-metrics-schema.ts b/src/lib/openapi/spec/project-dora-metrics-schema.ts index 2591ccf5358..e30ffaca261 100644 --- a/src/lib/openapi/spec/project-dora-metrics-schema.ts +++ b/src/lib/openapi/spec/project-dora-metrics-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { doraFeaturesSchema } from './dora-features-schema'; export const projectDoraMetricsSchema = { diff --git a/src/lib/openapi/spec/project-environment-schema.ts b/src/lib/openapi/spec/project-environment-schema.ts index e306a8a3cc2..595aebc19d8 100644 --- a/src/lib/openapi/spec/project-environment-schema.ts +++ b/src/lib/openapi/spec/project-environment-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { createFeatureStrategySchema } from './create-feature-strategy-schema'; import { createStrategyVariantSchema } from './create-strategy-variant-schema'; diff --git a/src/lib/openapi/spec/project-overview-schema.test.ts b/src/lib/openapi/spec/project-overview-schema.test.ts index 9a59553e82e..8fa7b844366 100644 --- a/src/lib/openapi/spec/project-overview-schema.test.ts +++ b/src/lib/openapi/spec/project-overview-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { ProjectOverviewSchema } from './project-overview-schema'; +import type { ProjectOverviewSchema } from './project-overview-schema'; test('projectOverviewSchema', () => { const data: ProjectOverviewSchema = { diff --git a/src/lib/openapi/spec/project-overview-schema.ts b/src/lib/openapi/spec/project-overview-schema.ts index 1faedbabf1e..ac30d5707a1 100644 --- a/src/lib/openapi/spec/project-overview-schema.ts +++ b/src/lib/openapi/spec/project-overview-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { parametersSchema } from './parameters-schema'; import { variantSchema } from './variant-schema'; import { overrideSchema } from './override-schema'; diff --git a/src/lib/openapi/spec/project-schema.test.ts b/src/lib/openapi/spec/project-schema.test.ts index fe5d2ce0b71..f0d1530ef1d 100644 --- a/src/lib/openapi/spec/project-schema.test.ts +++ b/src/lib/openapi/spec/project-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { ProjectSchema } from './project-schema'; +import type { ProjectSchema } from './project-schema'; test('projectSchema', () => { const data: ProjectSchema = { diff --git a/src/lib/openapi/spec/project-schema.ts b/src/lib/openapi/spec/project-schema.ts index 11ae5334288..5c86be88ab0 100644 --- a/src/lib/openapi/spec/project-schema.ts +++ b/src/lib/openapi/spec/project-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const projectSchema = { $id: '#/components/schemas/projectSchema', diff --git a/src/lib/openapi/spec/project-stats-schema.ts b/src/lib/openapi/spec/project-stats-schema.ts index 0630d56e83e..372a6fc21a7 100644 --- a/src/lib/openapi/spec/project-stats-schema.ts +++ b/src/lib/openapi/spec/project-stats-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const projectStatsSchema = { $id: '#/components/schemas/projectStatsSchema', diff --git a/src/lib/openapi/spec/projects-schema.ts b/src/lib/openapi/spec/projects-schema.ts index 496876583db..49f4db2f5c7 100644 --- a/src/lib/openapi/spec/projects-schema.ts +++ b/src/lib/openapi/spec/projects-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { projectSchema } from './project-schema'; export const projectsSchema = { diff --git a/src/lib/openapi/spec/public-signup-schema.test.ts b/src/lib/openapi/spec/public-signup-schema.test.ts index 56bf0b10a21..af418516d67 100644 --- a/src/lib/openapi/spec/public-signup-schema.test.ts +++ b/src/lib/openapi/spec/public-signup-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { PublicSignupTokenSchema } from './public-signup-token-schema'; +import type { PublicSignupTokenSchema } from './public-signup-token-schema'; test('publicSignupTokenSchema', () => { const data: PublicSignupTokenSchema = { diff --git a/src/lib/openapi/spec/public-signup-token-create-schema.ts b/src/lib/openapi/spec/public-signup-token-create-schema.ts index 5502b2a8d2d..b4aa77703ed 100644 --- a/src/lib/openapi/spec/public-signup-token-create-schema.ts +++ b/src/lib/openapi/spec/public-signup-token-create-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const publicSignupTokenCreateSchema = { $id: '#/components/schemas/publicSignupTokenCreateSchema', diff --git a/src/lib/openapi/spec/public-signup-token-schema.ts b/src/lib/openapi/spec/public-signup-token-schema.ts index e24fa1bc283..780d24610c9 100644 --- a/src/lib/openapi/spec/public-signup-token-schema.ts +++ b/src/lib/openapi/spec/public-signup-token-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { userSchema } from './user-schema'; import { roleSchema } from './role-schema'; diff --git a/src/lib/openapi/spec/public-signup-token-update-schema.ts b/src/lib/openapi/spec/public-signup-token-update-schema.ts index aca51253c34..7b6e1a21593 100644 --- a/src/lib/openapi/spec/public-signup-token-update-schema.ts +++ b/src/lib/openapi/spec/public-signup-token-update-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const publicSignupTokenUpdateSchema = { $id: '#/components/schemas/publicSignupTokenUpdateSchema', diff --git a/src/lib/openapi/spec/public-signup-tokens-schema.ts b/src/lib/openapi/spec/public-signup-tokens-schema.ts index bfb8d366a10..ecbea75c412 100644 --- a/src/lib/openapi/spec/public-signup-tokens-schema.ts +++ b/src/lib/openapi/spec/public-signup-tokens-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { userSchema } from './user-schema'; import { roleSchema } from './role-schema'; import { publicSignupTokenSchema } from './public-signup-token-schema'; diff --git a/src/lib/openapi/spec/push-variants-schema.ts b/src/lib/openapi/spec/push-variants-schema.ts index 1cd42a5aa96..406d68e7067 100644 --- a/src/lib/openapi/spec/push-variants-schema.ts +++ b/src/lib/openapi/spec/push-variants-schema.ts @@ -1,5 +1,5 @@ import { variantSchema } from './variant-schema'; -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { overrideSchema } from './override-schema'; export const pushVariantsSchema = { diff --git a/src/lib/openapi/spec/record-ui-error-schema.ts b/src/lib/openapi/spec/record-ui-error-schema.ts index f0b111a898a..e8b5bc3cecc 100644 --- a/src/lib/openapi/spec/record-ui-error-schema.ts +++ b/src/lib/openapi/spec/record-ui-error-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const recordUiErrorSchema = { $id: '#/components/schemas/recordUiErrorSchema', diff --git a/src/lib/openapi/spec/requests-per-second-schema.ts b/src/lib/openapi/spec/requests-per-second-schema.ts index 1e4d868dca2..787176ba346 100644 --- a/src/lib/openapi/spec/requests-per-second-schema.ts +++ b/src/lib/openapi/spec/requests-per-second-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const requestsPerSecondSchema = { $id: '#/components/schemas/requestsPerSecondSchema', diff --git a/src/lib/openapi/spec/requests-per-second-segmented-schema.ts b/src/lib/openapi/spec/requests-per-second-segmented-schema.ts index 252d74b3c71..46a2c93ce15 100644 --- a/src/lib/openapi/spec/requests-per-second-segmented-schema.ts +++ b/src/lib/openapi/spec/requests-per-second-segmented-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { requestsPerSecondSchema } from './requests-per-second-schema'; export const requestsPerSecondSegmentedSchema = { $id: '#/components/schemas/requestsPerSecondSegmentedSchema', diff --git a/src/lib/openapi/spec/reset-password-schema.ts b/src/lib/openapi/spec/reset-password-schema.ts index d42859555bc..1150cc287f6 100644 --- a/src/lib/openapi/spec/reset-password-schema.ts +++ b/src/lib/openapi/spec/reset-password-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const resetPasswordSchema = { $id: '#/components/schemas/resetPasswordSchema', diff --git a/src/lib/openapi/spec/resource-limits-schema.ts b/src/lib/openapi/spec/resource-limits-schema.ts index 6a678245b2b..ea295ed9967 100644 --- a/src/lib/openapi/spec/resource-limits-schema.ts +++ b/src/lib/openapi/spec/resource-limits-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const resourceLimitsSchema = { $id: '#/components/schemas/resourceLimitsSchema', diff --git a/src/lib/openapi/spec/role-schema.test.ts b/src/lib/openapi/spec/role-schema.test.ts index 1657d47a19e..583ea318c68 100644 --- a/src/lib/openapi/spec/role-schema.test.ts +++ b/src/lib/openapi/spec/role-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { RoleSchema } from './role-schema'; +import type { RoleSchema } from './role-schema'; test('roleSchema', () => { const data: RoleSchema = { diff --git a/src/lib/openapi/spec/role-schema.ts b/src/lib/openapi/spec/role-schema.ts index a8b78546121..259422c58a5 100644 --- a/src/lib/openapi/spec/role-schema.ts +++ b/src/lib/openapi/spec/role-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const roleSchema = { $id: '#/components/schemas/roleSchema', diff --git a/src/lib/openapi/spec/roles-schema.ts b/src/lib/openapi/spec/roles-schema.ts index 719c180a096..34b791a1a56 100644 --- a/src/lib/openapi/spec/roles-schema.ts +++ b/src/lib/openapi/spec/roles-schema.ts @@ -1,5 +1,5 @@ import { roleSchema } from './role-schema'; -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const rolesSchema = { $id: '#/components/schemas/rolesSchema', diff --git a/src/lib/openapi/spec/sdk-context-schema.test.ts b/src/lib/openapi/spec/sdk-context-schema.test.ts index e32af00afee..38ce31511e8 100644 --- a/src/lib/openapi/spec/sdk-context-schema.test.ts +++ b/src/lib/openapi/spec/sdk-context-schema.test.ts @@ -1,6 +1,6 @@ -import fc, { Arbitrary } from 'fast-check'; +import fc, { type Arbitrary } from 'fast-check'; import { validateSchema } from '../validate'; -import { SdkContextSchema, sdkContextSchema } from './sdk-context-schema'; +import { type SdkContextSchema, sdkContextSchema } from './sdk-context-schema'; import { commonISOTimestamp } from '../../../test/arbitraries.test'; export const generate = (): Arbitrary => diff --git a/src/lib/openapi/spec/sdk-context-schema.ts b/src/lib/openapi/spec/sdk-context-schema.ts index a74a022bcb8..61080b90236 100644 --- a/src/lib/openapi/spec/sdk-context-schema.ts +++ b/src/lib/openapi/spec/sdk-context-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const sdkContextSchema = { $id: '#/components/schemas/sdkContextSchema', diff --git a/src/lib/openapi/spec/sdk-flat-context-schema.ts b/src/lib/openapi/spec/sdk-flat-context-schema.ts index 3a8cda25339..79c059cec50 100644 --- a/src/lib/openapi/spec/sdk-flat-context-schema.ts +++ b/src/lib/openapi/spec/sdk-flat-context-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { sdkContextSchema } from './sdk-context-schema'; const { properties, ...standardProperties } = sdkContextSchema.properties; diff --git a/src/lib/openapi/spec/search-events-schema.ts b/src/lib/openapi/spec/search-events-schema.ts index 0bf8860bda2..c3fc469ea4c 100644 --- a/src/lib/openapi/spec/search-events-schema.ts +++ b/src/lib/openapi/spec/search-events-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { IEventTypes } from '../../types'; export const searchEventsSchema = { diff --git a/src/lib/openapi/spec/search-features-schema.ts b/src/lib/openapi/spec/search-features-schema.ts index 60edf6ef555..592aaf6d877 100644 --- a/src/lib/openapi/spec/search-features-schema.ts +++ b/src/lib/openapi/spec/search-features-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { parametersSchema } from './parameters-schema'; import { variantSchema } from './variant-schema'; import { overrideSchema } from './override-schema'; diff --git a/src/lib/openapi/spec/segment-schema.ts b/src/lib/openapi/spec/segment-schema.ts index 1963d26188f..5f7f7ba0041 100644 --- a/src/lib/openapi/spec/segment-schema.ts +++ b/src/lib/openapi/spec/segment-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { constraintSchema } from './constraint-schema'; import { clientSegmentSchema } from './client-segment-schema'; diff --git a/src/lib/openapi/spec/segment-strategies-schema.ts b/src/lib/openapi/spec/segment-strategies-schema.ts index 792238330a8..66c84c94593 100644 --- a/src/lib/openapi/spec/segment-strategies-schema.ts +++ b/src/lib/openapi/spec/segment-strategies-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const segmentStrategiesSchema = { $id: '#/components/schemas/segmentStrategiesSchema', diff --git a/src/lib/openapi/spec/segments-schema.test.ts b/src/lib/openapi/spec/segments-schema.test.ts index 14dee1b976f..90c4f8da6fe 100644 --- a/src/lib/openapi/spec/segments-schema.test.ts +++ b/src/lib/openapi/spec/segments-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { SegmentsSchema } from './segments-schema'; +import type { SegmentsSchema } from './segments-schema'; test('updateEnvironmentSchema', () => { const data: SegmentsSchema = { diff --git a/src/lib/openapi/spec/segments-schema.ts b/src/lib/openapi/spec/segments-schema.ts index bb59413a662..682094ccd62 100644 --- a/src/lib/openapi/spec/segments-schema.ts +++ b/src/lib/openapi/spec/segments-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { adminSegmentSchema } from './admin-segment-schema'; import { constraintSchema } from './constraint-schema'; diff --git a/src/lib/openapi/spec/set-strategy-sort-order-schema.test.ts b/src/lib/openapi/spec/set-strategy-sort-order-schema.test.ts index 83ff4330cbe..6b30776ed3c 100644 --- a/src/lib/openapi/spec/set-strategy-sort-order-schema.test.ts +++ b/src/lib/openapi/spec/set-strategy-sort-order-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { SetStrategySortOrderSchema } from './set-strategy-sort-order-schema'; +import type { SetStrategySortOrderSchema } from './set-strategy-sort-order-schema'; test('setStrategySortOrderSchema', () => { const data: SetStrategySortOrderSchema = [ diff --git a/src/lib/openapi/spec/set-strategy-sort-order-schema.ts b/src/lib/openapi/spec/set-strategy-sort-order-schema.ts index 28b19bfb3ac..f648043e658 100644 --- a/src/lib/openapi/spec/set-strategy-sort-order-schema.ts +++ b/src/lib/openapi/spec/set-strategy-sort-order-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const setStrategySortOrderSchema = { $id: '#/components/schemas/setStrategySortOrderSchema', diff --git a/src/lib/openapi/spec/set-ui-config-schema.ts b/src/lib/openapi/spec/set-ui-config-schema.ts index 7e7dcdc0170..4d8df4e8f2a 100644 --- a/src/lib/openapi/spec/set-ui-config-schema.ts +++ b/src/lib/openapi/spec/set-ui-config-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const setUiConfigSchema = { $id: '#/components/schemas/setUiConfigSchema', diff --git a/src/lib/openapi/spec/sort-order-schema.test.ts b/src/lib/openapi/spec/sort-order-schema.test.ts index b72df33a8e0..595cad63329 100644 --- a/src/lib/openapi/spec/sort-order-schema.test.ts +++ b/src/lib/openapi/spec/sort-order-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { SortOrderSchema } from './sort-order-schema'; +import type { SortOrderSchema } from './sort-order-schema'; test('sortOrderSchema', () => { const data: SortOrderSchema = { diff --git a/src/lib/openapi/spec/sort-order-schema.ts b/src/lib/openapi/spec/sort-order-schema.ts index bc1e5aa25ed..39328c6b004 100644 --- a/src/lib/openapi/spec/sort-order-schema.ts +++ b/src/lib/openapi/spec/sort-order-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const sortOrderSchema = { $id: '#/components/schemas/sortOrderSchema', diff --git a/src/lib/openapi/spec/splash-request-schema.ts b/src/lib/openapi/spec/splash-request-schema.ts index 8deff88c7ac..4b152259c23 100644 --- a/src/lib/openapi/spec/splash-request-schema.ts +++ b/src/lib/openapi/spec/splash-request-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const splashRequestSchema = { $id: '#/components/schemas/splashRequestSchema', diff --git a/src/lib/openapi/spec/splash-response-schema.ts b/src/lib/openapi/spec/splash-response-schema.ts index cf58cdcc289..815ff9c1a86 100644 --- a/src/lib/openapi/spec/splash-response-schema.ts +++ b/src/lib/openapi/spec/splash-response-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { splashRequestSchema } from './splash-request-schema'; export const splashResponseSchema = { diff --git a/src/lib/openapi/spec/state-schema.ts b/src/lib/openapi/spec/state-schema.ts index dc9bc8284fe..e2dd4b85835 100644 --- a/src/lib/openapi/spec/state-schema.ts +++ b/src/lib/openapi/spec/state-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { featureSchema } from './feature-schema'; import { tagSchema } from './tag-schema'; import { tagTypeSchema } from './tag-type-schema'; diff --git a/src/lib/openapi/spec/strategies-schema.ts b/src/lib/openapi/spec/strategies-schema.ts index 232c94cf2df..e502b234c2a 100644 --- a/src/lib/openapi/spec/strategies-schema.ts +++ b/src/lib/openapi/spec/strategies-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { strategySchema } from './strategy-schema'; export const strategiesSchema = { diff --git a/src/lib/openapi/spec/strategy-schema.test.ts b/src/lib/openapi/spec/strategy-schema.test.ts index 3d7f361b569..49b41c12961 100644 --- a/src/lib/openapi/spec/strategy-schema.test.ts +++ b/src/lib/openapi/spec/strategy-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { StrategySchema } from './strategy-schema'; +import type { StrategySchema } from './strategy-schema'; test('strategySchema', () => { const data: StrategySchema = { diff --git a/src/lib/openapi/spec/strategy-schema.ts b/src/lib/openapi/spec/strategy-schema.ts index fb3b0c2c674..90158f3506f 100644 --- a/src/lib/openapi/spec/strategy-schema.ts +++ b/src/lib/openapi/spec/strategy-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const strategySchema = { $id: '#/components/schemas/strategySchema', diff --git a/src/lib/openapi/spec/strategy-variant-schema.ts b/src/lib/openapi/spec/strategy-variant-schema.ts index 5cd6c27c806..534a7d30b9b 100644 --- a/src/lib/openapi/spec/strategy-variant-schema.ts +++ b/src/lib/openapi/spec/strategy-variant-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { createStrategyVariantSchema } from './create-strategy-variant-schema'; export const strategyVariantSchema = { diff --git a/src/lib/openapi/spec/tag-schema.ts b/src/lib/openapi/spec/tag-schema.ts index bbf6a1ef354..21cb8cec2cd 100644 --- a/src/lib/openapi/spec/tag-schema.ts +++ b/src/lib/openapi/spec/tag-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { TAG_MAX_LENGTH, TAG_MIN_LENGTH } from '../../services/tag-schema'; export const tagSchema = { diff --git a/src/lib/openapi/spec/tag-type-schema.ts b/src/lib/openapi/spec/tag-type-schema.ts index 12574dfb864..269bbffa439 100644 --- a/src/lib/openapi/spec/tag-type-schema.ts +++ b/src/lib/openapi/spec/tag-type-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const tagTypeSchema = { $id: '#/components/schemas/tagTypeSchema', diff --git a/src/lib/openapi/spec/tag-types-schema.test.ts b/src/lib/openapi/spec/tag-types-schema.test.ts index 2765d8439ba..511db37ca96 100644 --- a/src/lib/openapi/spec/tag-types-schema.test.ts +++ b/src/lib/openapi/spec/tag-types-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { TagTypesSchema } from './tag-types-schema'; +import type { TagTypesSchema } from './tag-types-schema'; test('tagTypesSchema', () => { const data: TagTypesSchema = { diff --git a/src/lib/openapi/spec/tag-types-schema.ts b/src/lib/openapi/spec/tag-types-schema.ts index 311084c92ed..31862f103f0 100644 --- a/src/lib/openapi/spec/tag-types-schema.ts +++ b/src/lib/openapi/spec/tag-types-schema.ts @@ -1,5 +1,5 @@ import { tagTypeSchema } from './tag-type-schema'; -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const tagTypesSchema = { $id: '#/components/schemas/tagTypesSchema', diff --git a/src/lib/openapi/spec/tag-with-version-schema.ts b/src/lib/openapi/spec/tag-with-version-schema.ts index 16dd7e61811..0bd1c6d96cb 100644 --- a/src/lib/openapi/spec/tag-with-version-schema.ts +++ b/src/lib/openapi/spec/tag-with-version-schema.ts @@ -1,5 +1,5 @@ import { tagSchema } from './tag-schema'; -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const tagWithVersionSchema = { $id: '#/components/schemas/tagWithVersionSchema', diff --git a/src/lib/openapi/spec/tags-bulk-add-schema.test.ts b/src/lib/openapi/spec/tags-bulk-add-schema.test.ts index 882dfdf03f1..323c40871a0 100644 --- a/src/lib/openapi/spec/tags-bulk-add-schema.test.ts +++ b/src/lib/openapi/spec/tags-bulk-add-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { TagsBulkAddSchema } from './tags-bulk-add-schema'; +import type { TagsBulkAddSchema } from './tags-bulk-add-schema'; test('tagsBulkAddSchema', () => { const data: TagsBulkAddSchema = { diff --git a/src/lib/openapi/spec/tags-bulk-add-schema.ts b/src/lib/openapi/spec/tags-bulk-add-schema.ts index 18e585b7a8d..6e5cac23aa3 100644 --- a/src/lib/openapi/spec/tags-bulk-add-schema.ts +++ b/src/lib/openapi/spec/tags-bulk-add-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { updateTagsSchema } from './update-tags-schema'; import { tagSchema } from './tag-schema'; diff --git a/src/lib/openapi/spec/tags-schema.ts b/src/lib/openapi/spec/tags-schema.ts index 3aeae35d4e6..4afd98d18c1 100644 --- a/src/lib/openapi/spec/tags-schema.ts +++ b/src/lib/openapi/spec/tags-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { tagSchema } from './tag-schema'; export const tagsSchema = { diff --git a/src/lib/openapi/spec/telemetry-settings-schema.ts b/src/lib/openapi/spec/telemetry-settings-schema.ts index b27b03d318a..be3025e316c 100644 --- a/src/lib/openapi/spec/telemetry-settings-schema.ts +++ b/src/lib/openapi/spec/telemetry-settings-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const telemetrySettingsSchema = { $id: '#/components/schemas/telemetrySettingsSchema', diff --git a/src/lib/openapi/spec/toggle-maintenance-schema.ts b/src/lib/openapi/spec/toggle-maintenance-schema.ts index 2dd8e2d77ed..346382695a1 100644 --- a/src/lib/openapi/spec/toggle-maintenance-schema.ts +++ b/src/lib/openapi/spec/toggle-maintenance-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const toggleMaintenanceSchema = { $id: '#/components/schemas/toggleMaintenanceSchema', diff --git a/src/lib/openapi/spec/token-string-list-schema.ts b/src/lib/openapi/spec/token-string-list-schema.ts index 846fcc119cc..7662df4f619 100644 --- a/src/lib/openapi/spec/token-string-list-schema.ts +++ b/src/lib/openapi/spec/token-string-list-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const tokenStringListSchema = { $id: '#/components/schemas/tokenStringListSchema', diff --git a/src/lib/openapi/spec/token-user-schema.test.ts b/src/lib/openapi/spec/token-user-schema.test.ts index c0bbe6256b3..dc45018e8bb 100644 --- a/src/lib/openapi/spec/token-user-schema.test.ts +++ b/src/lib/openapi/spec/token-user-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { TokenUserSchema } from './token-user-schema'; +import type { TokenUserSchema } from './token-user-schema'; test('tokenUserSchema', () => { const data: TokenUserSchema = { diff --git a/src/lib/openapi/spec/token-user-schema.ts b/src/lib/openapi/spec/token-user-schema.ts index 9b2460fe53a..2e2d9d49807 100644 --- a/src/lib/openapi/spec/token-user-schema.ts +++ b/src/lib/openapi/spec/token-user-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { roleSchema } from './role-schema'; export const tokenUserSchema = { diff --git a/src/lib/openapi/spec/ui-config-schema.test.ts b/src/lib/openapi/spec/ui-config-schema.test.ts index 23ead2a1588..8839d521478 100644 --- a/src/lib/openapi/spec/ui-config-schema.test.ts +++ b/src/lib/openapi/spec/ui-config-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { UiConfigSchema } from './ui-config-schema'; +import type { UiConfigSchema } from './ui-config-schema'; test('uiConfigSchema', () => { const data: UiConfigSchema = { diff --git a/src/lib/openapi/spec/ui-config-schema.ts b/src/lib/openapi/spec/ui-config-schema.ts index 06a22af3789..10b7d187822 100644 --- a/src/lib/openapi/spec/ui-config-schema.ts +++ b/src/lib/openapi/spec/ui-config-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { versionSchema } from './version-schema'; import { variantFlagSchema } from './variant-flag-schema'; import { resourceLimitsSchema } from './resource-limits-schema'; diff --git a/src/lib/openapi/spec/update-api-token-schema.ts b/src/lib/openapi/spec/update-api-token-schema.ts index c4e1160c4cf..02875a6ec21 100644 --- a/src/lib/openapi/spec/update-api-token-schema.ts +++ b/src/lib/openapi/spec/update-api-token-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const updateApiTokenSchema = { $id: '#/components/schemas/updateApiTokenSchema', diff --git a/src/lib/openapi/spec/update-context-field-schema.ts b/src/lib/openapi/spec/update-context-field-schema.ts index 39eae2bdd22..ef95a8b26bf 100644 --- a/src/lib/openapi/spec/update-context-field-schema.ts +++ b/src/lib/openapi/spec/update-context-field-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { legalValueSchema } from './legal-value-schema'; export const updateContextFieldSchema = { diff --git a/src/lib/openapi/spec/update-feature-schema.ts b/src/lib/openapi/spec/update-feature-schema.ts index 4fe02d52750..77cfdbf1aa4 100644 --- a/src/lib/openapi/spec/update-feature-schema.ts +++ b/src/lib/openapi/spec/update-feature-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { constraintSchema } from './constraint-schema'; export const updateFeatureSchema = { diff --git a/src/lib/openapi/spec/update-feature-strategy-schema.ts b/src/lib/openapi/spec/update-feature-strategy-schema.ts index 5faaef99f44..11ab541520d 100644 --- a/src/lib/openapi/spec/update-feature-strategy-schema.ts +++ b/src/lib/openapi/spec/update-feature-strategy-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { parametersSchema } from './parameters-schema'; import { constraintSchema } from './constraint-schema'; diff --git a/src/lib/openapi/spec/update-feature-strategy-segments-schema.test.ts b/src/lib/openapi/spec/update-feature-strategy-segments-schema.test.ts index 5c0d1e67945..a263d89b1c0 100644 --- a/src/lib/openapi/spec/update-feature-strategy-segments-schema.test.ts +++ b/src/lib/openapi/spec/update-feature-strategy-segments-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { UpdateFeatureStrategySegmentsSchema } from './update-feature-strategy-segments-schema'; +import type { UpdateFeatureStrategySegmentsSchema } from './update-feature-strategy-segments-schema'; test('updateFeatureStrategySegmentsSchema schema', () => { const data: UpdateFeatureStrategySegmentsSchema = { diff --git a/src/lib/openapi/spec/update-feature-strategy-segments-schema.ts b/src/lib/openapi/spec/update-feature-strategy-segments-schema.ts index 48cb86d886e..23fcdbdd7a5 100644 --- a/src/lib/openapi/spec/update-feature-strategy-segments-schema.ts +++ b/src/lib/openapi/spec/update-feature-strategy-segments-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const updateFeatureStrategySegmentsSchema = { $id: '#/components/schemas/updateFeatureStrategySegmentsSchema', diff --git a/src/lib/openapi/spec/update-feature-type-lifetime-schema.ts b/src/lib/openapi/spec/update-feature-type-lifetime-schema.ts index fef35dbda46..74beb4cf2f5 100644 --- a/src/lib/openapi/spec/update-feature-type-lifetime-schema.ts +++ b/src/lib/openapi/spec/update-feature-type-lifetime-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const updateFeatureTypeLifetimeSchema = { $id: '#/components/schemas/updateFeatureTypeLifetimeSchema', diff --git a/src/lib/openapi/spec/update-strategy-schema.ts b/src/lib/openapi/spec/update-strategy-schema.ts index fd97816cc0a..cf44d373433 100644 --- a/src/lib/openapi/spec/update-strategy-schema.ts +++ b/src/lib/openapi/spec/update-strategy-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const updateStrategySchema = { $id: '#/components/schemas/updateStrategySchema', diff --git a/src/lib/openapi/spec/update-tag-type-schema.ts b/src/lib/openapi/spec/update-tag-type-schema.ts index 7ae2a2f75cf..9844cbaff13 100644 --- a/src/lib/openapi/spec/update-tag-type-schema.ts +++ b/src/lib/openapi/spec/update-tag-type-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const updateTagTypeSchema = { $id: '#/components/schemas/updateTagTypeSchema', diff --git a/src/lib/openapi/spec/update-tags-schema.test.ts b/src/lib/openapi/spec/update-tags-schema.test.ts index d5a9a2f3d9b..d98d633c112 100644 --- a/src/lib/openapi/spec/update-tags-schema.test.ts +++ b/src/lib/openapi/spec/update-tags-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { UpdateTagsSchema } from './update-tags-schema'; +import type { UpdateTagsSchema } from './update-tags-schema'; test('updateTagsSchema', () => { const data: UpdateTagsSchema = { diff --git a/src/lib/openapi/spec/update-tags-schema.ts b/src/lib/openapi/spec/update-tags-schema.ts index 28918c981b8..5933168260a 100644 --- a/src/lib/openapi/spec/update-tags-schema.ts +++ b/src/lib/openapi/spec/update-tags-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { tagSchema } from './tag-schema'; export const updateTagsSchema = { diff --git a/src/lib/openapi/spec/update-user-schema.ts b/src/lib/openapi/spec/update-user-schema.ts index 64b7764c518..719a1d85335 100644 --- a/src/lib/openapi/spec/update-user-schema.ts +++ b/src/lib/openapi/spec/update-user-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const updateUserSchema = { $id: '#/components/schemas/updateUserSchema', diff --git a/src/lib/openapi/spec/upsert-segment-schema.ts b/src/lib/openapi/spec/upsert-segment-schema.ts index af84deb3636..559c7b6515f 100644 --- a/src/lib/openapi/spec/upsert-segment-schema.ts +++ b/src/lib/openapi/spec/upsert-segment-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { constraintSchema } from './constraint-schema'; export const upsertSegmentSchema = { diff --git a/src/lib/openapi/spec/user-schema.test.ts b/src/lib/openapi/spec/user-schema.test.ts index 9bc10082975..2e63cbf56bf 100644 --- a/src/lib/openapi/spec/user-schema.test.ts +++ b/src/lib/openapi/spec/user-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { UserSchema } from './user-schema'; +import type { UserSchema } from './user-schema'; test('userSchema', () => { const data: UserSchema = { diff --git a/src/lib/openapi/spec/user-schema.ts b/src/lib/openapi/spec/user-schema.ts index 92500837e4f..ecb092d4df6 100644 --- a/src/lib/openapi/spec/user-schema.ts +++ b/src/lib/openapi/spec/user-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { AccountTypes } from '../../types'; export const userSchema = { diff --git a/src/lib/openapi/spec/users-groups-base-schema.test.ts b/src/lib/openapi/spec/users-groups-base-schema.test.ts index 1a0ee6d46d2..fdf1c834101 100644 --- a/src/lib/openapi/spec/users-groups-base-schema.test.ts +++ b/src/lib/openapi/spec/users-groups-base-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { UsersGroupsBaseSchema } from './users-groups-base-schema'; +import type { UsersGroupsBaseSchema } from './users-groups-base-schema'; test('usersGroupsBaseSchema', () => { const data: UsersGroupsBaseSchema = { diff --git a/src/lib/openapi/spec/users-groups-base-schema.ts b/src/lib/openapi/spec/users-groups-base-schema.ts index c4044e2fef4..749da213d32 100644 --- a/src/lib/openapi/spec/users-groups-base-schema.ts +++ b/src/lib/openapi/spec/users-groups-base-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { groupSchema } from './group-schema'; import { userSchema } from './user-schema'; import { groupUserModelSchema } from './group-user-model-schema'; diff --git a/src/lib/openapi/spec/users-schema.test.ts b/src/lib/openapi/spec/users-schema.test.ts index a30fbcbe78e..68e29a74263 100644 --- a/src/lib/openapi/spec/users-schema.test.ts +++ b/src/lib/openapi/spec/users-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { UsersSchema } from './users-schema'; +import type { UsersSchema } from './users-schema'; test('usersSchema', () => { const data: UsersSchema = { diff --git a/src/lib/openapi/spec/users-schema.ts b/src/lib/openapi/spec/users-schema.ts index f3ab4821965..4d986226468 100644 --- a/src/lib/openapi/spec/users-schema.ts +++ b/src/lib/openapi/spec/users-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { userSchema } from './user-schema'; import { roleSchema } from './role-schema'; diff --git a/src/lib/openapi/spec/users-search-schema.test.ts b/src/lib/openapi/spec/users-search-schema.test.ts index a6bebf63def..c90f0f58bdd 100644 --- a/src/lib/openapi/spec/users-search-schema.test.ts +++ b/src/lib/openapi/spec/users-search-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { UsersSearchSchema } from './users-search-schema'; +import type { UsersSearchSchema } from './users-search-schema'; test('usersSchema', () => { const data: UsersSearchSchema = [{ id: 1 }]; diff --git a/src/lib/openapi/spec/users-search-schema.ts b/src/lib/openapi/spec/users-search-schema.ts index 4eca72f2f83..1c62a8e75fd 100644 --- a/src/lib/openapi/spec/users-search-schema.ts +++ b/src/lib/openapi/spec/users-search-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { userSchema } from './user-schema'; export const usersSearchSchema = { diff --git a/src/lib/openapi/spec/validate-archive-features-schema.ts b/src/lib/openapi/spec/validate-archive-features-schema.ts index f8f4918ab85..a8318f99e64 100644 --- a/src/lib/openapi/spec/validate-archive-features-schema.ts +++ b/src/lib/openapi/spec/validate-archive-features-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const validateArchiveFeaturesSchema = { $id: '#/components/schemas/validateArchiveFeaturesSchema', diff --git a/src/lib/openapi/spec/validate-feature-schema.ts b/src/lib/openapi/spec/validate-feature-schema.ts index 7ae42edcea2..ce794e8e4c7 100644 --- a/src/lib/openapi/spec/validate-feature-schema.ts +++ b/src/lib/openapi/spec/validate-feature-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const validateFeatureSchema = { $id: '#/components/schemas/validateFeatureSchema', diff --git a/src/lib/openapi/spec/validate-password-schema.test.ts b/src/lib/openapi/spec/validate-password-schema.test.ts index aa3f8c0b254..a57e35cf0a5 100644 --- a/src/lib/openapi/spec/validate-password-schema.test.ts +++ b/src/lib/openapi/spec/validate-password-schema.test.ts @@ -1,5 +1,5 @@ import { validateSchema } from '../validate'; -import { ValidatePasswordSchema } from './validate-password-schema'; +import type { ValidatePasswordSchema } from './validate-password-schema'; test('validatePasswordSchema', () => { const data: ValidatePasswordSchema = { diff --git a/src/lib/openapi/spec/validate-password-schema.ts b/src/lib/openapi/spec/validate-password-schema.ts index 7f12b95f30c..ce4320ea834 100644 --- a/src/lib/openapi/spec/validate-password-schema.ts +++ b/src/lib/openapi/spec/validate-password-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const validatePasswordSchema = { $id: '#/components/schemas/validatePasswordSchema', diff --git a/src/lib/openapi/spec/validate-tag-type-schema.ts b/src/lib/openapi/spec/validate-tag-type-schema.ts index aebdc5ed9af..68f3a9af822 100644 --- a/src/lib/openapi/spec/validate-tag-type-schema.ts +++ b/src/lib/openapi/spec/validate-tag-type-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { tagTypeSchema } from './tag-type-schema'; export const validateTagTypeSchema = { diff --git a/src/lib/openapi/spec/validated-edge-tokens-schema.ts b/src/lib/openapi/spec/validated-edge-tokens-schema.ts index 19469ef6197..c6f69d65980 100644 --- a/src/lib/openapi/spec/validated-edge-tokens-schema.ts +++ b/src/lib/openapi/spec/validated-edge-tokens-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { edgeTokenSchema } from './edge-token-schema'; export const validatedEdgeTokensSchema = { diff --git a/src/lib/openapi/spec/variant-flag-schema.ts b/src/lib/openapi/spec/variant-flag-schema.ts index 0947d16f693..6b63f6f9082 100644 --- a/src/lib/openapi/spec/variant-flag-schema.ts +++ b/src/lib/openapi/spec/variant-flag-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const variantFlagSchema = { $id: '#/components/schemas/variantFlagSchema', diff --git a/src/lib/openapi/spec/variant-schema.ts b/src/lib/openapi/spec/variant-schema.ts index c8920a44b85..88bf2665fac 100644 --- a/src/lib/openapi/spec/variant-schema.ts +++ b/src/lib/openapi/spec/variant-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { overrideSchema } from './override-schema'; export const variantSchema = { diff --git a/src/lib/openapi/spec/variants-schema.ts b/src/lib/openapi/spec/variants-schema.ts index e21efd36286..37d9e0b854f 100644 --- a/src/lib/openapi/spec/variants-schema.ts +++ b/src/lib/openapi/spec/variants-schema.ts @@ -1,5 +1,5 @@ import { variantSchema } from './variant-schema'; -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; import { overrideSchema } from './override-schema'; export const variantsSchema = { diff --git a/src/lib/openapi/spec/version-schema.ts b/src/lib/openapi/spec/version-schema.ts index d0d80a8b3ab..a4695769c22 100644 --- a/src/lib/openapi/spec/version-schema.ts +++ b/src/lib/openapi/spec/version-schema.ts @@ -1,4 +1,4 @@ -import { FromSchema } from 'json-schema-to-ts'; +import type { FromSchema } from 'json-schema-to-ts'; export const versionSchema = { $id: '#/components/schemas/versionSchema', diff --git a/src/lib/openapi/util/all-of.ts b/src/lib/openapi/util/all-of.ts index 1e5e82b4495..8773532cb2e 100644 --- a/src/lib/openapi/util/all-of.ts +++ b/src/lib/openapi/util/all-of.ts @@ -1,4 +1,4 @@ -import { JSONSchema } from 'json-schema-to-ts'; +import type { JSONSchema } from 'json-schema-to-ts'; // this function simplifies simple schemas and return allOf schema if it // doesn't know how to simplify it. It's a proof of concept but it can be extended diff --git a/src/lib/openapi/util/api-operation.ts b/src/lib/openapi/util/api-operation.ts index 672dab5cf62..cb1913e9704 100644 --- a/src/lib/openapi/util/api-operation.ts +++ b/src/lib/openapi/util/api-operation.ts @@ -1,5 +1,5 @@ -import { OpenAPIV3 } from 'openapi-types'; -import { OpenApiTag } from './openapi-tags'; +import type { OpenAPIV3 } from 'openapi-types'; +import type { OpenApiTag } from './openapi-tags'; type DeprecatedOpenAPITag = // Deprecated tag names. Please use a tag from the OpenAPITag type instead. diff --git a/src/lib/openapi/util/create-request-schema.ts b/src/lib/openapi/util/create-request-schema.ts index 8ea6617af75..4ab56a41233 100644 --- a/src/lib/openapi/util/create-request-schema.ts +++ b/src/lib/openapi/util/create-request-schema.ts @@ -1,4 +1,4 @@ -import { OpenAPIV3 } from 'openapi-types'; +import type { OpenAPIV3 } from 'openapi-types'; export const createRequestSchema = ( schemaName: string, diff --git a/src/lib/openapi/util/create-response-schema.ts b/src/lib/openapi/util/create-response-schema.ts index ac395dcb4cd..ff4b4cd05db 100644 --- a/src/lib/openapi/util/create-response-schema.ts +++ b/src/lib/openapi/util/create-response-schema.ts @@ -1,4 +1,4 @@ -import { OpenAPIV3 } from 'openapi-types'; +import type { OpenAPIV3 } from 'openapi-types'; export const createResponseSchemas = ( description: string, diff --git a/src/lib/openapi/util/from-query-params.ts b/src/lib/openapi/util/from-query-params.ts index 3bba3987e7c..e3c18d6b4a9 100644 --- a/src/lib/openapi/util/from-query-params.ts +++ b/src/lib/openapi/util/from-query-params.ts @@ -1,9 +1,9 @@ // module to create typescript types from query param lists. Based on // input in this GitHub issue: // https://github.com/ThomasAribart/json-schema-to-ts/issues/82 -import { FromSchema, JSONSchema } from 'json-schema-to-ts'; +import type { FromSchema, JSONSchema } from 'json-schema-to-ts'; -import { O, L, A } from 'ts-toolbelt'; +import type { O, L, A } from 'ts-toolbelt'; type OpenApiParam = { readonly name: string; diff --git a/src/lib/openapi/validate.ts b/src/lib/openapi/validate.ts index 35f98938ad0..a11472da670 100644 --- a/src/lib/openapi/validate.ts +++ b/src/lib/openapi/validate.ts @@ -1,5 +1,5 @@ -import Ajv, { ErrorObject } from 'ajv'; -import { SchemaId, schemas } from './index'; +import Ajv, { type ErrorObject } from 'ajv'; +import { type SchemaId, schemas } from './index'; import { omitKeys } from '../util/omit-keys'; export interface ISchemaValidationErrors { diff --git a/src/lib/routes/admin-api/addon.ts b/src/lib/routes/admin-api/addon.ts index 351cf7c8d6a..7a49a2290c0 100644 --- a/src/lib/routes/admin-api/addon.ts +++ b/src/lib/routes/admin-api/addon.ts @@ -1,8 +1,8 @@ -import { Request, Response } from 'express'; +import type { Request, Response } from 'express'; import Controller from '../controller'; -import { IUnleashConfig, IUnleashServices } from '../../types'; -import { Logger } from '../../logger'; -import AddonService from '../../services/addon-service'; +import type { IUnleashConfig, IUnleashServices } from '../../types'; +import type { Logger } from '../../logger'; +import type AddonService from '../../services/addon-service'; import { extractUsername } from '../../util/extract-user'; import { @@ -11,18 +11,21 @@ import { NONE, UPDATE_ADDON, } from '../../types/permissions'; -import { IAuthRequest } from '../unleash-types'; +import type { IAuthRequest } from '../unleash-types'; import { createRequestSchema } from '../../openapi/util/create-request-schema'; import { createResponseSchema } from '../../openapi/util/create-response-schema'; -import { OpenApiService } from '../../services/openapi-service'; -import { AddonSchema, addonSchema } from '../../openapi/spec/addon-schema'; +import type { OpenApiService } from '../../services/openapi-service'; +import { type AddonSchema, addonSchema } from '../../openapi/spec/addon-schema'; import { serializeDates } from '../../types/serialize-dates'; -import { AddonsSchema, addonsSchema } from '../../openapi/spec/addons-schema'; +import { + type AddonsSchema, + addonsSchema, +} from '../../openapi/spec/addons-schema'; import { emptyResponse, getStandardResponses, } from '../../openapi/util/standard-responses'; -import { AddonCreateUpdateSchema } from '../../openapi/spec/addon-create-update-schema'; +import type { AddonCreateUpdateSchema } from '../../openapi/spec/addon-create-update-schema'; type AddonServices = Pick; diff --git a/src/lib/routes/admin-api/api-token.ts b/src/lib/routes/admin-api/api-token.ts index 2033e6f13b1..c36ca080a9c 100644 --- a/src/lib/routes/admin-api/api-token.ts +++ b/src/lib/routes/admin-api/api-token.ts @@ -1,4 +1,4 @@ -import { Response } from 'express'; +import type { Response } from 'express'; import Controller from '../controller'; import { @@ -12,16 +12,16 @@ import { UPDATE_CLIENT_API_TOKEN, UPDATE_FRONTEND_API_TOKEN, } from '../../types/permissions'; -import { ApiTokenService } from '../../services/api-token-service'; -import { Logger } from '../../logger'; -import { AccessService } from '../../services/access-service'; -import { IAuthRequest } from '../unleash-types'; -import { IUser } from '../../types/user'; -import { IUnleashConfig } from '../../types/option'; -import { ApiTokenType, IApiToken } from '../../types/models/api-token'; +import type { ApiTokenService } from '../../services/api-token-service'; +import type { Logger } from '../../logger'; +import type { AccessService } from '../../services/access-service'; +import type { IAuthRequest } from '../unleash-types'; +import type { IUser } from '../../types/user'; +import type { IUnleashConfig } from '../../types/option'; +import { ApiTokenType, type IApiToken } from '../../types/models/api-token'; import { createApiToken } from '../../schema/api-token-schema'; -import { OpenApiService } from '../../services/openapi-service'; -import { IFlagResolver, IUnleashServices } from '../../types'; +import type { OpenApiService } from '../../services/openapi-service'; +import type { IFlagResolver, IUnleashServices } from '../../types'; import { createRequestSchema } from '../../openapi/util/create-request-schema'; import { createResponseSchema, @@ -29,19 +29,19 @@ import { } from '../../openapi/util/create-response-schema'; import { apiTokensSchema, - ApiTokensSchema, + type ApiTokensSchema, } from '../../openapi/spec/api-tokens-schema'; import { serializeDates } from '../../types/serialize-dates'; import { apiTokenSchema, - ApiTokenSchema, + type ApiTokenSchema, } from '../../openapi/spec/api-token-schema'; -import { UpdateApiTokenSchema } from '../../openapi/spec/update-api-token-schema'; +import type { UpdateApiTokenSchema } from '../../openapi/spec/update-api-token-schema'; import { emptyResponse, getStandardResponses, } from '../../openapi/util/standard-responses'; -import { FrontendApiService } from '../../features/frontend-api/frontend-api-service'; +import type { FrontendApiService } from '../../features/frontend-api/frontend-api-service'; import { extractUserId, extractUsername } from '../../util'; import { OperationDeniedError } from '../../error'; diff --git a/src/lib/routes/admin-api/config.test.ts b/src/lib/routes/admin-api/config.test.ts index 44e86be8c6b..6ac6a13f9c3 100644 --- a/src/lib/routes/admin-api/config.test.ts +++ b/src/lib/routes/admin-api/config.test.ts @@ -1,4 +1,4 @@ -import supertest, { Test } from 'supertest'; +import supertest, { type Test } from 'supertest'; import { createTestConfig } from '../../../test/config/test-config'; import createStores from '../../../test/fixtures/store'; @@ -8,8 +8,8 @@ import { DEFAULT_SEGMENT_VALUES_LIMIT, DEFAULT_STRATEGY_SEGMENTS_LIMIT, } from '../../util/segments'; -import TestAgent from 'supertest/lib/agent'; -import { IUnleashStores } from '../../types'; +import type TestAgent from 'supertest/lib/agent'; +import type { IUnleashStores } from '../../types'; const uiConfig = { headerBackground: 'red', diff --git a/src/lib/routes/admin-api/config.ts b/src/lib/routes/admin-api/config.ts index 61a2d4f8e7b..0e40d49f2fb 100644 --- a/src/lib/routes/admin-api/config.ts +++ b/src/lib/routes/admin-api/config.ts @@ -1,34 +1,34 @@ -import { Response } from 'express'; -import { AuthedRequest } from '../../types/core'; -import { IUnleashServices } from '../../types/services'; -import { IAuthType, IUnleashConfig } from '../../types/option'; +import type { Response } from 'express'; +import type { AuthedRequest } from '../../types/core'; +import type { IUnleashServices } from '../../types/services'; +import { IAuthType, type IUnleashConfig } from '../../types/option'; import version from '../../util/version'; import Controller from '../controller'; -import VersionService from '../../services/version-service'; -import SettingService from '../../services/setting-service'; +import type VersionService from '../../services/version-service'; +import type SettingService from '../../services/setting-service'; import { - SimpleAuthSettings, + type SimpleAuthSettings, simpleAuthSettingsKey, } from '../../types/settings/simple-auth-settings'; import { ADMIN, NONE } from '../../types/permissions'; import { createResponseSchema } from '../../openapi/util/create-response-schema'; import { uiConfigSchema, - UiConfigSchema, + type UiConfigSchema, } from '../../openapi/spec/ui-config-schema'; -import { OpenApiService } from '../../services/openapi-service'; -import { EmailService } from '../../services/email-service'; +import type { OpenApiService } from '../../services/openapi-service'; +import type { EmailService } from '../../services/email-service'; import { emptyResponse } from '../../openapi/util/standard-responses'; -import { IAuthRequest } from '../unleash-types'; +import type { IAuthRequest } from '../unleash-types'; import { extractUsername } from '../../util/extract-user'; import NotFoundError from '../../error/notfound-error'; -import { SetUiConfigSchema } from '../../openapi/spec/set-ui-config-schema'; +import type { SetUiConfigSchema } from '../../openapi/spec/set-ui-config-schema'; import { createRequestSchema } from '../../openapi/util/create-request-schema'; -import { FrontendApiService } from '../../services'; -import MaintenanceService from '../../features/maintenance/maintenance-service'; +import type { FrontendApiService } from '../../services'; +import type MaintenanceService from '../../features/maintenance/maintenance-service'; import memoizee from 'memoizee'; import { minutesToMilliseconds } from 'date-fns'; -import ClientInstanceService from '../../features/metrics/instance/instance-service'; +import type ClientInstanceService from '../../features/metrics/instance/instance-service'; class ConfigController extends Controller { private versionService: VersionService; diff --git a/src/lib/routes/admin-api/constraints.ts b/src/lib/routes/admin-api/constraints.ts index c6a7518a634..ee793114938 100644 --- a/src/lib/routes/admin-api/constraints.ts +++ b/src/lib/routes/admin-api/constraints.ts @@ -1,13 +1,13 @@ -import { Request, Response } from 'express'; -import FeatureToggleService from '../../features/feature-toggle/feature-toggle-service'; -import { IUnleashConfig } from '../../types/option'; -import { IUnleashServices } from '../../types'; +import type { Request, Response } from 'express'; +import type FeatureToggleService from '../../features/feature-toggle/feature-toggle-service'; +import type { IUnleashConfig } from '../../types/option'; +import type { IUnleashServices } from '../../types'; import { NONE } from '../../types/permissions'; import Controller from '../controller'; -import { Logger } from '../../logger'; -import { OpenApiService } from '../../services/openapi-service'; +import type { Logger } from '../../logger'; +import type { OpenApiService } from '../../services/openapi-service'; import { createRequestSchema } from '../../openapi/util/create-request-schema'; -import { ConstraintSchema, getStandardResponses } from '../../openapi'; +import { type ConstraintSchema, getStandardResponses } from '../../openapi'; export default class ConstraintController extends Controller { private featureService: FeatureToggleService; diff --git a/src/lib/routes/admin-api/context.test.ts b/src/lib/routes/admin-api/context.test.ts index 2a017ea7b47..0ed95aab437 100644 --- a/src/lib/routes/admin-api/context.test.ts +++ b/src/lib/routes/admin-api/context.test.ts @@ -1,10 +1,10 @@ -import supertest, { Test } from 'supertest'; +import supertest, { type Test } from 'supertest'; import { createTestConfig } from '../../../test/config/test-config'; import createStores from '../../../test/fixtures/store'; import { createServices } from '../../services'; import permissions from '../../../test/fixtures/permissions'; import getApp from '../../app'; -import TestAgent from 'supertest/lib/agent'; +import type TestAgent from 'supertest/lib/agent'; async function getSetup() { const base = `/random${Math.round(Math.random() * 1000)}`; diff --git a/src/lib/routes/admin-api/context.ts b/src/lib/routes/admin-api/context.ts index 4d420e0af49..d61f96fec4a 100644 --- a/src/lib/routes/admin-api/context.ts +++ b/src/lib/routes/admin-api/context.ts @@ -1,4 +1,4 @@ -import { Request, Response } from 'express'; +import type { Request, Response } from 'express'; import Controller from '../controller'; @@ -13,18 +13,18 @@ import { DELETE_CONTEXT_FIELD, NONE, } from '../../types/permissions'; -import { IUnleashConfig } from '../../types/option'; -import { IUnleashServices } from '../../types/services'; -import ContextService from '../../services/context-service'; -import { Logger } from '../../logger'; -import { IAuthRequest } from '../unleash-types'; +import type { IUnleashConfig } from '../../types/option'; +import type { IUnleashServices } from '../../types/services'; +import type ContextService from '../../services/context-service'; +import type { Logger } from '../../logger'; +import type { IAuthRequest } from '../unleash-types'; -import { OpenApiService } from '../../services/openapi-service'; +import type { OpenApiService } from '../../services/openapi-service'; import { contextFieldSchema, - ContextFieldSchema, + type ContextFieldSchema, } from '../../openapi/spec/context-field-schema'; -import { ContextFieldsSchema } from '../../openapi/spec/context-fields-schema'; +import type { ContextFieldsSchema } from '../../openapi/spec/context-fields-schema'; import { createRequestSchema } from '../../openapi/util/create-request-schema'; import { createResponseSchema, @@ -32,17 +32,17 @@ import { } from '../../openapi/util/create-response-schema'; import { serializeDates } from '../../types/serialize-dates'; import NotFoundError from '../../error/notfound-error'; -import { NameSchema } from '../../openapi/spec/name-schema'; +import type { NameSchema } from '../../openapi/spec/name-schema'; import { emptyResponse, getStandardResponses, } from '../../openapi/util/standard-responses'; import { - ContextFieldStrategiesSchema, + type ContextFieldStrategiesSchema, contextFieldStrategiesSchema, } from '../../openapi/spec/context-field-strategies-schema'; -import { UpdateContextFieldSchema } from '../../openapi/spec/update-context-field-schema'; -import { CreateContextFieldSchema } from '../../openapi/spec/create-context-field-schema'; +import type { UpdateContextFieldSchema } from '../../openapi/spec/update-context-field-schema'; +import type { CreateContextFieldSchema } from '../../openapi/spec/create-context-field-schema'; interface ContextParam { contextField: string; diff --git a/src/lib/routes/admin-api/email.ts b/src/lib/routes/admin-api/email.ts index 06e8275f48c..d8a6b6dd50b 100644 --- a/src/lib/routes/admin-api/email.ts +++ b/src/lib/routes/admin-api/email.ts @@ -1,10 +1,13 @@ import { ADMIN } from '../../types/permissions'; -import { EmailService, TemplateFormat } from '../../services/email-service'; -import { IUnleashConfig } from '../../types/option'; -import { IUnleashServices } from '../../types/services'; -import { Request, Response } from 'express'; +import { + type EmailService, + TemplateFormat, +} from '../../services/email-service'; +import type { IUnleashConfig } from '../../types/option'; +import type { IUnleashServices } from '../../types/services'; +import type { Request, Response } from 'express'; import Controller from '../controller'; -import { Logger } from '../../logger'; +import type { Logger } from '../../logger'; import sanitize from 'sanitize-filename'; export default class EmailController extends Controller { diff --git a/src/lib/routes/admin-api/environments.ts b/src/lib/routes/admin-api/environments.ts index adcf3f0b0e9..9232c3bf5cc 100644 --- a/src/lib/routes/admin-api/environments.ts +++ b/src/lib/routes/admin-api/environments.ts @@ -1,29 +1,29 @@ -import { Request, Response } from 'express'; +import type { Request, Response } from 'express'; import Controller from '../controller'; -import { IUnleashServices } from '../../types/services'; -import { IUnleashConfig } from '../../types/option'; -import EnvironmentService from '../../features/project-environments/environment-service'; -import { Logger } from '../../logger'; +import type { IUnleashServices } from '../../types/services'; +import type { IUnleashConfig } from '../../types/option'; +import type EnvironmentService from '../../features/project-environments/environment-service'; +import type { Logger } from '../../logger'; import { ADMIN, NONE } from '../../types/permissions'; -import { OpenApiService } from '../../services/openapi-service'; +import type { OpenApiService } from '../../services/openapi-service'; import { createRequestSchema } from '../../openapi/util/create-request-schema'; import { createResponseSchema } from '../../openapi/util/create-response-schema'; import { environmentsSchema, - EnvironmentsSchema, + type EnvironmentsSchema, } from '../../openapi/spec/environments-schema'; import { environmentSchema, - EnvironmentSchema, + type EnvironmentSchema, } from '../../openapi/spec/environment-schema'; -import { SortOrderSchema } from '../../openapi/spec/sort-order-schema'; +import type { SortOrderSchema } from '../../openapi/spec/sort-order-schema'; import { emptyResponse, getStandardResponses, } from '../../openapi/util/standard-responses'; import { environmentsProjectSchema, - EnvironmentsProjectSchema, + type EnvironmentsProjectSchema, } from '../../openapi/spec/environments-project-schema'; interface EnvironmentParam { diff --git a/src/lib/routes/admin-api/event.ts b/src/lib/routes/admin-api/event.ts index 60f8052e853..b6bafb5aed0 100644 --- a/src/lib/routes/admin-api/event.ts +++ b/src/lib/routes/admin-api/event.ts @@ -1,26 +1,26 @@ -import { Request, Response } from 'express'; -import { IUnleashConfig } from '../../types/option'; -import { IUnleashServices } from '../../types/services'; -import EventService from '../../features/events/event-service'; +import type { Request, Response } from 'express'; +import type { IUnleashConfig } from '../../types/option'; +import type { IUnleashServices } from '../../types/services'; +import type EventService from '../../features/events/event-service'; import { ADMIN, NONE } from '../../types/permissions'; -import { IEvent, IEventList } from '../../types/events'; +import type { IEvent, IEventList } from '../../types/events'; import Controller from '../controller'; import { anonymiseKeys } from '../../util/anonymise'; -import { OpenApiService } from '../../services/openapi-service'; +import type { OpenApiService } from '../../services/openapi-service'; import { createResponseSchema } from '../../openapi/util/create-response-schema'; import { eventsSchema, - EventsSchema, + type EventsSchema, } from '../../../lib/openapi/spec/events-schema'; import { serializeDates } from '../../../lib/types/serialize-dates'; import { featureEventsSchema, - FeatureEventsSchema, + type FeatureEventsSchema, } from '../../../lib/openapi/spec/feature-events-schema'; import { getStandardResponses } from '../../../lib/openapi/util/standard-responses'; import { createRequestSchema } from '../../openapi/util/create-request-schema'; -import { SearchEventsSchema } from '../../openapi/spec/search-events-schema'; -import { IFlagResolver } from '../../types/experimental'; +import type { SearchEventsSchema } from '../../openapi/spec/search-events-schema'; +import type { IFlagResolver } from '../../types/experimental'; const ANON_KEYS = ['email', 'username', 'createdBy']; const version = 1 as const; diff --git a/src/lib/routes/admin-api/favorites.ts b/src/lib/routes/admin-api/favorites.ts index 28cd93b88eb..cfb0351e206 100644 --- a/src/lib/routes/admin-api/favorites.ts +++ b/src/lib/routes/admin-api/favorites.ts @@ -1,10 +1,10 @@ -import { Response } from 'express'; +import type { Response } from 'express'; import Controller from '../controller'; -import { FavoritesService, OpenApiService } from '../../services'; -import { Logger } from '../../logger'; -import { IUnleashConfig, IUnleashServices, NONE } from '../../types'; +import type { FavoritesService, OpenApiService } from '../../services'; +import type { Logger } from '../../logger'; +import { type IUnleashConfig, type IUnleashServices, NONE } from '../../types'; import { emptyResponse, getStandardResponses } from '../../openapi'; -import { IAuthRequest } from '../unleash-types'; +import type { IAuthRequest } from '../unleash-types'; export default class FavoritesController extends Controller { private favoritesService: FavoritesService; diff --git a/src/lib/routes/admin-api/feature-type.ts b/src/lib/routes/admin-api/feature-type.ts index ef573df0ded..0c020f3c637 100644 --- a/src/lib/routes/admin-api/feature-type.ts +++ b/src/lib/routes/admin-api/feature-type.ts @@ -1,25 +1,25 @@ -import { Request, Response } from 'express'; -import { IUnleashServices } from '../../types/services'; -import FeatureTypeService from '../../services/feature-type-service'; -import { Logger } from '../../logger'; -import { IUnleashConfig } from '../../types/option'; -import { OpenApiService } from '../../services/openapi-service'; +import type { Request, Response } from 'express'; +import type { IUnleashServices } from '../../types/services'; +import type FeatureTypeService from '../../services/feature-type-service'; +import type { Logger } from '../../logger'; +import type { IUnleashConfig } from '../../types/option'; +import type { OpenApiService } from '../../services/openapi-service'; import { ADMIN, NONE } from '../../types/permissions'; import { featureTypesSchema, - FeatureTypesSchema, + type FeatureTypesSchema, } from '../../openapi/spec/feature-types-schema'; import { createResponseSchema } from '../../openapi/util/create-response-schema'; import Controller from '../controller'; import { createRequestSchema, featureTypeSchema, - FeatureTypeSchema, + type FeatureTypeSchema, getStandardResponses, - UpdateFeatureTypeLifetimeSchema, + type UpdateFeatureTypeLifetimeSchema, } from '../../openapi'; -import { IAuthRequest } from '../unleash-types'; -import { IFlagResolver } from '../../types'; +import type { IAuthRequest } from '../unleash-types'; +import type { IFlagResolver } from '../../types'; const version = 1; diff --git a/src/lib/routes/admin-api/index.ts b/src/lib/routes/admin-api/index.ts index 20f1ca02438..0feffdcbf0d 100644 --- a/src/lib/routes/admin-api/index.ts +++ b/src/lib/routes/admin-api/index.ts @@ -1,5 +1,5 @@ import Controller from '../controller'; -import { IUnleashServices, IUnleashConfig } from '../../types'; +import type { IUnleashServices, IUnleashConfig } from '../../types'; import FeatureController from '../../features/feature-toggle/legacy/feature-toggle-legacy-controller'; import { FeatureTypeController } from './feature-type'; import ArchiveController from '../../features/feature-toggle/archive-feature-toggle-controller'; @@ -30,7 +30,7 @@ import TelemetryController from './telemetry'; import FavoritesController from './favorites'; import MaintenanceController from '../../features/maintenance/maintenance-controller'; import { createKnexTransactionStarter } from '../../db/transaction'; -import { Db } from '../../db/db'; +import type { Db } from '../../db/db'; import ExportImportController from '../../features/export-import-toggles/export-import-controller'; import { SegmentsController } from '../../features/segment/segment-controller'; import FeatureSearchController from '../../features/feature-search/feature-search-controller'; diff --git a/src/lib/routes/admin-api/instance-admin.ts b/src/lib/routes/admin-api/instance-admin.ts index be6f6ae2d98..42f2db72f5f 100644 --- a/src/lib/routes/admin-api/instance-admin.ts +++ b/src/lib/routes/admin-api/instance-admin.ts @@ -1,16 +1,16 @@ import { Parser } from 'json2csv'; -import { Response } from 'express'; -import { AuthedRequest } from '../../types/core'; -import { IUnleashServices } from '../../types/services'; -import { IUnleashConfig } from '../../types/option'; +import type { Response } from 'express'; +import type { AuthedRequest } from '../../types/core'; +import type { IUnleashServices } from '../../types/services'; +import type { IUnleashConfig } from '../../types/option'; import Controller from '../controller'; import { NONE } from '../../types/permissions'; -import { UiConfigSchema } from '../../openapi/spec/ui-config-schema'; -import { +import type { UiConfigSchema } from '../../openapi/spec/ui-config-schema'; +import type { InstanceStatsService, InstanceStatsSigned, } from '../../features/instance-stats/instance-stats-service'; -import { OpenApiService } from '../../services/openapi-service'; +import type { OpenApiService } from '../../services/openapi-service'; import { createCsvResponseSchema, createResponseSchema, diff --git a/src/lib/routes/admin-api/metrics.test.ts b/src/lib/routes/admin-api/metrics.test.ts index adb1f6a57f0..b450fd0c7f6 100644 --- a/src/lib/routes/admin-api/metrics.test.ts +++ b/src/lib/routes/admin-api/metrics.test.ts @@ -1,11 +1,11 @@ -import supertest, { Test } from 'supertest'; +import supertest, { type Test } from 'supertest'; import createStores from '../../../test/fixtures/store'; import permissions from '../../../test/fixtures/permissions'; import getApp from '../../app'; import { createTestConfig } from '../../../test/config/test-config'; import { createServices } from '../../services'; -import { IUnleashStores } from '../../types'; -import TestAgent from 'supertest/lib/agent'; +import type { IUnleashStores } from '../../types'; +import type TestAgent from 'supertest/lib/agent'; async function getSetup() { const stores = createStores(); diff --git a/src/lib/routes/admin-api/metrics.ts b/src/lib/routes/admin-api/metrics.ts index a7bf1ed4f93..754f384c5a3 100644 --- a/src/lib/routes/admin-api/metrics.ts +++ b/src/lib/routes/admin-api/metrics.ts @@ -1,37 +1,37 @@ -import { Request, Response } from 'express'; +import type { Request, Response } from 'express'; import Controller from '../controller'; import { NONE, UPDATE_APPLICATION } from '../../types/permissions'; -import { IUnleashConfig } from '../../types/option'; -import { IUnleashServices } from '../../types/services'; -import { Logger } from '../../logger'; -import ClientInstanceService from '../../features/metrics/instance/instance-service'; +import type { IUnleashConfig } from '../../types/option'; +import type { IUnleashServices } from '../../types/services'; +import type { Logger } from '../../logger'; +import type ClientInstanceService from '../../features/metrics/instance/instance-service'; import { createRequestSchema } from '../../openapi/util/create-request-schema'; import { createResponseSchema } from '../../openapi/util/create-response-schema'; -import { ApplicationSchema } from '../../openapi/spec/application-schema'; -import { ApplicationsSchema } from '../../openapi/spec/applications-schema'; +import type { ApplicationSchema } from '../../openapi/spec/application-schema'; +import type { ApplicationsSchema } from '../../openapi/spec/applications-schema'; import { emptyResponse, getStandardResponses, } from '../../openapi/util/standard-responses'; -import { CreateApplicationSchema } from '../../openapi/spec/create-application-schema'; -import { IAuthRequest } from '../unleash-types'; +import type { CreateApplicationSchema } from '../../openapi/spec/create-application-schema'; +import type { IAuthRequest } from '../unleash-types'; import { extractUserIdFromUser } from '../../util'; -import { IFlagResolver, serializeDates } from '../../types'; +import { type IFlagResolver, serializeDates } from '../../types'; import { NotFoundError } from '../../error'; import { - ApplicationOverviewSchema, + type ApplicationOverviewSchema, applicationOverviewSchema, } from '../../openapi/spec/application-overview-schema'; -import { OpenApiService } from '../../services'; +import type { OpenApiService } from '../../services'; import { applicationsQueryParameters } from '../../openapi/spec/applications-query-parameters'; import { normalizeQueryParams } from '../../features/feature-search/search-utils'; import { applicationEnvironmentInstancesSchema, - ApplicationEnvironmentInstancesSchema, + type ApplicationEnvironmentInstancesSchema, } from '../../openapi/spec/application-environment-instances-schema'; import { outdatedSdksSchema, - OutdatedSdksSchema, + type OutdatedSdksSchema, } from '../../openapi/spec/outdated-sdks-schema'; class MetricsController extends Controller { diff --git a/src/lib/routes/admin-api/project/api-token.ts b/src/lib/routes/admin-api/project/api-token.ts index 1497cebbdc6..06016ad8a47 100644 --- a/src/lib/routes/admin-api/project/api-token.ts +++ b/src/lib/routes/admin-api/project/api-token.ts @@ -1,7 +1,7 @@ import { - ApiTokenSchema, + type ApiTokenSchema, apiTokenSchema, - ApiTokensSchema, + type ApiTokensSchema, apiTokensSchema, createRequestSchema, createResponseSchema, @@ -9,18 +9,18 @@ import { resourceCreatedResponseSchema, } from '../../../openapi'; import { getStandardResponses } from '../../../openapi/util/standard-responses'; -import { IUser } from '../../../types/user'; +import type { IUser } from '../../../types/user'; import { ADMIN, CREATE_PROJECT_API_TOKEN, DELETE_PROJECT_API_TOKEN, - IUnleashConfig, - IUnleashServices, + type IUnleashConfig, + type IUnleashServices, READ_PROJECT_API_TOKEN, serializeDates, } from '../../../types'; -import { ApiTokenType, IApiToken } from '../../../types/models/api-token'; -import { +import { ApiTokenType, type IApiToken } from '../../../types/models/api-token'; +import type { AccessService, ApiTokenService, OpenApiService, @@ -28,10 +28,10 @@ import { FrontendApiService, } from '../../../services'; import { extractUserId, extractUsername } from '../../../util'; -import { IAuthRequest } from '../../unleash-types'; +import type { IAuthRequest } from '../../unleash-types'; import Controller from '../../controller'; -import { Logger } from '../../../logger'; -import { Response } from 'express'; +import type { Logger } from '../../../logger'; +import type { Response } from 'express'; import { timingSafeEqual } from 'crypto'; import { createApiToken } from '../../../schema/api-token-schema'; import { OperationDeniedError } from '../../../error'; diff --git a/src/lib/routes/admin-api/project/health-report.ts b/src/lib/routes/admin-api/project/health-report.ts index c3a3b350f01..cf5d405602e 100644 --- a/src/lib/routes/admin-api/project/health-report.ts +++ b/src/lib/routes/admin-api/project/health-report.ts @@ -1,18 +1,18 @@ -import { Request, Response } from 'express'; +import type { Request, Response } from 'express'; import Controller from '../../controller'; -import { IUnleashServices } from '../../../types/services'; -import { IUnleashConfig } from '../../../types/option'; -import ProjectHealthService from '../../../services/project-health-service'; -import { Logger } from '../../../logger'; -import { IProjectParam } from '../../../types/model'; +import type { IUnleashServices } from '../../../types/services'; +import type { IUnleashConfig } from '../../../types/option'; +import type ProjectHealthService from '../../../services/project-health-service'; +import type { Logger } from '../../../logger'; +import type { IProjectParam } from '../../../types/model'; import { NONE } from '../../../types/permissions'; -import { OpenApiService } from '../../../services/openapi-service'; +import type { OpenApiService } from '../../../services/openapi-service'; import { createResponseSchema } from '../../../openapi/util/create-response-schema'; import { getStandardResponses } from '../../../openapi/util/standard-responses'; import { serializeDates } from '../../../types/serialize-dates'; import { healthReportSchema, - HealthReportSchema, + type HealthReportSchema, } from '../../../openapi/spec/health-report-schema'; export default class ProjectHealthReport extends Controller { diff --git a/src/lib/routes/admin-api/project/project-archive.ts b/src/lib/routes/admin-api/project/project-archive.ts index 63f2d1730df..cc607821668 100644 --- a/src/lib/routes/admin-api/project/project-archive.ts +++ b/src/lib/routes/admin-api/project/project-archive.ts @@ -1,28 +1,28 @@ -import { Response } from 'express'; -import { IUnleashConfig } from '../../../types/option'; +import type { Response } from 'express'; +import type { IUnleashConfig } from '../../../types/option'; import { - IFlagResolver, - IProjectParam, - IUnleashServices, + type IFlagResolver, + type IProjectParam, + type IUnleashServices, UPDATE_FEATURE, } from '../../../types'; -import { Logger } from '../../../logger'; +import type { Logger } from '../../../logger'; import { extractUsername } from '../../../util/extract-user'; import { DELETE_FEATURE } from '../../../types/permissions'; -import FeatureToggleService from '../../../features/feature-toggle/feature-toggle-service'; -import { IAuthRequest } from '../../unleash-types'; -import { OpenApiService } from '../../../services/openapi-service'; +import type FeatureToggleService from '../../../features/feature-toggle/feature-toggle-service'; +import type { IAuthRequest } from '../../unleash-types'; +import type { OpenApiService } from '../../../services/openapi-service'; import { emptyResponse, getStandardResponses, } from '../../../openapi/util/standard-responses'; import { - BatchFeaturesSchema, + type BatchFeaturesSchema, createRequestSchema, createResponseSchema, } from '../../../openapi'; import Controller from '../../controller'; -import { +import type { TransactionCreator, UnleashTransaction, } from '../../../db/transaction'; diff --git a/src/lib/routes/admin-api/project/variants.ts b/src/lib/routes/admin-api/project/variants.ts index ae4b11c6a78..980cdeda181 100644 --- a/src/lib/routes/admin-api/project/variants.ts +++ b/src/lib/routes/admin-api/project/variants.ts @@ -1,25 +1,25 @@ -import FeatureToggleService from '../../../features/feature-toggle/feature-toggle-service'; -import { Logger } from '../../../logger'; +import type FeatureToggleService from '../../../features/feature-toggle/feature-toggle-service'; +import type { Logger } from '../../../logger'; import Controller from '../../controller'; -import { IUnleashConfig } from '../../../types/option'; -import { IUnleashServices } from '../../../types'; -import { Request, Response } from 'express'; -import { Operation } from 'fast-json-patch'; +import type { IUnleashConfig } from '../../../types/option'; +import type { IUnleashServices } from '../../../types'; +import type { Request, Response } from 'express'; +import type { Operation } from 'fast-json-patch'; import { NONE, UPDATE_FEATURE_ENVIRONMENT_VARIANTS, UPDATE_FEATURE_VARIANTS, } from '../../../types/permissions'; -import { IVariant, WeightType } from '../../../types/model'; +import { type IVariant, WeightType } from '../../../types/model'; import { extractUsername } from '../../../util/extract-user'; -import { IAuthRequest } from '../../unleash-types'; -import { FeatureVariantsSchema } from '../../../openapi/spec/feature-variants-schema'; +import type { IAuthRequest } from '../../unleash-types'; +import type { FeatureVariantsSchema } from '../../../openapi/spec/feature-variants-schema'; import { createRequestSchema } from '../../../openapi/util/create-request-schema'; import { createResponseSchema } from '../../../openapi/util/create-response-schema'; -import { AccessService } from '../../../services'; +import type { AccessService } from '../../../services'; import { BadDataError, PermissionError } from '../../../../lib/error'; -import { IUser } from '../../../server-impl'; -import { PushVariantsSchema } from '../../../openapi/spec/push-variants-schema'; +import type { IUser } from '../../../server-impl'; +import type { PushVariantsSchema } from '../../../openapi/spec/push-variants-schema'; import { getStandardResponses } from '../../../openapi'; const PREFIX = '/:projectId/features/:featureName/variants'; diff --git a/src/lib/routes/admin-api/public-signup.test.ts b/src/lib/routes/admin-api/public-signup.test.ts index bc2d9156ecf..c1adf6016c2 100644 --- a/src/lib/routes/admin-api/public-signup.test.ts +++ b/src/lib/routes/admin-api/public-signup.test.ts @@ -2,11 +2,11 @@ import createStores from '../../../test/fixtures/store'; import { createTestConfig } from '../../../test/config/test-config'; import { createServices } from '../../services'; import getApp from '../../app'; -import supertest, { Test } from 'supertest'; +import supertest, { type Test } from 'supertest'; import permissions from '../../../test/fixtures/permissions'; import { RoleName, RoleType } from '../../types/model'; -import { IUnleashStores } from '../../types'; -import TestAgent from 'supertest/lib/agent'; +import type { IUnleashStores } from '../../types'; +import type TestAgent from 'supertest/lib/agent'; describe('Public Signup API', () => { async function getSetup() { diff --git a/src/lib/routes/admin-api/public-signup.ts b/src/lib/routes/admin-api/public-signup.ts index efefd19e6d8..eccc47c8929 100644 --- a/src/lib/routes/admin-api/public-signup.ts +++ b/src/lib/routes/admin-api/public-signup.ts @@ -1,32 +1,32 @@ -import { Response } from 'express'; +import type { Response } from 'express'; import Controller from '../controller'; import { ADMIN, - IUnleashConfig, - IUnleashServices, + type IUnleashConfig, + type IUnleashServices, serializeDates, } from '../../types'; -import { Logger } from '../../logger'; -import { +import type { Logger } from '../../logger'; +import type { AccessService, OpenApiService, PublicSignupTokenService, } from '../../services'; -import { IAuthRequest } from '../unleash-types'; +import type { IAuthRequest } from '../unleash-types'; import { createRequestSchema, createResponseSchema, getStandardResponses, - PublicSignupTokenCreateSchema, + type PublicSignupTokenCreateSchema, publicSignupTokenSchema, - PublicSignupTokenSchema, + type PublicSignupTokenSchema, publicSignupTokensSchema, - PublicSignupTokensSchema, - PublicSignupTokenUpdateSchema, + type PublicSignupTokensSchema, + type PublicSignupTokenUpdateSchema, resourceCreatedResponseSchema, } from '../../openapi'; -import UserService from '../../services/user-service'; +import type UserService from '../../services/user-service'; import { extractUsername } from '../../util'; interface TokenParam { diff --git a/src/lib/routes/admin-api/state.ts b/src/lib/routes/admin-api/state.ts index 7b513bca5c2..a0d300bef8d 100644 --- a/src/lib/routes/admin-api/state.ts +++ b/src/lib/routes/admin-api/state.ts @@ -2,24 +2,24 @@ import * as mime from 'mime'; import YAML from 'js-yaml'; import multer from 'multer'; import { format as formatDate } from 'date-fns'; -import { Request, Response } from 'express'; +import type { Request, Response } from 'express'; import Controller from '../controller'; import { ADMIN } from '../../types/permissions'; import { extractUsername } from '../../util/extract-user'; -import { IUnleashConfig } from '../../types/option'; -import { IUnleashServices } from '../../types/services'; -import { Logger } from '../../logger'; -import StateService from '../../services/state-service'; -import { IAuthRequest } from '../unleash-types'; -import { OpenApiService } from '../../services/openapi-service'; +import type { IUnleashConfig } from '../../types/option'; +import type { IUnleashServices } from '../../types/services'; +import type { Logger } from '../../logger'; +import type StateService from '../../services/state-service'; +import type { IAuthRequest } from '../unleash-types'; +import type { OpenApiService } from '../../services/openapi-service'; import { createRequestSchema } from '../../openapi/util/create-request-schema'; import { createResponseSchema } from '../../openapi/util/create-response-schema'; import { exportQueryParameters, - ExportQueryParameters, + type ExportQueryParameters, } from '../../openapi/spec/export-query-parameters'; import { emptyResponse } from '../../openapi/util/standard-responses'; -import { OpenAPIV3 } from 'openapi-types'; +import type { OpenAPIV3 } from 'openapi-types'; const upload = multer({ limits: { fileSize: 5242880 } }); const paramToBool = (param, def) => { diff --git a/src/lib/routes/admin-api/strategy.ts b/src/lib/routes/admin-api/strategy.ts index 652a7fa0a6c..d91a1f39c4d 100644 --- a/src/lib/routes/admin-api/strategy.ts +++ b/src/lib/routes/admin-api/strategy.ts @@ -1,7 +1,7 @@ -import { IUnleashConfig } from '../../types/option'; -import { IUnleashServices } from '../../types/services'; -import StrategyService from '../../services/strategy-service'; -import { Logger } from '../../logger'; +import type { IUnleashConfig } from '../../types/option'; +import type { IUnleashServices } from '../../types/services'; +import type StrategyService from '../../services/strategy-service'; +import type { Logger } from '../../logger'; import Controller from '../controller'; import { extractUsername } from '../../util/extract-user'; import { @@ -10,9 +10,9 @@ import { UPDATE_STRATEGY, NONE, } from '../../types/permissions'; -import { Request, Response } from 'express'; -import { IAuthRequest } from '../unleash-types'; -import { OpenApiService } from '../../services/openapi-service'; +import type { Request, Response } from 'express'; +import type { IAuthRequest } from '../unleash-types'; +import type { OpenApiService } from '../../services/openapi-service'; import { emptyResponse, getStandardResponses, @@ -24,14 +24,14 @@ import { } from '../../openapi/util/create-response-schema'; import { strategySchema, - StrategySchema, + type StrategySchema, } from '../../openapi/spec/strategy-schema'; import { strategiesSchema, - StrategiesSchema, + type StrategiesSchema, } from '../../openapi/spec/strategies-schema'; -import { CreateStrategySchema } from '../../openapi/spec/create-strategy-schema'; -import { UpdateStrategySchema } from '../../openapi/spec/update-strategy-schema'; +import type { CreateStrategySchema } from '../../openapi/spec/create-strategy-schema'; +import type { UpdateStrategySchema } from '../../openapi/spec/update-strategy-schema'; const version = 1; diff --git a/src/lib/routes/admin-api/tag.test.ts b/src/lib/routes/admin-api/tag.test.ts index e12b713096c..41cd2759365 100644 --- a/src/lib/routes/admin-api/tag.test.ts +++ b/src/lib/routes/admin-api/tag.test.ts @@ -1,11 +1,11 @@ -import supertest, { Test } from 'supertest'; +import supertest, { type Test } from 'supertest'; import createStores from '../../../test/fixtures/store'; import permissions from '../../../test/fixtures/permissions'; import getApp from '../../app'; import { createTestConfig } from '../../../test/config/test-config'; import { createServices } from '../../services'; -import { ITagStore } from '../../types'; -import TestAgent from 'supertest/lib/agent'; +import type { ITagStore } from '../../types'; +import type TestAgent from 'supertest/lib/agent'; async function getSetup() { const base = `/random${Math.round(Math.random() * 1000)}`; diff --git a/src/lib/routes/admin-api/tag.ts b/src/lib/routes/admin-api/tag.ts index 719ad472bba..bd9a3a52e52 100644 --- a/src/lib/routes/admin-api/tag.ts +++ b/src/lib/routes/admin-api/tag.ts @@ -1,32 +1,32 @@ -import { Request, Response } from 'express'; -import { IUnleashConfig } from '../../types/option'; -import { IUnleashServices } from '../../types/services'; -import TagService from '../../services/tag-service'; -import { Logger } from '../../logger'; +import type { Request, Response } from 'express'; +import type { IUnleashConfig } from '../../types/option'; +import type { IUnleashServices } from '../../types/services'; +import type TagService from '../../services/tag-service'; +import type { Logger } from '../../logger'; import Controller from '../controller'; import { NONE, UPDATE_FEATURE } from '../../types/permissions'; import { extractUsername } from '../../util/extract-user'; -import { IAuthRequest } from '../unleash-types'; +import type { IAuthRequest } from '../unleash-types'; import { createRequestSchema } from '../../openapi/util/create-request-schema'; import { createResponseSchema, resourceCreatedResponseSchema, } from '../../openapi/util/create-response-schema'; -import { tagsSchema, TagsSchema } from '../../openapi/spec/tags-schema'; -import { TagSchema } from '../../openapi/spec/tag-schema'; -import { OpenApiService } from '../../services/openapi-service'; +import { tagsSchema, type TagsSchema } from '../../openapi/spec/tags-schema'; +import type { TagSchema } from '../../openapi/spec/tag-schema'; +import type { OpenApiService } from '../../services/openapi-service'; import { tagWithVersionSchema, - TagWithVersionSchema, + type TagWithVersionSchema, } from '../../openapi/spec/tag-with-version-schema'; import { emptyResponse, getStandardResponses, } from '../../openapi/util/standard-responses'; -import FeatureTagService from '../../services/feature-tag-service'; -import { IFlagResolver } from '../../types'; +import type FeatureTagService from '../../services/feature-tag-service'; +import type { IFlagResolver } from '../../types'; const version = 1; diff --git a/src/lib/routes/admin-api/telemetry.ts b/src/lib/routes/admin-api/telemetry.ts index 4f1a026fb09..aaa26a1e54b 100644 --- a/src/lib/routes/admin-api/telemetry.ts +++ b/src/lib/routes/admin-api/telemetry.ts @@ -1,14 +1,14 @@ -import { Response } from 'express'; -import { OpenApiService } from '../../services'; -import { IAuthRequest } from '../unleash-types'; -import { IUnleashConfig } from '../../types/option'; +import type { Response } from 'express'; +import type { OpenApiService } from '../../services'; +import type { IAuthRequest } from '../unleash-types'; +import type { IUnleashConfig } from '../../types/option'; import Controller from '../controller'; import { NONE } from '../../types/permissions'; -import { IUnleashServices } from '../../types'; +import type { IUnleashServices } from '../../types'; import { createResponseSchema } from '../../openapi/util/create-response-schema'; import { telemetrySettingsSchema, - TelemetrySettingsSchema, + type TelemetrySettingsSchema, } from '../../openapi/spec/telemetry-settings-schema'; class TelemetryController extends Controller { diff --git a/src/lib/routes/admin-api/user-admin.ts b/src/lib/routes/admin-api/user-admin.ts index 4c6826adb88..7aaf145b3df 100644 --- a/src/lib/routes/admin-api/user-admin.ts +++ b/src/lib/routes/admin-api/user-admin.ts @@ -1,62 +1,62 @@ -import { Request, Response } from 'express'; +import type { Request, Response } from 'express'; import Controller from '../controller'; import { ADMIN, NONE } from '../../types/permissions'; -import UserService from '../../services/user-service'; -import { AccountService } from '../../services/account-service'; -import { AccessService } from '../../services/access-service'; -import { Logger } from '../../logger'; -import { IUnleashConfig, IUnleashServices, RoleName } from '../../types'; -import { EmailService } from '../../services/email-service'; -import ResetTokenService from '../../services/reset-token-service'; -import { IAuthRequest } from '../unleash-types'; -import SettingService from '../../services/setting-service'; -import { IUser, SimpleAuthSettings } from '../../server-impl'; +import type UserService from '../../services/user-service'; +import type { AccountService } from '../../services/account-service'; +import type { AccessService } from '../../services/access-service'; +import type { Logger } from '../../logger'; +import type { IUnleashConfig, IUnleashServices, RoleName } from '../../types'; +import type { EmailService } from '../../services/email-service'; +import type ResetTokenService from '../../services/reset-token-service'; +import type { IAuthRequest } from '../unleash-types'; +import type SettingService from '../../services/setting-service'; +import type { IUser, SimpleAuthSettings } from '../../server-impl'; import { simpleAuthSettingsKey } from '../../types/settings/simple-auth-settings'; import { anonymise } from '../../util/anonymise'; -import { OpenApiService } from '../../services/openapi-service'; +import type { OpenApiService } from '../../services/openapi-service'; import { createRequestSchema } from '../../openapi/util/create-request-schema'; import { createResponseSchema, resourceCreatedResponseSchema, } from '../../openapi/util/create-response-schema'; -import { userSchema, UserSchema } from '../../openapi/spec/user-schema'; +import { userSchema, type UserSchema } from '../../openapi/spec/user-schema'; import { serializeDates } from '../../types/serialize-dates'; -import { usersSchema, UsersSchema } from '../../openapi/spec/users-schema'; +import { usersSchema, type UsersSchema } from '../../openapi/spec/users-schema'; import { usersSearchSchema, - UsersSearchSchema, + type UsersSearchSchema, } from '../../openapi/spec/users-search-schema'; -import { CreateUserSchema } from '../../openapi/spec/create-user-schema'; -import { UpdateUserSchema } from '../../openapi/spec/update-user-schema'; -import { PasswordSchema } from '../../openapi/spec/password-schema'; -import { IdSchema } from '../../openapi/spec/id-schema'; +import type { CreateUserSchema } from '../../openapi/spec/create-user-schema'; +import type { UpdateUserSchema } from '../../openapi/spec/update-user-schema'; +import type { PasswordSchema } from '../../openapi/spec/password-schema'; +import type { IdSchema } from '../../openapi/spec/id-schema'; import { resetPasswordSchema, - ResetPasswordSchema, + type ResetPasswordSchema, } from '../../openapi/spec/reset-password-schema'; import { emptyResponse, getStandardResponses, } from '../../openapi/util/standard-responses'; -import { GroupService } from '../../services/group-service'; +import type { GroupService } from '../../services/group-service'; import { - UsersGroupsBaseSchema, + type UsersGroupsBaseSchema, usersGroupsBaseSchema, } from '../../openapi/spec/users-groups-base-schema'; -import { IGroup } from '../../types/group'; -import { IFlagResolver } from '../../types/experimental'; +import type { IGroup } from '../../types/group'; +import type { IFlagResolver } from '../../types/experimental'; import rateLimit from 'express-rate-limit'; import { minutesToMilliseconds } from 'date-fns'; import { - AdminCountSchema, + type AdminCountSchema, adminCountSchema, } from '../../openapi/spec/admin-count-schema'; import { BadDataError } from '../../error'; import { createUserResponseSchema, - CreateUserResponseSchema, + type CreateUserResponseSchema, } from '../../openapi/spec/create-user-response-schema'; -import { IRoleWithPermissions } from '../../types/stores/access-store'; +import type { IRoleWithPermissions } from '../../types/stores/access-store'; export default class UserAdminController extends Controller { private flagResolver: IFlagResolver; diff --git a/src/lib/routes/admin-api/user-feedback.ts b/src/lib/routes/admin-api/user-feedback.ts index abed606e874..3111313581d 100644 --- a/src/lib/routes/admin-api/user-feedback.ts +++ b/src/lib/routes/admin-api/user-feedback.ts @@ -1,15 +1,15 @@ -import { Response } from 'express'; +import type { Response } from 'express'; import Controller from '../controller'; -import { Logger } from '../../logger'; -import { IUnleashConfig } from '../../types/option'; -import { IUnleashServices } from '../../types/services'; -import UserFeedbackService from '../../services/user-feedback-service'; -import { IAuthRequest } from '../unleash-types'; +import type { Logger } from '../../logger'; +import type { IUnleashConfig } from '../../types/option'; +import type { IUnleashServices } from '../../types/services'; +import type UserFeedbackService from '../../services/user-feedback-service'; +import type { IAuthRequest } from '../unleash-types'; import { NONE } from '../../types/permissions'; -import { OpenApiService } from '../../services/openapi-service'; -import { FeedbackCreateSchema } from '../../openapi/spec/feedback-create-schema'; -import { FeedbackUpdateSchema } from '../../openapi/spec/feedback-update-schema'; -import { FeedbackResponseSchema } from '../../openapi/spec/feedback-response-schema'; +import type { OpenApiService } from '../../services/openapi-service'; +import type { FeedbackCreateSchema } from '../../openapi/spec/feedback-create-schema'; +import type { FeedbackUpdateSchema } from '../../openapi/spec/feedback-update-schema'; +import type { FeedbackResponseSchema } from '../../openapi/spec/feedback-response-schema'; import { serializeDates } from '../../types/serialize-dates'; import { parseISO } from 'date-fns'; import { createRequestSchema } from '../../openapi/util/create-request-schema'; diff --git a/src/lib/routes/admin-api/user-splash.ts b/src/lib/routes/admin-api/user-splash.ts index 2b257dfe0e5..2e12fb57675 100644 --- a/src/lib/routes/admin-api/user-splash.ts +++ b/src/lib/routes/admin-api/user-splash.ts @@ -1,16 +1,16 @@ -import { Response } from 'express'; +import type { Response } from 'express'; import Controller from '../controller'; -import { Logger } from '../../logger'; -import { IUnleashConfig } from '../../types/option'; -import { IUnleashServices } from '../../types/services'; -import UserSplashService from '../../services/user-splash-service'; -import { IAuthRequest } from '../unleash-types'; +import type { Logger } from '../../logger'; +import type { IUnleashConfig } from '../../types/option'; +import type { IUnleashServices } from '../../types/services'; +import type UserSplashService from '../../services/user-splash-service'; +import type { IAuthRequest } from '../unleash-types'; import { NONE } from '../../types/permissions'; -import { OpenApiService } from '../../services/openapi-service'; +import type { OpenApiService } from '../../services/openapi-service'; import { createResponseSchema } from '../../openapi/util/create-response-schema'; import { splashRequestSchema } from '../../openapi/spec/splash-request-schema'; import { getStandardResponses } from '../../openapi'; -import { SplashResponseSchema } from '../../openapi/spec/splash-response-schema'; +import type { SplashResponseSchema } from '../../openapi/spec/splash-response-schema'; class UserSplashController extends Controller { private logger: Logger; diff --git a/src/lib/routes/admin-api/user/pat.ts b/src/lib/routes/admin-api/user/pat.ts index c953c86e771..b56abae1167 100644 --- a/src/lib/routes/admin-api/user/pat.ts +++ b/src/lib/routes/admin-api/user/pat.ts @@ -1,7 +1,7 @@ -import { Response } from 'express'; +import type { Response } from 'express'; import Controller from '../../controller'; -import { Logger } from '../../../logger'; -import { +import type { Logger } from '../../../logger'; +import type { IFlagResolver, IUnleashConfig, IUnleashServices, @@ -12,17 +12,17 @@ import { resourceCreatedResponseSchema, } from '../../../openapi/util/create-response-schema'; import { getStandardResponses } from '../../../openapi/util/standard-responses'; -import { OpenApiService } from '../../../services/openapi-service'; +import type { OpenApiService } from '../../../services/openapi-service'; import { emptyResponse } from '../../../openapi/util/standard-responses'; -import PatService from '../../../services/pat-service'; +import type PatService from '../../../services/pat-service'; import { NONE } from '../../../types/permissions'; -import { IAuthRequest } from '../../unleash-types'; +import type { IAuthRequest } from '../../unleash-types'; import { serializeDates } from '../../../types/serialize-dates'; -import { PatSchema, patSchema } from '../../../openapi/spec/pat-schema'; -import { PatsSchema, patsSchema } from '../../../openapi/spec/pats-schema'; +import { type PatSchema, patSchema } from '../../../openapi/spec/pat-schema'; +import { type PatsSchema, patsSchema } from '../../../openapi/spec/pats-schema'; import { - CreatePatSchema, + type CreatePatSchema, createPatSchema, } from '../../../openapi/spec/create-pat-schema'; import { ForbiddenError, NotFoundError } from '../../../error'; diff --git a/src/lib/routes/admin-api/user/user.ts b/src/lib/routes/admin-api/user/user.ts index e5286f3e62a..8fec2cff138 100644 --- a/src/lib/routes/admin-api/user/user.ts +++ b/src/lib/routes/admin-api/user/user.ts @@ -1,30 +1,33 @@ -import { Response } from 'express'; -import { IAuthRequest } from '../../unleash-types'; +import type { Response } from 'express'; +import type { IAuthRequest } from '../../unleash-types'; import Controller from '../../controller'; -import { AccessService } from '../../../services/access-service'; -import { IAuthType, IUnleashConfig } from '../../../types/option'; -import { IUnleashServices } from '../../../types/services'; -import UserService from '../../../services/user-service'; -import UserFeedbackService from '../../../services/user-feedback-service'; -import UserSplashService from '../../../services/user-splash-service'; +import type { AccessService } from '../../../services/access-service'; +import { IAuthType, type IUnleashConfig } from '../../../types/option'; +import type { IUnleashServices } from '../../../types/services'; +import type UserService from '../../../services/user-service'; +import type UserFeedbackService from '../../../services/user-feedback-service'; +import type UserSplashService from '../../../services/user-splash-service'; import { ADMIN, NONE } from '../../../types/permissions'; -import { OpenApiService } from '../../../services/openapi-service'; +import type { OpenApiService } from '../../../services/openapi-service'; import { createRequestSchema } from '../../../openapi/util/create-request-schema'; import { createResponseSchema } from '../../../openapi/util/create-response-schema'; -import { meSchema, MeSchema } from '../../../openapi/spec/me-schema'; +import { meSchema, type MeSchema } from '../../../openapi/spec/me-schema'; import { serializeDates } from '../../../types/serialize-dates'; -import { IUserPermission } from '../../../types/stores/access-store'; -import { PasswordSchema } from '../../../openapi/spec/password-schema'; +import type { IUserPermission } from '../../../types/stores/access-store'; +import type { PasswordSchema } from '../../../openapi/spec/password-schema'; import { emptyResponse, getStandardResponses, } from '../../../openapi/util/standard-responses'; import { profileSchema, - ProfileSchema, + type ProfileSchema, } from '../../../openapi/spec/profile-schema'; -import ProjectService from '../../../features/project/project-service'; -import { rolesSchema, RolesSchema } from '../../../openapi/spec/roles-schema'; +import type ProjectService from '../../../features/project/project-service'; +import { + rolesSchema, + type RolesSchema, +} from '../../../openapi/spec/roles-schema'; class UserController extends Controller { private accessService: AccessService; diff --git a/src/lib/routes/auth/reset-password-controller.ts b/src/lib/routes/auth/reset-password-controller.ts index 28911acd4aa..5ac9ddab5d9 100644 --- a/src/lib/routes/auth/reset-password-controller.ts +++ b/src/lib/routes/auth/reset-password-controller.ts @@ -1,18 +1,18 @@ -import { Request, Response } from 'express'; +import type { Request, Response } from 'express'; import Controller from '../controller'; -import UserService from '../../services/user-service'; -import { Logger } from '../../logger'; -import { IUnleashConfig } from '../../types/option'; -import { IUnleashServices } from '../../types'; +import type UserService from '../../services/user-service'; +import type { Logger } from '../../logger'; +import type { IUnleashConfig } from '../../types/option'; +import type { IUnleashServices } from '../../types'; import { NONE } from '../../types/permissions'; import { createRequestSchema } from '../../openapi/util/create-request-schema'; import { createResponseSchema } from '../../openapi/util/create-response-schema'; -import { OpenApiService } from '../../services/openapi-service'; +import type { OpenApiService } from '../../services/openapi-service'; import { tokenUserSchema, - TokenUserSchema, + type TokenUserSchema, } from '../../openapi/spec/token-user-schema'; -import { EmailSchema } from '../../openapi/spec/email-schema'; +import type { EmailSchema } from '../../openapi/spec/email-schema'; import { emptyResponse, getStandardResponses, diff --git a/src/lib/routes/auth/simple-password-provider.ts b/src/lib/routes/auth/simple-password-provider.ts index 80dec1a2c9a..a3a45b00eba 100644 --- a/src/lib/routes/auth/simple-password-provider.ts +++ b/src/lib/routes/auth/simple-password-provider.ts @@ -1,16 +1,16 @@ -import { Response } from 'express'; -import { OpenApiService } from '../../services/openapi-service'; -import { Logger } from '../../logger'; -import { IUnleashConfig } from '../../server-impl'; -import UserService from '../../services/user-service'; -import { IUnleashServices } from '../../types'; +import type { Response } from 'express'; +import type { OpenApiService } from '../../services/openapi-service'; +import type { Logger } from '../../logger'; +import type { IUnleashConfig } from '../../server-impl'; +import type UserService from '../../services/user-service'; +import type { IUnleashServices } from '../../types'; import { NONE } from '../../types/permissions'; import Controller from '../controller'; -import { IAuthRequest } from '../unleash-types'; +import type { IAuthRequest } from '../unleash-types'; import { createRequestSchema } from '../../openapi/util/create-request-schema'; import { createResponseSchema } from '../../openapi/util/create-response-schema'; -import { userSchema, UserSchema } from '../../openapi/spec/user-schema'; -import { LoginSchema } from '../../openapi/spec/login-schema'; +import { userSchema, type UserSchema } from '../../openapi/spec/user-schema'; +import type { LoginSchema } from '../../openapi/spec/login-schema'; import { serializeDates } from '../../types/serialize-dates'; import { getStandardResponses } from '../../openapi'; diff --git a/src/lib/routes/backstage.ts b/src/lib/routes/backstage.ts index 7506b4ef9d5..a431c694fb7 100644 --- a/src/lib/routes/backstage.ts +++ b/src/lib/routes/backstage.ts @@ -3,7 +3,7 @@ import { tmpdir } from 'os'; import { join } from 'path'; import { register as prometheusRegister } from 'prom-client'; import Controller from './controller'; -import { IUnleashConfig } from '../types/option'; +import type { IUnleashConfig } from '../types/option'; class BackstageController extends Controller { logger: any; diff --git a/src/lib/routes/client-api/index.ts b/src/lib/routes/client-api/index.ts index 05d534c79ed..4e0ca309855 100644 --- a/src/lib/routes/client-api/index.ts +++ b/src/lib/routes/client-api/index.ts @@ -2,7 +2,7 @@ import Controller from '../controller'; import FeatureController from '../../features/client-feature-toggles/client-feature-toggle.controller'; import MetricsController from '../../features/metrics/instance/metrics'; import RegisterController from '../../features/metrics/instance/register'; -import { IUnleashConfig, IUnleashServices } from '../../types'; +import type { IUnleashConfig, IUnleashServices } from '../../types'; export default class ClientApi extends Controller { constructor(config: IUnleashConfig, services: IUnleashServices) { diff --git a/src/lib/routes/controller.ts b/src/lib/routes/controller.ts index a950bad0598..d9ba28aa2f6 100644 --- a/src/lib/routes/controller.ts +++ b/src/lib/routes/controller.ts @@ -1,22 +1,21 @@ -import { IRouter, Router, Request, Response, RequestHandler } from 'express'; -import { Logger } from '../logger'; -import { IUnleashConfig, NONE } from '../types'; +import { + type IRouter, + Router, + type Request, + type Response, + type RequestHandler, +} from 'express'; +import type { Logger } from '../logger'; +import { type IUnleashConfig, NONE } from '../types'; import { handleErrors } from './util'; import requireContentType from '../middleware/content_type_checker'; import { PermissionError } from '../error'; import { storeRequestedRoute } from '../middleware/response-time-metrics'; -interface IRequestHandler< - P = any, - ResBody = any, - ReqBody = any, - ReqQuery = any, -> { - ( - req: Request, - res: Response, - ): Promise | void; -} +type IRequestHandler

= ( + req: Request, + res: Response, +) => Promise | void; type Permission = string | string[]; diff --git a/src/lib/routes/edge-api/index.ts b/src/lib/routes/edge-api/index.ts index 5a532b5afb4..e6b39729d91 100644 --- a/src/lib/routes/edge-api/index.ts +++ b/src/lib/routes/edge-api/index.ts @@ -1,26 +1,30 @@ -import { Response } from 'express'; +import type { Response } from 'express'; import Controller from '../controller'; -import { IFlagResolver, IUnleashConfig, IUnleashServices } from '../../types'; -import { Logger } from '../../logger'; +import type { + IFlagResolver, + IUnleashConfig, + IUnleashServices, +} from '../../types'; +import type { Logger } from '../../logger'; import { NONE } from '../../types/permissions'; import { createResponseSchema } from '../../openapi/util/create-response-schema'; -import { IAuthRequest, RequestBody } from '../unleash-types'; +import type { IAuthRequest, RequestBody } from '../unleash-types'; import { createRequestSchema } from '../../openapi/util/create-request-schema'; import { validatedEdgeTokensSchema, - ValidatedEdgeTokensSchema, + type ValidatedEdgeTokensSchema, } from '../../openapi/spec/validated-edge-tokens-schema'; -import ClientInstanceService from '../../features/metrics/instance/instance-service'; -import EdgeService from '../../services/edge-service'; -import { OpenApiService } from '../../services/openapi-service'; +import type ClientInstanceService from '../../features/metrics/instance/instance-service'; +import type EdgeService from '../../services/edge-service'; +import type { OpenApiService } from '../../services/openapi-service'; import { emptyResponse, getStandardResponses, } from '../../openapi/util/standard-responses'; -import { BulkMetricsSchema } from '../../openapi/spec/bulk-metrics-schema'; -import ClientMetricsServiceV2 from '../../features/metrics/client-metrics/metrics-service-v2'; +import type { BulkMetricsSchema } from '../../openapi/spec/bulk-metrics-schema'; +import type ClientMetricsServiceV2 from '../../features/metrics/client-metrics/metrics-service-v2'; import { clientMetricsEnvBulkSchema } from '../../features/metrics/shared/schema'; -import { TokenStringListSchema } from '../../openapi'; +import type { TokenStringListSchema } from '../../openapi'; export default class EdgeController extends Controller { private readonly logger: Logger; diff --git a/src/lib/routes/health-check.test.ts b/src/lib/routes/health-check.test.ts index b2fb3e0d9d5..ef10bbe20d2 100644 --- a/src/lib/routes/health-check.test.ts +++ b/src/lib/routes/health-check.test.ts @@ -1,11 +1,11 @@ -import supertest, { Test } from 'supertest'; +import supertest, { type Test } from 'supertest'; import { createServices } from '../services'; import { createTestConfig } from '../../test/config/test-config'; import createStores from '../../test/fixtures/store'; import getLogger from '../../test/fixtures/no-logger'; import getApp from '../app'; -import TestAgent from 'supertest/lib/agent'; +import type TestAgent from 'supertest/lib/agent'; async function getSetup() { const stores = createStores(); diff --git a/src/lib/routes/health-check.ts b/src/lib/routes/health-check.ts index 440babafa73..7462b8517f8 100644 --- a/src/lib/routes/health-check.ts +++ b/src/lib/routes/health-check.ts @@ -1,13 +1,13 @@ -import { Request, Response } from 'express'; -import { IUnleashConfig } from '../types/option'; -import { IUnleashServices } from '../types/services'; -import { Logger } from '../logger'; -import { OpenApiService } from '../services/openapi-service'; +import type { Request, Response } from 'express'; +import type { IUnleashConfig } from '../types/option'; +import type { IUnleashServices } from '../types/services'; +import type { Logger } from '../logger'; +import type { OpenApiService } from '../services/openapi-service'; import Controller from './controller'; import { NONE } from '../types/permissions'; import { createResponseSchema } from '../openapi/util/create-response-schema'; -import { HealthCheckSchema } from '../openapi/spec/health-check-schema'; +import type { HealthCheckSchema } from '../openapi/spec/health-check-schema'; export class HealthCheckController extends Controller { private logger: Logger; diff --git a/src/lib/routes/index.ts b/src/lib/routes/index.ts index 886d71ba091..a6d92082ab4 100644 --- a/src/lib/routes/index.ts +++ b/src/lib/routes/index.ts @@ -1,7 +1,7 @@ import { BackstageController } from './backstage'; import ResetPasswordController from './auth/reset-password-controller'; import { SimplePasswordProvider } from './auth/simple-password-provider'; -import { IUnleashConfig, IUnleashServices } from '../types'; +import type { IUnleashConfig, IUnleashServices } from '../types'; import LogoutController from './logout'; import rateLimit from 'express-rate-limit'; import Controller from './controller'; @@ -12,7 +12,7 @@ import { HealthCheckController } from './health-check'; import FrontendAPIController from '../features/frontend-api/frontend-api-controller'; import EdgeController from './edge-api'; import { PublicInviteController } from './public-invite'; -import { Db } from '../db/db'; +import type { Db } from '../db/db'; import { minutesToMilliseconds } from 'date-fns'; class IndexRouter extends Controller { diff --git a/src/lib/routes/logout.test.ts b/src/lib/routes/logout.test.ts index 79b29f95f93..3f4018e0751 100644 --- a/src/lib/routes/logout.test.ts +++ b/src/lib/routes/logout.test.ts @@ -3,7 +3,7 @@ import express from 'express'; import { createTestConfig } from '../../test/config/test-config'; import LogoutController from './logout'; -import { IAuthRequest } from './unleash-types'; +import type { IAuthRequest } from './unleash-types'; import SessionService from '../services/session-service'; import FakeSessionStore from '../../test/fixtures/fake-session-store'; import noLogger from '../../test/fixtures/no-logger'; diff --git a/src/lib/routes/logout.ts b/src/lib/routes/logout.ts index dc72a6564cb..e4997926ea8 100644 --- a/src/lib/routes/logout.ts +++ b/src/lib/routes/logout.ts @@ -1,10 +1,10 @@ -import { Response } from 'express'; +import type { Response } from 'express'; import { promisify } from 'util'; -import { IUnleashConfig, NONE } from '../types'; +import { type IUnleashConfig, NONE } from '../types'; import Controller from './controller'; -import { IAuthRequest } from './unleash-types'; -import { IUnleashServices } from '../types'; -import SessionService from '../services/session-service'; +import type { IAuthRequest } from './unleash-types'; +import type { IUnleashServices } from '../types'; +import type SessionService from '../services/session-service'; class LogoutController extends Controller { private clearSiteDataOnLogout: boolean; diff --git a/src/lib/routes/public-invite.test.ts b/src/lib/routes/public-invite.test.ts index c5d950f57e8..2d8aff3bda9 100644 --- a/src/lib/routes/public-invite.test.ts +++ b/src/lib/routes/public-invite.test.ts @@ -2,11 +2,11 @@ import createStores from '../../test/fixtures/store'; import { createTestConfig } from '../../test/config/test-config'; import { createServices } from '../services'; import getApp from '../app'; -import supertest, { Test } from 'supertest'; +import supertest, { type Test } from 'supertest'; import permissions from '../../test/fixtures/permissions'; import { RoleName, RoleType } from '../types/model'; -import { IUnleashStores } from '../types'; -import TestAgent from 'supertest/lib/agent'; +import type { IUnleashStores } from '../types'; +import type TestAgent from 'supertest/lib/agent'; describe('Public Signup API', () => { async function getSetup() { diff --git a/src/lib/routes/public-invite.ts b/src/lib/routes/public-invite.ts index 8f955074201..37c7a11ae49 100644 --- a/src/lib/routes/public-invite.ts +++ b/src/lib/routes/public-invite.ts @@ -1,11 +1,11 @@ -import { Response } from 'express'; +import type { Response } from 'express'; import Controller from './controller'; import { NONE } from '../types/permissions'; -import { Logger } from '../logger'; -import { IAuthRequest } from './unleash-types'; -import { IUnleashConfig, IUnleashServices } from '../types'; -import { OpenApiService } from '../services/openapi-service'; +import type { Logger } from '../logger'; +import type { IAuthRequest } from './unleash-types'; +import type { IUnleashConfig, IUnleashServices } from '../types'; +import type { OpenApiService } from '../services/openapi-service'; import { createRequestSchema } from '../openapi/util/create-request-schema'; import { createResponseSchema } from '../openapi/util/create-response-schema'; import { serializeDates } from '../types/serialize-dates'; @@ -13,9 +13,9 @@ import { emptyResponse, getStandardResponses, } from '../openapi/util/standard-responses'; -import { PublicSignupTokenService } from '../services/public-signup-token-service'; -import { UserSchema, userSchema } from '../openapi/spec/user-schema'; -import { CreateInvitedUserSchema } from '../openapi/spec/create-invited-user-schema'; +import type { PublicSignupTokenService } from '../services/public-signup-token-service'; +import { type UserSchema, userSchema } from '../openapi/spec/user-schema'; +import type { CreateInvitedUserSchema } from '../openapi/spec/create-invited-user-schema'; interface TokenParam { token: string; diff --git a/src/lib/routes/unleash-types.ts b/src/lib/routes/unleash-types.ts index c749be7abed..91515d4c225 100644 --- a/src/lib/routes/unleash-types.ts +++ b/src/lib/routes/unleash-types.ts @@ -1,6 +1,6 @@ -import { Request } from 'express'; -import { IUser } from '../types/user'; -import { IApiUser } from '../types'; +import type { Request } from 'express'; +import type { IUser } from '../types/user'; +import type { IApiUser } from '../types'; export interface IAuthRequest< PARAM = any, diff --git a/src/lib/routes/util.ts b/src/lib/routes/util.ts index 78909211693..c42b6a805fc 100644 --- a/src/lib/routes/util.ts +++ b/src/lib/routes/util.ts @@ -1,6 +1,6 @@ import joi from 'joi'; -import { Response } from 'express'; -import { Logger } from '../logger'; +import type { Response } from 'express'; +import type { Logger } from '../logger'; import { UnleashError } from '../error/unleash-error'; import { fromLegacyError } from '../error/from-legacy-error'; import createError from 'http-errors'; diff --git a/src/lib/server-impl.ts b/src/lib/server-impl.ts index 52f593e40ff..106ef0fdeba 100644 --- a/src/lib/server-impl.ts +++ b/src/lib/server-impl.ts @@ -1,4 +1,4 @@ -import stoppable, { StoppableServer } from 'stoppable'; +import stoppable, { type StoppableServer } from 'stoppable'; import { promisify } from 'util'; import version from './util/version'; import { migrateDb } from '../migrator'; @@ -12,23 +12,23 @@ import { createDb } from './db/db-pool'; import sessionDb from './middleware/session-db'; // Types import { - CustomAuthHandler, + type CustomAuthHandler, IAuthType, - IUnleash, - IUnleashConfig, - IUnleashOptions, - IUnleashServices, + type IUnleash, + type IUnleashConfig, + type IUnleashOptions, + type IUnleashServices, RoleName, SYSTEM_USER, } from './types'; -import User, { IUser } from './types/user'; -import ApiUser, { IApiUser } from './types/api-user'; -import { Logger, LogLevel } from './logger'; +import User, { type IUser } from './types/user'; +import ApiUser, { type IApiUser } from './types/api-user'; +import { type Logger, LogLevel } from './logger'; import AuthenticationRequired from './types/authentication-required'; import Controller from './routes/controller'; -import { IApiRequest, IAuthRequest } from './routes/unleash-types'; -import { SimpleAuthSettings } from './types/settings/simple-auth-settings'; +import type { IApiRequest, IAuthRequest } from './routes/unleash-types'; +import type { SimpleAuthSettings } from './types/settings/simple-auth-settings'; import { Knex } from 'knex'; import * as permissions from './types/permissions'; import * as eventType from './types/events'; diff --git a/src/lib/services/access-service.test.ts b/src/lib/services/access-service.test.ts index d99f975e541..a26128f1619 100644 --- a/src/lib/services/access-service.test.ts +++ b/src/lib/services/access-service.test.ts @@ -3,8 +3,8 @@ import getLogger from '../../test/fixtures/no-logger'; import { createFakeAccessService } from '../features/access/createAccessService'; import { AccessService, - IRoleCreation, - IRoleValidation, + type IRoleCreation, + type IRoleValidation, } from './access-service'; import { createTestConfig } from '../../test/config/test-config'; import { CUSTOM_ROOT_ROLE_TYPE } from '../util/constants'; @@ -14,8 +14,8 @@ import FakeRoleStore from '../../test/fixtures/fake-role-store'; import FakeEnvironmentStore from '../features/project-environments/fake-environment-store'; import AccessStoreMock from '../../test/fixtures/fake-access-store'; import { GroupService } from '../services/group-service'; -import { IRole } from '../../lib/types/stores/access-store'; -import { IGroup, ROLE_CREATED, SYSTEM_USER } from '../../lib/types'; +import type { IRole } from '../../lib/types/stores/access-store'; +import { type IGroup, ROLE_CREATED, SYSTEM_USER } from '../../lib/types'; import BadDataError from '../../lib/error/bad-data-error'; import { createFakeEventsService } from '../../lib/features/events/createEventsService'; diff --git a/src/lib/services/access-service.ts b/src/lib/services/access-service.ts index 822201e6657..31229add015 100644 --- a/src/lib/services/access-service.ts +++ b/src/lib/services/access-service.ts @@ -1,6 +1,6 @@ import * as permissions from '../types/permissions'; -import { IUser } from '../types/user'; -import { +import type { IUser } from '../types/user'; +import type { IAccessInfo, IAccessStore, IGroupWithProjectRoles, @@ -13,19 +13,19 @@ import { IUserRole, IUserWithProjectRoles, } from '../types/stores/access-store'; -import { Logger } from '../logger'; -import { IAccountStore, IUnleashStores } from '../types/stores'; +import type { Logger } from '../logger'; +import type { IAccountStore, IUnleashStores } from '../types/stores'; import { - IAvailablePermissions, - ICustomRole, - IPermission, - IRoleData, - IUserWithRole, + type IAvailablePermissions, + type ICustomRole, + type IPermission, + type IRoleData, + type IUserWithRole, RoleName, } from '../types/model'; -import { IRoleStore } from '../types/stores/role-store'; +import type { IRoleStore } from '../types/stores/role-store'; import NameExistsError from '../error/name-exists-error'; -import { IEnvironmentStore } from '../features/project-environments/environment-store-type'; +import type { IEnvironmentStore } from '../features/project-environments/environment-store-type'; import RoleInUseError from '../error/role-in-use-error'; import { roleSchema } from '../schema/role-schema'; import { @@ -38,17 +38,17 @@ import { import { DEFAULT_PROJECT } from '../types/project'; import InvalidOperationError from '../error/invalid-operation-error'; import BadDataError from '../error/bad-data-error'; -import { IGroup } from '../types/group'; -import { GroupService } from './group-service'; +import type { IGroup } from '../types/group'; +import type { GroupService } from './group-service'; import { - IUnleashConfig, - IUserAccessOverview, + type IUnleashConfig, + type IUserAccessOverview, ROLE_CREATED, ROLE_DELETED, ROLE_UPDATED, SYSTEM_USER, } from '../types'; -import EventService from '../features/events/event-service'; +import type EventService from '../features/events/event-service'; const { ADMIN } = permissions; diff --git a/src/lib/services/account-service.ts b/src/lib/services/account-service.ts index f3efb6e1bde..bc459bf1734 100644 --- a/src/lib/services/account-service.ts +++ b/src/lib/services/account-service.ts @@ -1,10 +1,10 @@ -import { Logger } from '../logger'; -import { IUser } from '../types/user'; -import { IUnleashConfig } from '../types/option'; -import { IAccountStore, IUnleashStores } from '../types/stores'; -import { AccessService } from './access-service'; +import type { Logger } from '../logger'; +import type { IUser } from '../types/user'; +import type { IUnleashConfig } from '../types/option'; +import type { IAccountStore, IUnleashStores } from '../types/stores'; +import type { AccessService } from './access-service'; import { RoleName } from '../types/model'; -import { IAdminCount } from '../types/stores/account-store'; +import type { IAdminCount } from '../types/stores/account-store'; interface IUserWithRole extends IUser { rootRole: number; diff --git a/src/lib/services/addon-service-test-simple-addon.ts b/src/lib/services/addon-service-test-simple-addon.ts index d01bb4a8e57..ea80a7febde 100644 --- a/src/lib/services/addon-service-test-simple-addon.ts +++ b/src/lib/services/addon-service-test-simple-addon.ts @@ -1,12 +1,12 @@ import Addon from '../addons/addon'; import getLogger from '../../test/fixtures/no-logger'; -import { IAddonDefinition } from '../types/model'; +import type { IAddonDefinition } from '../types/model'; import { FEATURE_ARCHIVED, FEATURE_CREATED, FEATURE_REVIVED, FEATURE_UPDATED, - IEvent, + type IEvent, } from '../types/events'; const definition: IAddonDefinition = { diff --git a/src/lib/services/addon-service.test.ts b/src/lib/services/addon-service.test.ts index 03def1fe7ba..9d1d82a9097 100644 --- a/src/lib/services/addon-service.test.ts +++ b/src/lib/services/addon-service.test.ts @@ -11,9 +11,9 @@ import { import createStores from '../../test/fixtures/store'; import AddonService from './addon-service'; -import { IAddonDto } from '../types/stores/addon-store'; +import type { IAddonDto } from '../types/stores/addon-store'; import SimpleAddon from './addon-service-test-simple-addon'; -import { IAddonProviders } from '../addons'; +import type { IAddonProviders } from '../addons'; import EventService from '../features/events/event-service'; import { SYSTEM_USER } from '../types'; import { EventEmitter } from 'stream'; diff --git a/src/lib/services/addon-service.ts b/src/lib/services/addon-service.ts index 648cf341faf..a790aea33b7 100644 --- a/src/lib/services/addon-service.ts +++ b/src/lib/services/addon-service.ts @@ -1,17 +1,25 @@ import memoizee from 'memoizee'; import { ValidationError } from 'joi'; -import { getAddons, IAddonProviders } from '../addons'; +import { getAddons, type IAddonProviders } from '../addons'; import * as events from '../types/events'; import { addonSchema } from './addon-schema'; import NameExistsError from '../error/name-exists-error'; -import { IFeatureToggleStore } from '../features/feature-toggle/types/feature-toggle-store-type'; -import { Logger } from '../logger'; -import TagTypeService from '../features/tag-type/tag-type-service'; -import { IAddon, IAddonDto, IAddonStore } from '../types/stores/addon-store'; -import { IUnleashStores, IUnleashConfig, SYSTEM_USER } from '../types'; -import { IAddonDefinition } from '../types/model'; +import type { IFeatureToggleStore } from '../features/feature-toggle/types/feature-toggle-store-type'; +import type { Logger } from '../logger'; +import type TagTypeService from '../features/tag-type/tag-type-service'; +import type { + IAddon, + IAddonDto, + IAddonStore, +} from '../types/stores/addon-store'; +import { + type IUnleashStores, + type IUnleashConfig, + SYSTEM_USER, +} from '../types'; +import type { IAddonDefinition } from '../types/model'; import { minutesToMilliseconds } from 'date-fns'; -import EventService from '../features/events/event-service'; +import type EventService from '../features/events/event-service'; import { omitKeys } from '../util'; const SUPPORTED_EVENTS = Object.keys(events).map((k) => events[k]); diff --git a/src/lib/services/api-token-service.test.ts b/src/lib/services/api-token-service.test.ts index e5790657023..4512cdfe53c 100644 --- a/src/lib/services/api-token-service.test.ts +++ b/src/lib/services/api-token-service.test.ts @@ -1,7 +1,7 @@ import { ApiTokenService } from './api-token-service'; import { createTestConfig } from '../../test/config/test-config'; -import { IUnleashConfig, IUnleashOptions, IUser } from '../server-impl'; -import { ApiTokenType, IApiTokenCreate } from '../types/models/api-token'; +import type { IUnleashConfig, IUnleashOptions, IUser } from '../server-impl'; +import { ApiTokenType, type IApiTokenCreate } from '../types/models/api-token'; import FakeApiTokenStore from '../../test/fixtures/fake-api-token-store'; import FakeEnvironmentStore from '../features/project-environments/fake-environment-store'; import FakeEventStore from '../../test/fixtures/fake-event-store'; diff --git a/src/lib/services/api-token-service.ts b/src/lib/services/api-token-service.ts index fe9c09a7fc3..5d76e3201ab 100644 --- a/src/lib/services/api-token-service.ts +++ b/src/lib/services/api-token-service.ts @@ -1,32 +1,32 @@ import crypto from 'crypto'; -import { Logger } from '../logger'; +import type { Logger } from '../logger'; import { ADMIN, CLIENT, FRONTEND } from '../types/permissions'; -import { IUnleashStores } from '../types/stores'; -import { IUnleashConfig } from '../types/option'; -import ApiUser, { IApiUser } from '../types/api-user'; +import type { IUnleashStores } from '../types/stores'; +import type { IUnleashConfig } from '../types/option'; +import ApiUser, { type IApiUser } from '../types/api-user'; import { ApiTokenType, - IApiToken, - ILegacyApiTokenCreate, - IApiTokenCreate, + type IApiToken, + type ILegacyApiTokenCreate, + type IApiTokenCreate, validateApiToken, validateApiTokenEnvironment, mapLegacyToken, mapLegacyTokenWithSecret, } from '../types/models/api-token'; -import { IApiTokenStore } from '../types/stores/api-token-store'; +import type { IApiTokenStore } from '../types/stores/api-token-store'; import { FOREIGN_KEY_VIOLATION } from '../error/db-error'; import BadDataError from '../error/bad-data-error'; -import { IEnvironmentStore } from '../features/project-environments/environment-store-type'; +import type { IEnvironmentStore } from '../features/project-environments/environment-store-type'; import { constantTimeCompare } from '../util/constantTimeCompare'; import { ADMIN_TOKEN_USER, ApiTokenCreatedEvent, ApiTokenDeletedEvent, ApiTokenUpdatedEvent, - IFlagContext, - IFlagResolver, - IUser, + type IFlagContext, + type IFlagResolver, + type IUser, SYSTEM_USER, SYSTEM_USER_ID, } from '../types'; @@ -35,7 +35,7 @@ import { extractUsernameFromUser, omitKeys, } from '../util'; -import EventService from '../features/events/event-service'; +import type EventService from '../features/events/event-service'; const resolveTokenPermissions = (tokenType: string) => { if (tokenType === ApiTokenType.ADMIN) { diff --git a/src/lib/services/client-spec-service.ts b/src/lib/services/client-spec-service.ts index cae284bc4b7..dadb05d0ed5 100644 --- a/src/lib/services/client-spec-service.ts +++ b/src/lib/services/client-spec-service.ts @@ -1,7 +1,7 @@ -import { IUnleashConfig } from '../types/option'; -import { Logger } from '../logger'; -import { Request } from 'express'; -import semver, { SemVer } from 'semver'; +import type { IUnleashConfig } from '../types/option'; +import type { Logger } from '../logger'; +import type { Request } from 'express'; +import semver, { type SemVer } from 'semver'; import BadDataError from '../error/bad-data-error'; import { mustParseStrictSemVer, parseStrictSemVer } from '../util/semver'; diff --git a/src/lib/services/context-service.ts b/src/lib/services/context-service.ts index 2d47d552f87..26c6b3d38fd 100644 --- a/src/lib/services/context-service.ts +++ b/src/lib/services/context-service.ts @@ -1,16 +1,16 @@ -import { Logger } from '../logger'; -import { +import type { Logger } from '../logger'; +import type { IContextField, IContextFieldDto, IContextFieldStore, } from '../types/stores/context-field-store'; -import { IProjectStore } from '../features/project/project-store-type'; -import { IFeatureStrategiesStore, IUnleashStores } from '../types/stores'; -import { IUnleashConfig } from '../types/option'; -import { ContextFieldStrategiesSchema } from '../openapi/spec/context-field-strategies-schema'; -import { IFeatureStrategy, IFlagResolver } from '../types'; -import { IPrivateProjectChecker } from '../features/private-project/privateProjectCheckerType'; -import EventService from '../features/events/event-service'; +import type { IProjectStore } from '../features/project/project-store-type'; +import type { IFeatureStrategiesStore, IUnleashStores } from '../types/stores'; +import type { IUnleashConfig } from '../types/option'; +import type { ContextFieldStrategiesSchema } from '../openapi/spec/context-field-strategies-schema'; +import type { IFeatureStrategy, IFlagResolver } from '../types'; +import type { IPrivateProjectChecker } from '../features/private-project/privateProjectCheckerType'; +import type EventService from '../features/events/event-service'; const { contextSchema, nameSchema } = require('./context-schema'); const NameExistsError = require('../error/name-exists-error'); diff --git a/src/lib/services/edge-service.ts b/src/lib/services/edge-service.ts index cdf3f3bc795..b52dba4bf30 100644 --- a/src/lib/services/edge-service.ts +++ b/src/lib/services/edge-service.ts @@ -1,9 +1,9 @@ -import { IUnleashConfig } from '../types'; -import { Logger } from '../logger'; -import { EdgeTokenSchema } from '../openapi/spec/edge-token-schema'; +import type { IUnleashConfig } from '../types'; +import type { Logger } from '../logger'; +import type { EdgeTokenSchema } from '../openapi/spec/edge-token-schema'; import { constantTimeCompare } from '../util/constantTimeCompare'; -import { ValidatedEdgeTokensSchema } from '../openapi/spec/validated-edge-tokens-schema'; -import { ApiTokenService } from './api-token-service'; +import type { ValidatedEdgeTokensSchema } from '../openapi/spec/validated-edge-tokens-schema'; +import type { ApiTokenService } from './api-token-service'; export default class EdgeService { private logger: Logger; diff --git a/src/lib/services/email-service.test.ts b/src/lib/services/email-service.test.ts index 3333c9ccd95..6c67d752354 100644 --- a/src/lib/services/email-service.test.ts +++ b/src/lib/services/email-service.test.ts @@ -1,7 +1,7 @@ import nodemailer from 'nodemailer'; import { EmailService } from './email-service'; import noLoggerProvider from '../../test/fixtures/no-logger'; -import { IUnleashConfig } from '../types'; +import type { IUnleashConfig } from '../types'; test('Can send reset email', async () => { const emailService = new EmailService({ diff --git a/src/lib/services/email-service.ts b/src/lib/services/email-service.ts index 9d0986a14a2..24646e985c6 100644 --- a/src/lib/services/email-service.ts +++ b/src/lib/services/email-service.ts @@ -1,10 +1,10 @@ -import { createTransport, Transporter } from 'nodemailer'; +import { createTransport, type Transporter } from 'nodemailer'; import Mustache from 'mustache'; import path from 'path'; import { existsSync, readFileSync } from 'fs'; -import { Logger } from '../logger'; +import type { Logger } from '../logger'; import NotFoundError from '../error/notfound-error'; -import { IUnleashConfig } from '../types/option'; +import type { IUnleashConfig } from '../types/option'; export interface IAuthOptions { user: string; diff --git a/src/lib/services/event-announcer-service.ts b/src/lib/services/event-announcer-service.ts index 0c744a7e25e..80ffedd2494 100644 --- a/src/lib/services/event-announcer-service.ts +++ b/src/lib/services/event-announcer-service.ts @@ -1,8 +1,8 @@ -import { IUnleashConfig } from '../types/option'; -import { IUnleashStores } from '../types/stores'; -import { Logger } from '../logger'; -import { IEventStore } from '../types/stores/event-store'; -import { IFlagResolver } from '../types'; +import type { IUnleashConfig } from '../types/option'; +import type { IUnleashStores } from '../types/stores'; +import type { Logger } from '../logger'; +import type { IEventStore } from '../types/stores/event-store'; +import type { IFlagResolver } from '../types'; export default class EventAnnouncer { private logger: Logger; diff --git a/src/lib/services/favorites-service.ts b/src/lib/services/favorites-service.ts index e859e72fed8..90b0d9e546e 100644 --- a/src/lib/services/favorites-service.ts +++ b/src/lib/services/favorites-service.ts @@ -1,18 +1,18 @@ -import { IUnleashConfig } from '../types/option'; -import { IFavoriteProjectsStore, IUnleashStores } from '../types/stores'; -import { Logger } from '../logger'; -import { IFavoriteFeaturesStore } from '../types/stores/favorite-features'; -import { IFavoriteFeature, IFavoriteProject } from '../types/favorites'; +import type { IUnleashConfig } from '../types/option'; +import type { IFavoriteProjectsStore, IUnleashStores } from '../types/stores'; +import type { Logger } from '../logger'; +import type { IFavoriteFeaturesStore } from '../types/stores/favorite-features'; +import type { IFavoriteFeature, IFavoriteProject } from '../types/favorites'; import { FEATURE_FAVORITED, FEATURE_UNFAVORITED, PROJECT_FAVORITED, PROJECT_UNFAVORITED, } from '../types'; -import { IUser } from '../types/user'; +import type { IUser } from '../types/user'; import { extractUsernameFromUser } from '../util'; -import { IFavoriteProjectKey } from '../types/stores/favorite-projects'; -import EventService from '../features/events/event-service'; +import type { IFavoriteProjectKey } from '../types/stores/favorite-projects'; +import type EventService from '../features/events/event-service'; export interface IFavoriteFeatureProps { feature: string; diff --git a/src/lib/services/feature-service-potentially-stale.test.ts b/src/lib/services/feature-service-potentially-stale.test.ts index f6e69d7cd03..0db88645a12 100644 --- a/src/lib/services/feature-service-potentially-stale.test.ts +++ b/src/lib/services/feature-service-potentially-stale.test.ts @@ -1,19 +1,19 @@ import { FEATURE_POTENTIALLY_STALE_ON, - IEvent, - IUnleashConfig, - IUnleashStores, + type IEvent, + type IUnleashConfig, + type IUnleashStores, } from '../types'; import { createTestConfig } from '../../test/config/test-config'; import FeatureToggleService from '../features/feature-toggle/feature-toggle-service'; -import { AccessService } from './access-service'; -import { IChangeRequestAccessReadModel } from '../features/change-request-access-service/change-request-access-read-model'; -import { ISegmentService } from '../features/segment/segment-service-interface'; -import { IPrivateProjectChecker } from '../features/private-project/privateProjectCheckerType'; -import { IDependentFeaturesReadModel } from '../features/dependent-features/dependent-features-read-model-type'; +import type { AccessService } from './access-service'; +import type { IChangeRequestAccessReadModel } from '../features/change-request-access-service/change-request-access-read-model'; +import type { ISegmentService } from '../features/segment/segment-service-interface'; +import type { IPrivateProjectChecker } from '../features/private-project/privateProjectCheckerType'; +import type { IDependentFeaturesReadModel } from '../features/dependent-features/dependent-features-read-model-type'; import EventService from '../features/events/event-service'; import FakeFeatureTagStore from '../../test/fixtures/fake-feature-tag-store'; -import { DependentFeaturesService } from '../features/dependent-features/dependent-features-service'; +import type { DependentFeaturesService } from '../features/dependent-features/dependent-features-service'; test('Should only store events for potentially stale on', async () => { expect.assertions(2); diff --git a/src/lib/services/feature-tag-service.ts b/src/lib/services/feature-tag-service.ts index 672b51d7b6c..431a5f95fc5 100644 --- a/src/lib/services/feature-tag-service.ts +++ b/src/lib/services/feature-tag-service.ts @@ -1,18 +1,18 @@ import NotFoundError from '../error/notfound-error'; -import { Logger } from '../logger'; +import type { Logger } from '../logger'; import { FEATURE_TAGGED, FEATURE_UNTAGGED, TAG_CREATED } from '../types/events'; -import { IUnleashConfig } from '../types/option'; -import { IFeatureToggleStore, IUnleashStores } from '../types/stores'; +import type { IUnleashConfig } from '../types/option'; +import type { IFeatureToggleStore, IUnleashStores } from '../types/stores'; import { tagSchema } from './tag-schema'; -import { +import type { IFeatureTag, IFeatureTagInsert, IFeatureTagStore, } from '../types/stores/feature-tag-store'; -import { ITagStore } from '../types/stores/tag-store'; -import { ITag } from '../types/model'; +import type { ITagStore } from '../types/stores/tag-store'; +import type { ITag } from '../types/model'; import { BadDataError, FOREIGN_KEY_VIOLATION } from '../../lib/error'; -import EventService from '../features/events/event-service'; +import type EventService from '../features/events/event-service'; class FeatureTagService { private tagStore: ITagStore; diff --git a/src/lib/services/feature-type-service.ts b/src/lib/services/feature-type-service.ts index b3546f1f958..69b601a1e04 100644 --- a/src/lib/services/feature-type-service.ts +++ b/src/lib/services/feature-type-service.ts @@ -1,13 +1,13 @@ -import { IUnleashStores } from '../types/stores'; -import { IUnleashConfig } from '../types/option'; -import { Logger } from '../logger'; -import { +import type { IUnleashStores } from '../types/stores'; +import type { IUnleashConfig } from '../types/option'; +import type { Logger } from '../logger'; +import type { IFeatureType, IFeatureTypeStore, } from '../types/stores/feature-type-store'; import NotFoundError from '../error/notfound-error'; -import EventService from '../features/events/event-service'; -import { FEATURE_TYPE_UPDATED, IUser } from '../types'; +import type EventService from '../features/events/event-service'; +import { FEATURE_TYPE_UPDATED, type IUser } from '../types'; import { extractUsernameFromUser } from '../util'; export default class FeatureTypeService { diff --git a/src/lib/services/group-service.ts b/src/lib/services/group-service.ts index df8df4d97e1..7da34492cf8 100644 --- a/src/lib/services/group-service.ts +++ b/src/lib/services/group-service.ts @@ -1,4 +1,4 @@ -import { +import type { ICreateGroupModel, IGroup, IGroupModel, @@ -7,9 +7,9 @@ import { IGroupRole, IGroupUser, } from '../types/group'; -import { IUnleashConfig, IUnleashStores } from '../types'; -import { IGroupStore } from '../types/stores/group-store'; -import { Logger } from '../logger'; +import type { IUnleashConfig, IUnleashStores } from '../types'; +import type { IGroupStore } from '../types/stores/group-store'; +import type { Logger } from '../logger'; import BadDataError from '../error/bad-data-error'; import { GROUP_CREATED, @@ -17,12 +17,12 @@ import { GROUP_UPDATED, GROUP_USER_ADDED, GROUP_USER_REMOVED, - IBaseEvent, + type IBaseEvent, } from '../types/events'; import NameExistsError from '../error/name-exists-error'; -import { IAccountStore } from '../types/stores/account-store'; -import { IUser } from '../types/user'; -import EventService from '../features/events/event-service'; +import type { IAccountStore } from '../types/stores/account-store'; +import type { IUser } from '../types/user'; +import type EventService from '../features/events/event-service'; export class GroupService { private groupStore: IGroupStore; diff --git a/src/lib/services/health-service.ts b/src/lib/services/health-service.ts index 8842e453d4d..8952efe4171 100644 --- a/src/lib/services/health-service.ts +++ b/src/lib/services/health-service.ts @@ -1,7 +1,7 @@ -import { IUnleashStores } from '../types/stores'; -import { IUnleashConfig } from '../types/option'; -import { Logger } from '../logger'; -import { IFeatureTypeStore } from '../types/stores/feature-type-store'; +import type { IUnleashStores } from '../types/stores'; +import type { IUnleashConfig } from '../types/option'; +import type { Logger } from '../logger'; +import type { IFeatureTypeStore } from '../types/stores/feature-type-store'; class HealthService { private featureTypeStore: IFeatureTypeStore; diff --git a/src/lib/services/index.ts b/src/lib/services/index.ts index 72169d8bc9d..2ad4cfe1cb3 100644 --- a/src/lib/services/index.ts +++ b/src/lib/services/index.ts @@ -1,4 +1,8 @@ -import { IUnleashConfig, IUnleashServices, IUnleashStores } from '../types'; +import type { + IUnleashConfig, + IUnleashServices, + IUnleashStores, +} from '../types'; import FeatureTypeService from './feature-type-service'; import EventService from '../features/events/event-service'; import HealthService from './health-service'; @@ -41,13 +45,13 @@ import { FavoritesService } from './favorites-service'; import MaintenanceService from '../features/maintenance/maintenance-service'; import { AccountService } from './account-service'; import { SchedulerService } from '../features/scheduler/scheduler-service'; -import { Knex } from 'knex'; +import type { Knex } from 'knex'; import { createExportImportTogglesService, createFakeExportImportTogglesService, deferredExportImportTogglesService, } from '../features/export-import-toggles/createExportImportService'; -import { Db } from '../db/db'; +import type { Db } from '../db/db'; import { withFakeTransactional, withTransactional } from '../db/transaction'; import { createChangeRequestAccessReadModel, diff --git a/src/lib/services/openapi-service.ts b/src/lib/services/openapi-service.ts index 785728e2504..612fc38c786 100644 --- a/src/lib/services/openapi-service.ts +++ b/src/lib/services/openapi-service.ts @@ -1,16 +1,16 @@ -import openapi, { IExpressOpenApi } from '@wesleytodd/openapi'; -import { Express, RequestHandler, Response } from 'express'; -import { IUnleashConfig } from '../types/option'; +import openapi, { type IExpressOpenApi } from '@wesleytodd/openapi'; +import type { Express, RequestHandler, Response } from 'express'; +import type { IUnleashConfig } from '../types/option'; import { createOpenApiSchema, - JsonSchemaProps, + type JsonSchemaProps, removeJsonSchemaProps, - SchemaId, + type SchemaId, } from '../openapi'; -import { ApiOperation } from '../openapi/util/api-operation'; -import { Logger } from '../logger'; +import type { ApiOperation } from '../openapi/util/api-operation'; +import type { Logger } from '../logger'; import { validateSchema } from '../openapi/validate'; -import { IFlagResolver } from '../types'; +import type { IFlagResolver } from '../types'; import { fromOpenApiValidationErrors } from '../error/bad-data-error'; export class OpenApiService { diff --git a/src/lib/services/pat-service.ts b/src/lib/services/pat-service.ts index 8f2a74e3fc2..b8d0989bc0e 100644 --- a/src/lib/services/pat-service.ts +++ b/src/lib/services/pat-service.ts @@ -1,15 +1,15 @@ -import { IUnleashConfig, IUnleashStores } from '../types'; -import { Logger } from '../logger'; -import { IPatStore } from '../types/stores/pat-store'; +import type { IUnleashConfig, IUnleashStores } from '../types'; +import type { Logger } from '../logger'; +import type { IPatStore } from '../types/stores/pat-store'; import { PAT_CREATED, PAT_DELETED } from '../types/events'; import crypto from 'crypto'; -import { IUser } from '../types/user'; +import type { IUser } from '../types/user'; import BadDataError from '../error/bad-data-error'; import NameExistsError from '../error/name-exists-error'; import { OperationDeniedError } from '../error/operation-denied-error'; import { PAT_LIMIT } from '../util/constants'; -import EventService from '../features/events/event-service'; -import { CreatePatSchema, PatSchema } from '../openapi'; +import type EventService from '../features/events/event-service'; +import type { CreatePatSchema, PatSchema } from '../openapi'; export default class PatService { private config: IUnleashConfig; diff --git a/src/lib/services/project-health-service.ts b/src/lib/services/project-health-service.ts index bc937cd0179..1b45fbeaaaa 100644 --- a/src/lib/services/project-health-service.ts +++ b/src/lib/services/project-health-service.ts @@ -1,11 +1,11 @@ -import { IUnleashStores } from '../types/stores'; -import { IUnleashConfig } from '../types/option'; -import { Logger } from '../logger'; +import type { IUnleashStores } from '../types/stores'; +import type { IUnleashConfig } from '../types/option'; +import type { Logger } from '../logger'; import type { IProject, IProjectHealthReport } from '../types/model'; import type { IFeatureToggleStore } from '../features/feature-toggle/types/feature-toggle-store-type'; import type { IFeatureTypeStore } from '../types/stores/feature-type-store'; import type { IProjectStore } from '../features/project/project-store-type'; -import ProjectService from '../features/project/project-service'; +import type ProjectService from '../features/project/project-service'; import { calculateHealthRating, calculateProjectHealth, diff --git a/src/lib/services/public-signup-token-service.ts b/src/lib/services/public-signup-token-service.ts index 31403c5c5d9..4d9d1c97325 100644 --- a/src/lib/services/public-signup-token-service.ts +++ b/src/lib/services/public-signup-token-service.ts @@ -1,23 +1,27 @@ import crypto from 'crypto'; -import { Logger } from '../logger'; -import { IUnleashConfig, IUnleashStores, SYSTEM_USER } from '../types'; -import { IPublicSignupTokenStore } from '../types/stores/public-signup-token-store'; -import { PublicSignupTokenSchema } from '../openapi/spec/public-signup-token-schema'; -import { IRoleStore } from '../types/stores/role-store'; -import { IPublicSignupTokenCreate } from '../types/models/public-signup-token'; -import { PublicSignupTokenCreateSchema } from '../openapi/spec/public-signup-token-create-schema'; -import { CreateInvitedUserSchema } from '../openapi/spec/create-invited-user-schema'; +import type { Logger } from '../logger'; +import { + type IUnleashConfig, + type IUnleashStores, + SYSTEM_USER, +} from '../types'; +import type { IPublicSignupTokenStore } from '../types/stores/public-signup-token-store'; +import type { PublicSignupTokenSchema } from '../openapi/spec/public-signup-token-schema'; +import type { IRoleStore } from '../types/stores/role-store'; +import type { IPublicSignupTokenCreate } from '../types/models/public-signup-token'; +import type { PublicSignupTokenCreateSchema } from '../openapi/spec/public-signup-token-create-schema'; +import type { CreateInvitedUserSchema } from '../openapi/spec/create-invited-user-schema'; import { RoleName } from '../types/model'; import { PublicSignupTokenCreatedEvent, PublicSignupTokenUpdatedEvent, PublicSignupTokenUserAddedEvent, } from '../types/events'; -import UserService from './user-service'; -import { IUser } from '../types/user'; +import type UserService from './user-service'; +import type { IUser } from '../types/user'; import { URL } from 'url'; import { add } from 'date-fns'; -import EventService from '../features/events/event-service'; +import type EventService from '../features/events/event-service'; export class PublicSignupTokenService { private store: IPublicSignupTokenStore; diff --git a/src/lib/services/reset-token-service.ts b/src/lib/services/reset-token-service.ts index 7116128a241..34bce86ce46 100644 --- a/src/lib/services/reset-token-service.ts +++ b/src/lib/services/reset-token-service.ts @@ -1,12 +1,12 @@ import crypto from 'crypto'; import bcrypt from 'bcryptjs'; import { URL } from 'url'; -import { Logger } from '../logger'; +import type { Logger } from '../logger'; import UsedTokenError from '../error/used-token-error'; import InvalidTokenError from '../error/invalid-token-error'; -import { IUnleashConfig } from '../types/option'; -import { IUnleashStores } from '../types/stores'; -import { +import type { IUnleashConfig } from '../types/option'; +import type { IUnleashStores } from '../types/stores'; +import type { IResetQuery, IResetToken, IResetTokenStore, diff --git a/src/lib/services/scheduler-service.test.ts b/src/lib/services/scheduler-service.test.ts index 88b0d428716..953ebb066b4 100644 --- a/src/lib/services/scheduler-service.test.ts +++ b/src/lib/services/scheduler-service.test.ts @@ -1,9 +1,9 @@ -import { LogProvider } from '../logger'; +import type { LogProvider } from '../logger'; import { SchedulerService } from '../features/scheduler/scheduler-service'; import { createTestConfig } from '../../test/config/test-config'; import FakeSettingStore from '../../test/fixtures/fake-setting-store'; import SettingService from './setting-service'; -import EventService from '../features/events/event-service'; +import type EventService from '../features/events/event-service'; import MaintenanceService from '../features/maintenance/maintenance-service'; function ms(timeMs: number) { diff --git a/src/lib/services/session-service.ts b/src/lib/services/session-service.ts index b52068fb495..65d819328da 100644 --- a/src/lib/services/session-service.ts +++ b/src/lib/services/session-service.ts @@ -1,7 +1,7 @@ -import { IUnleashStores } from '../types/stores'; -import { IUnleashConfig } from '../types/option'; -import { Logger } from '../logger'; -import { ISession, ISessionStore } from '../types/stores/session-store'; +import type { IUnleashStores } from '../types/stores'; +import type { IUnleashConfig } from '../types/option'; +import type { Logger } from '../logger'; +import type { ISession, ISessionStore } from '../types/stores/session-store'; export default class SessionService { private logger: Logger; diff --git a/src/lib/services/setting-service.ts b/src/lib/services/setting-service.ts index 72da01e2341..fe2bbff2364 100644 --- a/src/lib/services/setting-service.ts +++ b/src/lib/services/setting-service.ts @@ -1,13 +1,13 @@ -import { IUnleashConfig } from '../types/option'; -import { IUnleashStores } from '../types/stores'; -import { Logger } from '../logger'; -import { ISettingStore } from '../types/stores/settings-store'; +import type { IUnleashConfig } from '../types/option'; +import type { IUnleashStores } from '../types/stores'; +import type { Logger } from '../logger'; +import type { ISettingStore } from '../types/stores/settings-store'; import { SettingCreatedEvent, SettingDeletedEvent, SettingUpdatedEvent, } from '../types/events'; -import EventService from '../features/events/event-service'; +import type EventService from '../features/events/event-service'; export default class SettingService { private config: IUnleashConfig; diff --git a/src/lib/services/state-service.ts b/src/lib/services/state-service.ts index a51c30620fb..a528a3de8f6 100644 --- a/src/lib/services/state-service.ts +++ b/src/lib/services/state-service.ts @@ -18,8 +18,8 @@ import { import { filterEqual, filterExisting, parseFile, readFile } from './state-util'; -import { IUnleashConfig } from '../types/option'; -import { +import type { IUnleashConfig } from '../types/option'; +import type { FeatureToggle, IEnvironment, IFeatureEnvironment, @@ -31,28 +31,28 @@ import { IStrategyConfig, ITag, } from '../types/model'; -import { Logger } from '../logger'; -import { +import type { Logger } from '../logger'; +import type { IFeatureTag, IFeatureTagStore, } from '../types/stores/feature-tag-store'; -import { IProjectStore } from '../features/project/project-store-type'; -import { +import type { IProjectStore } from '../features/project/project-store-type'; +import type { ITagType, ITagTypeStore, } from '../features/tag-type/tag-type-store-type'; -import { ITagStore } from '../types/stores/tag-store'; -import { IStrategy, IStrategyStore } from '../types/stores/strategy-store'; -import { IFeatureToggleStore } from '../features/feature-toggle/types/feature-toggle-store-type'; -import { IFeatureStrategiesStore } from '../features/feature-toggle/types/feature-toggle-strategies-store-type'; -import { IEnvironmentStore } from '../features/project-environments/environment-store-type'; -import { IFeatureEnvironmentStore } from '../types/stores/feature-environment-store'; -import { IUnleashStores } from '../types/stores'; +import type { ITagStore } from '../types/stores/tag-store'; +import type { IStrategy, IStrategyStore } from '../types/stores/strategy-store'; +import type { IFeatureToggleStore } from '../features/feature-toggle/types/feature-toggle-store-type'; +import type { IFeatureStrategiesStore } from '../features/feature-toggle/types/feature-toggle-strategies-store-type'; +import type { IEnvironmentStore } from '../features/project-environments/environment-store-type'; +import type { IFeatureEnvironmentStore } from '../types/stores/feature-environment-store'; +import type { IUnleashStores } from '../types/stores'; import { DEFAULT_ENV } from '../util/constants'; import { GLOBAL_ENV } from '../types/environment'; -import { ISegmentStore } from '../features/segment/segment-store-type'; -import { PartialSome } from '../types/partial'; -import EventService from '../features/events/event-service'; +import type { ISegmentStore } from '../features/segment/segment-store-type'; +import type { PartialSome } from '../types/partial'; +import type EventService from '../features/events/event-service'; export interface IBackupOption { includeFeatureToggles: boolean; diff --git a/src/lib/services/strategy-service.ts b/src/lib/services/strategy-service.ts index 4223af5530e..3d822258a34 100644 --- a/src/lib/services/strategy-service.ts +++ b/src/lib/services/strategy-service.ts @@ -1,13 +1,13 @@ -import { Logger } from '../logger'; -import { IUnleashConfig } from '../types/option'; -import { IUnleashStores } from '../types/stores'; -import { +import type { Logger } from '../logger'; +import type { IUnleashConfig } from '../types/option'; +import type { IUnleashStores } from '../types/stores'; +import type { IMinimalStrategy, IStrategy, IStrategyStore, } from '../types/stores/strategy-store'; import NotFoundError from '../error/notfound-error'; -import EventService from '../features/events/event-service'; +import type EventService from '../features/events/event-service'; const strategySchema = require('./strategy-schema'); const NameExistsError = require('../error/name-exists-error'); diff --git a/src/lib/services/tag-service.ts b/src/lib/services/tag-service.ts index a55d14827c3..8e5a27109f8 100644 --- a/src/lib/services/tag-service.ts +++ b/src/lib/services/tag-service.ts @@ -1,12 +1,12 @@ import { tagSchema } from './tag-schema'; import NameExistsError from '../error/name-exists-error'; import { TAG_CREATED, TAG_DELETED } from '../types/events'; -import { Logger } from '../logger'; -import { IUnleashStores } from '../types/stores'; -import { IUnleashConfig } from '../types/option'; -import { ITagStore } from '../types/stores/tag-store'; -import { ITag } from '../types/model'; -import EventService from '../features/events/event-service'; +import type { Logger } from '../logger'; +import type { IUnleashStores } from '../types/stores'; +import type { IUnleashConfig } from '../types/option'; +import type { ITagStore } from '../types/stores/tag-store'; +import type { ITag } from '../types/model'; +import type EventService from '../features/events/event-service'; export default class TagService { private tagStore: ITagStore; diff --git a/src/lib/services/user-feedback-service.ts b/src/lib/services/user-feedback-service.ts index 6cbd56b4b60..ef1e45dc41b 100644 --- a/src/lib/services/user-feedback-service.ts +++ b/src/lib/services/user-feedback-service.ts @@ -1,8 +1,8 @@ -import { Logger } from '../logger'; -import { IUnleashStores } from '../types/stores'; -import { IUnleashConfig } from '../types/option'; -import { IUser } from '../types/user'; -import { +import type { Logger } from '../logger'; +import type { IUnleashStores } from '../types/stores'; +import type { IUnleashConfig } from '../types/option'; +import type { IUser } from '../types/user'; +import type { IUserFeedback, IUserFeedbackStore, } from '../types/stores/user-feedback-store'; diff --git a/src/lib/services/user-service.test.ts b/src/lib/services/user-service.test.ts index e1451fdb9ee..d5ea7e6be4d 100644 --- a/src/lib/services/user-service.test.ts +++ b/src/lib/services/user-service.test.ts @@ -6,7 +6,7 @@ import AccessServiceMock from '../../test/fixtures/access-service-mock'; import ResetTokenService from './reset-token-service'; import { EmailService } from './email-service'; import OwaspValidationError from '../error/owasp-validation-error'; -import { IUnleashConfig } from '../types/option'; +import type { IUnleashConfig } from '../types/option'; import { createTestConfig } from '../../test/config/test-config'; import SessionService from './session-service'; import FakeSessionStore from '../../test/fixtures/fake-session-store'; diff --git a/src/lib/services/user-service.ts b/src/lib/services/user-service.ts index 323439626e2..04cffe10650 100644 --- a/src/lib/services/user-service.ts +++ b/src/lib/services/user-service.ts @@ -2,36 +2,36 @@ import bcrypt from 'bcryptjs'; import owasp from 'owasp-password-strength-test'; import Joi from 'joi'; -import { URL } from 'url'; -import { Logger } from '../logger'; -import User, { IUser, IUserWithRootRole } from '../types/user'; +import type { URL } from 'url'; +import type { Logger } from '../logger'; +import User, { type IUser, type IUserWithRootRole } from '../types/user'; import isEmail from '../util/is-email'; -import { AccessService } from './access-service'; -import ResetTokenService from './reset-token-service'; +import type { AccessService } from './access-service'; +import type ResetTokenService from './reset-token-service'; import InvalidTokenError from '../error/invalid-token-error'; import NotFoundError from '../error/notfound-error'; import OwaspValidationError from '../error/owasp-validation-error'; -import { EmailService } from './email-service'; -import { IAuthOption, IUnleashConfig } from '../types/option'; -import SessionService from './session-service'; -import { IUnleashStores } from '../types/stores'; +import type { EmailService } from './email-service'; +import type { IAuthOption, IUnleashConfig } from '../types/option'; +import type SessionService from './session-service'; +import type { IUnleashStores } from '../types/stores'; import PasswordUndefinedError from '../error/password-undefined'; import { UserCreatedEvent, UserUpdatedEvent, UserDeletedEvent, } from '../types/events'; -import { IUserStore } from '../types/stores/user-store'; +import type { IUserStore } from '../types/stores/user-store'; import { RoleName } from '../types/model'; -import SettingService from './setting-service'; -import { SimpleAuthSettings } from '../server-impl'; +import type SettingService from './setting-service'; +import type { SimpleAuthSettings } from '../server-impl'; import { simpleAuthSettingsKey } from '../types/settings/simple-auth-settings'; import DisabledError from '../error/disabled-error'; import BadDataError from '../error/bad-data-error'; import { isDefined } from '../util/isDefined'; -import { TokenUserSchema } from '../openapi/spec/token-user-schema'; +import type { TokenUserSchema } from '../openapi/spec/token-user-schema'; import PasswordMismatch from '../error/password-mismatch'; -import EventService from '../features/events/event-service'; +import type EventService from '../features/events/event-service'; import { SYSTEM_USER } from '../types'; diff --git a/src/lib/services/user-splash-service.ts b/src/lib/services/user-splash-service.ts index 52ad9f8054c..cbb8e4659b9 100644 --- a/src/lib/services/user-splash-service.ts +++ b/src/lib/services/user-splash-service.ts @@ -1,8 +1,8 @@ -import { Logger } from '../logger'; -import { IUnleashStores } from '../types/stores'; -import { IUnleashConfig } from '../types/option'; -import { IUser } from '../types/user'; -import { +import type { Logger } from '../logger'; +import type { IUnleashStores } from '../types/stores'; +import type { IUnleashConfig } from '../types/option'; +import type { IUser } from '../types/user'; +import type { IUserSplash, IUserSplashStore, } from '../types/stores/user-splash-store'; diff --git a/src/lib/services/version-service.ts b/src/lib/services/version-service.ts index 812b7a2808c..55d7b318960 100644 --- a/src/lib/services/version-service.ts +++ b/src/lib/services/version-service.ts @@ -1,5 +1,5 @@ import fetch from 'make-fetch-happen'; -import { +import type { IContextFieldStore, IEnvironmentStore, IEventStore, @@ -12,15 +12,15 @@ import { IUnleashStores, IUserStore, } from '../types/stores'; -import { IUnleashConfig } from '../types/option'; +import type { IUnleashConfig } from '../types/option'; import version from '../util/version'; -import { Logger } from '../logger'; -import { ISettingStore } from '../types/stores/settings-store'; -import { IStrategyStore } from '../types'; +import type { Logger } from '../logger'; +import type { ISettingStore } from '../types/stores/settings-store'; +import type { IStrategyStore } from '../types'; import { FEATURES_EXPORTED, FEATURES_IMPORTED } from '../types'; import { CUSTOM_ROOT_ROLE_TYPE } from '../util'; -import { GetActiveUsers } from '../features/instance-stats/getActiveUsers'; -import { GetProductionChanges } from '../features/instance-stats/getProductionChanges'; +import type { GetActiveUsers } from '../features/instance-stats/getActiveUsers'; +import type { GetProductionChanges } from '../features/instance-stats/getProductionChanges'; export interface IVersionInfo { oss: string; diff --git a/src/lib/types/api-user.ts b/src/lib/types/api-user.ts index f875589cfc1..b2f2e089bef 100644 --- a/src/lib/types/api-user.ts +++ b/src/lib/types/api-user.ts @@ -1,4 +1,4 @@ -import { ApiTokenType } from './models/api-token'; +import type { ApiTokenType } from './models/api-token'; import { ValidationError } from 'joi'; import { CLIENT } from './permissions'; diff --git a/src/lib/types/authentication-required.ts b/src/lib/types/authentication-required.ts index 1b3a0082c3c..edc9815d53c 100644 --- a/src/lib/types/authentication-required.ts +++ b/src/lib/types/authentication-required.ts @@ -1,4 +1,4 @@ -import { ApiErrorSchema, UnleashError } from '../error/unleash-error'; +import { type ApiErrorSchema, UnleashError } from '../error/unleash-error'; interface IBaseOptions { type: string; diff --git a/src/lib/types/core.test.ts b/src/lib/types/core.test.ts index 006762f9d97..5c369d817bd 100644 --- a/src/lib/types/core.test.ts +++ b/src/lib/types/core.test.ts @@ -2,7 +2,7 @@ import { getDbConfig } from '../../test/e2e/helpers/database-config'; import { createTestConfig } from '../../test/config/test-config'; import { log } from 'db-migrate-shared'; import { Client } from 'pg'; -import { IDBOption } from '../../lib/types'; +import type { IDBOption } from '../../lib/types'; import { migrateDb } from '../../migrator'; import { SYSTEM_USER } from './core'; diff --git a/src/lib/types/core.ts b/src/lib/types/core.ts index 6ce3a95ef9e..c6084713609 100644 --- a/src/lib/types/core.ts +++ b/src/lib/types/core.ts @@ -1,11 +1,12 @@ -import { Request } from 'express'; -import EventEmitter from 'events'; -import * as https from 'https'; -import * as http from 'http'; -import User, { IUser } from './user'; -import { IUnleashConfig } from './option'; -import { IUnleashStores } from './stores'; -import { IUnleashServices } from './services'; +import type { Request } from 'express'; +import type EventEmitter from 'events'; +import type * as https from 'https'; +import type * as http from 'http'; +import type User from './user'; +import type { IUser } from './user'; +import type { IUnleashConfig } from './option'; +import type { IUnleashStores } from './stores'; +import type { IUnleashServices } from './services'; export interface AuthedRequest extends Request { user: User; diff --git a/src/lib/types/events.ts b/src/lib/types/events.ts index 6fa187d6aeb..791ba79df11 100644 --- a/src/lib/types/events.ts +++ b/src/lib/types/events.ts @@ -1,8 +1,8 @@ import { extractUsernameFromUser } from '../util'; -import { IApiUser } from './api-user'; -import { FeatureToggle, IStrategyConfig, ITag, IVariant } from './model'; -import { IApiToken } from './models/api-token'; -import { IUser, IUserWithRootRole } from './user'; +import type { IApiUser } from './api-user'; +import type { FeatureToggle, IStrategyConfig, ITag, IVariant } from './model'; +import type { IApiToken } from './models/api-token'; +import type { IUser, IUserWithRootRole } from './user'; export const APPLICATION_CREATED = 'application-created' as const; diff --git a/src/lib/types/experimental.ts b/src/lib/types/experimental.ts index 0a99789a0b8..4d936fd9f4e 100644 --- a/src/lib/types/experimental.ts +++ b/src/lib/types/experimental.ts @@ -1,4 +1,4 @@ -import { PayloadType, Variant } from 'unleash-client'; +import { PayloadType, type Variant } from 'unleash-client'; import { parseEnvVarBoolean } from '../util'; import { getDefaultVariant } from 'unleash-client/lib/variant'; diff --git a/src/lib/types/group.ts b/src/lib/types/group.ts index ab3b384350f..f0b539321e0 100644 --- a/src/lib/types/group.ts +++ b/src/lib/types/group.ts @@ -1,5 +1,5 @@ import Joi, { ValidationError } from 'joi'; -import { IUser } from './user'; +import type { IUser } from './user'; export interface IGroup { id: number; diff --git a/src/lib/types/model.ts b/src/lib/types/model.ts index 79d85fed08c..9be2d0836cd 100644 --- a/src/lib/types/model.ts +++ b/src/lib/types/model.ts @@ -1,11 +1,11 @@ -import { ITagType } from '../features/tag-type/tag-type-store-type'; -import { LogProvider } from '../logger'; -import { IRole } from './stores/access-store'; -import { IUser } from './user'; -import { ALL_OPERATORS } from '../util'; -import { IProjectStats } from '../features/project/project-service'; -import { CreateFeatureStrategySchema } from '../openapi'; -import { ProjectEnvironment } from '../features/project/project-store-type'; +import type { ITagType } from '../features/tag-type/tag-type-store-type'; +import type { LogProvider } from '../logger'; +import type { IRole } from './stores/access-store'; +import type { IUser } from './user'; +import type { ALL_OPERATORS } from '../util'; +import type { IProjectStats } from '../features/project/project-service'; +import type { CreateFeatureStrategySchema } from '../openapi'; +import type { ProjectEnvironment } from '../features/project/project-store-type'; export type Operator = (typeof ALL_OPERATORS)[number]; diff --git a/src/lib/types/models/api-token.ts b/src/lib/types/models/api-token.ts index 7d2f2401267..7fb4003190e 100644 --- a/src/lib/types/models/api-token.ts +++ b/src/lib/types/models/api-token.ts @@ -1,5 +1,5 @@ import BadDataError from '../../error/bad-data-error'; -import { IEnvironment } from '../model'; +import type { IEnvironment } from '../model'; export const ALL = '*'; diff --git a/src/lib/types/models/public-signup-token.ts b/src/lib/types/models/public-signup-token.ts index 755af9a80a2..1e8f3bfbe4b 100644 --- a/src/lib/types/models/public-signup-token.ts +++ b/src/lib/types/models/public-signup-token.ts @@ -1,4 +1,4 @@ -import User from '../user'; +import type User from '../user'; export interface IPublicSignupTokenCreate { name: string; diff --git a/src/lib/types/no-auth-user.ts b/src/lib/types/no-auth-user.ts index 2e54ccc98f1..0e7c6a614e0 100644 --- a/src/lib/types/no-auth-user.ts +++ b/src/lib/types/no-auth-user.ts @@ -1,5 +1,5 @@ import { ADMIN } from './permissions'; -import { IUser } from './user'; +import type { IUser } from './user'; export default class NoAuthUser implements IUser { isAPI: boolean; diff --git a/src/lib/types/openapi.d.ts b/src/lib/types/openapi.d.ts index 82b5984b330..abc011bbe20 100644 --- a/src/lib/types/openapi.d.ts +++ b/src/lib/types/openapi.d.ts @@ -1,7 +1,7 @@ // Partial types for "@unleash/express-openapi". declare module '@unleash/express-openapi' { - import { RequestHandler } from 'express'; - import { OpenAPIV3 } from 'openapi-types'; + import type { RequestHandler } from 'express'; + import type { OpenAPIV3 } from 'openapi-types'; export interface IExpressOpenApi extends RequestHandler { validPath: (operation: OpenAPIV3.OperationObject) => RequestHandler; diff --git a/src/lib/types/option.ts b/src/lib/types/option.ts index 4930d2a8cad..8235920ab1c 100644 --- a/src/lib/types/option.ts +++ b/src/lib/types/option.ts @@ -1,11 +1,15 @@ -import { Express } from 'express'; -import EventEmitter from 'events'; -import { LogLevel, LogProvider } from '../logger'; -import { ILegacyApiTokenCreate } from './models/api-token'; -import { IExperimentalOptions, IFlagResolver, IFlags } from './experimental'; -import SMTPTransport from 'nodemailer/lib/smtp-transport'; -import { IUnleashServices } from './services'; -import { ResourceLimitsSchema } from '../openapi/spec/resource-limits-schema'; +import type { Express } from 'express'; +import type EventEmitter from 'events'; +import type { LogLevel, LogProvider } from '../logger'; +import type { ILegacyApiTokenCreate } from './models/api-token'; +import type { + IExperimentalOptions, + IFlagResolver, + IFlags, +} from './experimental'; +import type SMTPTransport from 'nodemailer/lib/smtp-transport'; +import type { IUnleashServices } from './services'; +import type { ResourceLimitsSchema } from '../openapi/spec/resource-limits-schema'; export interface ISSLOption { rejectUnauthorized: boolean; diff --git a/src/lib/types/services.ts b/src/lib/types/services.ts index b7a77567593..f128a8c3341 100644 --- a/src/lib/types/services.ts +++ b/src/lib/types/services.ts @@ -1,57 +1,57 @@ -import { AccessService } from '../services/access-service'; -import AddonService from '../services/addon-service'; -import ProjectService from '../features/project/project-service'; -import StateService from '../services/state-service'; -import StrategyService from '../services/strategy-service'; -import TagTypeService from '../features/tag-type/tag-type-service'; -import TagService from '../services/tag-service'; -import ClientInstanceService from '../features/metrics/instance/instance-service'; -import ContextService from '../services/context-service'; -import VersionService from '../services/version-service'; -import { ApiTokenService } from '../services/api-token-service'; -import { EmailService } from '../services/email-service'; -import UserService from '../services/user-service'; -import ResetTokenService from '../services/reset-token-service'; -import FeatureTypeService from '../services/feature-type-service'; -import EventService from '../features/events/event-service'; -import HealthService from '../services/health-service'; -import SettingService from '../services/setting-service'; -import SessionService from '../services/session-service'; -import UserFeedbackService from '../services/user-feedback-service'; -import FeatureToggleService from '../features/feature-toggle/feature-toggle-service'; -import EnvironmentService from '../features/project-environments/environment-service'; -import FeatureTagService from '../services/feature-tag-service'; -import ProjectHealthService from '../services/project-health-service'; -import ClientMetricsServiceV2 from '../features/metrics/client-metrics/metrics-service-v2'; -import UserSplashService from '../services/user-splash-service'; -import { OpenApiService } from '../services/openapi-service'; -import { ClientSpecService } from '../services/client-spec-service'; -import { PlaygroundService } from '../features/playground/playground-service'; -import { GroupService } from '../services/group-service'; -import { FrontendApiService } from '../features/frontend-api/frontend-api-service'; -import EdgeService from '../services/edge-service'; -import PatService from '../services/pat-service'; -import { PublicSignupTokenService } from '../services/public-signup-token-service'; -import { LastSeenService } from '../features/metrics/last-seen/last-seen-service'; -import { InstanceStatsService } from '../features/instance-stats/instance-stats-service'; -import { FavoritesService } from '../services/favorites-service'; -import MaintenanceService from '../features/maintenance/maintenance-service'; -import { AccountService } from '../services/account-service'; -import { SchedulerService } from '../features/scheduler/scheduler-service'; -import { Knex } from 'knex'; -import { +import type { AccessService } from '../services/access-service'; +import type AddonService from '../services/addon-service'; +import type ProjectService from '../features/project/project-service'; +import type StateService from '../services/state-service'; +import type StrategyService from '../services/strategy-service'; +import type TagTypeService from '../features/tag-type/tag-type-service'; +import type TagService from '../services/tag-service'; +import type ClientInstanceService from '../features/metrics/instance/instance-service'; +import type ContextService from '../services/context-service'; +import type VersionService from '../services/version-service'; +import type { ApiTokenService } from '../services/api-token-service'; +import type { EmailService } from '../services/email-service'; +import type UserService from '../services/user-service'; +import type ResetTokenService from '../services/reset-token-service'; +import type FeatureTypeService from '../services/feature-type-service'; +import type EventService from '../features/events/event-service'; +import type HealthService from '../services/health-service'; +import type SettingService from '../services/setting-service'; +import type SessionService from '../services/session-service'; +import type UserFeedbackService from '../services/user-feedback-service'; +import type FeatureToggleService from '../features/feature-toggle/feature-toggle-service'; +import type EnvironmentService from '../features/project-environments/environment-service'; +import type FeatureTagService from '../services/feature-tag-service'; +import type ProjectHealthService from '../services/project-health-service'; +import type ClientMetricsServiceV2 from '../features/metrics/client-metrics/metrics-service-v2'; +import type UserSplashService from '../services/user-splash-service'; +import type { OpenApiService } from '../services/openapi-service'; +import type { ClientSpecService } from '../services/client-spec-service'; +import type { PlaygroundService } from '../features/playground/playground-service'; +import type { GroupService } from '../services/group-service'; +import type { FrontendApiService } from '../features/frontend-api/frontend-api-service'; +import type EdgeService from '../services/edge-service'; +import type PatService from '../services/pat-service'; +import type { PublicSignupTokenService } from '../services/public-signup-token-service'; +import type { LastSeenService } from '../features/metrics/last-seen/last-seen-service'; +import type { InstanceStatsService } from '../features/instance-stats/instance-stats-service'; +import type { FavoritesService } from '../services/favorites-service'; +import type MaintenanceService from '../features/maintenance/maintenance-service'; +import type { AccountService } from '../services/account-service'; +import type { SchedulerService } from '../features/scheduler/scheduler-service'; +import type { Knex } from 'knex'; +import type { IExportService, IImportService, } from '../features/export-import-toggles/export-import-service'; -import { ISegmentService } from '../features/segment/segment-service-interface'; -import ConfigurationRevisionService from '../features/feature-toggle/configuration-revision-service'; -import EventAnnouncerService from '../services/event-announcer-service'; -import { IPrivateProjectChecker } from '../features/private-project/privateProjectCheckerType'; -import { DependentFeaturesService } from '../features/dependent-features/dependent-features-service'; -import { WithTransactional } from '../db/transaction'; -import { ClientFeatureToggleService } from '../features/client-feature-toggles/client-feature-toggle-service'; -import { FeatureSearchService } from '../features/feature-search/feature-search-service'; -import { InactiveUsersService } from '../users/inactive/inactive-users-service'; +import type { ISegmentService } from '../features/segment/segment-service-interface'; +import type ConfigurationRevisionService from '../features/feature-toggle/configuration-revision-service'; +import type EventAnnouncerService from '../services/event-announcer-service'; +import type { IPrivateProjectChecker } from '../features/private-project/privateProjectCheckerType'; +import type { DependentFeaturesService } from '../features/dependent-features/dependent-features-service'; +import type { WithTransactional } from '../db/transaction'; +import type { ClientFeatureToggleService } from '../features/client-feature-toggles/client-feature-toggle-service'; +import type { FeatureSearchService } from '../features/feature-search/feature-search-service'; +import type { InactiveUsersService } from '../users/inactive/inactive-users-service'; export interface IUnleashServices { accessService: AccessService; diff --git a/src/lib/types/settings/frontend-settings.ts b/src/lib/types/settings/frontend-settings.ts index 909797fac00..a3dc61ae79a 100644 --- a/src/lib/types/settings/frontend-settings.ts +++ b/src/lib/types/settings/frontend-settings.ts @@ -1,4 +1,4 @@ -import { IUnleashConfig } from '../option'; +import type { IUnleashConfig } from '../option'; export const frontendSettingsKey = 'unleash.frontend'; diff --git a/src/lib/types/stores.ts b/src/lib/types/stores.ts index f38926066e8..12d7f965ff0 100644 --- a/src/lib/types/stores.ts +++ b/src/lib/types/stores.ts @@ -31,13 +31,13 @@ import { IPublicSignupTokenStore } from './stores/public-signup-token-store'; import { IFavoriteFeaturesStore } from './stores/favorite-features'; import { IFavoriteProjectsStore } from './stores/favorite-projects'; import { IAccountStore } from './stores/account-store'; -import { IProjectStatsStore } from './stores/project-stats-store-type'; +import type { IProjectStatsStore } from './stores/project-stats-store-type'; import { IImportTogglesStore } from '../features/export-import-toggles/import-toggles-store-type'; import { IPrivateProjectStore } from '../features/private-project/privateProjectStoreType'; import { IDependentFeaturesStore } from '../features/dependent-features/dependent-features-store-type'; import { ILastSeenStore } from '../features/metrics/last-seen/types/last-seen-store-type'; import { IFeatureSearchStore } from '../features/feature-search/feature-search-store-type'; -import { IInactiveUsersStore } from '../users/inactive/types/inactive-users-store-type'; +import type { IInactiveUsersStore } from '../users/inactive/types/inactive-users-store-type'; import { ITrafficDataUsageStore } from '../features/traffic-data-usage/traffic-data-usage-store-type'; import { ISegmentReadModel } from '../features/segment/segment-read-model-type'; diff --git a/src/lib/types/stores/access-store.ts b/src/lib/types/stores/access-store.ts index bedb6102723..f7bdd288ca6 100644 --- a/src/lib/types/stores/access-store.ts +++ b/src/lib/types/stores/access-store.ts @@ -1,7 +1,7 @@ -import { PermissionRef } from '../../services/access-service'; -import { IGroupModelWithProjectRole } from '../group'; -import { IPermission, IUserAccessOverview, IUserWithRole } from '../model'; -import { Store } from './store'; +import type { PermissionRef } from '../../services/access-service'; +import type { IGroupModelWithProjectRole } from '../group'; +import type { IPermission, IUserAccessOverview, IUserWithRole } from '../model'; +import type { Store } from './store'; export interface IUserPermission { project?: string; diff --git a/src/lib/types/stores/account-store.ts b/src/lib/types/stores/account-store.ts index cfb754efac6..2f4f6d6a496 100644 --- a/src/lib/types/stores/account-store.ts +++ b/src/lib/types/stores/account-store.ts @@ -1,5 +1,5 @@ -import { IUser } from '../user'; -import { Store } from './store'; +import type { IUser } from '../user'; +import type { Store } from './store'; export interface IUserLookup { id?: number; diff --git a/src/lib/types/stores/addon-store.ts b/src/lib/types/stores/addon-store.ts index e5de3276800..ffa01c6666b 100644 --- a/src/lib/types/stores/addon-store.ts +++ b/src/lib/types/stores/addon-store.ts @@ -1,4 +1,4 @@ -import { Store } from './store'; +import type { Store } from './store'; export interface IAddonDto { provider: string; diff --git a/src/lib/types/stores/api-token-store.ts b/src/lib/types/stores/api-token-store.ts index f6df32860b4..59a528846d6 100644 --- a/src/lib/types/stores/api-token-store.ts +++ b/src/lib/types/stores/api-token-store.ts @@ -1,5 +1,5 @@ -import { IApiToken, IApiTokenCreate } from '../models/api-token'; -import { Store } from './store'; +import type { IApiToken, IApiTokenCreate } from '../models/api-token'; +import type { Store } from './store'; export interface IApiTokenStore extends Store { getAllActive(): Promise; diff --git a/src/lib/types/stores/client-applications-store.ts b/src/lib/types/stores/client-applications-store.ts index 317b56ca9c4..78d62c23604 100644 --- a/src/lib/types/stores/client-applications-store.ts +++ b/src/lib/types/stores/client-applications-store.ts @@ -1,5 +1,5 @@ -import { Store } from './store'; -import { IApplicationOverview } from '../../features/metrics/instance/models'; +import type { Store } from './store'; +import type { IApplicationOverview } from '../../features/metrics/instance/models'; export interface IClientApplicationUsage { project: string; diff --git a/src/lib/types/stores/client-instance-store.ts b/src/lib/types/stores/client-instance-store.ts index 274ad1e8ffa..6c5c916f281 100644 --- a/src/lib/types/stores/client-instance-store.ts +++ b/src/lib/types/stores/client-instance-store.ts @@ -1,4 +1,4 @@ -import { Store } from './store'; +import type { Store } from './store'; export interface IClientInstance extends INewClientInstance { createdAt: Date; diff --git a/src/lib/types/stores/context-field-store.ts b/src/lib/types/stores/context-field-store.ts index 8e19e6dff3b..6adb8493693 100644 --- a/src/lib/types/stores/context-field-store.ts +++ b/src/lib/types/stores/context-field-store.ts @@ -1,4 +1,4 @@ -import { Store } from './store'; +import type { Store } from './store'; export interface IContextFieldDto { name: string; diff --git a/src/lib/types/stores/event-store.ts b/src/lib/types/stores/event-store.ts index 2ae4bc587e0..db4ca65ff9a 100644 --- a/src/lib/types/stores/event-store.ts +++ b/src/lib/types/stores/event-store.ts @@ -1,8 +1,8 @@ -import { IBaseEvent, IEvent } from '../events'; -import { Store } from './store'; -import { SearchEventsSchema } from '../../openapi/spec/search-events-schema'; -import EventEmitter from 'events'; -import { IQueryOperations } from '../../features/events/event-store'; +import type { IBaseEvent, IEvent } from '../events'; +import type { Store } from './store'; +import type { SearchEventsSchema } from '../../openapi/spec/search-events-schema'; +import type EventEmitter from 'events'; +import type { IQueryOperations } from '../../features/events/event-store'; export interface IEventStore extends Store, diff --git a/src/lib/types/stores/favorite-features.ts b/src/lib/types/stores/favorite-features.ts index 8da6d9ab27e..7f6cb669536 100644 --- a/src/lib/types/stores/favorite-features.ts +++ b/src/lib/types/stores/favorite-features.ts @@ -1,5 +1,5 @@ -import { IFavoriteFeature } from '../favorites'; -import { Store } from './store'; +import type { IFavoriteFeature } from '../favorites'; +import type { Store } from './store'; export interface IFavoriteFeatureKey { userId: number; diff --git a/src/lib/types/stores/favorite-projects.ts b/src/lib/types/stores/favorite-projects.ts index 3af0813cb38..8b2f5c6b96b 100644 --- a/src/lib/types/stores/favorite-projects.ts +++ b/src/lib/types/stores/favorite-projects.ts @@ -1,5 +1,5 @@ -import { IFavoriteProject } from '../favorites'; -import { Store } from './store'; +import type { IFavoriteProject } from '../favorites'; +import type { Store } from './store'; export interface IFavoriteProjectKey { userId: number; diff --git a/src/lib/types/stores/feature-environment-store.ts b/src/lib/types/stores/feature-environment-store.ts index f31174cb85d..d423d2e07bc 100644 --- a/src/lib/types/stores/feature-environment-store.ts +++ b/src/lib/types/stores/feature-environment-store.ts @@ -1,5 +1,5 @@ -import { IFeatureEnvironment, IVariant } from '../model'; -import { Store } from './store'; +import type { IFeatureEnvironment, IVariant } from '../model'; +import type { Store } from './store'; export interface FeatureEnvironmentKey { featureName: string; diff --git a/src/lib/types/stores/feature-tag-store.ts b/src/lib/types/stores/feature-tag-store.ts index 74142bebf16..74ac57f8233 100644 --- a/src/lib/types/stores/feature-tag-store.ts +++ b/src/lib/types/stores/feature-tag-store.ts @@ -1,5 +1,5 @@ -import { ITag } from '../model'; -import { Store } from './store'; +import type { ITag } from '../model'; +import type { Store } from './store'; export interface IFeatureTag { featureName: string; diff --git a/src/lib/types/stores/feature-type-store.ts b/src/lib/types/stores/feature-type-store.ts index 24ac6b923ee..ce7335f57fe 100644 --- a/src/lib/types/stores/feature-type-store.ts +++ b/src/lib/types/stores/feature-type-store.ts @@ -1,4 +1,4 @@ -import { Store } from './store'; +import type { Store } from './store'; export interface IFeatureType { id: string; diff --git a/src/lib/types/stores/group-store.ts b/src/lib/types/stores/group-store.ts index f7974e0e2e4..5e3cc758a9f 100644 --- a/src/lib/types/stores/group-store.ts +++ b/src/lib/types/stores/group-store.ts @@ -1,5 +1,6 @@ -import { Store } from './store'; -import Group, { +import type { Store } from './store'; +import type Group from '../group'; +import type { ICreateGroupUserModel, IGroup, IGroupModel, @@ -7,7 +8,7 @@ import Group, { IGroupRole, IGroupUser, } from '../group'; -import { IGroupWithProjectRoles } from './access-store'; +import type { IGroupWithProjectRoles } from './access-store'; export interface IStoreGroup { name: string; diff --git a/src/lib/types/stores/pat-store.ts b/src/lib/types/stores/pat-store.ts index 10ff3f8b661..0426010869b 100644 --- a/src/lib/types/stores/pat-store.ts +++ b/src/lib/types/stores/pat-store.ts @@ -1,5 +1,5 @@ -import { Store } from './store'; -import { CreatePatSchema, PatSchema } from '../../openapi'; +import type { Store } from './store'; +import type { CreatePatSchema, PatSchema } from '../../openapi'; export interface IPatStore extends Store { create( diff --git a/src/lib/types/stores/project-stats-store-type.ts b/src/lib/types/stores/project-stats-store-type.ts index baf809fa3ad..72365e617c1 100644 --- a/src/lib/types/stores/project-stats-store-type.ts +++ b/src/lib/types/stores/project-stats-store-type.ts @@ -1,5 +1,5 @@ -import { DoraFeaturesSchema } from '../../openapi'; -import { IProjectStats } from '../../features/project/project-service'; +import type { DoraFeaturesSchema } from '../../openapi'; +import type { IProjectStats } from '../../features/project/project-service'; export interface ICreateEnabledDates { created: Date; diff --git a/src/lib/types/stores/public-signup-token-store.ts b/src/lib/types/stores/public-signup-token-store.ts index 06d53b10235..fd190c03265 100644 --- a/src/lib/types/stores/public-signup-token-store.ts +++ b/src/lib/types/stores/public-signup-token-store.ts @@ -1,6 +1,6 @@ -import { Store } from './store'; -import { PublicSignupTokenSchema } from '../../openapi/spec/public-signup-token-schema'; -import { IPublicSignupTokenCreate } from '../models/public-signup-token'; +import type { Store } from './store'; +import type { PublicSignupTokenSchema } from '../../openapi/spec/public-signup-token-schema'; +import type { IPublicSignupTokenCreate } from '../models/public-signup-token'; export interface IPublicSignupTokenStore extends Store { diff --git a/src/lib/types/stores/reset-token-store.ts b/src/lib/types/stores/reset-token-store.ts index f932edf14fd..f041d39bc9a 100644 --- a/src/lib/types/stores/reset-token-store.ts +++ b/src/lib/types/stores/reset-token-store.ts @@ -1,4 +1,4 @@ -import { Store } from './store'; +import type { Store } from './store'; export interface IResetTokenCreate { reset_token: string; diff --git a/src/lib/types/stores/role-store.ts b/src/lib/types/stores/role-store.ts index c63a60ec403..22280fdc042 100644 --- a/src/lib/types/stores/role-store.ts +++ b/src/lib/types/stores/role-store.ts @@ -1,7 +1,7 @@ -import { RoleSchema } from '../../openapi'; -import { ICustomRole } from '../model'; -import { IRole, IUserRole } from './access-store'; -import { Store } from './store'; +import type { RoleSchema } from '../../openapi'; +import type { ICustomRole } from '../model'; +import type { IRole, IUserRole } from './access-store'; +import type { Store } from './store'; export interface ICustomRoleInsert { name: string; diff --git a/src/lib/types/stores/session-store.ts b/src/lib/types/stores/session-store.ts index 38cd1591653..964600f1c91 100644 --- a/src/lib/types/stores/session-store.ts +++ b/src/lib/types/stores/session-store.ts @@ -1,4 +1,4 @@ -import { Store } from './store'; +import type { Store } from './store'; export interface ISession { sid: string; diff --git a/src/lib/types/stores/settings-store.ts b/src/lib/types/stores/settings-store.ts index d5332175cc2..67495c97c10 100644 --- a/src/lib/types/stores/settings-store.ts +++ b/src/lib/types/stores/settings-store.ts @@ -1,4 +1,4 @@ -import { Store } from './store'; +import type { Store } from './store'; export interface ISettingInsert { name: string; diff --git a/src/lib/types/stores/strategy-store.ts b/src/lib/types/stores/strategy-store.ts index 4daf7d7c6c3..4a98cefe148 100644 --- a/src/lib/types/stores/strategy-store.ts +++ b/src/lib/types/stores/strategy-store.ts @@ -1,5 +1,5 @@ -import { CreateStrategySchema } from '../../openapi'; -import { Store } from './store'; +import type { CreateStrategySchema } from '../../openapi'; +import type { Store } from './store'; export interface IStrategy { name: string; diff --git a/src/lib/types/stores/tag-store.ts b/src/lib/types/stores/tag-store.ts index a5d2e388da7..c758fe4c65f 100644 --- a/src/lib/types/stores/tag-store.ts +++ b/src/lib/types/stores/tag-store.ts @@ -1,5 +1,5 @@ -import { ITag } from '../model'; -import { Store } from './store'; +import type { ITag } from '../model'; +import type { Store } from './store'; export interface ITagStore extends Store { getTagsByType(type: string): Promise; diff --git a/src/lib/types/stores/user-feedback-store.ts b/src/lib/types/stores/user-feedback-store.ts index ae734d531cc..fbfb553fbca 100644 --- a/src/lib/types/stores/user-feedback-store.ts +++ b/src/lib/types/stores/user-feedback-store.ts @@ -1,4 +1,4 @@ -import { Store } from './store'; +import type { Store } from './store'; export interface IUserFeedback { neverShow: boolean; diff --git a/src/lib/types/stores/user-splash-store.ts b/src/lib/types/stores/user-splash-store.ts index 6a6c922528e..042baf9827a 100644 --- a/src/lib/types/stores/user-splash-store.ts +++ b/src/lib/types/stores/user-splash-store.ts @@ -1,4 +1,4 @@ -import { Store } from './store'; +import type { Store } from './store'; export interface IUserSplash { seen: boolean; diff --git a/src/lib/types/stores/user-store.ts b/src/lib/types/stores/user-store.ts index 0506be91e14..96f9abed994 100644 --- a/src/lib/types/stores/user-store.ts +++ b/src/lib/types/stores/user-store.ts @@ -1,5 +1,5 @@ -import { IUser } from '../user'; -import { Store } from './store'; +import type { IUser } from '../user'; +import type { Store } from './store'; export interface ICreateUser { name?: string; diff --git a/src/lib/users/inactive/createInactiveUsersService.ts b/src/lib/users/inactive/createInactiveUsersService.ts index e0e4fb9a76a..693a322d080 100644 --- a/src/lib/users/inactive/createInactiveUsersService.ts +++ b/src/lib/users/inactive/createInactiveUsersService.ts @@ -1,9 +1,9 @@ import { InactiveUsersService } from './inactive-users-service'; -import { IUnleashConfig } from '../../server-impl'; -import { Db } from '../../server-impl'; +import type { IUnleashConfig } from '../../server-impl'; +import type { Db } from '../../server-impl'; import { InactiveUsersStore } from './inactive-users-store'; import { FakeInactiveUsersStore } from './fakes/fake-inactive-users-store'; -import { UserService } from '../../services'; +import type { UserService } from '../../services'; export const DAYS_TO_BE_COUNTED_AS_INACTIVE = 180; export const createInactiveUsersService = ( diff --git a/src/lib/users/inactive/fakes/fake-inactive-users-store.ts b/src/lib/users/inactive/fakes/fake-inactive-users-store.ts index ef6d9ea52f5..5f49adc7736 100644 --- a/src/lib/users/inactive/fakes/fake-inactive-users-store.ts +++ b/src/lib/users/inactive/fakes/fake-inactive-users-store.ts @@ -1,8 +1,8 @@ -import { +import type { IInactiveUserRow, IInactiveUsersStore, } from '../types/inactive-users-store-type'; -import { IUser } from '../../../types'; +import type { IUser } from '../../../types'; import { subDays } from 'date-fns'; export class FakeInactiveUsersStore implements IInactiveUsersStore { diff --git a/src/lib/users/inactive/inactive-users-controller.ts b/src/lib/users/inactive/inactive-users-controller.ts index 9e9acae1acc..7d3f27263c0 100644 --- a/src/lib/users/inactive/inactive-users-controller.ts +++ b/src/lib/users/inactive/inactive-users-controller.ts @@ -1,25 +1,25 @@ import Controller from '../../routes/controller'; import { ADMIN, - IFlagResolver, - IUnleashConfig, - IUnleashServices, + type IFlagResolver, + type IUnleashConfig, + type IUnleashServices, } from '../../types'; -import { Logger } from '../../logger'; -import { InactiveUsersService } from './inactive-users-service'; +import type { Logger } from '../../logger'; +import type { InactiveUsersService } from './inactive-users-service'; import { createRequestSchema, createResponseSchema, emptyResponse, getStandardResponses, - IdsSchema, - InactiveUserSchema, + type IdsSchema, + type InactiveUserSchema, inactiveUsersSchema, - InactiveUsersSchema, + type InactiveUsersSchema, } from '../../openapi'; -import { IAuthRequest } from '../../routes/unleash-types'; -import { Response } from 'express'; -import { OpenApiService } from '../../services'; +import type { IAuthRequest } from '../../routes/unleash-types'; +import type { Response } from 'express'; +import type { OpenApiService } from '../../services'; import { DAYS_TO_BE_COUNTED_AS_INACTIVE } from './createInactiveUsersService'; import { anonymise } from '../../util'; export class InactiveUsersController extends Controller { diff --git a/src/lib/users/inactive/inactive-users-service.ts b/src/lib/users/inactive/inactive-users-service.ts index bb210b620c9..b6962454c09 100644 --- a/src/lib/users/inactive/inactive-users-service.ts +++ b/src/lib/users/inactive/inactive-users-service.ts @@ -1,13 +1,13 @@ import { - IUnleashConfig, - IUnleashStores, - IUser, + type IUnleashConfig, + type IUnleashStores, + type IUser, serializeDates, } from '../../types'; -import { IInactiveUsersStore } from './types/inactive-users-store-type'; -import { Logger } from '../../logger'; -import { InactiveUserSchema } from '../../openapi'; -import { UserService } from '../../services'; +import type { IInactiveUsersStore } from './types/inactive-users-store-type'; +import type { Logger } from '../../logger'; +import type { InactiveUserSchema } from '../../openapi'; +import type { UserService } from '../../services'; import { DAYS_TO_BE_COUNTED_AS_INACTIVE } from './createInactiveUsersService'; export class InactiveUsersService { diff --git a/src/lib/users/inactive/inactive-users-store.ts b/src/lib/users/inactive/inactive-users-store.ts index 9c0d69ca7e4..45c1f51512f 100644 --- a/src/lib/users/inactive/inactive-users-store.ts +++ b/src/lib/users/inactive/inactive-users-store.ts @@ -1,10 +1,10 @@ -import { +import type { IInactiveUserRow, IInactiveUsersStore, } from './types/inactive-users-store-type'; -import { Db } from '../../db/db'; -import EventEmitter from 'events'; -import { Logger, LogProvider } from '../../logger'; +import type { Db } from '../../db/db'; +import type EventEmitter from 'events'; +import type { Logger, LogProvider } from '../../logger'; import metricsHelper from '../../util/metrics-helper'; import { DB_TIME } from '../../metric-events'; diff --git a/src/lib/util/db-lock.test.ts b/src/lib/util/db-lock.test.ts index 17e8bc6a84d..00e9c7ac3b8 100644 --- a/src/lib/util/db-lock.test.ts +++ b/src/lib/util/db-lock.test.ts @@ -1,7 +1,7 @@ import { withDbLock } from './db-lock'; import { getDbConfig } from '../../test/e2e/helpers/database-config'; -import { IDBOption } from '../types'; -import { Logger } from '../logger'; +import type { IDBOption } from '../types'; +import type { Logger } from '../logger'; test('should lock access to any action', async () => { const lock = withDbLock(getDbConfig() as IDBOption); diff --git a/src/lib/util/db-lock.ts b/src/lib/util/db-lock.ts index 030d887af25..b8354de2a3f 100644 --- a/src/lib/util/db-lock.ts +++ b/src/lib/util/db-lock.ts @@ -1,6 +1,6 @@ import { Client } from 'pg'; -import { IDBOption } from '../types'; -import { Logger } from '../logger'; +import type { IDBOption } from '../types'; +import type { Logger } from '../logger'; export const defaultLockKey = 479341; export const defaultTimeout = 30 * 60000; diff --git a/src/lib/util/extract-user.test.ts b/src/lib/util/extract-user.test.ts index 322f88a25e2..8256ed41c78 100644 --- a/src/lib/util/extract-user.test.ts +++ b/src/lib/util/extract-user.test.ts @@ -1,5 +1,5 @@ import { SYSTEM_USER } from '../../lib/types'; -import { IUser } from '../server-impl'; +import type { IUser } from '../server-impl'; import { extractUserIdFromUser, extractUsernameFromUser } from './extract-user'; describe('extractUsernameFromUser', () => { diff --git a/src/lib/util/extract-user.ts b/src/lib/util/extract-user.ts index d753c0c8c72..26f617c2db8 100644 --- a/src/lib/util/extract-user.ts +++ b/src/lib/util/extract-user.ts @@ -1,5 +1,10 @@ import { SYSTEM_USER } from '../../lib/types'; -import { IApiRequest, IApiUser, IAuthRequest, IUser } from '../server-impl'; +import type { + IApiRequest, + IApiUser, + IAuthRequest, + IUser, +} from '../server-impl'; export function extractUsernameFromUser(user: IUser | IApiUser): string { return (user as IUser)?.email || user?.username || SYSTEM_USER.username; diff --git a/src/lib/util/flag-resolver.test.ts b/src/lib/util/flag-resolver.test.ts index 7bc55bcb3bc..621bd4cba80 100644 --- a/src/lib/util/flag-resolver.test.ts +++ b/src/lib/util/flag-resolver.test.ts @@ -1,7 +1,10 @@ import { PayloadType } from 'unleash-client'; -import { defaultExperimentalOptions, IFlagKey } from '../types/experimental'; +import { + defaultExperimentalOptions, + type IFlagKey, +} from '../types/experimental'; import FlagResolver, { getVariantValue } from './flag-resolver'; -import { IExperimentalOptions } from '../types/experimental'; +import type { IExperimentalOptions } from '../types/experimental'; import { getDefaultVariant } from 'unleash-client/lib/variant'; test('should produce empty exposed flags', () => { diff --git a/src/lib/util/flag-resolver.ts b/src/lib/util/flag-resolver.ts index 726249672d2..ad208703856 100644 --- a/src/lib/util/flag-resolver.ts +++ b/src/lib/util/flag-resolver.ts @@ -1,5 +1,5 @@ -import { Variant, PayloadType } from 'unleash-client'; -import { +import { type Variant, PayloadType } from 'unleash-client'; +import type { IExperimentalOptions, IExternalFlagResolver, IFlagContext, diff --git a/src/lib/util/graceful-shutdown.ts b/src/lib/util/graceful-shutdown.ts index 66405efcc1f..01f84f0eab3 100644 --- a/src/lib/util/graceful-shutdown.ts +++ b/src/lib/util/graceful-shutdown.ts @@ -1,5 +1,5 @@ -import { Logger } from '../logger'; -import { IUnleash } from '../types/core'; +import type { Logger } from '../logger'; +import type { IUnleash } from '../types/core'; function registerGracefulShutdown(unleash: IUnleash, logger: Logger): void { const unleashCloser = (signal: string) => async () => { diff --git a/src/lib/util/load-index-html.ts b/src/lib/util/load-index-html.ts index a163d0b90d8..531841e0520 100644 --- a/src/lib/util/load-index-html.ts +++ b/src/lib/util/load-index-html.ts @@ -1,5 +1,5 @@ import fs from 'fs'; -import { IUnleashConfig } from '../server-impl'; +import type { IUnleashConfig } from '../server-impl'; import { rewriteHTML } from './rewriteHTML'; import path from 'path'; import fetch from 'make-fetch-happen'; diff --git a/src/lib/util/metrics/createCounter.ts b/src/lib/util/metrics/createCounter.ts index 0de98867d99..b17ac7fa36d 100644 --- a/src/lib/util/metrics/createCounter.ts +++ b/src/lib/util/metrics/createCounter.ts @@ -1,4 +1,4 @@ -import { Counter as PromCounter, CounterConfiguration } from 'prom-client'; +import { Counter as PromCounter, type CounterConfiguration } from 'prom-client'; /** * A wrapped instance of prom-client's Counter, overriding some of its methods for enhanced functionality and type-safety. diff --git a/src/lib/util/metrics/createGauge.ts b/src/lib/util/metrics/createGauge.ts index 383fbab4623..4e7fbe400d0 100644 --- a/src/lib/util/metrics/createGauge.ts +++ b/src/lib/util/metrics/createGauge.ts @@ -1,4 +1,4 @@ -import { Gauge as PromGauge, GaugeConfiguration } from 'prom-client'; +import { Gauge as PromGauge, type GaugeConfiguration } from 'prom-client'; /** * A wrapped instance of prom-client's Gauge, overriding some of its methods for enhanced functionality and type-safety. diff --git a/src/lib/util/metrics/createHistogram.ts b/src/lib/util/metrics/createHistogram.ts index 9af122f5f0e..e5cbf31d71a 100644 --- a/src/lib/util/metrics/createHistogram.ts +++ b/src/lib/util/metrics/createHistogram.ts @@ -1,6 +1,6 @@ import { Histogram as PromHistogram, - HistogramConfiguration, + type HistogramConfiguration, } from 'prom-client'; export type Histogram = { diff --git a/src/lib/util/metrics/createSummary.ts b/src/lib/util/metrics/createSummary.ts index cab3706a837..c0fcd1cb7d6 100644 --- a/src/lib/util/metrics/createSummary.ts +++ b/src/lib/util/metrics/createSummary.ts @@ -1,4 +1,4 @@ -import { Summary as PromSummary, SummaryConfiguration } from 'prom-client'; +import { Summary as PromSummary, type SummaryConfiguration } from 'prom-client'; /** * A wrapped instance of prom-client's Summary, overriding some of its methods for enhanced functionality and type-safety. diff --git a/src/lib/util/omit-keys.ts b/src/lib/util/omit-keys.ts index 5268fbe7f26..f343d494fb7 100644 --- a/src/lib/util/omit-keys.ts +++ b/src/lib/util/omit-keys.ts @@ -1,11 +1,9 @@ -export interface OmitKeys { - ( - obj: T, - ...keys: K - ): { - [K2 in Exclude]: T[K2]; - }; -} +export type OmitKeys = ( + obj: T, + ...keys: K +) => { + [K2 in Exclude]: T[K2]; +}; // https://stackoverflow.com/questions/53966509/typescript-type-safe-omit-function export const omitKeys: OmitKeys = (obj, ...keys) => { diff --git a/src/lib/util/semver.ts b/src/lib/util/semver.ts index d859c98146c..53ac47849e2 100644 --- a/src/lib/util/semver.ts +++ b/src/lib/util/semver.ts @@ -1,4 +1,4 @@ -import semver, { SemVer } from 'semver'; +import semver, { type SemVer } from 'semver'; export const parseStrictSemVer = (version: string): SemVer | null => { if (semver.clean(version) !== version) { diff --git a/src/lib/util/validators/constraint-types.test.ts b/src/lib/util/validators/constraint-types.test.ts index b809fd98e60..742966cb622 100644 --- a/src/lib/util/validators/constraint-types.test.ts +++ b/src/lib/util/validators/constraint-types.test.ts @@ -1,5 +1,5 @@ import { validateSemver, validateLegalValues } from './constraint-types'; -import { ILegalValue } from '../../types/stores/context-field-store'; +import type { ILegalValue } from '../../types/stores/context-field-store'; const legalValues: Readonly = [ { value: '100' }, diff --git a/src/lib/util/validators/constraint-types.ts b/src/lib/util/validators/constraint-types.ts index 6cfed5d6989..6e0dab66af9 100644 --- a/src/lib/util/validators/constraint-types.ts +++ b/src/lib/util/validators/constraint-types.ts @@ -4,7 +4,7 @@ import { constraintStringTypeSchema, } from '../../schema/constraint-value-types'; import BadDataError from '../../error/bad-data-error'; -import { ILegalValue } from '../../types/stores/context-field-store'; +import type { ILegalValue } from '../../types/stores/context-field-store'; import { parseStrictSemVer } from '../semver'; export const validateNumber = async (value: unknown): Promise => { diff --git a/src/migrator.ts b/src/migrator.ts index 5ca2d3caf2b..17a35737191 100644 --- a/src/migrator.ts +++ b/src/migrator.ts @@ -1,6 +1,6 @@ import { log } from 'db-migrate-shared'; import { getInstance } from 'db-migrate'; -import { IUnleashConfig } from './lib/types/option'; +import type { IUnleashConfig } from './lib/types/option'; import { secondsToMilliseconds } from 'date-fns'; log.setLogLevel('info'); diff --git a/src/test/arbitraries.test.ts b/src/test/arbitraries.test.ts index b94a2262f6b..cc06c5aa432 100644 --- a/src/test/arbitraries.test.ts +++ b/src/test/arbitraries.test.ts @@ -1,11 +1,11 @@ -import fc, { Arbitrary } from 'fast-check'; +import fc, { type Arbitrary } from 'fast-check'; import { ALL_OPERATORS } from '../lib/util/constants'; -import { ClientFeatureSchema } from '../lib/openapi/spec/client-feature-schema'; -import { IVariant, WeightType } from '../lib/types/model'; -import { FeatureStrategySchema } from '../lib/openapi/spec/feature-strategy-schema'; -import { ConstraintSchema } from '../lib/openapi/spec/constraint-schema'; -import { SegmentSchema } from '../lib/openapi/spec/segment-schema'; +import type { ClientFeatureSchema } from '../lib/openapi/spec/client-feature-schema'; +import { type IVariant, WeightType } from '../lib/types/model'; +import type { FeatureStrategySchema } from '../lib/openapi/spec/feature-strategy-schema'; +import type { ConstraintSchema } from '../lib/openapi/spec/constraint-schema'; +import type { SegmentSchema } from '../lib/openapi/spec/segment-schema'; export const urlFriendlyString = (): Arbitrary => fc diff --git a/src/test/config/create-config.test.ts b/src/test/config/create-config.test.ts index b0ad9cfa8a8..626f949ca47 100644 --- a/src/test/config/create-config.test.ts +++ b/src/test/config/create-config.test.ts @@ -1,6 +1,6 @@ import * as fs from 'fs'; import { createConfig, authTypeFromString } from '../../lib/create-config'; -import { IAuthType, IDBOption } from '../../lib/types/option'; +import { IAuthType, type IDBOption } from '../../lib/types/option'; test('Should use DATABASE_URL from env', () => { const databaseUrl = 'postgres://u:p@localhost:5432/name'; diff --git a/src/test/config/test-config.ts b/src/test/config/test-config.ts index f337578b797..385d080af97 100644 --- a/src/test/config/test-config.ts +++ b/src/test/config/test-config.ts @@ -1,8 +1,8 @@ import merge from 'deepmerge'; import { IAuthType, - IUnleashConfig, - IUnleashOptions, + type IUnleashConfig, + type IUnleashOptions, } from '../../lib/types/option'; import getLogger from '../fixtures/no-logger'; import { createConfig } from '../../lib/create-config'; diff --git a/src/test/e2e/api/admin/addon.e2e.test.ts b/src/test/e2e/api/admin/addon.e2e.test.ts index acf604ede0e..3d8969cbaf0 100644 --- a/src/test/e2e/api/admin/addon.e2e.test.ts +++ b/src/test/e2e/api/admin/addon.e2e.test.ts @@ -1,6 +1,6 @@ -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; import getLogger from '../../../fixtures/no-logger'; diff --git a/src/test/e2e/api/admin/api-token.auth.e2e.test.ts b/src/test/e2e/api/admin/api-token.auth.e2e.test.ts index 530dc7de43d..144658ecec1 100644 --- a/src/test/e2e/api/admin/api-token.auth.e2e.test.ts +++ b/src/test/e2e/api/admin/api-token.auth.e2e.test.ts @@ -2,7 +2,7 @@ import { setupAppWithAuth, setupAppWithCustomAuth, } from '../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; import { ApiTokenType } from '../../../../lib/types/models/api-token'; import { RoleName } from '../../../../lib/types/model'; @@ -11,14 +11,14 @@ import { CREATE_CLIENT_API_TOKEN, CREATE_PROJECT_API_TOKEN, DELETE_CLIENT_API_TOKEN, - IUnleashStores, + type IUnleashStores, READ_CLIENT_API_TOKEN, READ_FRONTEND_API_TOKEN, SYSTEM_USER_ID, UPDATE_CLIENT_API_TOKEN, } from '../../../../lib/types'; import { addDays } from 'date-fns'; -import { AccessService, UserService } from '../../../../lib/services'; +import type { AccessService, UserService } from '../../../../lib/services'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/api/admin/api-token.e2e.test.ts b/src/test/e2e/api/admin/api-token.e2e.test.ts index e6c43f94349..40ca4f16812 100644 --- a/src/test/e2e/api/admin/api-token.e2e.test.ts +++ b/src/test/e2e/api/admin/api-token.e2e.test.ts @@ -1,8 +1,8 @@ import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; import { ALL, ApiTokenType } from '../../../../lib/types/models/api-token'; import { DEFAULT_ENV } from '../../../../lib/util'; diff --git a/src/test/e2e/api/admin/applications.e2e.test.ts b/src/test/e2e/api/admin/applications.e2e.test.ts index 570964c8934..849a63a710c 100644 --- a/src/test/e2e/api/admin/applications.e2e.test.ts +++ b/src/test/e2e/api/admin/applications.e2e.test.ts @@ -1,12 +1,12 @@ -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; import getLogger from '../../../fixtures/no-logger'; import { ApiTokenType, - IApiToken, + type IApiToken, } from '../../../../lib/types/models/api-token'; let app: IUnleashTest; diff --git a/src/test/e2e/api/admin/config.e2e.test.ts b/src/test/e2e/api/admin/config.e2e.test.ts index fc9b3c53bcb..27c8869842b 100644 --- a/src/test/e2e/api/admin/config.e2e.test.ts +++ b/src/test/e2e/api/admin/config.e2e.test.ts @@ -1,6 +1,6 @@ -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; import getLogger from '../../../fixtures/no-logger'; diff --git a/src/test/e2e/api/admin/constraints.e2e.test.ts b/src/test/e2e/api/admin/constraints.e2e.test.ts index b6fac62c473..01648556507 100644 --- a/src/test/e2e/api/admin/constraints.e2e.test.ts +++ b/src/test/e2e/api/admin/constraints.e2e.test.ts @@ -1,7 +1,7 @@ -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; diff --git a/src/test/e2e/api/admin/context.e2e.test.ts b/src/test/e2e/api/admin/context.e2e.test.ts index 8c7a78b1b0f..26647d5109c 100644 --- a/src/test/e2e/api/admin/context.e2e.test.ts +++ b/src/test/e2e/api/admin/context.e2e.test.ts @@ -1,6 +1,6 @@ -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; import getLogger from '../../../fixtures/no-logger'; diff --git a/src/test/e2e/api/admin/environment.test.ts b/src/test/e2e/api/admin/environment.test.ts index f1673c6c9d2..7bc43069833 100644 --- a/src/test/e2e/api/admin/environment.test.ts +++ b/src/test/e2e/api/admin/environment.test.ts @@ -1,7 +1,7 @@ -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; import { DEFAULT_ENV } from '../../../../lib/util/constants'; diff --git a/src/test/e2e/api/admin/event.e2e.test.ts b/src/test/e2e/api/admin/event.e2e.test.ts index e538080e097..8c8389b7f1d 100644 --- a/src/test/e2e/api/admin/event.e2e.test.ts +++ b/src/test/e2e/api/admin/event.e2e.test.ts @@ -1,10 +1,10 @@ import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; -import { FEATURE_CREATED, IBaseEvent } from '../../../../lib/types/events'; +import { FEATURE_CREATED, type IBaseEvent } from '../../../../lib/types/events'; import { randomId } from '../../../../lib/util/random-id'; import { EventService } from '../../../../lib/services'; import { EventEmitter } from 'stream'; diff --git a/src/test/e2e/api/admin/favorites.e2e.test.ts b/src/test/e2e/api/admin/favorites.e2e.test.ts index 0002715abda..ee6d65b986a 100644 --- a/src/test/e2e/api/admin/favorites.e2e.test.ts +++ b/src/test/e2e/api/admin/favorites.e2e.test.ts @@ -1,9 +1,9 @@ -import { IUnleashTest, setupAppWithAuth } from '../../helpers/test-helper'; -import { IUnleashStores, RoleName } from '../../../../lib/types'; -import { AccessService } from '../../../../lib/services'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import { type IUnleashTest, setupAppWithAuth } from '../../helpers/test-helper'; +import { type IUnleashStores, RoleName } from '../../../../lib/types'; +import type { AccessService } from '../../../../lib/services'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; -import { IRole } from '../../../../lib/types/stores/access-store'; +import type { IRole } from '../../../../lib/types/stores/access-store'; let app: IUnleashTest; let db: ITestDb; diff --git a/src/test/e2e/api/admin/feature-archive.e2e.test.ts b/src/test/e2e/api/admin/feature-archive.e2e.test.ts index 101db40721d..b0f9d041b14 100644 --- a/src/test/e2e/api/admin/feature-archive.e2e.test.ts +++ b/src/test/e2e/api/admin/feature-archive.e2e.test.ts @@ -1,8 +1,8 @@ import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; import { DEFAULT_PROJECT } from '../../../../lib/types'; diff --git a/src/test/e2e/api/admin/feature-type.test.ts b/src/test/e2e/api/admin/feature-type.test.ts index 78a7ac66dbc..e7350245e86 100644 --- a/src/test/e2e/api/admin/feature-type.test.ts +++ b/src/test/e2e/api/admin/feature-type.test.ts @@ -1,7 +1,7 @@ -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; import { validateSchema } from '../../../../lib/openapi/validate'; diff --git a/src/test/e2e/api/admin/feature.auth.e2e.test.ts b/src/test/e2e/api/admin/feature.auth.e2e.test.ts index 3d8d938a803..8ca27b5f0ee 100644 --- a/src/test/e2e/api/admin/feature.auth.e2e.test.ts +++ b/src/test/e2e/api/admin/feature.auth.e2e.test.ts @@ -1,5 +1,5 @@ import { setupAppWithAuth } from '../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; let db: ITestDb; diff --git a/src/test/e2e/api/admin/feature.custom-auth.e2e.test.ts b/src/test/e2e/api/admin/feature.custom-auth.e2e.test.ts index 451a7590ec7..b5db3beced7 100644 --- a/src/test/e2e/api/admin/feature.custom-auth.e2e.test.ts +++ b/src/test/e2e/api/admin/feature.custom-auth.e2e.test.ts @@ -1,9 +1,9 @@ import { setupAppWithCustomAuth } from '../../helpers/test-helper'; import AuthenticationRequired from '../../../../lib/types/authentication-required'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; -import { IUnleashStores } from '../../../../lib/types'; +import type { IUnleashStores } from '../../../../lib/types'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/api/admin/feedback.e2e.test.ts b/src/test/e2e/api/admin/feedback.e2e.test.ts index 043f7bed491..c108fa6b39a 100644 --- a/src/test/e2e/api/admin/feedback.e2e.test.ts +++ b/src/test/e2e/api/admin/feedback.e2e.test.ts @@ -1,13 +1,13 @@ -import { Application, NextFunction, Request, Response } from 'express'; +import type { Application, NextFunction, Request, Response } from 'express'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomAuth, } from '../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; -import { IUnleashConfig } from '../../../../lib/types/option'; -import { IUnleashServices } from '../../../../lib/types/services'; -import { IUnleashStores } from '../../../../lib/types'; +import type { IUnleashConfig } from '../../../../lib/types/option'; +import type { IUnleashServices } from '../../../../lib/types/services'; +import type { IUnleashStores } from '../../../../lib/types'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/api/admin/instance-admin.e2e.test.ts b/src/test/e2e/api/admin/instance-admin.e2e.test.ts index 34c75abbeea..ec824979901 100644 --- a/src/test/e2e/api/admin/instance-admin.e2e.test.ts +++ b/src/test/e2e/api/admin/instance-admin.e2e.test.ts @@ -1,10 +1,10 @@ -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; import getLogger from '../../../fixtures/no-logger'; -import { IUnleashStores } from '../../../../lib/types'; +import type { IUnleashStores } from '../../../../lib/types'; let app: IUnleashTest; let db: ITestDb; diff --git a/src/test/e2e/api/admin/maintenance.e2e.test.ts b/src/test/e2e/api/admin/maintenance.e2e.test.ts index c0f8e713f31..3cb86ea2a56 100644 --- a/src/test/e2e/api/admin/maintenance.e2e.test.ts +++ b/src/test/e2e/api/admin/maintenance.e2e.test.ts @@ -1,4 +1,4 @@ -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import { setupApp, setupAppWithCustomConfig } from '../../helpers/test-helper'; import getLogger from '../../../fixtures/no-logger'; diff --git a/src/test/e2e/api/admin/metrics.e2e.test.ts b/src/test/e2e/api/admin/metrics.e2e.test.ts index 1e0b2cad864..6704254df14 100644 --- a/src/test/e2e/api/admin/metrics.e2e.test.ts +++ b/src/test/e2e/api/admin/metrics.e2e.test.ts @@ -1,6 +1,6 @@ -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; import getLogger from '../../../fixtures/no-logger'; diff --git a/src/test/e2e/api/admin/playground.e2e.test.ts b/src/test/e2e/api/admin/playground.e2e.test.ts index d5cb74499f5..ded37f063b2 100644 --- a/src/test/e2e/api/admin/playground.e2e.test.ts +++ b/src/test/e2e/api/admin/playground.e2e.test.ts @@ -1,19 +1,19 @@ -import fc, { Arbitrary } from 'fast-check'; +import fc, { type Arbitrary } from 'fast-check'; import { clientFeature, clientFeatures } from '../../../arbitraries.test'; import { generate as generateRequest } from '../../../../lib/openapi/spec/playground-request-schema.test'; -import dbInit, { ITestDb } from '../../helpers/database-init'; -import { IUnleashTest, setupAppWithAuth } from '../../helpers/test-helper'; -import { FeatureToggle, WeightType } from '../../../../lib/types/model'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; +import { type IUnleashTest, setupAppWithAuth } from '../../helpers/test-helper'; +import { type FeatureToggle, WeightType } from '../../../../lib/types/model'; import getLogger from '../../../fixtures/no-logger'; import { ALL, ApiTokenType, - IApiToken, + type IApiToken, } from '../../../../lib/types/models/api-token'; -import { PlaygroundFeatureSchema } from '../../../../lib/openapi/spec/playground-feature-schema'; -import { ClientFeatureSchema } from '../../../../lib/openapi/spec/client-feature-schema'; -import { PlaygroundResponseSchema } from '../../../../lib/openapi/spec/playground-response-schema'; -import { PlaygroundRequestSchema } from '../../../../lib/openapi/spec/playground-request-schema'; +import type { PlaygroundFeatureSchema } from '../../../../lib/openapi/spec/playground-feature-schema'; +import type { ClientFeatureSchema } from '../../../../lib/openapi/spec/client-feature-schema'; +import type { PlaygroundResponseSchema } from '../../../../lib/openapi/spec/playground-response-schema'; +import type { PlaygroundRequestSchema } from '../../../../lib/openapi/spec/playground-request-schema'; let app: IUnleashTest; let db: ITestDb; diff --git a/src/test/e2e/api/admin/project/api-token.e2e.test.ts b/src/test/e2e/api/admin/project/api-token.e2e.test.ts index 5b527a7d89d..4bc3c5312f7 100644 --- a/src/test/e2e/api/admin/project/api-token.e2e.test.ts +++ b/src/test/e2e/api/admin/project/api-token.e2e.test.ts @@ -1,10 +1,10 @@ -import dbInit, { ITestDb } from '../../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../../helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../../helpers/test-helper'; import getLogger from '../../../../fixtures/no-logger'; -import { IApiTokenStore } from '../../../../../lib/types'; +import type { IApiTokenStore } from '../../../../../lib/types'; let app: IUnleashTest; let db: ITestDb; diff --git a/src/test/e2e/api/admin/project/project.api.tokens.e2e.test.ts b/src/test/e2e/api/admin/project/project.api.tokens.e2e.test.ts index 9bb3a7e0b25..8cf97499f40 100644 --- a/src/test/e2e/api/admin/project/project.api.tokens.e2e.test.ts +++ b/src/test/e2e/api/admin/project/project.api.tokens.e2e.test.ts @@ -1,6 +1,6 @@ -import dbInit, { ITestDb } from '../../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../../helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../../helpers/test-helper'; import getLogger from '../../../../fixtures/no-logger'; diff --git a/src/test/e2e/api/admin/project/project.health.e2e.test.ts b/src/test/e2e/api/admin/project/project.health.e2e.test.ts index a5cd1c0896e..27760868159 100644 --- a/src/test/e2e/api/admin/project/project.health.e2e.test.ts +++ b/src/test/e2e/api/admin/project/project.health.e2e.test.ts @@ -1,10 +1,10 @@ -import dbInit, { ITestDb } from '../../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../../helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../../helpers/test-helper'; import getLogger from '../../../../fixtures/no-logger'; -import { IUser } from '../../../../../lib/types'; +import type { IUser } from '../../../../../lib/types'; let app: IUnleashTest; let db: ITestDb; diff --git a/src/test/e2e/api/admin/project/variants.e2e.test.ts b/src/test/e2e/api/admin/project/variants.e2e.test.ts index 47c524da4eb..5751926624e 100644 --- a/src/test/e2e/api/admin/project/variants.e2e.test.ts +++ b/src/test/e2e/api/admin/project/variants.e2e.test.ts @@ -1,11 +1,11 @@ import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../../helpers/database-init'; import getLogger from '../../../../fixtures/no-logger'; import * as jsonpatch from 'fast-json-patch'; -import { IVariant, WeightType } from '../../../../../lib/types/model'; +import { type IVariant, WeightType } from '../../../../../lib/types/model'; let app: IUnleashTest; let db: ITestDb; diff --git a/src/test/e2e/api/admin/public-signup-token.e2e.test.ts b/src/test/e2e/api/admin/public-signup-token.e2e.test.ts index 6bd7226d6e1..7fb59191bb9 100644 --- a/src/test/e2e/api/admin/public-signup-token.e2e.test.ts +++ b/src/test/e2e/api/admin/public-signup-token.e2e.test.ts @@ -1,9 +1,9 @@ import { setupAppWithCustomAuth } from '../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; import { RoleName } from '../../../../lib/types/model'; -import { PublicSignupTokenCreateSchema } from '../../../../lib/openapi/spec/public-signup-token-create-schema'; -import { IUnleashStores } from '../../../../lib/types'; +import type { PublicSignupTokenCreateSchema } from '../../../../lib/openapi/spec/public-signup-token-create-schema'; +import type { IUnleashStores } from '../../../../lib/types'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/api/admin/splash.e2e.test.ts b/src/test/e2e/api/admin/splash.e2e.test.ts index 256e37df9cf..95d1f117b7c 100644 --- a/src/test/e2e/api/admin/splash.e2e.test.ts +++ b/src/test/e2e/api/admin/splash.e2e.test.ts @@ -1,13 +1,13 @@ -import { Application, NextFunction, Request, Response } from 'express'; +import type { Application, NextFunction, Request, Response } from 'express'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomAuth, } from '../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; -import { IUnleashConfig } from '../../../../lib/types/option'; -import { IUnleashServices } from '../../../../lib/types/services'; -import { IUnleashStores } from '../../../../lib/types'; +import type { IUnleashConfig } from '../../../../lib/types/option'; +import type { IUnleashServices } from '../../../../lib/types/services'; +import type { IUnleashStores } from '../../../../lib/types'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/api/admin/state.e2e.test.ts b/src/test/e2e/api/admin/state.e2e.test.ts index fc118c5ed7f..5fca93b8741 100644 --- a/src/test/e2e/api/admin/state.e2e.test.ts +++ b/src/test/e2e/api/admin/state.e2e.test.ts @@ -1,13 +1,13 @@ -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; import getLogger from '../../../fixtures/no-logger'; import { DEFAULT_ENV } from '../../../../lib/util/constants'; import { collectIds } from '../../../../lib/util/collect-ids'; import { ApiTokenType } from '../../../../lib/types/models/api-token'; -import { IUser, SYSTEM_USER } from '../../../../lib/types'; +import { type IUser, SYSTEM_USER } from '../../../../lib/types'; const importData = require('../../../examples/import.json'); diff --git a/src/test/e2e/api/admin/strategy.e2e.test.ts b/src/test/e2e/api/admin/strategy.e2e.test.ts index b2acd1cc66d..9b86532de90 100644 --- a/src/test/e2e/api/admin/strategy.e2e.test.ts +++ b/src/test/e2e/api/admin/strategy.e2e.test.ts @@ -1,6 +1,6 @@ -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; import getLogger from '../../../fixtures/no-logger'; diff --git a/src/test/e2e/api/admin/tags.e2e.test.ts b/src/test/e2e/api/admin/tags.e2e.test.ts index a5bfe26bf4c..8b1721de3c1 100644 --- a/src/test/e2e/api/admin/tags.e2e.test.ts +++ b/src/test/e2e/api/admin/tags.e2e.test.ts @@ -1,6 +1,6 @@ -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; import getLogger from '../../../fixtures/no-logger'; diff --git a/src/test/e2e/api/admin/user-admin.e2e.test.ts b/src/test/e2e/api/admin/user-admin.e2e.test.ts index 92b099d6a0f..0de7efd2cea 100644 --- a/src/test/e2e/api/admin/user-admin.e2e.test.ts +++ b/src/test/e2e/api/admin/user-admin.e2e.test.ts @@ -1,23 +1,23 @@ import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; import { USER_CREATED, USER_DELETED, USER_UPDATED, } from '../../../../lib/types/events'; -import { IRole } from '../../../../lib/types/stores/access-store'; -import { IEventStore } from '../../../../lib/types/stores/event-store'; -import { IUserStore } from '../../../../lib/types/stores/user-store'; +import type { IRole } from '../../../../lib/types/stores/access-store'; +import type { IEventStore } from '../../../../lib/types/stores/event-store'; +import type { IUserStore } from '../../../../lib/types/stores/user-store'; import { RoleName } from '../../../../lib/types/model'; -import { IRoleStore } from '../../../../lib/types/stores/role-store'; +import type { IRoleStore } from '../../../../lib/types/stores/role-store'; import { randomId } from '../../../../lib/util/random-id'; import { omitKeys } from '../../../../lib/util/omit-keys'; -import { ISessionStore } from '../../../../lib/types/stores/session-store'; -import { IUnleashStores } from '../../../../lib/types'; +import type { ISessionStore } from '../../../../lib/types/stores/session-store'; +import type { IUnleashStores } from '../../../../lib/types'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/api/admin/user/pat.e2e.test.ts b/src/test/e2e/api/admin/user/pat.e2e.test.ts index 5ee1b2c2902..4b769c11477 100644 --- a/src/test/e2e/api/admin/user/pat.e2e.test.ts +++ b/src/test/e2e/api/admin/user/pat.e2e.test.ts @@ -1,7 +1,10 @@ -import { IUnleashTest, setupAppWithAuth } from '../../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../../helpers/database-init'; +import { + type IUnleashTest, + setupAppWithAuth, +} from '../../../helpers/test-helper'; +import dbInit, { type ITestDb } from '../../../helpers/database-init'; import getLogger from '../../../../fixtures/no-logger'; -import { IPatStore } from '../../../../../lib/types/stores/pat-store'; +import type { IPatStore } from '../../../../../lib/types/stores/pat-store'; import { PAT_LIMIT } from '../../../../../lib/util/constants'; let app: IUnleashTest; diff --git a/src/test/e2e/api/admin/user/user.test.ts b/src/test/e2e/api/admin/user/user.test.ts index ffb8144f2ab..c706fe8ad51 100644 --- a/src/test/e2e/api/admin/user/user.test.ts +++ b/src/test/e2e/api/admin/user/user.test.ts @@ -1,6 +1,9 @@ -import dbInit, { ITestDb } from '../../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../../helpers/database-init'; import getLogger from '../../../../fixtures/no-logger'; -import { IUnleashTest, setupAppWithAuth } from '../../../helpers/test-helper'; +import { + type IUnleashTest, + setupAppWithAuth, +} from '../../../helpers/test-helper'; let app: IUnleashTest; let db: ITestDb; diff --git a/src/test/e2e/api/auth/leading-slashes-are-stripped.e2e.test.ts b/src/test/e2e/api/auth/leading-slashes-are-stripped.e2e.test.ts index a4fb58b61b9..c68f3b20f38 100644 --- a/src/test/e2e/api/auth/leading-slashes-are-stripped.e2e.test.ts +++ b/src/test/e2e/api/auth/leading-slashes-are-stripped.e2e.test.ts @@ -1,7 +1,7 @@ import getLogger from '../../../fixtures/no-logger'; -import dbInit, { ITestDb } from '../../helpers/database-init'; -import { IUnleashTest, setupAppWithAuth } from '../../helpers/test-helper'; -import { IAuthType, IUnleashStores } from '../../../../lib/types'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; +import { type IUnleashTest, setupAppWithAuth } from '../../helpers/test-helper'; +import { IAuthType, type IUnleashStores } from '../../../../lib/types'; import { ApiTokenType } from '../../../../lib/types/models/api-token'; let app: IUnleashTest; diff --git a/src/test/e2e/api/auth/reset-password-controller.e2e.test.ts b/src/test/e2e/api/auth/reset-password-controller.e2e.test.ts index 2261b5b30a7..d06e5f63157 100644 --- a/src/test/e2e/api/auth/reset-password-controller.e2e.test.ts +++ b/src/test/e2e/api/auth/reset-password-controller.e2e.test.ts @@ -1,17 +1,17 @@ -import { URL } from 'url'; +import type { URL } from 'url'; import EventEmitter from 'events'; import { createTestConfig } from '../../../config/test-config'; -import { IUnleashConfig } from '../../../../lib/types/option'; +import type { IUnleashConfig } from '../../../../lib/types/option'; import UserService from '../../../../lib/services/user-service'; import { AccessService } from '../../../../lib/services/access-service'; import ResetTokenService from '../../../../lib/services/reset-token-service'; -import { IUser } from '../../../../lib/types/user'; +import type { IUser } from '../../../../lib/types/user'; import { - IUnleashTest, + type IUnleashTest, setupApp, setupAppWithAuth, } from '../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; import { EmailService } from '../../../../lib/services/email-service'; import SessionStore from '../../../../lib/db/session-store'; @@ -21,7 +21,7 @@ import SettingService from '../../../../lib/services/setting-service'; import FakeSettingStore from '../../../fixtures/fake-setting-store'; import { GroupService } from '../../../../lib/services/group-service'; import { EventService } from '../../../../lib/services'; -import { IUnleashStores } from '../../../../lib/types'; +import type { IUnleashStores } from '../../../../lib/types'; let app: IUnleashTest; let stores: IUnleashStores; diff --git a/src/test/e2e/api/auth/simple-password-provider.e2e.test.ts b/src/test/e2e/api/auth/simple-password-provider.e2e.test.ts index 054dd15946f..6a6c46e0d6f 100644 --- a/src/test/e2e/api/auth/simple-password-provider.e2e.test.ts +++ b/src/test/e2e/api/auth/simple-password-provider.e2e.test.ts @@ -1,10 +1,10 @@ import { createTestConfig } from '../../../config/test-config'; -import { IUnleashConfig, IUnleashStores } from '../../../../lib/types'; +import type { IUnleashConfig, IUnleashStores } from '../../../../lib/types'; import UserService from '../../../../lib/services/user-service'; import { AccessService } from '../../../../lib/services/access-service'; -import { IUser } from '../../../../lib/types/user'; -import { IUnleashTest, setupApp } from '../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import type { IUser } from '../../../../lib/types/user'; +import { type IUnleashTest, setupApp } from '../../helpers/test-helper'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; import { EmailService } from '../../../../lib/services/email-service'; import SessionService from '../../../../lib/services/session-service'; diff --git a/src/test/e2e/api/client/feature.auth-none.e2e.test.ts b/src/test/e2e/api/client/feature.auth-none.e2e.test.ts index c651e7e1ee7..13704449755 100644 --- a/src/test/e2e/api/client/feature.auth-none.e2e.test.ts +++ b/src/test/e2e/api/client/feature.auth-none.e2e.test.ts @@ -1,11 +1,11 @@ import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; import { DEFAULT_ENV } from '../../../../lib/util/constants'; -import User from '../../../../lib/types/user'; +import type User from '../../../../lib/types/user'; import { ApiTokenType } from '../../../../lib/types/models/api-token'; let app: IUnleashTest; diff --git a/src/test/e2e/api/client/feature.e2e.test.ts b/src/test/e2e/api/client/feature.e2e.test.ts index 37ee1942ece..682c7294d40 100644 --- a/src/test/e2e/api/client/feature.e2e.test.ts +++ b/src/test/e2e/api/client/feature.e2e.test.ts @@ -1,11 +1,11 @@ import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; import { DEFAULT_ENV } from '../../../../lib/util/constants'; -import User from '../../../../lib/types/user'; +import type User from '../../../../lib/types/user'; import { SYSTEM_USER } from '../../../../lib/types'; let app: IUnleashTest; diff --git a/src/test/e2e/api/client/feature.env.disabled.e2e.test.ts b/src/test/e2e/api/client/feature.env.disabled.e2e.test.ts index c1cd1922211..0f43c70a610 100644 --- a/src/test/e2e/api/client/feature.env.disabled.e2e.test.ts +++ b/src/test/e2e/api/client/feature.env.disabled.e2e.test.ts @@ -1,11 +1,11 @@ import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; import { DEFAULT_ENV } from '../../../../lib/util/constants'; -import { IUser } from '../../../../lib/types'; +import type { IUser } from '../../../../lib/types'; let app: IUnleashTest; let db: ITestDb; diff --git a/src/test/e2e/api/client/feature.optimal304.e2e.test.ts b/src/test/e2e/api/client/feature.optimal304.e2e.test.ts index bd038178857..1d6a5f020f8 100644 --- a/src/test/e2e/api/client/feature.optimal304.e2e.test.ts +++ b/src/test/e2e/api/client/feature.optimal304.e2e.test.ts @@ -1,10 +1,10 @@ import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; -import User from '../../../../lib/types/user'; +import type User from '../../../../lib/types/user'; // import { DEFAULT_ENV } from '../../../../lib/util/constants'; let app: IUnleashTest; diff --git a/src/test/e2e/api/client/feature.token.access.e2e.test.ts b/src/test/e2e/api/client/feature.token.access.e2e.test.ts index 4557562ae12..8ac751a9fe4 100644 --- a/src/test/e2e/api/client/feature.token.access.e2e.test.ts +++ b/src/test/e2e/api/client/feature.token.access.e2e.test.ts @@ -1,7 +1,7 @@ -import { IUnleashTest, setupAppWithAuth } from '../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import { type IUnleashTest, setupAppWithAuth } from '../../helpers/test-helper'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; -import { ApiTokenService } from '../../../../lib/services/api-token-service'; +import type { ApiTokenService } from '../../../../lib/services/api-token-service'; import { ApiTokenType } from '../../../../lib/types/models/api-token'; import { DEFAULT_ENV } from '../../../../lib/util/constants'; import { SYSTEM_USER } from '../../../../lib/types'; diff --git a/src/test/e2e/api/client/metrics.e2e.access.e2e.test.ts b/src/test/e2e/api/client/metrics.e2e.access.e2e.test.ts index 8d616855bea..012afbbaf6e 100644 --- a/src/test/e2e/api/client/metrics.e2e.access.e2e.test.ts +++ b/src/test/e2e/api/client/metrics.e2e.access.e2e.test.ts @@ -1,6 +1,6 @@ -import { IUnleashTest, setupAppWithAuth } from '../../helpers/test-helper'; +import { type IUnleashTest, setupAppWithAuth } from '../../helpers/test-helper'; import metricsExample from '../../../examples/client-metrics.json'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; import { ApiTokenType } from '../../../../lib/types/models/api-token'; diff --git a/src/test/e2e/api/client/metrics.e2e.test.ts b/src/test/e2e/api/client/metrics.e2e.test.ts index 6efe5b5a67f..2e3991597c6 100644 --- a/src/test/e2e/api/client/metrics.e2e.test.ts +++ b/src/test/e2e/api/client/metrics.e2e.test.ts @@ -1,9 +1,9 @@ import { - IUnleashTest, + type IUnleashTest, setupAppWithCustomConfig, } from '../../helpers/test-helper'; import metricsExample from '../../../examples/client-metrics.json'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; import { REQUEST_TIME } from '../../../../lib/metric-events'; diff --git a/src/test/e2e/api/client/metricsV2.e2e.test.ts b/src/test/e2e/api/client/metricsV2.e2e.test.ts index 3b19cf722b3..f094f43de79 100644 --- a/src/test/e2e/api/client/metricsV2.e2e.test.ts +++ b/src/test/e2e/api/client/metricsV2.e2e.test.ts @@ -1,10 +1,10 @@ -import { IUnleashTest, setupAppWithAuth } from '../../helpers/test-helper'; +import { type IUnleashTest, setupAppWithAuth } from '../../helpers/test-helper'; import metricsExample from '../../../examples/client-metrics.json'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; import { ApiTokenType, - IApiToken, + type IApiToken, } from '../../../../lib/types/models/api-token'; let app: IUnleashTest; diff --git a/src/test/e2e/api/client/register.e2e.test.ts b/src/test/e2e/api/client/register.e2e.test.ts index 6b0a173c96f..12554e76c71 100644 --- a/src/test/e2e/api/client/register.e2e.test.ts +++ b/src/test/e2e/api/client/register.e2e.test.ts @@ -1,6 +1,6 @@ import faker from 'faker'; -import { IUnleashTest, setupApp } from '../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import { type IUnleashTest, setupApp } from '../../helpers/test-helper'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; import version from '../../../../lib/util/version'; diff --git a/src/test/e2e/api/openapi/openapi.e2e.test.ts b/src/test/e2e/api/openapi/openapi.e2e.test.ts index 0a21c327a86..ffceaa8bb4a 100644 --- a/src/test/e2e/api/openapi/openapi.e2e.test.ts +++ b/src/test/e2e/api/openapi/openapi.e2e.test.ts @@ -1,9 +1,9 @@ import { - IUnleashTest, + type IUnleashTest, setupApp, setupAppWithBaseUrl, } from '../../helpers/test-helper'; -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; import SwaggerParser from '@apidevtools/swagger-parser'; import enforcer from 'openapi-enforcer'; diff --git a/src/test/e2e/custom-auth.test.ts b/src/test/e2e/custom-auth.test.ts index 708a2a5abaf..078c8e5ac3c 100644 --- a/src/test/e2e/custom-auth.test.ts +++ b/src/test/e2e/custom-auth.test.ts @@ -1,6 +1,6 @@ -import dbInit, { ITestDb } from './helpers/database-init'; +import dbInit, { type ITestDb } from './helpers/database-init'; import { setupAppWithCustomAuth } from './helpers/test-helper'; -import { IUnleashStores, RoleName } from '../../lib/types'; +import { type IUnleashStores, RoleName } from '../../lib/types'; let db: ITestDb; let stores: IUnleashStores; diff --git a/src/test/e2e/dedupe-permissions.e2e.test.ts b/src/test/e2e/dedupe-permissions.e2e.test.ts index 9171dd33c19..4f7d3b06425 100644 --- a/src/test/e2e/dedupe-permissions.e2e.test.ts +++ b/src/test/e2e/dedupe-permissions.e2e.test.ts @@ -3,7 +3,7 @@ import { createTestConfig } from '../config/test-config'; import { getInstance } from 'db-migrate'; import { log } from 'db-migrate-shared'; import { Client } from 'pg'; -import { IDBOption } from '../../lib/types'; +import type { IDBOption } from '../../lib/types'; log.setLogLevel('error'); diff --git a/src/test/e2e/favor-permission-name-over-id.e2e.test.ts b/src/test/e2e/favor-permission-name-over-id.e2e.test.ts index 215a615c58c..f51448a24b4 100644 --- a/src/test/e2e/favor-permission-name-over-id.e2e.test.ts +++ b/src/test/e2e/favor-permission-name-over-id.e2e.test.ts @@ -3,7 +3,7 @@ import { createTestConfig } from '../config/test-config'; import { getInstance } from 'db-migrate'; import { log } from 'db-migrate-shared'; import { Client } from 'pg'; -import { IDBOption } from '../../lib/types'; +import type { IDBOption } from '../../lib/types'; log.setLogLevel('error'); diff --git a/src/test/e2e/features-created-by-user-id-data-migration.e2e.test.ts b/src/test/e2e/features-created-by-user-id-data-migration.e2e.test.ts index 72428042112..4fbe35922cb 100644 --- a/src/test/e2e/features-created-by-user-id-data-migration.e2e.test.ts +++ b/src/test/e2e/features-created-by-user-id-data-migration.e2e.test.ts @@ -1,14 +1,14 @@ -import { EventEmitter } from 'stream'; +import type { EventEmitter } from 'stream'; import { createFeatureToggleService } from '../../lib/features'; import { FEATURES_CREATED_BY_PROCESSED } from '../../lib/metric-events'; -import { EventService, FeatureToggleService } from '../../lib/services'; +import { EventService, type FeatureToggleService } from '../../lib/services'; import { ADMIN_TOKEN_USER, - IUnleashConfig, - IUnleashStores, + type IUnleashConfig, + type IUnleashStores, } from '../../lib/types'; import { createTestConfig } from '../config/test-config'; -import dbInit, { ITestDb } from './helpers/database-init'; +import dbInit, { type ITestDb } from './helpers/database-init'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/health.e2e.test.ts b/src/test/e2e/health.e2e.test.ts index 75ea4ae8b24..235b8844daa 100644 --- a/src/test/e2e/health.e2e.test.ts +++ b/src/test/e2e/health.e2e.test.ts @@ -1,7 +1,7 @@ import { setupApp } from './helpers/test-helper'; -import dbInit, { ITestDb } from './helpers/database-init'; +import dbInit, { type ITestDb } from './helpers/database-init'; import getLogger from '../fixtures/no-logger'; -import { IUnleashStores } from '../../lib/types'; +import type { IUnleashStores } from '../../lib/types'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/helpers/app.utils.ts b/src/test/e2e/helpers/app.utils.ts index eed8a6b3e74..d065bc0d79e 100644 --- a/src/test/e2e/helpers/app.utils.ts +++ b/src/test/e2e/helpers/app.utils.ts @@ -1,5 +1,5 @@ -import { CreateFeatureStrategySchema } from '../../../lib/openapi'; -import { IUnleashTest } from './test-helper'; +import type { CreateFeatureStrategySchema } from '../../../lib/openapi'; +import type { IUnleashTest } from './test-helper'; export const FEATURES_BASE_PATH = '/api/admin/projects/default/features'; export const ADMIN_BASE_PATH = '/api/admin'; diff --git a/src/test/e2e/helpers/database-init.ts b/src/test/e2e/helpers/database-init.ts index 2ef472641bb..fa0787cbc41 100644 --- a/src/test/e2e/helpers/database-init.ts +++ b/src/test/e2e/helpers/database-init.ts @@ -5,13 +5,13 @@ import { createDb } from '../../../lib/db/db-pool'; import { getDbConfig } from './database-config'; import { createTestConfig } from '../../config/test-config'; import dbState from './database.json'; -import { LogProvider } from '../../../lib/logger'; +import type { LogProvider } from '../../../lib/logger'; import noLoggerProvider from '../../fixtures/no-logger'; -import EnvironmentStore from '../../../lib/features/project-environments/environment-store'; -import { IUnleashStores } from '../../../lib/types'; -import { IFeatureEnvironmentStore } from '../../../lib/types/stores/feature-environment-store'; +import type EnvironmentStore from '../../../lib/features/project-environments/environment-store'; +import type { IUnleashStores } from '../../../lib/types'; +import type { IFeatureEnvironmentStore } from '../../../lib/types/stores/feature-environment-store'; import { DEFAULT_ENV } from '../../../lib/util/constants'; -import { IUnleashOptions, Knex } from '../../../lib/server-impl'; +import type { IUnleashOptions, Knex } from '../../../lib/server-impl'; // require('db-migrate-shared').log.silence(false); diff --git a/src/test/e2e/helpers/test-helper.ts b/src/test/e2e/helpers/test-helper.ts index 74a0c0299be..638acbbd4ff 100644 --- a/src/test/e2e/helpers/test-helper.ts +++ b/src/test/e2e/helpers/test-helper.ts @@ -2,26 +2,26 @@ import supertest from 'supertest'; import getApp from '../../../lib/app'; import { createTestConfig } from '../../config/test-config'; -import { IAuthType, IUnleashConfig } from '../../../lib/types/option'; +import { IAuthType, type IUnleashConfig } from '../../../lib/types/option'; import { createServices } from '../../../lib/services'; import sessionDb from '../../../lib/middleware/session-db'; import { DEFAULT_PROJECT, - FeatureToggleDTO, - IUnleashStores, + type FeatureToggleDTO, + type IUnleashStores, } from '../../../lib/types'; -import { IUnleashServices } from '../../../lib/types/services'; -import { Db } from '../../../lib/db/db'; -import { IContextFieldDto } from '../../../lib/types/stores/context-field-store'; +import type { IUnleashServices } from '../../../lib/types/services'; +import type { Db } from '../../../lib/db/db'; +import type { IContextFieldDto } from '../../../lib/types/stores/context-field-store'; import { DEFAULT_ENV } from '../../../lib/util'; -import { +import type { CreateFeatureSchema, CreateFeatureStrategySchema, ImportTogglesSchema, } from '../../../lib/openapi'; -import { Knex } from 'knex'; -import TestAgent from 'supertest/lib/agent'; -import Test from 'supertest/lib/test'; +import type { Knex } from 'knex'; +import type TestAgent from 'supertest/lib/agent'; +import type Test from 'supertest/lib/test'; process.env.NODE_ENV = 'test'; diff --git a/src/test/e2e/migrator.e2e.test.ts b/src/test/e2e/migrator.e2e.test.ts index b8471478dde..e38107f8c1d 100644 --- a/src/test/e2e/migrator.e2e.test.ts +++ b/src/test/e2e/migrator.e2e.test.ts @@ -3,7 +3,7 @@ import { createTestConfig } from '../config/test-config'; import { getInstance } from 'db-migrate'; import { log } from 'db-migrate-shared'; import { Client } from 'pg'; -import { IDBOption } from '../../lib/types'; +import type { IDBOption } from '../../lib/types'; log.setLogLevel('error'); diff --git a/src/test/e2e/routes/routes.test.ts b/src/test/e2e/routes/routes.test.ts index 0d4c4b4f290..aa13eef711b 100644 --- a/src/test/e2e/routes/routes.test.ts +++ b/src/test/e2e/routes/routes.test.ts @@ -1,6 +1,6 @@ -import { IUnleashTest, setupAppWithBaseUrl } from '../helpers/test-helper'; +import { type IUnleashTest, setupAppWithBaseUrl } from '../helpers/test-helper'; -import dbInit, { ITestDb } from '../helpers/database-init'; +import dbInit, { type ITestDb } from '../helpers/database-init'; let db: ITestDb; let app: IUnleashTest; diff --git a/src/test/e2e/seed/segment.seed.ts b/src/test/e2e/seed/segment.seed.ts index d9942f96a44..a75cfce2cef 100644 --- a/src/test/e2e/seed/segment.seed.ts +++ b/src/test/e2e/seed/segment.seed.ts @@ -1,15 +1,15 @@ import dbInit from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; import assert from 'assert'; -import User from '../../../lib/types/user'; +import type User from '../../../lib/types/user'; import { randomId } from '../../../lib/util/random-id'; -import { +import type { IConstraint, IFeatureToggleClient, ISegment, } from '../../../lib/types/model'; -import { IUnleashTest, setupApp } from '../helpers/test-helper'; -import { UpsertSegmentSchema } from '../../../lib/openapi'; +import { type IUnleashTest, setupApp } from '../helpers/test-helper'; +import type { UpsertSegmentSchema } from '../../../lib/openapi'; interface ISeedSegmentSpec { featuresCount: number; diff --git a/src/test/e2e/services/access-service.e2e.test.ts b/src/test/e2e/services/access-service.e2e.test.ts index 06b7e996580..d3f37559d95 100644 --- a/src/test/e2e/services/access-service.e2e.test.ts +++ b/src/test/e2e/services/access-service.e2e.test.ts @@ -1,7 +1,7 @@ -import dbInit, { ITestDb } from '../helpers/database-init'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; -import { +import type { AccessService, IRoleUpdate, PermissionRef, @@ -9,7 +9,7 @@ import { import * as permissions from '../../../lib/types/permissions'; import { RoleName } from '../../../lib/types/model'; -import { +import type { ICreateGroupUserModel, IUnleashStores, IUser, @@ -27,9 +27,9 @@ import { createProjectService, } from '../../../lib/features'; import { BadDataError } from '../../../lib/error'; -import FeatureToggleService from '../../../lib/features/feature-toggle/feature-toggle-service'; -import { ProjectService } from '../../../lib/services'; -import { IRole } from '../../../lib/types/stores/access-store'; +import type FeatureToggleService from '../../../lib/features/feature-toggle/feature-toggle-service'; +import type { ProjectService } from '../../../lib/services'; +import type { IRole } from '../../../lib/types/stores/access-store'; let db: ITestDb; let stores: IUnleashStores; diff --git a/src/test/e2e/services/addon-service.e2e.test.ts b/src/test/e2e/services/addon-service.e2e.test.ts index 536cf679feb..9d5bbe7f54c 100644 --- a/src/test/e2e/services/addon-service.e2e.test.ts +++ b/src/test/e2e/services/addon-service.e2e.test.ts @@ -1,8 +1,8 @@ -import dbInit, { ITestDb } from '../helpers/database-init'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; import { createTestConfig } from '../../config/test-config'; import AddonService from '../../../lib/services/addon-service'; -import { IUnleashStores } from '../../../lib/types'; +import type { IUnleashStores } from '../../../lib/types'; import SimpleAddon from '../../../lib/services/addon-service-test-simple-addon'; import TagTypeService from '../../../lib/features/tag-type/tag-type-service'; diff --git a/src/test/e2e/services/api-token-service.e2e.test.ts b/src/test/e2e/services/api-token-service.e2e.test.ts index 54e941ff797..7a6e79757bb 100644 --- a/src/test/e2e/services/api-token-service.e2e.test.ts +++ b/src/test/e2e/services/api-token-service.e2e.test.ts @@ -1,14 +1,17 @@ -import dbInit, { ITestDb } from '../helpers/database-init'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; import { ApiTokenService } from '../../../lib/services/api-token-service'; import { createTestConfig } from '../../config/test-config'; -import { ApiTokenType, IApiToken } from '../../../lib/types/models/api-token'; +import { + ApiTokenType, + type IApiToken, +} from '../../../lib/types/models/api-token'; import { DEFAULT_ENV } from '../../../lib/util/constants'; import { addDays, subDays } from 'date-fns'; -import ProjectService from '../../../lib/features/project/project-service'; +import type ProjectService from '../../../lib/features/project/project-service'; import { createProjectService } from '../../../lib/features'; import { EventService } from '../../../lib/services'; -import { IUnleashStores } from '../../../lib/types'; +import type { IUnleashStores } from '../../../lib/types'; let db: ITestDb; let stores: IUnleashStores; diff --git a/src/test/e2e/services/group-service.e2e.test.ts b/src/test/e2e/services/group-service.e2e.test.ts index 415534b4c45..62704bbf4e2 100644 --- a/src/test/e2e/services/group-service.e2e.test.ts +++ b/src/test/e2e/services/group-service.e2e.test.ts @@ -1,9 +1,9 @@ -import dbInit, { ITestDb } from '../helpers/database-init'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; import { createTestConfig } from '../../config/test-config'; import { GroupService } from '../../../lib/services/group-service'; import { EventService } from '../../../lib/services'; -import { IGroupStore, IUnleashStores, IUser } from '../../../lib/types'; +import type { IGroupStore, IUnleashStores, IUser } from '../../../lib/types'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/services/playground-service.test.ts b/src/test/e2e/services/playground-service.test.ts index 0937774592f..8453cf836f7 100644 --- a/src/test/e2e/services/playground-service.test.ts +++ b/src/test/e2e/services/playground-service.test.ts @@ -1,5 +1,5 @@ import { - PlaygroundFeatureEvaluationResult, + type PlaygroundFeatureEvaluationResult, PlaygroundService, } from '../../../lib/features/playground/playground-service'; import { @@ -9,17 +9,21 @@ import { import { generate as generateContext } from '../../../lib/openapi/spec/sdk-context-schema.test'; import fc from 'fast-check'; import { createTestConfig } from '../../config/test-config'; -import dbInit, { ITestDb } from '../helpers/database-init'; -import { IUnleashStores } from '../../../lib/types/stores'; -import FeatureToggleService from '../../../lib/features/feature-toggle/feature-toggle-service'; -import { FeatureToggle, ISegment, WeightType } from '../../../lib/types/model'; -import { PlaygroundFeatureSchema } from '../../../lib/openapi/spec/playground-feature-schema'; +import dbInit, { type ITestDb } from '../helpers/database-init'; +import type { IUnleashStores } from '../../../lib/types/stores'; +import type FeatureToggleService from '../../../lib/features/feature-toggle/feature-toggle-service'; +import { + type FeatureToggle, + type ISegment, + WeightType, +} from '../../../lib/types/model'; +import type { PlaygroundFeatureSchema } from '../../../lib/openapi/spec/playground-feature-schema'; import { offlineUnleashClientNode } from '../../../lib/features/playground/offline-unleash-client.test'; -import { ClientFeatureSchema } from '../../../lib/openapi/spec/client-feature-schema'; -import { SdkContextSchema } from '../../../lib/openapi/spec/sdk-context-schema'; -import { SegmentSchema } from '../../../lib/openapi/spec/segment-schema'; +import type { ClientFeatureSchema } from '../../../lib/openapi/spec/client-feature-schema'; +import type { SdkContextSchema } from '../../../lib/openapi/spec/sdk-context-schema'; +import type { SegmentSchema } from '../../../lib/openapi/spec/segment-schema'; import { playgroundStrategyEvaluation } from '../../../lib/openapi/spec/playground-strategy-schema'; -import { PlaygroundSegmentSchema } from '../../../lib/openapi/spec/playground-segment-schema'; +import type { PlaygroundSegmentSchema } from '../../../lib/openapi/spec/playground-segment-schema'; import { createPrivateProjectChecker } from '../../../lib/features/private-project/createPrivateProjectChecker'; import { createFeatureToggleService } from '../../../lib/features'; import { SegmentReadModel } from '../../../lib/features/segment/segment-read-model'; diff --git a/src/test/e2e/services/project-health-service.e2e.test.ts b/src/test/e2e/services/project-health-service.e2e.test.ts index 59e4bcfee11..a27cbdd8e71 100644 --- a/src/test/e2e/services/project-health-service.e2e.test.ts +++ b/src/test/e2e/services/project-health-service.e2e.test.ts @@ -1,11 +1,11 @@ -import dbInit, { ITestDb } from '../helpers/database-init'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; import ProjectHealthService from '../../../lib/services/project-health-service'; import { createTestConfig } from '../../config/test-config'; -import { IUnleashStores } from '../../../lib/types'; -import { IUser } from '../../../lib/server-impl'; +import type { IUnleashStores } from '../../../lib/types'; +import type { IUser } from '../../../lib/server-impl'; import { createProjectService } from '../../../lib/features'; -import { ProjectService } from '../../../lib/services'; +import type { ProjectService } from '../../../lib/services'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/services/project-service.e2e.test.ts b/src/test/e2e/services/project-service.e2e.test.ts index 63762212bd1..c52b29952ee 100644 --- a/src/test/e2e/services/project-service.e2e.test.ts +++ b/src/test/e2e/services/project-service.e2e.test.ts @@ -1,8 +1,8 @@ -import dbInit, { ITestDb } from '../helpers/database-init'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; -import FeatureToggleService from '../../../lib/features/feature-toggle/feature-toggle-service'; -import ProjectService from '../../../lib/features/project/project-service'; -import { AccessService } from '../../../lib/services/access-service'; +import type FeatureToggleService from '../../../lib/features/feature-toggle/feature-toggle-service'; +import type ProjectService from '../../../lib/features/project/project-service'; +import type { AccessService } from '../../../lib/services/access-service'; import { MOVE_FEATURE_TOGGLE } from '../../../lib/types/permissions'; import { createTestConfig } from '../../config/test-config'; import { RoleName } from '../../../lib/types/model'; @@ -18,13 +18,13 @@ import { createProjectService, } from '../../../lib/features'; import { - IGroup, - IUnleashStores, - IUser, + type IGroup, + type IUnleashStores, + type IUser, SYSTEM_USER, SYSTEM_USER_ID, } from '../../../lib/types'; -import { User } from '../../../lib/server-impl'; +import type { User } from '../../../lib/server-impl'; import { InvalidOperationError } from '../../../lib/error'; let stores: IUnleashStores; diff --git a/src/test/e2e/services/reset-token-service.e2e.test.ts b/src/test/e2e/services/reset-token-service.e2e.test.ts index ddec47137c2..4a3bf8c03e2 100644 --- a/src/test/e2e/services/reset-token-service.e2e.test.ts +++ b/src/test/e2e/services/reset-token-service.e2e.test.ts @@ -1,19 +1,19 @@ -import dbInit, { ITestDb } from '../helpers/database-init'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; import ResetTokenService from '../../../lib/services/reset-token-service'; import UserService from '../../../lib/services/user-service'; import { AccessService } from '../../../lib/services/access-service'; import { EmailService } from '../../../lib/services/email-service'; -import { IUnleashConfig } from '../../../lib/types/option'; +import type { IUnleashConfig } from '../../../lib/types/option'; import { createTestConfig } from '../../config/test-config'; import SessionService from '../../../lib/services/session-service'; import InvalidTokenError from '../../../lib/error/invalid-token-error'; -import { IUser, IUserWithRootRole } from '../../../lib/types/user'; +import type { IUser, IUserWithRootRole } from '../../../lib/types/user'; import SettingService from '../../../lib/services/setting-service'; import FakeSettingStore from '../../fixtures/fake-setting-store'; import { GroupService } from '../../../lib/services/group-service'; import { EventService } from '../../../lib/services'; -import { IUnleashStores } from '../../../lib/types'; +import type { IUnleashStores } from '../../../lib/types'; const config: IUnleashConfig = createTestConfig(); diff --git a/src/test/e2e/services/session-service.e2e.test.ts b/src/test/e2e/services/session-service.e2e.test.ts index f149b2cbf65..cc506fe7cd6 100644 --- a/src/test/e2e/services/session-service.e2e.test.ts +++ b/src/test/e2e/services/session-service.e2e.test.ts @@ -1,9 +1,9 @@ import noLoggerProvider from '../../fixtures/no-logger'; -import dbInit, { ITestDb } from '../helpers/database-init'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import SessionService from '../../../lib/services/session-service'; import NotFoundError from '../../../lib/error/notfound-error'; import { addDays, minutesToMilliseconds } from 'date-fns'; -import { IUnleashStores } from '../../../lib/types'; +import type { IUnleashStores } from '../../../lib/types'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/services/setting-service.test.ts b/src/test/e2e/services/setting-service.test.ts index d10aea319e3..b0405a1855e 100644 --- a/src/test/e2e/services/setting-service.test.ts +++ b/src/test/e2e/services/setting-service.test.ts @@ -1,7 +1,7 @@ import SettingService from '../../../lib/services/setting-service'; import { createTestConfig } from '../../config/test-config'; -import dbInit, { ITestDb } from '../helpers/database-init'; -import { IUnleashStores } from '../../../lib/types/stores'; +import dbInit, { type ITestDb } from '../helpers/database-init'; +import type { IUnleashStores } from '../../../lib/types/stores'; import { SETTING_CREATED, SETTING_DELETED, diff --git a/src/test/e2e/services/state-service.e2e.test.ts b/src/test/e2e/services/state-service.e2e.test.ts index e2948b3527b..632a8dd2172 100644 --- a/src/test/e2e/services/state-service.e2e.test.ts +++ b/src/test/e2e/services/state-service.e2e.test.ts @@ -1,10 +1,10 @@ import { createTestConfig } from '../../config/test-config'; -import dbInit, { ITestDb } from '../helpers/database-init'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import StateService from '../../../lib/services/state-service'; import oldFormat from '../../examples/variantsexport_v3.json'; import { WeightType } from '../../../lib/types/model'; import { EventService } from '../../../lib/services'; -import { IUnleashStores } from '../../../lib/types'; +import type { IUnleashStores } from '../../../lib/types'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/services/user-service.e2e.test.ts b/src/test/e2e/services/user-service.e2e.test.ts index a7562b72130..484e0ef23bf 100644 --- a/src/test/e2e/services/user-service.e2e.test.ts +++ b/src/test/e2e/services/user-service.e2e.test.ts @@ -1,4 +1,4 @@ -import dbInit, { ITestDb } from '../helpers/database-init'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; import UserService from '../../../lib/services/user-service'; import { AccessService } from '../../../lib/services/access-service'; @@ -7,7 +7,7 @@ import { EmailService } from '../../../lib/services/email-service'; import { createTestConfig } from '../../config/test-config'; import SessionService from '../../../lib/services/session-service'; import NotFoundError from '../../../lib/error/notfound-error'; -import { IRole } from '../../../lib/types/stores/access-store'; +import type { IRole } from '../../../lib/types/stores/access-store'; import { RoleName } from '../../../lib/types/model'; import SettingService from '../../../lib/services/setting-service'; import { simpleAuthSettingsKey } from '../../../lib/types/settings/simple-auth-settings'; @@ -19,8 +19,8 @@ import PasswordMismatch from '../../../lib/error/password-mismatch'; import { EventService } from '../../../lib/services'; import { CREATE_ADDON, - IUnleashStores, - IUserStore, + type IUnleashStores, + type IUserStore, USER_CREATED, USER_DELETED, USER_UPDATED, diff --git a/src/test/e2e/stores/client-application-store.e2e.test.ts b/src/test/e2e/stores/client-application-store.e2e.test.ts index 9a0bf6438ac..4b75d35697a 100644 --- a/src/test/e2e/stores/client-application-store.e2e.test.ts +++ b/src/test/e2e/stores/client-application-store.e2e.test.ts @@ -1,8 +1,11 @@ import faker from 'faker'; -import dbInit, { ITestDb } from '../helpers/database-init'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; -import { IClientApplicationsStore, IUnleashStores } from '../../../lib/types'; -import { IClientApplication } from '../../../lib/types/stores/client-applications-store'; +import type { + IClientApplicationsStore, + IUnleashStores, +} from '../../../lib/types'; +import type { IClientApplication } from '../../../lib/types/stores/client-applications-store'; let db: ITestDb; let stores: IUnleashStores; diff --git a/src/test/e2e/stores/context-field-store.e2e.test.ts b/src/test/e2e/stores/context-field-store.e2e.test.ts index d9e592eb3e6..915486d9d8d 100644 --- a/src/test/e2e/stores/context-field-store.e2e.test.ts +++ b/src/test/e2e/stores/context-field-store.e2e.test.ts @@ -1,8 +1,8 @@ -import dbInit, { ITestDb } from '../helpers/database-init'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; -import { IContextFieldDto } from '../../../lib/types/stores/context-field-store'; -import fc, { Arbitrary } from 'fast-check'; -import { IUnleashStores } from '../../../lib/types'; +import type { IContextFieldDto } from '../../../lib/types/stores/context-field-store'; +import fc, { type Arbitrary } from 'fast-check'; +import type { IUnleashStores } from '../../../lib/types'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/stores/event-store.e2e.test.ts b/src/test/e2e/stores/event-store.e2e.test.ts index 08999b1be7b..d10d57502bc 100644 --- a/src/test/e2e/stores/event-store.e2e.test.ts +++ b/src/test/e2e/stores/event-store.e2e.test.ts @@ -4,13 +4,13 @@ import { FEATURE_DELETED, FeatureCreatedEvent, FeatureDeletedEvent, - IEvent, + type IEvent, } from '../../../lib/types/events'; -import dbInit, { ITestDb } from '../helpers/database-init'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; -import { IEventStore } from '../../../lib/types/stores/event-store'; -import { IUnleashStores } from '../../../lib/types'; +import type { IEventStore } from '../../../lib/types/stores/event-store'; +import type { IUnleashStores } from '../../../lib/types'; let db: ITestDb; let stores: IUnleashStores; diff --git a/src/test/e2e/stores/feature-environment-store.e2e.test.ts b/src/test/e2e/stores/feature-environment-store.e2e.test.ts index 694c999416b..680962b92a2 100644 --- a/src/test/e2e/stores/feature-environment-store.e2e.test.ts +++ b/src/test/e2e/stores/feature-environment-store.e2e.test.ts @@ -1,9 +1,12 @@ -import { IFeatureStrategiesStore, IUnleashStores } from '../../../lib/types'; -import dbInit, { ITestDb } from '../helpers/database-init'; +import type { + IFeatureStrategiesStore, + IUnleashStores, +} from '../../../lib/types'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; -import { IFeatureEnvironmentStore } from '../../../lib/types/stores/feature-environment-store'; -import { IFeatureToggleStore } from '../../../lib/features/feature-toggle/types/feature-toggle-store-type'; -import { IEnvironmentStore } from '../../../lib/features/project-environments/environment-store-type'; +import type { IFeatureEnvironmentStore } from '../../../lib/types/stores/feature-environment-store'; +import type { IFeatureToggleStore } from '../../../lib/features/feature-toggle/types/feature-toggle-store-type'; +import type { IEnvironmentStore } from '../../../lib/features/project-environments/environment-store-type'; let db: ITestDb; let stores: IUnleashStores; diff --git a/src/test/e2e/stores/feature-tag-store.e2e.test.ts b/src/test/e2e/stores/feature-tag-store.e2e.test.ts index 303c2fb128e..6e60ef654d7 100644 --- a/src/test/e2e/stores/feature-tag-store.e2e.test.ts +++ b/src/test/e2e/stores/feature-tag-store.e2e.test.ts @@ -1,9 +1,9 @@ -import { IFeatureTagStore } from '../../../lib/types/stores/feature-tag-store'; -import { IFeatureToggleStore } from '../../../lib/features/feature-toggle/types/feature-toggle-store-type'; -import dbInit, { ITestDb } from '../helpers/database-init'; +import type { IFeatureTagStore } from '../../../lib/types/stores/feature-tag-store'; +import type { IFeatureToggleStore } from '../../../lib/features/feature-toggle/types/feature-toggle-store-type'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; import NotFoundError from '../../../lib/error/notfound-error'; -import { IUnleashStores } from '../../../lib/types'; +import type { IUnleashStores } from '../../../lib/types'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/stores/feature-toggle-client-store.e2e.test.ts b/src/test/e2e/stores/feature-toggle-client-store.e2e.test.ts index 19df5e14b59..d9cc7ce847f 100644 --- a/src/test/e2e/stores/feature-toggle-client-store.e2e.test.ts +++ b/src/test/e2e/stores/feature-toggle-client-store.e2e.test.ts @@ -1,7 +1,10 @@ -import dbInit, { ITestDb } from '../helpers/database-init'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; -import { IUnleashTest, setupApp } from '../helpers/test-helper'; -import { IFeatureToggleClientStore, IUnleashStores } from '../../../lib/types'; +import { type IUnleashTest, setupApp } from '../helpers/test-helper'; +import type { + IFeatureToggleClientStore, + IUnleashStores, +} from '../../../lib/types'; let stores: IUnleashStores; let app: IUnleashTest; diff --git a/src/test/e2e/stores/feature-type-store.e2e.test.ts b/src/test/e2e/stores/feature-type-store.e2e.test.ts index 2a0c8383407..51c02714e5b 100644 --- a/src/test/e2e/stores/feature-type-store.e2e.test.ts +++ b/src/test/e2e/stores/feature-type-store.e2e.test.ts @@ -1,7 +1,7 @@ -import { IFeatureTypeStore } from '../../../lib/types/stores/feature-type-store'; -import dbInit, { ITestDb } from '../helpers/database-init'; +import type { IFeatureTypeStore } from '../../../lib/types/stores/feature-type-store'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; -import { IUnleashStores } from '../../../lib/types'; +import type { IUnleashStores } from '../../../lib/types'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/stores/project-store.e2e.test.ts b/src/test/e2e/stores/project-store.e2e.test.ts index 734f2ccfda6..b7820753e48 100644 --- a/src/test/e2e/stores/project-store.e2e.test.ts +++ b/src/test/e2e/stores/project-store.e2e.test.ts @@ -1,9 +1,9 @@ -import { IEnvironmentStore } from '../../../lib/features/project-environments/environment-store-type'; +import type { IEnvironmentStore } from '../../../lib/features/project-environments/environment-store-type'; -import dbInit, { ITestDb } from '../helpers/database-init'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; -import { IProjectStore, IUnleashStores } from '../../../lib/types'; -import { IProjectInsert } from '../../../lib/features/project/project-store-type'; +import type { IProjectStore, IUnleashStores } from '../../../lib/types'; +import type { IProjectInsert } from '../../../lib/features/project/project-store-type'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/stores/setting-store.e2e.test.ts b/src/test/e2e/stores/setting-store.e2e.test.ts index bb1649c9df1..65255fafc0e 100644 --- a/src/test/e2e/stores/setting-store.e2e.test.ts +++ b/src/test/e2e/stores/setting-store.e2e.test.ts @@ -1,6 +1,6 @@ -import dbInit, { ITestDb } from '../helpers/database-init'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; -import { IUnleashStores } from '../../../lib/types'; +import type { IUnleashStores } from '../../../lib/types'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/stores/user-feedback-store.e2e.test.ts b/src/test/e2e/stores/user-feedback-store.e2e.test.ts index 509d947ff09..5d3d9d68335 100644 --- a/src/test/e2e/stores/user-feedback-store.e2e.test.ts +++ b/src/test/e2e/stores/user-feedback-store.e2e.test.ts @@ -1,8 +1,8 @@ -import { IUserFeedbackStore } from '../../../lib/types/stores/user-feedback-store'; -import { IUserStore } from '../../../lib/types/stores/user-store'; -import dbInit, { ITestDb } from '../helpers/database-init'; +import type { IUserFeedbackStore } from '../../../lib/types/stores/user-feedback-store'; +import type { IUserStore } from '../../../lib/types/stores/user-store'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; -import { IUnleashStores, IUser } from '../../../lib/types'; +import type { IUnleashStores, IUser } from '../../../lib/types'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/stores/user-splash-store.e2e.test.ts b/src/test/e2e/stores/user-splash-store.e2e.test.ts index fc8cb28557b..1318101ae53 100644 --- a/src/test/e2e/stores/user-splash-store.e2e.test.ts +++ b/src/test/e2e/stores/user-splash-store.e2e.test.ts @@ -1,8 +1,8 @@ -import { IUserSplashStore } from '../../../lib/types/stores/user-splash-store'; -import { IUserStore } from '../../../lib/types/stores/user-store'; -import dbInit, { ITestDb } from '../helpers/database-init'; +import type { IUserSplashStore } from '../../../lib/types/stores/user-splash-store'; +import type { IUserStore } from '../../../lib/types/stores/user-store'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; -import { IUnleashStores, IUser } from '../../../lib/types'; +import type { IUnleashStores, IUser } from '../../../lib/types'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/stores/user-store.e2e.test.ts b/src/test/e2e/stores/user-store.e2e.test.ts index 2894e1a0b20..fd4a30460dd 100644 --- a/src/test/e2e/stores/user-store.e2e.test.ts +++ b/src/test/e2e/stores/user-store.e2e.test.ts @@ -1,7 +1,7 @@ import NotFoundError from '../../../lib/error/notfound-error'; -import dbInit, { ITestDb } from '../helpers/database-init'; +import dbInit, { type ITestDb } from '../helpers/database-init'; import getLogger from '../../fixtures/no-logger'; -import { IUnleashStores } from '../../../lib/types'; +import type { IUnleashStores } from '../../../lib/types'; let stores: IUnleashStores; let db: ITestDb; diff --git a/src/test/e2e/system-user-migration.test.ts b/src/test/e2e/system-user-migration.test.ts index 7e8599a9384..e3c1f3712b3 100644 --- a/src/test/e2e/system-user-migration.test.ts +++ b/src/test/e2e/system-user-migration.test.ts @@ -3,7 +3,7 @@ import { createTestConfig } from '../config/test-config'; import { getInstance } from 'db-migrate'; import { log } from 'db-migrate-shared'; import { Client } from 'pg'; -import { IDBOption } from '../../lib/types'; +import type { IDBOption } from '../../lib/types'; log.setLogLevel('error'); diff --git a/src/test/e2e/users/inactive/inactive-users-service.test.ts b/src/test/e2e/users/inactive/inactive-users-service.test.ts index 7cd38ed9490..cc28c1a3306 100644 --- a/src/test/e2e/users/inactive/inactive-users-service.test.ts +++ b/src/test/e2e/users/inactive/inactive-users-service.test.ts @@ -1,4 +1,4 @@ -import dbInit, { ITestDb } from '../../helpers/database-init'; +import dbInit, { type ITestDb } from '../../helpers/database-init'; import getLogger from '../../../fixtures/no-logger'; import { createTestConfig } from '../../../config/test-config'; import { @@ -11,8 +11,8 @@ import ResetTokenService from '../../../../lib/services/reset-token-service'; import SessionService from '../../../../lib/services/session-service'; import SettingService from '../../../../lib/services/setting-service'; import UserService from '../../../../lib/services/user-service'; -import { ADMIN, IUnleashStores, IUser } from '../../../../lib/types'; -import { InactiveUsersService } from '../../../../lib/users/inactive/inactive-users-service'; +import { ADMIN, type IUnleashStores, type IUser } from '../../../../lib/types'; +import type { InactiveUsersService } from '../../../../lib/users/inactive/inactive-users-service'; import { createInactiveUsersService } from '../../../../lib/users'; let db: ITestDb; diff --git a/src/test/fixtures/access-service-mock.ts b/src/test/fixtures/access-service-mock.ts index 365d2cfbdc8..323e373b456 100644 --- a/src/test/fixtures/access-service-mock.ts +++ b/src/test/fixtures/access-service-mock.ts @@ -2,12 +2,12 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ import { AccessService, - AccessWithRoles, + type AccessWithRoles, } from '../../lib/services/access-service'; -import User from '../../lib/types/user'; +import type User from '../../lib/types/user'; import noLoggerProvider from './no-logger'; -import { IRole } from '../../lib/types/stores/access-store'; -import { IAvailablePermissions, RoleName } from '../../lib/types/model'; +import type { IRole } from '../../lib/types/stores/access-store'; +import { type IAvailablePermissions, RoleName } from '../../lib/types/model'; class AccessServiceMock extends AccessService { constructor() { diff --git a/src/test/fixtures/fake-access-store.ts b/src/test/fixtures/fake-access-store.ts index 08876c923f5..54ff5267663 100644 --- a/src/test/fixtures/fake-access-store.ts +++ b/src/test/fixtures/fake-access-store.ts @@ -1,5 +1,5 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ -import { +import type { IAccessInfo, IAccessStore, IProjectRoleUsage, @@ -9,15 +9,15 @@ import { IUserRole, IUserWithProjectRoles, } from '../../lib/types/stores/access-store'; -import { IPermission } from '../../lib/types/model'; +import type { IPermission } from '../../lib/types/model'; import { - IRoleStore, - IUserAccessOverview, + type IRoleStore, + type IUserAccessOverview, RoleName, RoleType, } from '../../lib/types'; import FakeRoleStore from './fake-role-store'; -import { PermissionRef } from '../../lib/services/access-service'; +import type { PermissionRef } from '../../lib/services/access-service'; class AccessStoreMock implements IAccessStore { fakeRolesStore: IRoleStore; diff --git a/src/test/fixtures/fake-account-store.ts b/src/test/fixtures/fake-account-store.ts index 3b0c99471b5..ac689cd7214 100644 --- a/src/test/fixtures/fake-account-store.ts +++ b/src/test/fixtures/fake-account-store.ts @@ -1,5 +1,5 @@ -import { IUser } from '../../lib/types/user'; -import { +import type { IUser } from '../../lib/types/user'; +import type { // ICreateUser, IUserLookup, IAccountStore, diff --git a/src/test/fixtures/fake-addon-store.ts b/src/test/fixtures/fake-addon-store.ts index 8ea48dce438..9f47ba353e5 100644 --- a/src/test/fixtures/fake-addon-store.ts +++ b/src/test/fixtures/fake-addon-store.ts @@ -1,4 +1,4 @@ -import { +import type { IAddon, IAddonDto, IAddonStore, diff --git a/src/test/fixtures/fake-api-token-store.ts b/src/test/fixtures/fake-api-token-store.ts index f36ed67eb2d..b4788cabacf 100644 --- a/src/test/fixtures/fake-api-token-store.ts +++ b/src/test/fixtures/fake-api-token-store.ts @@ -1,5 +1,5 @@ -import { IApiTokenStore } from '../../lib/types/stores/api-token-store'; -import { +import type { IApiTokenStore } from '../../lib/types/stores/api-token-store'; +import type { ApiTokenType, IApiToken, IApiTokenCreate, diff --git a/src/test/fixtures/fake-client-applications-store.ts b/src/test/fixtures/fake-client-applications-store.ts index 441bf252337..1de0822097b 100644 --- a/src/test/fixtures/fake-client-applications-store.ts +++ b/src/test/fixtures/fake-client-applications-store.ts @@ -1,11 +1,11 @@ -import { +import type { IClientApplication, IClientApplications, IClientApplicationsSearchParams, IClientApplicationsStore, } from '../../lib/types/stores/client-applications-store'; import NotFoundError from '../../lib/error/notfound-error'; -import { IApplicationOverview } from '../../lib/features/metrics/instance/models'; +import type { IApplicationOverview } from '../../lib/features/metrics/instance/models'; export default class FakeClientApplicationsStore implements IClientApplicationsStore diff --git a/src/test/fixtures/fake-client-instance-store.ts b/src/test/fixtures/fake-client-instance-store.ts index a24f2c8bbf2..4303ec5d590 100644 --- a/src/test/fixtures/fake-client-instance-store.ts +++ b/src/test/fixtures/fake-client-instance-store.ts @@ -1,4 +1,4 @@ -import { +import type { IClientInstance, IClientInstanceStore, INewClientInstance, diff --git a/src/test/fixtures/fake-context-field-store.ts b/src/test/fixtures/fake-context-field-store.ts index 74314417e7c..12cd02606be 100644 --- a/src/test/fixtures/fake-context-field-store.ts +++ b/src/test/fixtures/fake-context-field-store.ts @@ -1,4 +1,4 @@ -import { +import type { IContextField, IContextFieldDto, IContextFieldStore, diff --git a/src/test/fixtures/fake-event-store.ts b/src/test/fixtures/fake-event-store.ts index 66490d40876..c1c9abbfd79 100644 --- a/src/test/fixtures/fake-event-store.ts +++ b/src/test/fixtures/fake-event-store.ts @@ -1,9 +1,9 @@ -import { IEventStore } from '../../lib/types/stores/event-store'; -import { IEvent } from '../../lib/types/events'; +import type { IEventStore } from '../../lib/types/stores/event-store'; +import type { IEvent } from '../../lib/types/events'; import { sharedEventEmitter } from '../../lib/util/anyEventEmitter'; -import { IQueryOperations } from '../../lib/features/events/event-store'; -import { SearchEventsSchema } from '../../lib/openapi'; -import EventEmitter from 'events'; +import type { IQueryOperations } from '../../lib/features/events/event-store'; +import type { SearchEventsSchema } from '../../lib/openapi'; +import type EventEmitter from 'events'; class FakeEventStore implements IEventStore { events: IEvent[]; diff --git a/src/test/fixtures/fake-favorite-features-store.ts b/src/test/fixtures/fake-favorite-features-store.ts index 2a31b1f23c1..d6043ad942c 100644 --- a/src/test/fixtures/fake-favorite-features-store.ts +++ b/src/test/fixtures/fake-favorite-features-store.ts @@ -1,6 +1,6 @@ -import { IFavoriteFeaturesStore } from '../../lib/types'; -import { IFavoriteFeatureKey } from '../../lib/types/stores/favorite-features'; -import { IFavoriteFeature } from '../../lib/types/favorites'; +import type { IFavoriteFeaturesStore } from '../../lib/types'; +import type { IFavoriteFeatureKey } from '../../lib/types/stores/favorite-features'; +import type { IFavoriteFeature } from '../../lib/types/favorites'; /* eslint-disable @typescript-eslint/no-unused-vars */ export default class FakeFavoriteFeaturesStore implements IFavoriteFeaturesStore diff --git a/src/test/fixtures/fake-favorite-projects-store.ts b/src/test/fixtures/fake-favorite-projects-store.ts index e78889de36a..d3508b6db3e 100644 --- a/src/test/fixtures/fake-favorite-projects-store.ts +++ b/src/test/fixtures/fake-favorite-projects-store.ts @@ -1,6 +1,6 @@ -import { IFavoriteProjectsStore } from '../../lib/types'; -import { IFavoriteProjectKey } from '../../lib/types/stores/favorite-projects'; -import { IFavoriteProject } from '../../lib/types/favorites'; +import type { IFavoriteProjectsStore } from '../../lib/types'; +import type { IFavoriteProjectKey } from '../../lib/types/stores/favorite-projects'; +import type { IFavoriteProject } from '../../lib/types/favorites'; /* eslint-disable @typescript-eslint/no-unused-vars */ export default class FakeFavoriteProjectsStore implements IFavoriteProjectsStore diff --git a/src/test/fixtures/fake-feature-environment-store.ts b/src/test/fixtures/fake-feature-environment-store.ts index 4dff3aa6219..da9d3d3af5c 100644 --- a/src/test/fixtures/fake-feature-environment-store.ts +++ b/src/test/fixtures/fake-feature-environment-store.ts @@ -1,8 +1,8 @@ -import { +import type { FeatureEnvironmentKey, IFeatureEnvironmentStore, } from '../../lib/types/stores/feature-environment-store'; -import { IFeatureEnvironment, IVariant } from '../../lib/types/model'; +import type { IFeatureEnvironment, IVariant } from '../../lib/types/model'; import NotFoundError from '../../lib/error/notfound-error'; export default class FakeFeatureEnvironmentStore diff --git a/src/test/fixtures/fake-feature-tag-store.ts b/src/test/fixtures/fake-feature-tag-store.ts index f4054b824ae..8bd781f49fb 100644 --- a/src/test/fixtures/fake-feature-tag-store.ts +++ b/src/test/fixtures/fake-feature-tag-store.ts @@ -1,5 +1,5 @@ -import { ITag } from '../../lib/types/model'; -import { +import type { ITag } from '../../lib/types/model'; +import type { IFeatureAndTag, IFeatureTag, IFeatureTagStore, diff --git a/src/test/fixtures/fake-feature-type-store.ts b/src/test/fixtures/fake-feature-type-store.ts index 2e40e63f066..2a661e85b5f 100644 --- a/src/test/fixtures/fake-feature-type-store.ts +++ b/src/test/fixtures/fake-feature-type-store.ts @@ -1,4 +1,4 @@ -import { +import type { IFeatureType, IFeatureTypeStore, } from '../../lib/types/stores/feature-type-store'; diff --git a/src/test/fixtures/fake-group-store.ts b/src/test/fixtures/fake-group-store.ts index 10a6ab3427d..22bc06cab28 100644 --- a/src/test/fixtures/fake-group-store.ts +++ b/src/test/fixtures/fake-group-store.ts @@ -1,5 +1,9 @@ -import { IGroupStore, IStoreGroup } from '../../lib/types/stores/group-store'; -import Group, { +import type { + IGroupStore, + IStoreGroup, +} from '../../lib/types/stores/group-store'; +import type Group from '../../lib/types/group'; +import type { ICreateGroupUserModel, IGroup, IGroupModel, @@ -7,7 +11,7 @@ import Group, { IGroupRole, IGroupUser, } from '../../lib/types/group'; -import { IGroupWithProjectRoles } from '../../lib/types/stores/access-store'; +import type { IGroupWithProjectRoles } from '../../lib/types/stores/access-store'; /* eslint-disable @typescript-eslint/no-unused-vars */ export default class FakeGroupStore implements IGroupStore { count(): Promise { diff --git a/src/test/fixtures/fake-pat-store.ts b/src/test/fixtures/fake-pat-store.ts index 932144b6e04..95c3c36b60e 100644 --- a/src/test/fixtures/fake-pat-store.ts +++ b/src/test/fixtures/fake-pat-store.ts @@ -1,5 +1,5 @@ -import { IPatStore } from '../../lib/types/stores/pat-store'; -import { CreatePatSchema, PatSchema } from '../../lib/openapi'; +import type { IPatStore } from '../../lib/types/stores/pat-store'; +import type { CreatePatSchema, PatSchema } from '../../lib/openapi'; /* eslint-disable @typescript-eslint/no-unused-vars */ export default class FakePatStore implements IPatStore { create( diff --git a/src/test/fixtures/fake-project-stats-store.ts b/src/test/fixtures/fake-project-stats-store.ts index 620fa272320..a4b42641435 100644 --- a/src/test/fixtures/fake-project-stats-store.ts +++ b/src/test/fixtures/fake-project-stats-store.ts @@ -1,5 +1,5 @@ -import { IProjectStats } from '../../lib/features/project/project-service'; -import { +import type { IProjectStats } from '../../lib/features/project/project-service'; +import type { ICreateEnabledDates, IProjectStatsStore, } from '../../lib/types/stores/project-stats-store-type'; diff --git a/src/test/fixtures/fake-project-store.ts b/src/test/fixtures/fake-project-store.ts index 5adbdbd654e..e52f3a64b59 100644 --- a/src/test/fixtures/fake-project-store.ts +++ b/src/test/fixtures/fake-project-store.ts @@ -1,4 +1,4 @@ -import { +import type { IEnvironment, IProject, IProjectApplications, @@ -6,13 +6,13 @@ import { IProjectWithCount, } from '../../lib/types'; import NotFoundError from '../../lib/error/notfound-error'; -import { +import type { IEnvironmentProjectLink, IProjectMembersCount, ProjectModeCount, } from '../../lib/features/project/project-store'; -import { CreateFeatureStrategySchema } from '../../lib/openapi'; -import { +import type { CreateFeatureStrategySchema } from '../../lib/openapi'; +import type { IProjectApplicationsSearchParams, IProjectHealthUpdate, IProjectInsert, diff --git a/src/test/fixtures/fake-public-signup-store.ts b/src/test/fixtures/fake-public-signup-store.ts index 58ca6746a96..e6c3624442a 100644 --- a/src/test/fixtures/fake-public-signup-store.ts +++ b/src/test/fixtures/fake-public-signup-store.ts @@ -1,6 +1,6 @@ -import { IPublicSignupTokenStore } from '../../lib/types/stores/public-signup-token-store'; -import { PublicSignupTokenSchema } from '../../lib/openapi/spec/public-signup-token-schema'; -import { IPublicSignupTokenCreate } from '../../lib/types/models/public-signup-token'; +import type { IPublicSignupTokenStore } from '../../lib/types/stores/public-signup-token-store'; +import type { PublicSignupTokenSchema } from '../../lib/openapi/spec/public-signup-token-schema'; +import type { IPublicSignupTokenCreate } from '../../lib/types/models/public-signup-token'; export default class FakePublicSignupStore implements IPublicSignupTokenStore { tokens: PublicSignupTokenSchema[] = []; diff --git a/src/test/fixtures/fake-reset-token-store.ts b/src/test/fixtures/fake-reset-token-store.ts index a87d54ddf57..349c9984c1a 100644 --- a/src/test/fixtures/fake-reset-token-store.ts +++ b/src/test/fixtures/fake-reset-token-store.ts @@ -1,5 +1,5 @@ import NotFoundError from '../../lib/error/notfound-error'; -import { +import type { IResetQuery, IResetToken, IResetTokenCreate, diff --git a/src/test/fixtures/fake-role-store.ts b/src/test/fixtures/fake-role-store.ts index 67bd90df88d..e995e1cd0b5 100644 --- a/src/test/fixtures/fake-role-store.ts +++ b/src/test/fixtures/fake-role-store.ts @@ -1,8 +1,8 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ -import { RoleSchema } from '../../lib/openapi'; -import { ICustomRole } from '../../lib/types/model'; -import { IRole, IUserRole } from '../../lib/types/stores/access-store'; -import { +import type { RoleSchema } from '../../lib/openapi'; +import type { ICustomRole } from '../../lib/types/model'; +import type { IRole, IUserRole } from '../../lib/types/stores/access-store'; +import type { ICustomRoleInsert, ICustomRoleUpdate, IRoleStore, diff --git a/src/test/fixtures/fake-segment-store.ts b/src/test/fixtures/fake-segment-store.ts index 329aea63c79..f5e6058c4db 100644 --- a/src/test/fixtures/fake-segment-store.ts +++ b/src/test/fixtures/fake-segment-store.ts @@ -1,5 +1,5 @@ -import { ISegmentStore } from '../../lib/features/segment/segment-store-type'; -import { IFeatureStrategySegment, ISegment } from '../../lib/types/model'; +import type { ISegmentStore } from '../../lib/features/segment/segment-store-type'; +import type { IFeatureStrategySegment, ISegment } from '../../lib/types/model'; export default class FakeSegmentStore implements ISegmentStore { count(): Promise { diff --git a/src/test/fixtures/fake-session-store.ts b/src/test/fixtures/fake-session-store.ts index fc27777ccfd..96a760f0227 100644 --- a/src/test/fixtures/fake-session-store.ts +++ b/src/test/fixtures/fake-session-store.ts @@ -1,4 +1,7 @@ -import { ISession, ISessionStore } from '../../lib/types/stores/session-store'; +import type { + ISession, + ISessionStore, +} from '../../lib/types/stores/session-store'; export default class FakeSessionStore implements ISessionStore { private sessions: ISession[] = []; diff --git a/src/test/fixtures/fake-setting-store.ts b/src/test/fixtures/fake-setting-store.ts index 4fd87e1f984..f4a15467feb 100644 --- a/src/test/fixtures/fake-setting-store.ts +++ b/src/test/fixtures/fake-setting-store.ts @@ -1,4 +1,4 @@ -import { ISettingStore } from '../../lib/types/stores/settings-store'; +import type { ISettingStore } from '../../lib/types/stores/settings-store'; export default class FakeSettingStore implements ISettingStore { settings: Map = new Map(); diff --git a/src/test/fixtures/fake-strategies-store.ts b/src/test/fixtures/fake-strategies-store.ts index 4e72c133e3a..aac001c4e2c 100644 --- a/src/test/fixtures/fake-strategies-store.ts +++ b/src/test/fixtures/fake-strategies-store.ts @@ -1,4 +1,4 @@ -import { +import type { IEditableStrategy, IMinimalStrategy, IStrategy, diff --git a/src/test/fixtures/fake-tag-store.ts b/src/test/fixtures/fake-tag-store.ts index 30e55dd0f67..b3349c6066a 100644 --- a/src/test/fixtures/fake-tag-store.ts +++ b/src/test/fixtures/fake-tag-store.ts @@ -1,5 +1,5 @@ -import { ITagStore } from '../../lib/types/stores/tag-store'; -import { ITag } from '../../lib/types/model'; +import type { ITagStore } from '../../lib/types/stores/tag-store'; +import type { ITag } from '../../lib/types/model'; import NotFoundError from '../../lib/error/notfound-error'; export default class FakeTagStore implements ITagStore { diff --git a/src/test/fixtures/fake-user-feedback-store.ts b/src/test/fixtures/fake-user-feedback-store.ts index afdeccd98d5..dcc97604c2e 100644 --- a/src/test/fixtures/fake-user-feedback-store.ts +++ b/src/test/fixtures/fake-user-feedback-store.ts @@ -1,4 +1,4 @@ -import { +import type { IUserFeedback, IUserFeedbackKey, IUserFeedbackStore, diff --git a/src/test/fixtures/fake-user-splash-store.ts b/src/test/fixtures/fake-user-splash-store.ts index 28ab8cf174c..e782c4cc6b8 100644 --- a/src/test/fixtures/fake-user-splash-store.ts +++ b/src/test/fixtures/fake-user-splash-store.ts @@ -1,4 +1,4 @@ -import { +import type { IUserSplashKey, IUserSplash, IUserSplashStore, diff --git a/src/test/fixtures/fake-user-store.ts b/src/test/fixtures/fake-user-store.ts index 7ec37699e3b..c2832c3c39d 100644 --- a/src/test/fixtures/fake-user-store.ts +++ b/src/test/fixtures/fake-user-store.ts @@ -1,5 +1,6 @@ -import User, { IUser } from '../../lib/types/user'; -import { +import type User from '../../lib/types/user'; +import type { IUser } from '../../lib/types/user'; +import type { ICreateUser, IUserLookup, IUserStore, diff --git a/src/test/fixtures/no-logger.ts b/src/test/fixtures/no-logger.ts index 30f222ae9ac..d09cd7d0b7b 100644 --- a/src/test/fixtures/no-logger.ts +++ b/src/test/fixtures/no-logger.ts @@ -1,5 +1,5 @@ /* eslint-disable no-console */ -import { Logger } from '../../lib/logger'; +import type { Logger } from '../../lib/logger'; let muteError = false; let verbose = false; diff --git a/src/test/fixtures/store.ts b/src/test/fixtures/store.ts index 9e23ff8d9f2..9c5c7a7e711 100644 --- a/src/test/fixtures/store.ts +++ b/src/test/fixtures/store.ts @@ -15,7 +15,7 @@ import FakeUserFeedbackStore from './fake-user-feedback-store'; import FakeFeatureTagStore from './fake-feature-tag-store'; import FakeEnvironmentStore from '../../lib/features/project-environments/fake-environment-store'; import FakeStrategiesStore from './fake-strategies-store'; -import { +import type { IImportTogglesStore, IPrivateProjectStore, IUnleashStores, diff --git a/website/package.json b/website/package.json index a0dd24a689a..61bbb76237b 100644 --- a/website/package.json +++ b/website/package.json @@ -58,11 +58,7 @@ "semver": "^7.5.3" }, "browserslist": { - "production": [ - ">0.5%", - "not dead", - "not op_mini all" - ], + "production": [">0.5%", "not dead", "not op_mini all"], "development": [ "last 1 chrome version", "last 1 firefox version", diff --git a/website/src/components/ApiRequest/index.tsx b/website/src/components/ApiRequest/index.tsx index bf615186083..d6246261afb 100644 --- a/website/src/components/ApiRequest/index.tsx +++ b/website/src/components/ApiRequest/index.tsx @@ -9,7 +9,7 @@ types, for instance. **/ -import React from 'react'; +import type React from 'react'; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import CodeBlock from '@theme/CodeBlock'; diff --git a/website/src/components/Figure/Figure.tsx b/website/src/components/Figure/Figure.tsx index d9d769c7853..2458efd29f1 100644 --- a/website/src/components/Figure/Figure.tsx +++ b/website/src/components/Figure/Figure.tsx @@ -62,7 +62,7 @@ **/ -import React from 'react'; +import type React from 'react'; import useBaseUrl from '@docusaurus/useBaseUrl'; import './styles.module.css'; diff --git a/website/src/components/VideoContent.jsx b/website/src/components/VideoContent.jsx index 0e20b6758ea..c1a06e7c75c 100644 --- a/website/src/components/VideoContent.jsx +++ b/website/src/components/VideoContent.jsx @@ -1,4 +1,3 @@ -// biome-ignore lint: Docusaurus doesn't work without the React import import React from 'react'; import Admonition from '@theme/Admonition'; diff --git a/website/src/components/unleash-academy/Banner.jsx b/website/src/components/unleash-academy/Banner.jsx index 925f14a1a44..797a9f3e4cd 100644 --- a/website/src/components/unleash-academy/Banner.jsx +++ b/website/src/components/unleash-academy/Banner.jsx @@ -1,4 +1,3 @@ -// biome-ignore lint: Docusaurus doesn't work without the React import import React from 'react'; const Component = () => { diff --git a/website/src/components/unleash-academy/CourseBanner.jsx b/website/src/components/unleash-academy/CourseBanner.jsx index d41c2ff3fce..fd5cf0ff606 100644 --- a/website/src/components/unleash-academy/CourseBanner.jsx +++ b/website/src/components/unleash-academy/CourseBanner.jsx @@ -1,4 +1,3 @@ -// biome-ignore lint: Docusaurus doesn't work without the React import import React from 'react'; const Component = ({ level, description }) => { diff --git a/website/src/components/unleash-academy/Links.jsx b/website/src/components/unleash-academy/Links.jsx index 02132346aad..23118decbd1 100644 --- a/website/src/components/unleash-academy/Links.jsx +++ b/website/src/components/unleash-academy/Links.jsx @@ -1,4 +1,3 @@ -// biome-ignore lint: Docusaurus doesn't work without the React import import React from 'react'; import Link from '@docusaurus/Link'; diff --git a/website/src/icons/close.tsx b/website/src/icons/close.tsx index 56656b59b52..5a96f3bfd4a 100644 --- a/website/src/icons/close.tsx +++ b/website/src/icons/close.tsx @@ -1,4 +1,3 @@ -// biome-ignore lint: Docusaurus doesn't work without the React import import React from 'react'; import styles from './styles.module.css'; diff --git a/yarn.lock b/yarn.lock index da3b42b0b91..0299fb0b378 100644 --- a/yarn.lock +++ b/yarn.lock @@ -634,59 +634,59 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@biomejs/biome@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-1.5.1.tgz#ed665a8693e3014bf8fa641ad58703c85dd575cc" - integrity sha512-rdMA/N1Zc1nxUtbXMVr+50Sg/Pezz+9qGQa2uyRWFtrCoyr3dv0pVz+0ifGGue18ip50ZH8x2r5CV7zo8Q/0mA== +"@biomejs/biome@1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@biomejs/biome/-/biome-1.6.1.tgz#148d05478fc0620e0343fb48354d6863129e296e" + integrity sha512-SILQvA2S0XeaOuu1bivv6fQmMo7zMfr2xqDEN+Sz78pGbAKZnGmg0emsXjQWoBY/RVm9kPCgX+aGEpZZTYaM7w== optionalDependencies: - "@biomejs/cli-darwin-arm64" "1.5.1" - "@biomejs/cli-darwin-x64" "1.5.1" - "@biomejs/cli-linux-arm64" "1.5.1" - "@biomejs/cli-linux-arm64-musl" "1.5.1" - "@biomejs/cli-linux-x64" "1.5.1" - "@biomejs/cli-linux-x64-musl" "1.5.1" - "@biomejs/cli-win32-arm64" "1.5.1" - "@biomejs/cli-win32-x64" "1.5.1" - -"@biomejs/cli-darwin-arm64@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.5.1.tgz#ea33f009aaa4bca3ce281e010a6cb108249cb973" - integrity sha512-E9pLakmSVHP6UH2uqAghqEkr/IHAIDfDyCedqJVnyFc+uufNTHwB8id4XTiWy/eKIdgxHZsTSE+R+W0IqrTNVQ== + "@biomejs/cli-darwin-arm64" "1.6.1" + "@biomejs/cli-darwin-x64" "1.6.1" + "@biomejs/cli-linux-arm64" "1.6.1" + "@biomejs/cli-linux-arm64-musl" "1.6.1" + "@biomejs/cli-linux-x64" "1.6.1" + "@biomejs/cli-linux-x64-musl" "1.6.1" + "@biomejs/cli-win32-arm64" "1.6.1" + "@biomejs/cli-win32-x64" "1.6.1" + +"@biomejs/cli-darwin-arm64@1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.6.1.tgz#5d3f449376aad8629ddb08457063d2974178ffa4" + integrity sha512-KlvY00iB9T/vFi4m/GXxEyYkYnYy6aw06uapzUIIdiMMj7I/pmZu7CsZlzWdekVD0j+SsQbxdZMsb0wPhnRSsg== -"@biomejs/cli-darwin-x64@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.5.1.tgz#c719a8615b380b25cd9a4bbdfc81d90dbec0996b" - integrity sha512-8O1F+FcoCi02JlocyilB6R3y3kT9sRkBCRwYddaBIScQe2hCme/mA2rVzrhCCHhskrclJ51GEKjkEORj4/8c2A== +"@biomejs/cli-darwin-x64@1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.6.1.tgz#852c626bb83b2975095cbd0cfca10a6780ca97f8" + integrity sha512-jP4E8TXaQX5e3nvRJSzB+qicZrdIDCrjR0sSb1DaDTx4JPZH5WXq/BlTqAyWi3IijM+IYMjWqAAK4kOHsSCzxw== -"@biomejs/cli-linux-arm64-musl@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.5.1.tgz#c5364e08faca4826654b191e696425d5449a6fe3" - integrity sha512-Lw9G3LUdhRMp8L8RMeVevnfQCa7luT6ubQ8GRjLju32glxWKefpDrzgfHixGyvTQPlhnYjQ+V8/QQ/I7WPzOoA== +"@biomejs/cli-linux-arm64-musl@1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.6.1.tgz#5379f707da895f1f18638c4e86d0b976ad3e9094" + integrity sha512-YdkDgFecdHJg7PJxAMaZIixVWGB6St4yH08BHagO0fEhNNiY8cAKEVo2mcXlsnEiTMpeSEAY9VxLUrVT3IVxpw== -"@biomejs/cli-linux-arm64@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.5.1.tgz#1d9fe74cbc27aa784d8a3743ad1f77da883e2aef" - integrity sha512-25gwY4FMzmi1Rl6N835raLq7nzTk+PyEQd88k9Em6dqtI4qpljqmZlMmVjOiwXKe3Ee80J/Vlh7BM36lsHUTEg== +"@biomejs/cli-linux-arm64@1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.6.1.tgz#29a4cda620418f13413c4685fa2b42846734343f" + integrity sha512-nxD1UyX3bWSl/RSKlib/JsOmt+652/9yieogdSC/UTLgVCZYOF7u8L/LK7kAa0Y4nA8zSPavAQTgko7mHC2ObA== -"@biomejs/cli-linux-x64-musl@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.5.1.tgz#7e6ef6c1308907f30909374f91c380e2c85bf393" - integrity sha512-5gapxc/VlwTgGRbTc9h8PMTpf8eNahIBauFUGSXncHgayi3VpezKSicgaQ1bb8FahVXf/5eNEVxVARq/or71Ag== +"@biomejs/cli-linux-x64-musl@1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.6.1.tgz#4399ae080eb2471ea0b390ee129d709a90503097" + integrity sha512-aSISIDmxq04NNy7tm4x9rBk2vH0ub2VDIE4outEmdC2LBtEJoINiphlZagx/FvjbsqUfygent9QUSn0oREnAXg== -"@biomejs/cli-linux-x64@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-1.5.1.tgz#0f6afaf035c6a07fe757d58a315f3a75e49f8987" - integrity sha512-YDM0gZP4UbAuaBI3DVbUuj5X+Omm6uxzD1Qpc6hcduH1kzXzs9L0ee7cn/kJtNndoXR8MlmUS0O0/wWvZf2YaA== +"@biomejs/cli-linux-x64@1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@biomejs/cli-linux-x64/-/cli-linux-x64-1.6.1.tgz#aaa91cb1679a7e86e88cc577a32695f154bfe4b5" + integrity sha512-BYAzenlMF3QdngjNFw9QVBXKGNzeecqwF3pwDgUGEvU7OJpn1/lyVkJVxYPtVGRNdjQ9e6l/s8NjKuBpW/ZR4Q== -"@biomejs/cli-win32-arm64@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.5.1.tgz#196bdc1afd0945a0fad76719b601bf7f7a4aaf72" - integrity sha512-TVpLBOLUMLQmH2VRFBKFr3rgEkr7XvG4QZxHOxWB9Ivc/sQPvg4aHMd8qpgPKXABGUnultyc9t0+WvfIDxuALg== +"@biomejs/cli-win32-arm64@1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.6.1.tgz#ab0d8f37a26ea31e7a67cd2199f970929053ab27" + integrity sha512-/eCHQKZ1kEawUpkSuXq4urtxMsD1P1678OPG3zNKt3ru16AqqspLdO3jzBe3k74xCPYnQ36e9Yqc97Mo0qgPtg== -"@biomejs/cli-win32-x64@1.5.1": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-1.5.1.tgz#b1996fa2dc6580f39fb2e1b6d126e93baf8da58d" - integrity sha512-qx8EKwScZmVYZjMPZ6GF3ZUmgg/N6zqh+d8vHA2E43opNCyqIPTl89sOqkc7zd1CyyABDWxsbqI9Ih6xTT6hnQ== +"@biomejs/cli-win32-x64@1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@biomejs/cli-win32-x64/-/cli-win32-x64-1.6.1.tgz#ea70f4bc3662de8e576b47291bb93cbd18d09b81" + integrity sha512-5TUZbzBwnDLFxLVGEPsorNi6eC2Gt+z4Oei9Qvq0M/4c4/mjZ96ABgwao/tMxf4ZBr/qyy2YdvF+gX9Rc+xC0A== "@colors/colors@1.5.0": version "1.5.0" @@ -1755,13 +1755,20 @@ ajv@^8.0.0, ajv@^8.12.0, ajv@^8.6.3: require-from-string "^2.0.2" uri-js "^4.2.2" -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: +ansi-escapes@^4.2.1: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== dependencies: type-fest "^0.21.3" +ansi-escapes@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.2.0.tgz#8a13ce75286f417f1963487d86ba9f90dccf9947" + integrity sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw== + dependencies: + type-fest "^3.0.0" + ansi-regex@^5.0.1, ansi-regex@^6.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" @@ -1786,7 +1793,7 @@ ansi-styles@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== -ansi-styles@^6.0.0, ansi-styles@^6.1.0: +ansi-styles@^6.0.0, ansi-styles@^6.1.0, ansi-styles@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== @@ -1858,11 +1865,6 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - async@3.2.3, async@^2.6.4, async@^3.2.4: version "3.2.5" resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" @@ -2153,10 +2155,10 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== -chalk@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3" - integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== +chalk@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== chalk@^2.0.0, chalk@^2.4.2: version "2.4.2" @@ -2212,28 +2214,20 @@ clean-stack@^4.0.0: dependencies: escape-string-regexp "5.0.0" -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== +cli-cursor@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-4.0.0.tgz#3cecfe3734bf4fe02a8361cbdc0f6fe28c6a57ea" + integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" + restore-cursor "^4.0.0" -cli-truncate@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" - integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== +cli-truncate@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-4.0.0.tgz#6cc28a2924fee9e25ce91e973db56c7066e6172a" + integrity sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== dependencies: slice-ansi "^5.0.0" - string-width "^5.0.0" + string-width "^7.0.0" cliui@^6.0.0: version "6.0.0" @@ -2322,7 +2316,7 @@ colorette@^1.2.0: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== -colorette@^2.0.19: +colorette@^2.0.20: version "2.0.20" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== @@ -2344,6 +2338,11 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" +commander@11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" + integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== + commander@^10.0.0: version "10.0.1" resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" @@ -2857,6 +2856,11 @@ emittery@^0.13.1: resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== +emoji-regex@^10.3.0: + version "10.3.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.3.0.tgz#76998b9268409eb3dae3de989254d456e70cfe23" + integrity sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -3034,6 +3038,26 @@ eventemitter3@^4.0.4, eventemitter3@^4.0.7: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== +eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== + +execa@8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" + integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^8.0.1" + human-signals "^5.0.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^4.1.0" + strip-final-newline "^3.0.0" + execa@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" @@ -3049,21 +3073,6 @@ execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" -execa@^7.0.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-7.2.0.tgz#657e75ba984f42a70f38928cedc87d6f2d4fe4e9" - integrity sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.1" - human-signals "^4.3.0" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^3.0.7" - strip-final-newline "^3.0.0" - exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -3453,6 +3462,11 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-east-asian-width@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz#5e6ebd9baee6fb8b7b6bd505221065f0cd91f64e" + integrity sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== + get-intrinsic@^1.1.3, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" @@ -3469,11 +3483,16 @@ get-package-type@^0.1.0: resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== -get-stream@^6.0.0, get-stream@^6.0.1: +get-stream@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +get-stream@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" + integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== + getopts@2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.3.0.tgz#71e5593284807e03e2427449d4f6712a268666f4" @@ -3695,10 +3714,10 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -human-signals@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2" - integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== +human-signals@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" + integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== humanize-ms@^1.2.1: version "1.2.1" @@ -3707,10 +3726,10 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -husky@8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" - integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== +husky@^9.0.11: + version "9.0.11" + resolved "https://registry.yarnpkg.com/husky/-/husky-9.0.11.tgz#fc91df4c756050de41b3e478b2158b87c1e79af9" + integrity sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== iconv-lite@0.4.24: version "0.4.24" @@ -3848,6 +3867,13 @@ is-fullwidth-code-point@^4.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== +is-fullwidth-code-point@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz#9609efced7c2f97da7b60145ef481c787c7ba704" + integrity sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== + dependencies: + get-east-asian-width "^1.0.0" + is-generator-fn@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" @@ -4652,48 +4678,43 @@ leven@^3.1.0: resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== -lilconfig@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" - integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== +lilconfig@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.0.0.tgz#f8067feb033b5b74dab4602a5f5029420be749bc" + integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -lint-staged@13.2.3: - version "13.2.3" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.2.3.tgz#f899aad6c093473467e9c9e316e3c2d8a28f87a7" - integrity sha512-zVVEXLuQIhr1Y7R7YAWx4TZLdvuzk7DnmrsTNL0fax6Z3jrpFcas+vKbzxhhvp6TA55m1SQuWkpzI1qbfDZbAg== +lint-staged@15.2.2: + version "15.2.2" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.2.tgz#ad7cbb5b3ab70e043fa05bff82a09ed286bc4c5f" + integrity sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw== dependencies: - chalk "5.2.0" - cli-truncate "^3.1.0" - commander "^10.0.0" - debug "^4.3.4" - execa "^7.0.0" - lilconfig "2.1.0" - listr2 "^5.0.7" - micromatch "^4.0.5" - normalize-path "^3.0.0" - object-inspect "^1.12.3" - pidtree "^0.6.0" - string-argv "^0.3.1" - yaml "^2.2.2" - -listr2@^5.0.7: - version "5.0.8" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-5.0.8.tgz#a9379ffeb4bd83a68931a65fb223a11510d6ba23" - integrity sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA== + chalk "5.3.0" + commander "11.1.0" + debug "4.3.4" + execa "8.0.1" + lilconfig "3.0.0" + listr2 "8.0.1" + micromatch "4.0.5" + pidtree "0.6.0" + string-argv "0.3.2" + yaml "2.3.4" + +listr2@8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.0.1.tgz#4d3f50ae6cec3c62bdf0e94f5c2c9edebd4b9c34" + integrity sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== dependencies: - cli-truncate "^2.1.0" - colorette "^2.0.19" - log-update "^4.0.0" - p-map "^4.0.0" + cli-truncate "^4.0.0" + colorette "^2.0.20" + eventemitter3 "^5.0.1" + log-update "^6.0.0" rfdc "^1.3.0" - rxjs "^7.8.0" - through "^2.3.8" - wrap-ansi "^7.0.0" + wrap-ansi "^9.0.0" locate-path@^5.0.0: version "5.0.0" @@ -4744,15 +4765,16 @@ log-driver@^1.2.7: resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8" integrity sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg== -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== +log-update@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-6.0.0.tgz#0ddeb7ac6ad658c944c1de902993fce7c33f5e59" + integrity sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" + ansi-escapes "^6.2.0" + cli-cursor "^4.0.0" + slice-ansi "^7.0.0" + strip-ansi "^7.1.0" + wrap-ansi "^9.0.0" log4js@^6.0.0: version "6.9.1" @@ -4956,7 +4978,7 @@ methods@^1.1.2, methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== -micromatch@^4.0.4, micromatch@^4.0.5: +micromatch@4.0.5, micromatch@^4.0.4: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== @@ -5364,11 +5386,6 @@ object-assign@^4, object-assign@^4.1.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.12.3: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== - object-inspect@^1.13.1: version "1.13.1" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" @@ -5706,7 +5723,7 @@ picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pidtree@^0.6.0: +pidtree@0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== @@ -6197,10 +6214,10 @@ response-time@^2.3.2: depd "~1.1.0" on-headers "~1.0.1" -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== +restore-cursor@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-4.0.0.tgz#519560a4318975096def6e609d44100edaa4ccb9" + integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== dependencies: onetime "^5.1.0" signal-exit "^3.0.2" @@ -6262,13 +6279,6 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@^7.8.0: - version "7.8.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" - integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== - dependencies: - tslib "^2.1.0" - rxjs@^7.8.1: version "7.8.1" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" @@ -6471,6 +6481,11 @@ signal-exit@^4.0.1: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.0.2.tgz#ff55bb1d9ff2114c13b400688fa544ac63c36967" integrity sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q== +signal-exit@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -6486,24 +6501,6 @@ slash@^4.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - slice-ansi@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" @@ -6512,6 +6509,14 @@ slice-ansi@^5.0.0: ansi-styles "^6.0.0" is-fullwidth-code-point "^4.0.0" +slice-ansi@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-7.1.0.tgz#cd6b4655e298a8d1bdeb04250a433094b347b9a9" + integrity sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== + dependencies: + ansi-styles "^6.2.1" + is-fullwidth-code-point "^5.0.0" + slugify@~1.4.7: version "1.4.7" resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.4.7.tgz#e42359d505afd84a44513280868e31202a79a628" @@ -6689,6 +6694,11 @@ streamsearch@^1.1.0: resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== +string-argv@0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" + integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== + string-argv@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" @@ -6711,7 +6721,7 @@ string-length@^4.0.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2: +string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== @@ -6720,6 +6730,15 @@ string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" +string-width@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.1.0.tgz#d994252935224729ea3719c49f7206dc9c46550a" + integrity sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw== + dependencies: + emoji-regex "^10.3.0" + get-east-asian-width "^1.0.0" + strip-ansi "^7.1.0" + string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" @@ -6746,6 +6765,13 @@ strip-ansi@^7.0.1: dependencies: ansi-regex "^6.0.1" +strip-ansi@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + strip-bom@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" @@ -6898,7 +6924,7 @@ through2@^2.0.1: readable-stream "~2.3.6" xtend "~4.0.1" -through@2, through@^2.3.8, through@~2.3, through@~2.3.1: +through@2, through@~2.3, through@~2.3.1: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== @@ -7062,6 +7088,11 @@ type-fest@^1.0.1, type-fest@^1.2.1, type-fest@^1.2.2: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== +type-fest@^3.0.0: + version "3.13.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.13.1.tgz#bb744c1f0678bea7543a2d1ec24e83e68e8c8706" + integrity sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== + type-is@^1.6.18, type-is@^1.6.4, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -7359,6 +7390,15 @@ wrap-ansi@^8.1.0: string-width "^5.0.1" strip-ansi "^7.0.1" +wrap-ansi@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-9.0.0.tgz#1a3dc8b70d85eeb8398ddfb1e4a02cd186e58b3e" + integrity sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== + dependencies: + ansi-styles "^6.2.1" + string-width "^7.0.0" + strip-ansi "^7.1.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -7407,21 +7447,16 @@ yaml-ast-parser@0.0.43: resolved "https://registry.yarnpkg.com/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz#e8a23e6fb4c38076ab92995c5dca33f3d3d7c9bb" integrity sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A== +yaml@2.3.4, yaml@^2.3.1: + version "2.3.4" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" + integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== + yaml@^1.10.0: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yaml@^2.2.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.2.tgz#f522db4313c671a0ca963a75670f1c12ea909144" - integrity sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg== - -yaml@^2.3.1: - version "2.3.4" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" - integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== - yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"