diff --git a/.husky/pre-commit b/.husky/pre-commit index 67acabb1c1..39634d7af6 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 9c0f8e4138..16bb6507c3 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 bf0551f007..0b733b6368 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 ef9dab8185..289005cb35 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 46d49b5818..36f021f32b 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 fba92a1033..23ed877b76 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 21c2ccb7e7..6486950231 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 142b6b4a37..f7676a0e21 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 4838325ba0..a91b13b664 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 2772c49a9e..422a38fd09 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 67b974431a..cf948126ee 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 b8808258d5..cdabf91224 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 0625f7dcf5..94ccf16f67 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 192b220831..eb351ed805 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 f88bfc6862..eff3010e36 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 9a341e493f..2a63fedb45 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 7cc9f247bc..a3343150a4 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 4424c84b2d..302d7df852 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 931392ec88..333166b9c1 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 e203756e76..70ab4e5151 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 09716533cf..ccaf9a10c1 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 526ffdecd2..1864050550 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 c8f81f6343..88d3b2ee17 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 8f0df50edf..daab6f6a28 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 f33b5e6676..395d26a1cd 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 5218b7c7a9..d239352c7f 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 e72e2fc958..166115b268 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 1ae381afdd..c782e98519 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 179f1d2bb3..2c4ac755ee 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 2e5de15f3d..08f738749b 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 dd70f6a04d..a36c3c3e85 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 6e64d9bddc..e1ecfd71dc 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 d077a58c8b..6878ad78d5 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 61228bcc7c..4bcedac5dd 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 42ca9286fe..b7a2f93285 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 a7842756c4..e34f056954 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 e4304e9ba5..88f0e23eaf 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 5ca3b1fa16..9fb06b7ace 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 08b1d990a5..850679ef10 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 262eeea352..6482eb97de 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 e0a368b8b3..55a758e115 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 fa736e147b..854a38daa0 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 7c3aeebb38..34235e5002 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 e09cb0296c..88a9f0bd95 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 4799ffea56..ade5846149 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 f36ba7cbec..784c8dd767 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 b9a50d1442..993cf98801 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 184ee97c10..d7a9f553e3 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 a0b8f360e9..6b58ea2e6a 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 6f84126525..6ac6427157 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 8636786044..4c9646a125 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 207bb5e161..d5aa4244af 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 bfee72c25a..639d122f9c 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 b45592ad62..4082a1c5c1 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 d1338431a3..a2c395a5c8 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 2f1365b073..bff36affe7 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 fcef2a4f1d..e04e19c980 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 3aab5aa372..b4ef56a24a 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 0bdc54af61..cf024eb6ea 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 da20b592ef..a02334f9b8 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 e65cc9650a..6e3272ac7c 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 cbf8adb330..4299b0a48a 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 d549da07df..aa702fccc5 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 c80ca8a0db..fa32b99813 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 186466e54d..1b1116aa8d 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 1489d6e485..6552065385 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 7da53b69aa..894a3bf824 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 32b9f02f93..81c121788b 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 93f25edd82..6b56734c4b 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 6934665c86..73fa8b1298 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 50127d2f0e..7e6eb518c5 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 5404daa950..36d957033f 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 ddec7c6315..aeb4ba46c3 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 801405372a..a237813376 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 9c4c36f1d8..5ead0bd51f 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 d018f8f3c8..47c55472f6 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 05fa841ba6..44532adf57 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 4a9c6870cb..0c882c27ac 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 127a350769..92aac7db32 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 aac105e122..ffe58e3730 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 80480d4d91..56a5fa89ae 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 d4a41cac5e..1052c4bef5 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 ed28daf69f..230ff9befa 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 e7fa406bf5..83a2a49f2a 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 1bca89c41a..57876dea3a 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 9fc0d90201..0c81f98692 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 9a21e7626a..ac338532de 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 15604cfe0a..beeaf06dbc 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 d4b8540473..cf68057e28 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 aa87a5f720..6133251b4b 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 efb46652eb..d45b5984f9 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 7a3d4fcde3..5253426212 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 4296ba784f..af157cd4c1 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 9d622d14af..7ab4c30211 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 fd66a35e8d..ddbc695b13 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 09ea70c947..7e5ae338f6 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 fe9547435b..d945fc2631 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 15bd19ba82..a062a5eb90 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 31f41f0992..60d63e13f5 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 b36a4537c0..bf8a3114f9 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 2fb3359fa7..d355f60d7f 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 f6e2e0603b..d34dd14aef 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 6baa027daa..66837f629d 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 2b69dd90dc..d1ef88489a 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 9c510815da..f77f21f6c9 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 e71e845046..1d0916a92f 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 9e0f87fd93..c1db878abb 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 d8f2527fd1..0ac2a0d258 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 5e353c89d6..71d805bd09 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 b84903a300..f2535dff55 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 8108ba4bf9..934df13a50 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 e6f0d3bf5e..2513f23ca1 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 2af0858f42..f0dfe0bd7f 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 31668dd1f9..06db3ffeea 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 7955a5bdc1..36cefb25d4 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 0892df49a5..48000756a6 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 c4f7461d12..d581e4f136 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 17f9896b59..6320142879 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 c96d53ccb7..68801ebf23 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 c27ebd1ec3..dade6afffe 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 3029acffb3..d558483225 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 5c4e33f2e8..e2a8660fdd 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 af1d417cbe..ff329a3c88 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 e749a2e7eb..a7036832fb 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 a8c768c2e1..dabfbfabd8 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 0cf1bd1b2b..4f3493670f 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 c210fc958f..5ff3346b91 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 3e7b94ea31..6a56184176 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 8aec8a0bbb..2aee9c7960 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 1c0b660fe9..9cd1b26709 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 fb9a468246..1e8c2d9b27 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 ec26d86874..390673ee2f 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 f2c731b049..97c32245a7 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 88f54c62e6..46f767b636 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 57626069f4..9e07c210ab 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 435d2ef3a1..256430088b 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 af6794fec7..d1e5bc462b 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 3d56c69b7f..48ab1b53ea 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 ed83b64a28..c52471a109 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 8e4db1e93b..4bc14d2477 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 95f8d9fbef..b4c217af65 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 f463b6af3e..5050f39612 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 be90227f4a..2d6ad83933 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 69fb23c34f..30a6c58fa7 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 57fe5c0207..963418031d 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 801f3724a0..7f1694ca54 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 8c3255e3c7..64eb6b03af 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 5b2c742d82..c6398009af 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 ef732903a0..c0f945038a 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 01b813a6b9..3267d6bb28 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 c86759b5ab..e37e3e571c 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 3678e1335a..ee795a951a 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 d272453774..4ec8a33aa3 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 7071e4d242..51d7bde398 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 1e0ceb88ea..0ca28f6463 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 91264801a8..692ebc2913 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 f0bc3fa228..7f55751a39 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 39678eb893..2608dc5f7c 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 7eea83a78f..67bed50436 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 75a66f9605..11ad8a1743 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 fdc7a356ce..37e68eca5f 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 4bfe81688e..1883c4121a 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 c9b516b8f3..a34084a492 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 e2483a976c..aec93722b1 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 4b649c08a3..e861cf231e 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 347d457848..e80b98e2dd 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 94600d3199..bb96df9ea3 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 9c08dff2c4..130c70569f 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 5bff480a47..fe068521f6 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 21e70c584e..8a028c04ea 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 55e990fcb8..f6223a90e3 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 a029e52b2d..cc765884eb 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 864723bc44..cee78f7629 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 95f24d511a..494eeee38f 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 2d0280fa30..3eaadafdea 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 e7cfff5525..1cef5d297a 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 398c963602..734a3f1fcc 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 e60143c264..a19bbfe1a6 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 522e0f587a..5ae6448e5f 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 408a310615..b8dfe0b192 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 685070be91..5ab0602efa 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 9b15f8d2e4..85e0f5b7b5 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 9cf64c76a8..81de8ad6d1 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 6c1ab4a654..859ce79404 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 12f9bf5a2a..d440af8d4f 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 761b1269fa..c570bd36fa 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 36ceff6f07..5a2cb4a1ab 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 5f1d4a3c66..ca5beb6fb6 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 d10746d4ae..2bb622831d 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 155f07287c..46b7e686aa 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 2ca8c4fa3c..01d062e099 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 b59a00dbed..b55d1dcf42 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 27d5cb56e4..3c54b7f2a8 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 e1b329cb84..dea335707d 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 ffb54cc4a1..bf7c4f50a0 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 379d4e7f62..d0f764017a 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 25eb0b9daf..5feac54d66 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 9034ac8edc..90b0301d6a 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 5cbe4847fb..c5e809883e 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 ac9772c68c..7ab9361370 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 14b86c6b23..0a541177d6 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 29be735980..521b06fc8a 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 7c75a874d8..e120d4c0ed 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 0dcd5870f0..b82b794d29 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 bd1c82279a..f45a53f510 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 c30e39a0ff..458f0750e1 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 f0d2b13384..e9e1f2eee1 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 568296017e..707454d34d 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 31f523fc86..42ea96e9ad 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 667b4316c2..ac9df0e5d8 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 f55bdaa898..53243fd745 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 2b2a0c24aa..9e930ae74f 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 5bb0e74d42..c52b33e5c8 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 44c43bf758..83be015934 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 65145ce7c0..633aa3dd19 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 997a74bf20..f7a4f09912 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 dbcaabdd84..0aff879daa 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 f2e91f58d2..f1ce3b388a 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 af3ba01a13..2c6416f289 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 ee47d93448..ce0911e748 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 e12bc9fe31..c296ef618e 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 aa28d10e22..7efef10d28 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 ef4a76118e..845d2d14bb 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 4887a44d8f..15c47fb1d7 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 f0db5930cd..7956e2e9ba 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 a2b1e6e5f5..896acafa77 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 5d58e137a4..599f49383c 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 a492668899..3fccec5e39 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 0b934cc250..a6cebddee0 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 1f3528dc06..4f50a9b660 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 0b910ba540..c78b3fa18b 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 358a040a43..961cadcd72 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 13610fc663..215aab73e8 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 34a5a88b47..d5d0093021 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 e73b71747e..9936f2a9a9 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 3b7ad7d3c5..fa952972fd 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 0312e80cbe..8aac741251 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 780f24cc2c..7e063519af 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 f4f21b2645..44a6a43a18 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 551d1b5396..4ab109d196 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 b13ccee9c8..b76dd25ed2 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 4de131d677..4103644232 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 7a366a0e51..688bd0b5de 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 c1bc43ffed..b62cb3ac8e 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 76164aa7c5..9b7658b19c 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 f1e8e06de5..1c54473b76 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 f3a24f8da5..9d92eeea20 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 24ae8783b3..83ff7e886a 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 add7c2667c..b17a30f500 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 584d52c4a9..8866d413b9 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 ab6c44139d..85e4d0ab07 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 c041ee4847..5a58297086 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 55441d6f2e..ca5dbc5b2c 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 2b46d0237b..57003541d7 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 e2e4d96415..d4077c8552 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 64a3e086e2..72240da9f8 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 5c35e86671..68738d2087 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 4638a3dea3..83a1c4f938 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 b9636f1ec7..8aeb23388e 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 9034ac8edc..90b0301d6a 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 deb08c4977..19613ecd6a 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 ac9772c68c..7ab9361370 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 e417a2c650..f8c6250719 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 e3abe8659c..6d4fed722b 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 7c75a874d8..e120d4c0ed 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 0dcd5870f0..b82b794d29 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 3df3d08a83..3528c2d338 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 96221a0eff..c15987f583 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 f0d2b13384..e9e1f2eee1 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 54a29fc0d9..66586a7e71 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 0a31a1964b..ec75f0bd36 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 dfe4a48c27..8443c30600 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 5bb0e74d42..c52b33e5c8 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 44c43bf758..83be015934 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 65145ce7c0..633aa3dd19 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 997a74bf20..f7a4f09912 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 dbcaabdd84..0aff879daa 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 f2e91f58d2..f1ce3b388a 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 af3ba01a13..2c6416f289 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 ee47d93448..ce0911e748 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 b2532e58db..3523cf5f22 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 aa28d10e22..7efef10d28 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 ef4a76118e..845d2d14bb 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 4887a44d8f..15c47fb1d7 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 6087195116..da4f98a5fb 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 febbc465a6..f3dec38b25 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 5ad8f8edfa..a8c7c8c7e6 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 60b3e18997..9ba4127842 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 bc821c52d2..c5a9294fd0 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 239f4404dc..0bd7c325f9 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 8845a66b73..be4f734ec8 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 429d8aee4a..763fba415d 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 599c1f5f01..612cfc1029 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 5a7cb3dcae..5f23a6e529 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 5539b07779..4ad55d2ac7 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 51eadcff8f..66ee9a4ebc 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 9f8105ac15..d957b9ac5e 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 175d42e860..e7b94d2b29 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 604e7081e4..6dfd2caaf9 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 f24c5866a7..8f34d02b45 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 bcbaf96be6..c558a06b36 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 d2b22b1a0e..362fe87948 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 50e42095b9..2051bab69b 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 d8bd3ee5d2..8ba2c8e343 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 1c2673168e..ecd3806df1 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 ca1ff60804..e57e889aa5 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 2620dbfc49..924ec69faf 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 0573f2ca42..4ccfc60443 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 aec632e378..c896e03b51 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 42f851579b..a919292fda 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 94f2b55c5d..a303dd35a1 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 6d2df6ee45..fd96476008 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 caf860b14d..d5653fd441 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 ad48711f12..03082dbf8d 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 633d667f76..9ac99b5908 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 c913a7293c..a926e6ff15 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 67af7b75db..edb1cf7811 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 bf60881fce..59646b37d7 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 2fa26736c2..5e8e120f5c 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 f3c95d91cf..26f319c514 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 4b01c04bc4..952b8e344d 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 1a8d8c6b19..083cdffc73 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 b625716285..53c95806bb 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 ebe51a24e5..af24851939 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 7e61d6fb3b..5a2d701de8 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 21dbcaac4e..c83f2cccac 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 50e1af71b5..3c0b3d00f7 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 48c0ea5d7a..9ecaf3cd5a 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 3ff0c81fcd..e86858a355 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 85514e0989..0e897989cb 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 b2f11eecf8..34556e7de8 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 d1f2bc8221..b358bcdcf8 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 ca31f01fbc..eb8c1f919f 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 dee80ee21d..cacd9cb67f 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 bc648f3bc5..beaef77ae4 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 e2fd15249e..e737ed882d 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 d5935701fc..7245dfe649 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 ab4b494314..d61be9a0d3 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 795ad1906e..0610db1137 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 31a9bb3b5a..4bf48d5105 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 978e457b1c..9abfe70f6f 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 a1845c2d40..94b3ed8178 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 174651ef42..25a09f9aed 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 2672942222..8a706355a8 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 88a84c2d8e..586846cdfc 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 1450e12fbc..5a5eefd140 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 85b81c85fb..593970a3d7 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 0bc9563edd..549580a6d3 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 425c240ed0..1fe613aa7e 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 dbc3d6af7c..19e370f7a9 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 18f391a057..849f084ecf 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 1a9d6c2060..5a3fa544ba 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 5c44952b07..d5b88d4f20 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 8b3e1ae330..0a228d38dc 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 867d0d9ebf..81c73ecca4 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 1bc49d2128..919762bcaa 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 1124a7eab1..b9b788b719 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 d0f8e898d7..41b81d1e63 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 11dfdf3fed..859ad790ba 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 1b06cd90ed..52b06f1726 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 b9eb52f958..67bb6e3d07 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 a2998e15cc..6ff84e268d 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 d4860ac7ff..168ad6c6a1 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 89f1b3ee4f..232926b774 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 31a1a2f07e..e6106cb49e 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 27e88c5b49..b0ed1dcebf 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 fea0f61284..9e5e577e05 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 9129a85742..aabb1a7bd0 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 3cc584c772..f747faac8c 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 ec27c2562a..5c5ced7124 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 67e48f4b0b..e22bfb24fc 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 6eab61b94b..e7a1ed3e6d 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 6875d3413b..f8a548559f 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 9940c3b6a8..3aee67a8a1 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 09426c7f76..e2e5a7cf5a 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 57da85dfde..f1ebe2f134 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 dbd3d8a19b..8db78405c4 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 834e609839..2242a36e1f 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 545241fe5c..84c819b7c6 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 bb318e3218..7e51695b7a 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 671057acd0..c1c6552e55 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 be0c9051dc..dfecfd26a7 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 442da2002d..8be85e7e57 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 c23c92a37b..82027fb21c 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 75be35ba01..60f73f2c8c 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 ec190151be..860178bdf8 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 10aab78df7..77b645b1e2 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 626c0bda29..f3782c739e 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 9e6d1c3cbf..d328026385 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 187656172f..76a6ddf272 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 ea0a8ea67f..a57c469949 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 21502ab521..9b3e075980 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 7228dc921d..970a5795ea 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 116668b841..f93712e0f4 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 3945c63e4b..b5b422e881 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 d5378a9a9d..f53ba35292 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 eabaebfa49..1db478e665 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 d924572df3..0a59ad530b 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 04447722dc..bdf0fb4b11 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 eabeef49f2..f83bda9692 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 5064ba05cc..dd096134ae 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 427a9780db..89c0664bd5 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 2ee3f9560d..b342c61e4c 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 2d9053278e..708cf8c373 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 17867b51e3..def392ceda 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 06b0d21860..5a1749dbb9 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 d0c0732d3d..22cc719e30 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 d55d4469fd..7a11da07f9 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 3f23d02819..0fe5f8aef2 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 607765eeb9..e4e101a644 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 6bdf661ad1..83bb59644f 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 9accee5c4c..2ecdb9156b 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 ad4d47c2f6..d7b8499f93 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 254ce2ee4e..0ef77bc652 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 11f419a319..5b5bc26ca2 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 974f3b2dc6..5d3e4fae97 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 0d887cf3bb..984720c642 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 22dfa04060..f9219e521e 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 3bd3485307..392ebba141 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 c3b95b5d60..9b4a305c43 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 49ce76b809..20362fb8ed 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 56c42cef87..5e2d7fa846 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 ae9d69c926..8c6c9406cb 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 e7892745c9..6125704d41 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 e86301c73d..bed0ac2925 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 d6c35f11f9..b0e092c79a 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 77172306b3..3a5725e0cd 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 b2bc3e30f4..d685f81047 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 290c7c19df..00ce67f968 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 dbe7afd398..026ed357d7 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 05e99732d9..3cbe80493c 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 f156225ca6..915bf584a8 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 0b957de210..55467cbbc2 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 087a22d521..2c7f29e20e 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 fed2e3413e..a5a063fc34 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 c3e773a086..4bb10c64a6 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 c29f304324..4f8b5fa2de 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 80af1adfc6..95e5d47191 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 fa0590cb45..9a2094ac97 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 19a542924f..003de42d04 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 85d6ee8873..877b8880b8 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 262b20bf4d..411b27b804 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 8df88432e7..58474b431b 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 596e7fd15b..4d849dca5f 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 0427851aa3..564e9c796b 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 3e363475b7..5d35e8d473 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 0a5a6aabf8..c72bfb8027 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 d29ad41408..ca9237eff6 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 0e57114ca4..8978a759a7 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 b3063be05b..8ef2e00c8f 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 04a3840ead..e856d7226d 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 2824f42529..a961ef03bb 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 9a35c4011c..64f271b3f1 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 57aaf84699..c640896d56 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 858d4b95f0..ea044c517e 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 5f460d70fd..1a7664767c 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 bc01ac0933..b33e5b5174 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 bc0fa35295..fcaadc6a8b 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 416a121f9c..2ef39aae51 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 32b4d82ac3..847cdae6e4 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 93f349c708..9b1c4731cb 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 8593490cac..08ead4d9da 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 1750c7a538..31a89b9806 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 75d40b43a1..bdaa7694bb 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 98e621e713..bffd16da7f 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 03474e4a98..eb1082fdf2 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 2bf2375d18..e1ee6698db 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 0443b568fc..2f5eb09c60 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 362e3828e7..9c4c00456e 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 1c21252e2a..d9a0f98504 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 7b6acb5198..1176348cf8 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 56dc994385..8a1027b83c 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 4e78000939..6080f9e34f 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 c5096a86e6..5ae6d7ae1d 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 30e9e1d7a8..358005228b 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 a45735fd94..c020a79c7c 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 6ea7079f08..50428d3796 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 ea4f89d9ac..11ef8e68bb 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 e89df305ab..24f613ebc2 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 d91182c573..94ced968b1 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 ca01a83df5..105d20927b 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 86eddf805f..68e4ee3d7a 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 3bc39ae74c..457413736e 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 0bedcdbbdd..0bc5812fa9 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 f0c3766774..c8134ffc48 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 5e6738a513..91592f514a 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 30e0f8df48..7593d40b41 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 e28bbd0e67..7a17c8be29 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 c4bde1bc13..2e7cd133ec 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 afda632127..c8e07854d0 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 7c2ea3285e..6bca2880ef 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 22a84c3e92..9eea744b61 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 ef0b1fee12..10f494d81e 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 e1d1cc9169..b64a356aa6 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 0d77104d13..9921f1fd05 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 c145ffe9eb..0b706731ed 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 cac180d3c6..de2df7534b 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 1366e355ef..95da86a358 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 3b530348a5..1ff9553611 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 9af20ff7e1..c3641f7699 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 b525010f36..5aca611bc7 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 b9261140d6..160d28037d 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 9fe6d71c7f..d3604e26d9 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 360b8359eb..af22d2f700 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 88756c39dd..656ecfc72d 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 2a260c419d..1e98b1ce21 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 92772a4547..05f196c6a1 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 3839b10502..7d8e046cbb 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 1b7b84c751..028b5b72e8 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 0c2a72cf97..ea58a8fdab 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 cb63dc127e..ac4e013a04 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 500ce225bc..1e09f70881 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 6feea11bca..a28c95ac16 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 14d11def14..3de9a2ffc4 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 d8118d97d4..25f76b0626 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 4e879aedd5..27a8cc9905 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 869aec393a..17830f08f6 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 71c8fc488e..f8569b2c2a 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 e016deb1f0..4c28d715c0 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 42fb518642..9ea8d2f886 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 eb1b6be061..9f36d74e72 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 b655de9fd7..2696d1ff98 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 f3d9e0672a..c217b3cdfe 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 7838786e40..abd6bd2bf8 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 e938614a16..c18ea10cf1 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 1323835540..2cbe1f2688 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 36a173e5df..634a6b61bf 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 cfa80eb6c3..2829a12d8a 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 3057446d06..a9c2204bb1 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 11fd597463..388428b199 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 f47538cb26..1cbcf7555e 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 b3c3b1ebd9..88baa64ac8 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 7686c12710..72142d2461 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 e5e3656ad9..da2a70c75f 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 782bf0c8d1..74b01dcac0 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 baa38c3512..ef8a32dae9 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 eadee0a4cd..812be3ce8b 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 c111501d9a..508c447aeb 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 f27d8f5ea5..c53a05575f 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 20ad0d1145..ccd65d578d 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 2792453128..a7bf44a6f3 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 3750c9e0bc..dd5c0c210e 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 473dba9836..442172f1dc 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 7fb8dfdbc9..a44e39a9e9 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 89fbdb87e2..d4afcd28d4 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 4892414389..3252341bfa 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 b6302bd605..032b8afe3e 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 8c47a78d45..4cba8fffb3 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 b5cc7fdba1..58ad706f9a 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 614a5db00e..1aeae0e1e7 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 ffd292b3e6..fea89d2f29 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 bcb4849784..ddd00bf42d 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 8f5ced1a15..9f5bbce18d 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 ff5b50660f..4fab6eec5f 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 4d15d2d6e2..a4ba3e0d16 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 7c8f8d4ff2..eaf9591386 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 e02c85934b..02076f263c 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 b1ecaf851e..ce0851f9ef 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 ea49da1fce..36e0397cf5 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 70811f80a8..1559ff4760 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 2af0d639e8..b9d93acffe 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 8bb565b88b..b36188be03 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 f8d69105f4..afdbf8e700 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 42ee921abe..337aa761bf 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 8e209dd260..9b226cc0ba 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 6c3f8d5560..f1572c0649 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 ab4d47efb4..7f3a742a7f 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 069811d6ec..4a15352b5e 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 1447804feb..f80d09dc1b 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 ca433241f6..4ca4018d23 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 19f8b2ed26..4c2a665c79 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 9bb28fcd5e..0259fcbf4c 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 dde5f0b810..abbc805384 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 40af0efcaa..09400c7ce4 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 fb3f28f175..5d95058364 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 4cbe9f7eca..ffcf9adcd5 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 6143b6bfe7..f32c6d6967 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 d86a757ca4..43d260a230 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 359b8ec249..660a46cf0b 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 b708294551..ec6fd33cad 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 b884c9ae2f..92aae63b85 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 d21830e7c2..5b146385b1 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 abeb0268f9..0c7d7570e8 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 7f749c57e4..0568acf82c 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 4e28f73f5e..e059b91d37 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 23efbe5664..fea9d1e076 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 b9e7363142..90ba5f7007 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 9a689852da..b5e00b9bed 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 eef13b1335..c98d1d6d36 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 e26fb53ae9..7cc4ec7efa 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 12e00dc85b..ccc3fa4261 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 403008092a..39b34b7c52 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 2e0247e629..6c7496bf18 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 32ffd4e006..2a0ea19968 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 0772a120f5..88b4a6e5f6 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 4ee471fc78..565d5d82c2 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 70b2412cba..56a139db48 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 81a3764696..4b15f9456b 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 4780b264da..ed789f0da9 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 78d26ba967..6459c05c71 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 05e088bc45..ff6178e5c2 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 2c5754b462..a08fa2de02 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 e8ffb362ae..c3eea50fff 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 279a96552d..75b50d7a16 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 af0fe13cc2..8fc5f7c17a 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 5c5c487876..c184dc5110 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 c191887cae..81230bf9b2 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 fa43a1eaed..7cb05e44f2 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 bb44d44f90..5b58e15709 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 e49be63702..a45dd01fd9 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 6199e60b59..531ba7a1e9 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 741ff868b0..ddf08e4dbc 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 10833ef514..1cd27bac0f 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 e899905820..e53ac10b14 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 241f2048bc..9478a9e017 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 b5f63c7c75..ca03c55679 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 e960071fb6..4d4dd7ba8f 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 7f2ea7a545..d2ac9200bd 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 653d633c99..61267f307c 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 606d3defe1..ada48305c5 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 b34d176833..192788edc4 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 32248612fa..f2edb46bbc 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 d3ee763a16..2886355cf1 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 e165758891..1399d2a6fe 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 905cb23d4c..79d83140e4 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 124d4b0d25..b863232002 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 e730018b67..e8f58d5be0 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 1965a130dc..4b741f1fad 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 f9e67732e2..53e0bf0092 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 b58ccb1a8e..e3acf60a59 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 7ae163c3b2..c8f193a4fb 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 aea3da80a6..3cf6dbf8f3 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 0c2b463d9a..7e6eebd3ae 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 acd02742af..4afe8ded84 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 5154110991..d5bf92afcb 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 44322c7f43..01d6af10ce 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 378c67d128..c8b0f91df5 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 ebeb3c23c3..20bf331e94 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 734746c2be..673c5728fe 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 3a07eb9f5e..e46a656c74 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 6089e547fe..74a568ad31 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 19c86ad5a6..697d873636 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 a6a7268412..2e4ed47b96 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 90397dfaa2..08c9559f2c 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 58cc7cfc5a..30f59b8660 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 d2df48fbad..a35293b269 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 53345bd4a6..57d5cb74a4 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 01237bb26f..d06955fbb5 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 945702c9c8..193a04a138 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 16e673847a..ce918b7da9 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 d4b6c6a612..ac243fadd2 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 fbbfc59c5f..6c6b13d92e 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 ef6199bc2c..5c6d0a8c7b 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 821fb0fd35..5773e03e06 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 7f0f75dca8..19279d9129 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 fa01f88285..c1a995733f 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 190888bd3a..ee05444104 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 f0e0cc35a9..2400264b63 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 3043e4fc1d..5468cd8a5f 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 7bbc2972a7..894138ae8c 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 d8d80f2621..6347fcf55b 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 9857543ebd..4f2d143418 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 7b6d19132a..9141e847ef 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 784cddf0f4..dd7b0f0af8 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 6916e04da7..e15a76d4be 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 7262bd41bb..de5b4f5528 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 e2aacc03c8..e0be5438a3 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 44c5aa993e..f76f6ed483 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 6f870d2ba2..9fd0f09245 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 7e441662d9..6acc499f22 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 5db476a6be..78952b4b7a 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 0fc9a1524d..f09426d48f 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 f61e8ceea1..cf99fdfeff 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 c5021c6ed8..79b74bb137 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 28f0b58f75..0e98b446a7 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 e2bd1104ab..f6e11ed487 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 7bc2e81c3e..c42404c1a2 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 df943ec27a..c4f664a25c 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 1b44c85a87..b4dbf13571 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 5b0573d820..af2373a441 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 7992dca3ab..fa98b4d531 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 11cc8025df..e0d15465a9 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 15c7b196f9..8f89ac70e7 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 556c6d9c51..d1d4c7ebd2 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 23c09dcc1d..775d371e57 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 fe489465f2..05b873cd57 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 fee9b1a6c7..3bcfdade23 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 216622abb0..c702582d4d 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 71948b678b..16a961264f 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 6b9fc7f83f..a7a5545901 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 8dd247caf8..6ba1c57f65 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 70aad58100..8ccec64129 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 5ad53d4bcc..9b871f5e93 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 17b027f73c..b18f754e92 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 261f58d5f4..d8cae428b1 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 06d9e9f318..aaefd9a1ed 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 91138cf5d0..45217f06c3 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 f410931d3e..d831fd2a10 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 380e9dede3..40a5c52c3c 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 f0c098a458..20d4e63a13 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 2edddb70d7..0836543bf9 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 730b37c82d..8dd3175d11 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 86007eab5a..30f5a13795 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 6e713658ad..dda355e03b 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 1870dc4a41..651d17bf27 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 98c3427acc..5736680bc3 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 a6e09f83f1..67a5530fdd 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 c2d37902c9..c60bdac041 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 f6b457c97a..f4405c27fa 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 3c45509d06..7940b793ad 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 2a71d137bd..7bce7c82b7 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 ac2e1c7140..770fd5d1fd 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 d05474a2bf..46097e0fcd 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 7a472dfc57..7cf921168a 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 a470c6d45b..8cbd80add2 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 fa9789e711..09e106753e 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 d7d365c678..fb7e13d2e7 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 35eb655ebd..857e275425 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 b2f505fddb..1beb020d17 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 72edd50054..c4863d38c1 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 1d6d6686e1..9ea7a024a3 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 4632df9703..28a27f9ee6 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 a5a46c2d4a..9ebfc9dd39 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 7639e16b53..d56b1654be 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 3246b7d26c..1a87eea4db 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 60a33d7197..69d2f54d25 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 190a13d60d..9ddfb9e70b 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 3dcc8cc717..ad7ccbe21c 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 e970f6b819..1a5ce84a7a 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 a8ab4bb473..166f3ed856 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 8b280b5068..2bc1309e84 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 a5ec0aa71c..59df446bd8 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 64035cb955..69393b2227 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 a6336373fe..ff3a76da15 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 84fcb2cf07..14145c1c93 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 7efb366f38..bdea28b640 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 7921d60a8f..ff4054959f 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 0031085f22..7c5ba26d40 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 208f6e373b..d9d9dcb247 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 8d30bafc9c..221fa630cb 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 8bf3c9f5e8..f4b5ea2f01 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 784a425804..3f39f44461 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 e425349a3a..b26d911c3f 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 f3d31c1741..b181ad14a2 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 fbfbd70dc7..498507cdc8 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 0099707cb3..4b920ce501 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 5073328bc6..8cf7b559f7 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 0d8aa764be..f1a1ff5641 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 6c762df051..a0c2f8911d 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 586a3f65f3..7f1dd34b92 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 f8ffcc7a3d..390d052c7e 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 4e05d89ece..682cb5c4ce 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 5085cb6411..fc84d8ff24 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 7a9e4c4290..a634e74c74 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 a939bddf14..e824d7c2a7 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 affcbcd8ec..fba63f9b2b 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 4c853a6a8d..94c78ae8c7 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 74b994c15e..11e2b61e5b 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 ef37b8faa2..c507da7fa6 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 7e0b17eb8c..12cb944c75 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 b28a0be9b7..9caff22e6a 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 a28f9e4c8a..f821cdb7bf 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 e0aa32977a..84ac651d92 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 2cead2b680..aed040f316 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 92a67af066..da69c57889 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 2852aff2c3..bcc344782c 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 87ece66f5a..ce9492c769 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 e1d1fff53a..7a96530e87 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 95d132c6bc..b241f79a25 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 5795a56f20..3caa06f240 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 84f350f684..ab96b4ab61 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 a1d39250f5..a1b1682015 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 8a63c34be4..4f5c6af765 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 2069ed5eac..de77820336 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 92c12dae3a..4d20df9c70 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 549a47e3b6..5e90a9ba0d 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 4b355c2d6c..34cd1aae10 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 45bbb4b07a..89da504066 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 0a9aff5e13..e0b24cf0c0 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 418416abb4..71cbd12777 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 88f6ac4767..e883d25dbb 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 3451e0ae73..7680f3c3f8 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 ae1ea99264..425e8aa9ec 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 f5e3b5e314..cfc24bc40b 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 d92cd97b18..6c1bf47b84 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 9c78032d3c..e3c77cfe10 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 962d6535fa..e1e063dc22 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 0dd933ac37..4de7fe0ef6 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 2e317e4f33..43df16602e 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 40804bc39e..da0c247645 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 33dbc02707..ee42a15cdd 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 17374bf005..964d2a6d43 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 3f9d6bda89..7ea5efb1db 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 01d4cbcb45..d044de2db2 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 38956e7875..ef60c74264 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 4b557ad316..8ab45d8cc2 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 5633b810d2..0cfe0afd5c 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 fe0948151c..bb087326c8 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 e97ddebd30..dbc4c6c960 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 bd7f4e4bcc..17849b521d 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 6e8508a5fe..dc666bd2ec 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 90f6cbbb98..e0c62e3d8b 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 c505f8bd56..196c3f1cad 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 b617705c9d..c254264b71 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 c232114a5d..5d8e53be87 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 fdc32db4de..ef3cda6083 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 0e013802ce..fc5ed9b320 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 d4026f7adf..eba347f63c 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 e60c993778..0fd0f99cdc 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 57ad73d39d..d5e4828a39 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 60738dff74..a63311456e 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 ea5e753ea7..59e519065d 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 b0286c3c7e..9c7d203a1a 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 2337cc7aac..4f374713b8 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 a4d5fdf615..e5f7993073 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 fe4a388a9e..2feabab3ee 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 dfaca5ca68..843d45095b 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 5b12dc0cb1..62a4bc0c7d 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 2eb09cae9c..eee25a3358 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 d205810cbb..e38d63ab9d 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 e22e3d414a..d2ae8cc61d 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 b20efd5160..0d5e636f73 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 4bc2ecd7fb..e37141533c 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 1362fd67be..70129b5223 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 a858a4e4e6..be7e193899 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 be887632e0..2ebe61372b 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 cd2d474a6f..5c0722513c 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 033df263f5..31890661f8 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 3e215f8d78..d3bffa02b3 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 83b330f35a..c7bd17e09e 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 fb7d35dad5..002b0807ef 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 5a91ab6274..a4a5132a71 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 6df0831cd6..018fd5c60f 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 90233860f2..9dbfc64fcf 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 cc512ec721..edcbde6b5a 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 91fbda67f1..10d6e3e880 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 01d4a555f8..78704e31c6 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 1d48e01e5e..bfe51debb9 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 056a9346c1..4dfca6b91a 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 15cb9bfc81..14395c3155 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 a666d66766..351d1dbbdb 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 36a27c90d6..ce90590a20 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 fc7aa7719b..a51cc4a534 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 eea339c35d..e236fb4f1b 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 288e95e9ea..9abec36235 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 1b19c4af95..e3fb2ad88f 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 fb9890eb0e..455f1eb8d3 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 8432595e90..77bf3c4236 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 f7bf8f341b..40147d7514 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 3c8db8509f..016ce05a3f 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 ad76d42f4b..502857e259 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 abc66867bb..99ad026ffb 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 2433f81b99..3553f93f70 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 3ab3740ac6..e4f9d52614 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 0018618483..45da4f2dbe 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 70898c387b..4649d12aa2 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 d5b96cc9c8..1940106288 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 619e36571f..7a8ed4327e 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 0728b6026c..d9a49ff440 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 dd07e6fb55..2ea8e589ee 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 c5e79e357b..46ef8b8d28 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 5b8d79d6eb..af04bb8dc1 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 d7d0f08a1f..59c414d801 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 88013a7bea..68d1e51e73 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 63016cc0ab..ea39c96ee0 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 48a99fd8dd..f6c97bce4d 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 e55cb435e8..dac7c82e3f 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 6fe4a4e988..632da24755 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 bade29f64e..a38a16dade 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 bfb9fa92aa..dc08077af9 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 f1e52fe5fe..b6f2b7fb95 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 903338910e..d60d985515 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 bbc1586dfe..8c6ad87639 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 a3c70534ad..d30b2542a4 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 48fca8e662..bf5ddda830 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 70aab82766..53ceba58ad 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 9cc5375410..1f829bc545 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 f951463855..4dcc004d5e 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 0b7182cdfa..dd4f9d1f8d 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 8d4e31e901..a37794fae9 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 f0115cfeae..2014514bba 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 3cda835f15..40b8afc0db 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 a247507f6b..3fd7ffae8d 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 b2b063719a..5d11237441 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 226a39b0e4..482392d86a 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 7fb0bbb8b7..88424a22cf 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 859228d219..ba377e10f3 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 23bad33f89..a534df670e 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 4dffb7f924..0af2a4b9ac 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 f839645e1e..6849b75191 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 581db3e884..d17b9420b0 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 a0d5371e35..7f42f32c54 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 f46dd3f372..4848d8e483 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 4afa6ff301..ebfba49467 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 6ffa71b96e..13bf0b9b9f 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 6358fba21d..0323d89e73 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 c9d0bfaa77..0158079a51 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 a35bef89e2..ab75e94990 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 e1796c59b2..c19d5e4195 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 d9a0e73e80..64118ca243 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 ab0a00f671..c4d4b0b56d 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 993cab72e3..15efd67e36 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 7d4b393f03..37e535b481 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 6626cc5d52..0b1d4b2634 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 059b730c67..76edbd5357 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 c9f932a501..6abdf24010 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 7717b5a7b0..b8330f8e06 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 7cbe28657f..1997ee7675 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 80a84053de..a348855920 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 767ba408e5..a0aaac82e3 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 ff0f9c42de..0bd072b098 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 277e5d5e0a..6dc42151ed 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 b10f12fb50..eb9b73eeb6 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 49844ad9a2..bbb8169d7c 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 1b858d8e74..77ed83dfb0 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 8cf3eb449a..aa7d20d756 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 5891d64aed..4522ce9739 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 d8946e402b..afe1dc83e5 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 e04237d63d..4b5e4f7f96 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 a2fd25f5da..f6ea2cf866 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 dc314f45bb..e5caacf312 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 1b240ef961..e6d7ad601a 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 70a3630ecc..b7a73748a7 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 b4f76ad98d..edb6d97ea5 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 782be12409..765cd28ded 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 6b3ac60b19..df54c0e882 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 e34d3ff100..e06713619c 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 ca60843754..60730445a5 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 7ef9f96806..84e55ce7f2 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 9c15793334..6738fe621d 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 026df2de07..1e2823c564 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 b5fc0df042..c4836a9246 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 a1fd50e841..999ada5c6d 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 1010b66dd3..6c800db86f 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 0cb7de4e87..4d1351006b 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 7573551df7..1b37f2c648 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 d9f575cb3f..bdd03ffefb 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 4eb15be761..1147c144d5 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.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.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": + 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 66ea13e343..1fb4dd4ed9 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 5ea44beefe..b1aabcca49 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 a82b357ca8..582db7e4f9 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 2f57c263bb..1b25e99987 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 9d98f5bf0d..3b611a111e 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 2d92c67219..0dfe90fb8f 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 56a5c36a84..6647984a21 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 9276c71772..d91c9e6356 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 60196adb92..606422c838 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 b252dd6490..943373fb32 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 d5ac9d4449..6d92077bd0 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 e2407b7550..66f6d91eab 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 06d03de2e9..ce5e134423 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 137d3540be..e496206eb0 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 3c888be9f6..a1c5656404 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 8bbd239e40..6352a8b218 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 3b73d4a29d..382e818103 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 2867fd6193..30438b1837 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 95d281319d..03729ba015 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 95a1465ba4..ed0dede588 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 6e5ed9e5b4..64acd87dc6 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 718830857f..fd559ba045 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 cd14be42c9..3777a12271 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 c9ee8f950f..c374e1ef32 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 48743fd9f6..e1a9b6aba3 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 e7513a8599..7884398503 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 031df26cc3..48f4fe27f8 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 50b7657df7..b3502c8ed5 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 e68ac8b075..02d35f49d7 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 6c85d08e20..43559c2f7a 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 a1f6f36c3f..2c21bb891a 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 e59b18b6fe..99b58bb8ad 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 4d92e99701..a9039eefdc 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 3886ba4988..86952161b1 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 8e7a642be8..c8d673a602 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 139e08707e..2d08914a8b 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 76bb35805e..6641e28b7e 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 bee15a2393..3584e4c511 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 0d02174e4b..4c00220b60 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 835b6eb416..bb5b3112b7 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 67d3055916..9f3b3c51be 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 038d2ef179..21533b6cc6 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 627e00c682..0cc1c47e2f 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 ab764172c7..40e9f35c12 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 dfde6c4cb9..06f77f04c4 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 5c80844293..dc78ff16fd 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 44dc6b450f..b12ef5b772 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 df5db4b7ba..7aa8ec284d 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 e99ae9ef99..35546cf26a 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 87e23a8253..886e37ec95 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 afc4167864..2a7988d75d 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 cb1678fcc0..a929762462 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 667edee6fd..d1ee22f47a 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 ca21d28c8a..73a4e1e2ef 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 8e29bc42c6..a44864f517 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 61cb28f953..468b01d079 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 41e122f22f..99c656db94 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 a84118e162..5b8e8ef9f5 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 42390a7eb9..9585d0f289 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 9258e27e81..acb27bd82d 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 2f24f6e6d1..a7cc9933f0 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 5938aeaf9b..1b770c82ef 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 638543639a..ab93ef98b4 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 4cdc18f5d5..3b6f2dc358 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 3d4741354d..b8a1c3ec89 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 bcd7424601..fa986d8e4e 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 53eb2c1cc8..da5d78c9bc 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 81dc9419b0..ac20b906b9 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 bceed13cb3..68fa70a700 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 b0270987bf..da562e30ae 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 b5816b1cea..6eea3e093c 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 c5490c4f87..76b4e7bfe5 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 4c8414f023..c90d80f3a3 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 9076c11282..36a59d6968 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 262105084a..c4a7f0e5bd 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 77bc396cc3..ed4b738a73 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 16ee3b6d8d..e0c3fb1910 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 9a0f4c330c..be72bf8026 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 f7cf3d2da0..93554b4274 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 b81f02d42e..2a0d5bd591 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 9140cbfc5a..1cb7de9a1b 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 02b3ee11fc..3d045d74f8 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 de461cc9aa..4697835cc4 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 b2e58d5317..3ec5c7a405 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 70bd3c76ef..6ceba695cd 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 7ba20dae6c..dd1a6264dd 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 8ff19bfd9f..4274793c7e 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 8d736f83b8..c745cba3b1 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 a14b0eb0e1..de16968205 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 04c57576b2..0e476dfa9b 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 70e1cf8421..925a3d4c29 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 5df0fc5690..593b110c66 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 33fc5380c5..e9b209d874 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 d85abc384f..f68bc2b840 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 d89115f123..616be65011 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 282f4f97c9..21927a593e 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 d4e925e909..c0a477f841 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 ff75d77cdf..7fc6109173 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 5e8585d166..24a779a6e5 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 eef65ef4f6..53f787eecc 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 eaf32460c8..d3e27f8e86 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 21d04df466..15f12d911c 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 abcbcfc3ad..b339277a70 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 718c58df38..fd43eb10f1 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 2b2bf4d99e..8c4f0b021f 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 0b94328793..31744cac80 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 fe95b432ff..d56fa20fbe 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 a32be5925e..1bd7c56e25 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 d7c8b49bed..066314534c 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 0e3875c556..06aff6571b 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 5c8b4d0a6f..ef1706d541 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 74d5285494..f4fc5de85c 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 db56c3ab51..3bfaaa55f6 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 086a7773da..07ca8ec180 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 813f35acae..b0b06ed9a4 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 6dff611cc8..dea6385a46 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 bf288fb75f..e2ed118ea9 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 49b11ceeb5..8d6d904303 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 b657a98701..0ea0a5d5ff 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 6c943a215a..d5837df423 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 3e282d304d..b8b6706505 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 2aedede0ac..4ad2d9ec9d 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 5667f530b0..550a387890 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 e6860fd272..1995a7eb94 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 bc557f1acb..1aec0f677f 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 81de041613..12d3982dc6 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 cd81e3b6f0..71e44a69ed 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 32c1150d68..46157af8f3 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 472c9159b9..1df8d8aa84 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 a7b5501817..d009d189c4 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 e82846245a..62c9ef7b88 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 09a086426d..4c05a20c50 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 bb216bb31d..1d81ce3702 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 ab6a45146e..bd52183954 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 e350468c37..c2e27c1ee4 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 4cf6bffc23..72254d4f5f 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 84b68d0477..baa2f6eded 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 1bc75544ff..80d6cb501c 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 20b189922c..e083afb81d 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 398323205d..71ec9f9323 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 93067d2480..2f938aee51 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 191aa8e520..5d81898da9 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 d2b1e2801c..683d901941 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 4af589a651..51087589fd 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 889046d162..f9fb7ef860 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 d850d65957..bbb4429e85 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 50606a9e3f..7d1889ac91 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 eb81dbf211..c99d306658 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 043d478611..dcf743d42c 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 2a43dc2774..6761979938 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 e0a9bff29b..ee108885cd 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 59e092e9b9..ecf124262a 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 560ae6a94d..0e3af334d3 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 0199878c71..5eb9adfb32 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 1c5e13c4c1..cfaebc2d1b 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 6fdc3ef9b1..848cf173a1 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 2a369b9eec..f55f120316 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 bfe1363f19..144350eed5 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 5d33efee60..9140955f76 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 80e2bcd95f..d73fcb0dd4 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 404d7eabba..17d7b34730 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 9b16b697a6..25646e1ee0 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 13c1c1fc58..97b1f5f43c 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 7e7d7ae63b..0f6cf2cda4 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 a60267b426..a4caeddbcc 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 c65f52ac98..37aa28f1e8 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 149b74a3e3..18d1900ed1 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 736cc8e5c2..824b729ac5 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 5374caaf96..190cb8f096 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 38cef5d4b5..7fa222f446 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 16d6ba45af..0e67a8596b 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 14ab245b27..1e77e60fac 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 0cb2f4ac63..9082265cc0 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 d691531d28..6cb236985e 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 cf1fe7948f..5af1a473f6 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 b88f8ffc8b..127f23aedb 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 47b40c83cb..3365398ad9 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 de3851a999..09d13da536 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 52938e05a5..2db09ffce2 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 ea6802f5ef..9d39a41b07 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 63d30539ad..83cee8985d 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 0df13c66f0..6d0efe33fc 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 fcdb620ea3..73d6616117 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 9d1c1d14f5..3a965dda81 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 f75562f286..095992ad4c 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 119a64f4ae..e83b42404b 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 eb11764aef..8f06dfc942 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 9980f98332..4a1836e84d 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 9f8e613beb..e657c4213a 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 47da4bf648..3905cc06da 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 226f88df61..5a786eb09d 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 a0376f3996..d343f61422 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 ec06efd636..2f6d983f9f 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 38beef583c..d59c7c957a 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 577c736f34..54a8098ff3 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 6086b8b4f9..4005829ac1 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 e5b737c553..2d09cc6dd8 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 c39cf17fe5..a81aae23b5 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 e60ba8dda9..ad8c54b9a6 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 50fdd81500..64b4043e09 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 4566a2031f..f5e3debae8 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 0783a2443a..a90046032f 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 7179c91bae..af6bd7ce01 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 ac86655b53..741360a740 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 707f4571c2..c236f3a454 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 728bdec61f..2d2a0da799 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 a55dbfbfd6..e6dd43f637 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 3ea08d7502..0ed3aaec33 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 f31325a4d0..0a5e042843 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 727662dce7..55c3fab956 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 5172c77c00..237a7208fd 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 661e6dad9f..f58e8b9395 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 5277101483..909117c6ea 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 2dd5273e0d..31268fb5da 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 3537d9bedf..6a0de9ac65 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 7306ecc491..ce160faf85 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 3b11cbf5cc..435b17379a 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 3da945dd94..1f20632580 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 8c57a0d05a..a7cdcce7e9 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 24dd2eb01e..205c80eb04 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 f807379a10..41f5da2cd5 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 8b9e4b8d3b..d7a034f86f 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 26ee234633..27a061ce2d 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 2af389a8f7..89db3cd7b5 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 8ddb3b9ce4..39552dc1d9 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 16838e8e83..16b68230a9 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 98b213775f..77bd1e56c2 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 8f5303723d..c243c8515c 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 79eeb5be00..173dbf55b1 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 e5fa8d098f..77bd88a7fd 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 5926b76f0f..75d2dc97e2 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 87c0982a72..6838d6eb4a 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 417fa73642..094ca3da39 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 6bfbb0245e..8f55c9f192 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 b6af7c706f..b8e3deb55c 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 efb2c781dd..1bf9a2b0c0 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 889e6ab01d..a5268f75a9 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 e979386cea..55d0a2a770 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 d627ba8b11..c5e7ecc916 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 49490c3641..410a90d51c 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 acdc03cebb..eced172ca2 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 e64bd64cb9..5c07145314 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 8c337cb09f..25e417c279 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 8e894ed573..5363133b6d 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 1e95b3479d..ca64a9f3a6 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 5eecae2ef3..b60fcd30ef 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 960b386371..770c4185f8 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 ddab9bb192..85e6f78617 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 0a79bb3496..30e4d2076d 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 e216d070ad..f9aaa6c160 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 74a4da2bd2..c034f275f3 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 6b5b10707a..803991b718 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 590db47ef9..382a5dfd66 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 d88656f297..2e32d9ca99 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 cf939d7edd..88927eac55 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 39e6654de2..f96cc5440e 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 67346621e8..98425a0263 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 38a27f0df4..fb5a367f75 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 49a981702e..c61da6ab3b 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 7deb36d0f1..727226f217 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 1aae875bce..b52b4c3fe3 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 1973779abb..ba00d14e8c 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 8ec5c25f1d..38fd1745f1 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 acaec7409a..06eb83ffa3 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 e1a6cb1815..00c038ab23 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 4e31189cba..dd39dba9c7 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 37f19dbe1b..cbe6bb3629 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 0688cb51df..5025160365 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 b0fc768aaa..70aaac1fca 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 040af2fa07..7f27944716 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 e77ab6152b..2643ba67c6 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 ff17a942ca..f5434c69aa 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 4a0d7a8824..1a3e95390a 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 1f79253ff3..5568d5c595 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 a29538ac70..0623a1d9ea 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 c548618c20..55f630d7b1 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 cf12f49749..1f9c08a11d 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 f34b42fe70..800505fbaa 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 28d4dcf829..49263f8de2 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 0ff3f0acad..604c84613f 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 241c07bfb5..b1d6226037 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 34cfa4ed11..efe1f46d2a 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 1d6c9fac87..3884a8058a 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 62b73c5d97..199c316528 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 ab7e074e13..eeb56fb062 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 d6167f7a55..1488a1cb07 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 519daae9c4..f5c631e352 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 0e9b84572d..ebbe56b994 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 d59c2cc274..f9fbb4c600 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 00ca7e089d..2ba1c222b2 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 357d74a362..87792c1b29 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 c9bbfebfdb..2cbe8be202 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 dc4fc93dfb..bac42e054b 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 709e0f7a00..e0b5edb99a 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 4cecb1bbca..154de4f64f 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 2649514423..fb09a1ec7d 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 fb6399e0b6..72478fab88 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 ca3efdffb4..0a265254ec 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 772d76c027..5757d3fa29 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 a7f585e59d..229a619d79 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 0dba4fd412..96cf17e3be 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 e763c44982..10a52b7e9a 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 d76e9f4a8e..572d91f808 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 7861f37281..591c00cd70 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 c02736cffb..2b0c5d02a5 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 954cd3d13c..2e796ee63c 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 89363b1f78..b75b719f64 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 b281015dd8..f266d21fec 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 011e74660d..04c2aeadb8 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 e65b04b4d7..f907470df9 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 47b68d533e..ed0b4055ea 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 abd8533fda..9854a4c6af 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 10c111e79a..c0ae240a0b 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 162d2cd424..92632f9db4 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 843688395f..c607f28a6a 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 9a8dcf7b72..fbac9b89b7 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 d906d2a454..198ae982ba 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 af7cfa1aaa..66fbd26348 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 a6e26a99d2..64ce4b735e 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 f62231d73e..580fd2f666 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 0874e13d89..82fae83ce1 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 0340ff9d3d..a2f0cd77ff 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 e8e08e5039..eefe30b417 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 84434e74b7..9d05bc0965 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 c2e378bdbf..55d9cef17a 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 dc80f62fdb..915511ab77 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 7fc49fe5bd..c50d44e7e6 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 728194fc17..97e04a6fef 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 8697b45596..88ba918933 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 d96ad15937..17bf0c56ef 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 f6e88899d8..885fb8e512 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 ca55ed3411..355279713a 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 c3e3641506..2b39c9ffb0 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 de370adda3..c294d59b44 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 173555db5f..19508656be 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 68b72425c2..9773673a09 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 9bf290845e..8a8a804b28 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 5e1aa924b2..767788198c 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 a32cca402d..f0023399e4 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 b7361cb6e0..fa03442128 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 b8ab297bd6..c41f073284 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 904065f92b..506cdeacfa 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 f555d41f9e..4c215f3fe1 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 f38ad099c6..9c3387a061 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 58af9c407d..07b2740f2c 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 7e1b8788dc..2ba0513973 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 4b04da8ba7..883acdca0b 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 4703a2bcb5..f9e78ef422 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 64509afe94..f56f28ae80 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 8a69e04aa9..3c78f2abb9 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 8a849824c8..3b93daa528 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 044bdc508c..bafde988e6 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 a6e8c72b69..940133668d 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 bbebba641c..ee75d24cae 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 73dc3f7f0f..a342a31370 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 04b250bfd0..d3ad89c6c0 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 113314c8d8..c11ee5a8b9 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 33291dfb5f..69e4178fa4 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 a2c4cac8fe..b99075acc7 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 e5991d1361..db1d38596a 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 0520cb8dfe..49e786e8a1 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 86db9f96dc..1970bf630b 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 90f0397560..8956c06686 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 10c6dd62a0..a74e313562 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 220836e7e0..db8c4adddb 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 d32b5cc049..092b317473 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 98c798b397..ce7d60c2d2 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 c46e35108f..61c7842752 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 7f44acf4ed..49ce96bb1d 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 4fae34f6d7..1944d6ecd9 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 89c58950c0..48180f9402 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 0f42aec7c0..b1ff840c5c 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 0620cd697d..23bbfb2d98 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 500c99dc7b..8275a200c5 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 1f8d38966b..acb26a503b 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 cce7e9bbef..855112f569 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 217c672414..a095b0856c 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 15f999784b..1355a7dc9a 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 509102ed2a..fadea5d095 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 000557f103..820747c61a 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 2896710878..fe835d227f 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 386d8753f1..a53f2efdc1 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 55d114dc51..07924374e7 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 0aa4621cb7..20444e0915 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 75d3d2c5b4..fedc8593b8 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 d6c7d3a242..6d538ab2e3 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 4a63d536a6..3192c4bbd6 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 cd836c0cc2..709833abe7 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 d776169e89..eca0f95d3c 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 3f9400dfb4..185a26bc78 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 e1b98bf073..ab0f512a76 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 0a0878b903..7de3d6b996 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 0eeb620003..1921cd9b74 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 845220a548..2721689e5d 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 dbdfbde0c5..bba2c025f7 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 7c06c88510..472b79673e 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 96d21cb910..ae655fac0f 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 1f15763fac..97aed33307 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 70b6b40e7e..e63f15848f 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 5be4ecfe5e..f21aae94b0 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 299c25321b..01921152b7 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 ba6832ce37..a8c4252e29 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 57219dc6b4..5b5a9fe90f 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 689980bb53..19c7d514de 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 fe5380f5ef..633cfd6793 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 6020a85478..bb2f75f969 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 e0d0d02192..300a68f96f 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 5b30d44f5d..2e0cd4cc05 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 5df85ac5c3..2534f3e430 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 75c95b7961..7bc813c85f 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 fc1b485ee2..ba9b25c59e 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 ce707fb90c..a69e4f4ca7 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 b566b71775..8bb699e6e9 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 3036d03673..5e67cfb633 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 98a1a6eff8..ee1896248f 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 56d173d111..b422af899d 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 bdde437477..39419bf3c0 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 7c8c5adaa4..4a76ec6108 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 64b2b0036b..c19050aea2 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 19ade84d5e..5e6cd458fb 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 a090cd22d5..81612d4e14 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 be590d973a..1eec1ad8b7 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 e9073c0656..76065b03b9 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 29d9960e49..5945879b2e 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 be5a60415d..f8825e71c1 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 36f184679f..b75915393c 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 878aa8b53d..22115e226b 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 5c0fc3750c..e006db7794 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 1e50283bd6..d9482a4d35 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 c9a14ece1a..0b5346afcb 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 9b689b11a7..61fd51b22d 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 d58f142189..cdbc1f33cf 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 4c9885bcb6..2ef8da5ddc 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 1141ea541c..0e9701690b 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 fa15236e6c..c0711eae2b 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 851d4b7905..95ece9a6ad 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 c24fddbd4d..510702e0d6 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 c9933d64b0..40c50942be 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 63e1a27567..a7e2ccce15 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 6e79eb4946..97cc988991 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 8e12209a9e..e8c8cd458f 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 57ca7b56d9..b7db2939d1 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 f93dab5973..6ea682c52a 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 332c461799..0428206d23 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 95d752959f..2146bb3e01 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 8069cd2bdd..b42e6dc9d5 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 348e253254..d9255fe890 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 bf421453a1..5e20d2c75d 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 e26cbc065a..c9e3f88b41 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 7c99fd3855..04eb50cfa6 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 aa58ff8c47..b66bfc817d 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 9dfb17958d..1731146ab6 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 9ba04e7141..5f4341ab43 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 09cca87e2a..b744a81881 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 71359bd05b..712d697e78 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 03f6948ed7..b73f1c3431 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 cd510e527c..49c0eeeb7c 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 9ff86d23bf..de7d17bcc8 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 baeeebab4b..08a5a3e41a 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 97a2c8672e..c9a9f48111 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 1cc064f97f..2a2727a80f 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 f970546ec2..f28dce4940 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 fee0ee2184..6c9f6beeec 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 131e48e657..2f5e6ca5ac 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 2591ccf535..e30ffaca26 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 e306a8a3cc..595aebc19d 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 9a59553e82..8fa7b84436 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 1faedbabf1..ac30d5707a 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 fe5d2ce0b7..f0d1530ef1 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 11ae533428..5c86be88ab 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 0630d56e83..372a6fc21a 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 496876583d..49f4db2f5c 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 56bf0b10a2..af418516d6 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 5502b2a8d2..b4aa77703e 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 e24fa1bc28..780d24610c 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 aca51253c3..7b6e1a2159 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 bfb8d366a1..ecbea75c41 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 1cd42a5aa9..406d68e706 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 f0b111a898..e8b5bc3cec 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 1e4d868dca..787176ba34 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 252d74b3c7..46a2c93ce1 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 d42859555b..1150cc287f 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 6a678245b2..ea295ed996 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 1657d47a19..583ea318c6 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 a8b7854612..259422c58a 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 719c180a09..34b791a1a5 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 e32af00afe..38ce31511e 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 a74a022bcb..61080b9023 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 3a8cda2533..79c059cec5 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 0bf8860bda..c3fc469ea4 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 60edf6ef55..592aaf6d87 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 1963d26188..5f7f7ba004 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 792238330a..66c84c9459 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 14dee1b976..90c4f8da6f 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 bb59413a66..682094ccd6 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 83ff4330cb..6b30776ed3 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 28b19bfb3a..f648043e65 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 7e7dcdc017..4d8df4e8f2 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 b72df33a8e..595cad6332 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 bc1e5aa25e..39328c6b00 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 8deff88c7a..4b152259c2 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 cf58cdcc28..815ff9c1a8 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 dc9bc8284f..e2dd4b8583 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 232c94cf2d..e502b234c2 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 3d7f361b56..49b41c1296 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 fb3b0c2c67..90158f3506 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 5cd6c27c80..534a7d30b9 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 bbf6a1ef35..21cb8cec2c 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 12574dfb86..269bbffa43 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 2765d8439b..511db37ca9 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 311084c92e..31862f103f 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 16dd7e6181..0bd1c6d96c 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 882dfdf03f..323c40871a 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 18e585b7a8..6e5cac23aa 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 3aeae35d4e..4afd98d18c 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 b27b03d318..be3025e316 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 2dd8e2d77e..346382695a 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 846fcc119c..7662df4f61 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 c0bbe6256b..dc45018e8b 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 9b2460fe53..2e2d9d4980 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 23ead2a158..8839d52147 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 06a22af378..10b7d18782 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 c4e1160c4c..02875a6ec2 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 39eae2bdd2..ef95a8b26b 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 4fe02d5275..77cfdbf1aa 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 5faaef99f4..11ab541520 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 5c0d1e6794..a263d89b1c 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 48cb86d886..23fcdbdd7a 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 fef35dbda4..74beb4cf2f 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 fd97816cc0..cf44d37343 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 7ae2a2f75c..9844cbaff1 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 d5a9a2f3d9..d98d633c11 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 28918c981b..5933168260 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 64b7764c51..719a1d8533 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 af84deb363..559c7b6515 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 9bc1008297..2e63cbf56b 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 92500837e4..ecb092d4df 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 1a0ee6d46d..fdf1c83410 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 c4044e2fef..749da213d3 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 a30fbcbe78..68e29a7426 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 f3ab482196..4d98622646 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 a6bebf63de..c90f0f58bd 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 4eca72f2f8..1c62a8e75f 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 f8f4918ab8..a8318f99e6 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 7ae42edcea..ce794e8e4c 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 aa3f8c0b25..a57e35cf0a 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 7f12b95f30..ce4320ea83 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 aebdc5ed9a..68f3a9af82 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 19469ef619..c6f69d6598 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 0947d16f69..6b63f6f908 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 c8920a44b8..88bf2665fa 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 e21efd3628..37d9e0b854 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 d0d80a8b3a..a4695769c2 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 1e5e82b449..8773532cb2 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 672dab5cf6..cb1913e970 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 8ea6617af7..4ab56a4123 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 ac395dcb4c..ff4b4cd05d 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 3bba3987e7..e3c18d6b4a 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 35f98938ad..a11472da67 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 351cf7c8d6..7a49a2290c 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 2033e6f13b..c36ca080a9 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 44e86be8c6..6ac6a13f9c 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 61a2d4f8e7..0e40d49f2f 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 c6a7518a63..ee79311493 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 2a017ea7b4..0ed95aab43 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 4d420e0af4..d61f96fec4 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 06e8275f48..d8a6b6dd50 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 adcf3f0b0e..9232c3bf5c 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 60f8052e85..b6bafb5aed 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 28cd93b88e..cfb0351e20 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 ef573df0de..0c020f3c63 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 20f1ca0243..0feffdcbf0 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 be6f6ae2d9..42f2db72f5 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 adb1f6a57f..b450fd0c7f 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 a7bf1ed4f9..754f384c5a 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 1497cebbdc..06016ad8a4 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 c3a3b350f0..cf5d405602 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 63f2d1730d..cc60782166 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 ae4b11c6a7..980cdeda18 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 bc2d9156ec..c1adf6016c 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 efefd19e6d..eccc47c892 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 7b513bca5c..a0d300bef8 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 652a7fa0a6..d91a1f39c4 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 e12b713096..41cd275936 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 719ad472bb..bd9a3a52e5 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 4f1a026fb0..aaa26a1e54 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 4c6826adb8..7aaf145b3d 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 abed606e87..3111313581 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 2b257dfe0e..2e12fb5767 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 c953c86e77..b56abae116 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 e5286f3e62..8fec2cff13 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 28911acd4a..5ac9ddab5d 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 80dec1a2c9..a3a45b00eb 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 7506b4ef9d..a431c694fb 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 05d534c79e..4e0ca30985 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 a950bad059..d9ba28aa2f 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 5a532b5afb..e6b39729d9 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 b2fb3e0d9d..ef10bbe20d 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 440babafa7..7462b8517f 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 886d71ba09..a6d92082ab 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 79b29f95f9..3f4018e075 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 dc72a6564c..e4997926ea 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 c5d950f57e..2d8aff3bda 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 8f95507420..37c7a11ae4 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 c749be7abe..91515d4c22 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 7890921169..c42b6a805f 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 52f593e40f..106ef0fdeb 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 d99f975e54..a26128f161 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 822201e665..31229add01 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 f3efb6e1bd..bc459bf173 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 d01bb4a8e5..ea80a7febd 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 03def1fe7b..9d1d82a909 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 648cf341fa..a790aea33b 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 e579065702..4512cdfe53 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 fe9c09a7fc..5d76e3201a 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 cae284bc4b..dadb05d0ed 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 2d47d552f8..26c6b3d38f 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 cdf3f3bc79..b52dba4bf3 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 3333c9ccd9..6c67d75235 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 9d0986a14a..24646e985c 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 0c744a7e25..80ffedd249 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 e859e72fed..90b0d9e546 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 f6e69d7cd0..0db88645a1 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 672b51d7b6..431a5f95fc 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 b3546f1f95..69b601a1e0 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 df8df4d97e..7da34492cf 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 8842e453d4..8952efe417 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 72169d8bc9..2ad4cfe1cb 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 785728e250..612fc38c78 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 8f2a74e3fc..b8d0989bc0 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 bc937cd017..1b45fbeaaa 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 31403c5c5d..4d9d1c9732 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 7116128a24..34bce86ce4 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 88b0d42871..953ebb066b 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 b52068fb49..65d819328d 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 72da01e234..fe2bbff236 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 a51c30620f..a528a3de8f 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 4223af5530..3d822258a3 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 a55d14827c..8e5a27109f 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 6cbd56b4b6..ef1e45dc41 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 e1451fdb9e..d5ea7e6be4 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 323439626e..04cffe1065 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 52ad9f8054..cbb8e4659b 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 812b7a2808..55d7b31896 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 f875589cfc..b2f2e089be 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 1b3a0082c3..edc9815d53 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 006762f9d9..5c369d817b 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 6ce3a95ef9..c608471360 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 6fa187d6ae..791ba79df1 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 0a99789a0b..4d936fd9f4 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 ab3b384350..f0b539321e 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 79d85fed08..9be2d0836c 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 7d2f240126..7fb4003190 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 755af9a80a..1e8f3bfbe4 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 2e54ccc98f..0e7c6a614e 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 82b5984b33..abc011bbe2 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 4930d2a8ca..8235920ab1 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 b7a7756759..f128a8c334 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 909797fac0..a3dc61ae79 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 f38926066e..12d7f965ff 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 bedb610272..f7bdd288ca 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 cfb754efac..2f4f6d6a49 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 e5de327680..ffa01c6666 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 f6df32860b..59a528846d 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 317b56ca9c..78d62c2360 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 274ad1e8ff..6c5c916f28 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 8e19e6dff3..6adb849369 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 2ae4bc587e..db4ca65ff9 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 8da6d9ab27..7f6cb66953 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 3af0813cb3..8b2f5c6b96 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 f31174cb85..d423d2e07b 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 74142bebf1..74ac57f823 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 24ac6b923e..ce7335f57f 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 f7974e0e2e..5e3cc758a9 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 10ff3f8b66..0426010869 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 baf809fa3a..72365e617c 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 06d53b1023..fd190c0326 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 f932edf14f..f041d39bc9 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 c63a60ec40..22280fdc04 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 38cd159165..964600f1c9 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 d5332175cc..67495c97c1 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 4daf7d7c6c..4a98cefe14 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 a5d2e388da..c758fe4c65 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 ae734d531c..fbfb553fbc 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 6a6c922528..042baf9827 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 0506be91e1..96f9abed99 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 e0e4fb9a76..693a322d08 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 ef6d9ea52f..5f49adc773 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 9e9acae1ac..7d3f27263c 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 bb210b620c..b6962454c0 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 9c0d69ca7e..45c1f51512 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 17e8bc6a84..00e9c7ac3b 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 030d887af2..b8354de2a3 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 322f88a25e..8256ed41c7 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 d753c0c8c7..26f617c2db 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 7bc55bcb3b..621bd4cba8 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 726249672d..ad20870385 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 66405efcc1..01f84f0eab 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 a163d0b90d..531841e052 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 0de98867d9..b17ac7fa36 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 383fbab462..4e7fbe400d 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 9af122f5f0..e5cbf31d71 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 cab3706a83..c0fcd1cb7d 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 5268fbe7f2..f343d494fb 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 d859c98146..53ac47849e 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 b809fd98e6..742966cb62 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 6cfed5d698..6e0dab66af 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 5ca2d3caf2..17a3573719 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 b94a2262f6..cc06c5aa43 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 b0ad9cfa8a..626f949ca4 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 f337578b79..385d080af9 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 acf604ede0..3d8969cbaf 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 530dc7de43..144658ecec 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 e6c43f9434..40ca4f1681 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 570964c893..849a63a710 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 fc9b3c53bc..27c8869842 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 b6fac62c47..0164855650 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 8c7a78b1b0..26647d5109 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 f1673c6c9d..7bc4306983 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 e538080e09..8c8389b7f1 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 0002715abd..ee6d65b986 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 101db40721..b0f9d041b1 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 78a7ac66db..e7350245e8 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 3d8d938a80..8ca27b5f0e 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 451a7590ec..b5db3beced 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 043f7bed49..c108fa6b39 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 34c75abbee..ec82497990 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 c0f8e713f3..3cb86ea2a5 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 1e0b2cad86..6704254df1 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 d5cb74499f..ded37f063b 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 5b527a7d89..4bc3c5312f 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 9bb3a7e0b2..8cf97499f4 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 a5cd1c0896..2776086815 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 47c524da4e..5751926624 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 6bd7226d6e..7fb59191bb 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 256e37df9c..95d1f117b7 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 fc118c5ed7..5fca93b874 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 b2acd1cc66..9b86532de9 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 a5bfe26bf4..8b1721de3c 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 92b099d6a0..0de7efd2ce 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 5ee1b2c290..4b769c1147 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 ffb8144f2a..c706fe8ad5 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 a4fb58b61b..c68f3b20f3 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 2261b5b30a..d06e5f6315 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 054dd15946..6a6c46e0d6 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 c651e7e1ee..1370444975 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 37ee1942ec..682c7294d4 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 c1cd192221..0f43c70a61 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 bd03817885..1d6a5f020f 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 4557562ae1..8ac751a9fe 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 8d616855be..012afbbaf6 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 6efe5b5a67..2e3991597c 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 3b19cf722b..f094f43de7 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 6b0a173c96..12554e76c7 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 0a21c327a8..ffceaa8bb4 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 708a2a5aba..078c8e5ac3 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 9171dd33c1..4f7d3b0642 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 215a615c58..f51448a24b 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 7242804211..4fbe35922c 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 75ea4ae8b2..235b8844da 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 eed8a6b3e7..d065bc0d79 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 2ef472641b..fa0787cbc4 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 74a0c0299b..638acbbd4f 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 b8471478dd..e38107f8c1 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 0d4c4b4f29..aa13eef711 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 d9942f96a4..a75cfce2ce 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 06b7e99658..d3f37559d9 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 536cf679fe..9d5bbe7f54 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 54e941ff79..7a6e79757b 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 415534b4c4..62704bbf4e 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 0937774592..8453cf836f 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 59e4bcfee1..a27cbdd8e7 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 63762212bd..c52b29952e 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 ddec47137c..4a3bf8c03e 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 f149b2cbf6..cc506fe7cd 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 d10aea319e..b0405a1855 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 e2948b3527..632a8dd217 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 a7562b7213..484e0ef23b 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 9a0bf6438a..4b75d35697 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 d9e592eb3e..915486d9d8 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 08999b1be7..d10d57502b 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 694c999416..680962b92a 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 303c2fb128..6e60ef654d 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 19df5e14b5..d9cc7ce847 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 2a0c838340..51c02714e5 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 734f2ccfda..b7820753e4 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 bb1649c9df..65255fafc0 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 509d947ff0..5d3d9d6833 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 fc8cb28557..1318101ae5 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 2894e1a0b2..fd4a30460d 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 7e8599a938..e3c1f3712b 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 7cd38ed949..cc28c1a330 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 365d2cfbdc..323e373b45 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 08876c923f..54ff526766 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 3b0c99471b..ac689cd721 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 8ea48dce43..9f47ba353e 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 f36ed67eb2..b4788cabac 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 441bf25233..1de0822097 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 a24f2c8bbf..4303ec5d59 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 74314417e7..12cd02606b 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 66490d4087..c1c9abbfd7 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 2a31b1f23c..d6043ad942 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 e78889de36..d3508b6db3 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 4dff3aa621..da9d3d3af5 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 f4054b824a..8bd781f49f 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 2e40e63f06..2a661e85b5 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 10a6ab3427..22bc06cab2 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 932144b6e0..95c3c36b60 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 620fa27232..a4b4264143 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 5adbdbd654..e52f3a64b5 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 58ca6746a9..e6c3624442 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 a87d54ddf5..349c9984c1 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 67bd90df88..e995e1cd0b 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 329aea63c7..f5e6058c4d 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 fc27777ccf..96a760f022 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 4fd87e1f98..f4a15467fe 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 4e72c133e3..aac001c4e2 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 30e55dd0f6..b3349c6066 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 afdeccd98d..dcc97604c2 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 28ab8cf174..e782c4cc6b 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 7ec37699e3..c2832c3c39 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 30f222ae9a..d09cd7d0b7 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 9e23ff8d9f..9c5c7a7e71 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 a0dd24a689..61bbb76237 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 bf61518608..d6246261af 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 d9d769c785..2458efd29f 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 0e20b6758e..c1a06e7c75 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 925f14a1a4..797a9f3e4c 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 d41c2ff3fc..fd5cf0ff60 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 02132346aa..23118decbd 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 56656b59b5..5a96f3bfd4 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 da3b42b0b9..0299fb0b37 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.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.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": + 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== +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: - restore-cursor "^3.1.0" + restore-cursor "^4.0.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== - dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.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" + 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@^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== +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"