diff --git a/apps/space/.eslintrc.js b/apps/space/.eslintrc.js index 1662fabf7..a0bc76d5d 100644 --- a/apps/space/.eslintrc.js +++ b/apps/space/.eslintrc.js @@ -1,4 +1,18 @@ module.exports = { root: true, extends: ["@plane/eslint-config/next.js"], + rules: { + "no-duplicate-imports": "off", + "import/no-duplicates": ["error", { "prefer-inline": false }], + "import/consistent-type-specifier-style": ["error", "prefer-top-level"], + "@typescript-eslint/no-import-type-side-effects": "error", + "@typescript-eslint/consistent-type-imports": [ + "error", + { + prefer: "type-imports", + fixStyle: "separate-type-imports", + disallowTypeAnnotations: false, + }, + ], + }, }; diff --git a/apps/space/app/[workspaceSlug]/[projectId]/page.ts b/apps/space/app/[workspaceSlug]/[projectId]/page.ts index 0badbe64f..94c4152e4 100644 --- a/apps/space/app/[workspaceSlug]/[projectId]/page.ts +++ b/apps/space/app/[workspaceSlug]/[projectId]/page.ts @@ -1,7 +1,7 @@ import { notFound, redirect } from "next/navigation"; // plane imports import { SitesProjectPublishService } from "@plane/services"; -import { TProjectPublishSettings } from "@plane/types"; +import type { TProjectPublishSettings } from "@plane/types"; const publishService = new SitesProjectPublishService(); diff --git a/apps/space/app/layout.tsx b/apps/space/app/layout.tsx index d0c7435da..05d54bd07 100644 --- a/apps/space/app/layout.tsx +++ b/apps/space/app/layout.tsx @@ -1,4 +1,4 @@ -import { Metadata } from "next"; +import type { Metadata } from "next"; // helpers import { SPACE_BASE_PATH } from "@plane/constants"; // styles diff --git a/apps/space/app/provider.tsx b/apps/space/app/provider.tsx index af4940e24..4a0a483ad 100644 --- a/apps/space/app/provider.tsx +++ b/apps/space/app/provider.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC, ReactNode } from "react"; +import type { ReactNode, FC } from "react"; import { ThemeProvider } from "next-themes"; // components import { TranslationProvider } from "@plane/i18n"; diff --git a/apps/space/ce/components/editor/embeds/mentions/root.tsx b/apps/space/ce/components/editor/embeds/mentions/root.tsx index 16e21f848..23f15fe27 100644 --- a/apps/space/ce/components/editor/embeds/mentions/root.tsx +++ b/apps/space/ce/components/editor/embeds/mentions/root.tsx @@ -1,4 +1,4 @@ // plane editor -import { TMentionComponentProps } from "@plane/editor"; +import type { TMentionComponentProps } from "@plane/editor"; export const EditorAdditionalMentionsRoot: React.FC = () => null; diff --git a/apps/space/ce/hooks/use-editor-flagging.ts b/apps/space/ce/hooks/use-editor-flagging.ts index 7b4bc38c3..9e80c35aa 100644 --- a/apps/space/ce/hooks/use-editor-flagging.ts +++ b/apps/space/ce/hooks/use-editor-flagging.ts @@ -1,5 +1,5 @@ // editor -import { TExtensions } from "@plane/editor"; +import type { TExtensions } from "@plane/editor"; export type TEditorFlaggingHookReturnType = { document: { diff --git a/apps/space/core/components/account/auth-forms/auth-banner.tsx b/apps/space/core/components/account/auth-forms/auth-banner.tsx index 20b9ca819..30cd6e093 100644 --- a/apps/space/core/components/account/auth-forms/auth-banner.tsx +++ b/apps/space/core/components/account/auth-forms/auth-banner.tsx @@ -1,9 +1,9 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { Info, X } from "lucide-react"; // helpers -import { TAuthErrorInfo } from "@/helpers/authentication.helper"; +import type { TAuthErrorInfo } from "@/helpers/authentication.helper"; type TAuthBanner = { bannerData: TAuthErrorInfo | undefined; diff --git a/apps/space/core/components/account/auth-forms/auth-header.tsx b/apps/space/core/components/account/auth-forms/auth-header.tsx index f75dccecf..7996feedf 100644 --- a/apps/space/core/components/account/auth-forms/auth-header.tsx +++ b/apps/space/core/components/account/auth-forms/auth-header.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; // helpers import { EAuthModes } from "@/types/auth"; diff --git a/apps/space/core/components/account/auth-forms/auth-root.tsx b/apps/space/core/components/account/auth-forms/auth-root.tsx index e71a3a08d..86452a3c6 100644 --- a/apps/space/core/components/account/auth-forms/auth-root.tsx +++ b/apps/space/core/components/account/auth-forms/auth-root.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC, useEffect, useState } from "react"; +import type { FC } from "react"; +import React, { useEffect, useState } from "react"; import { observer } from "mobx-react"; import Image from "next/image"; import { useSearchParams } from "next/navigation"; @@ -8,16 +9,12 @@ import { useTheme } from "next-themes"; // plane imports import { API_BASE_URL } from "@plane/constants"; import { SitesAuthService } from "@plane/services"; -import { IEmailCheckData } from "@plane/types"; +import type { IEmailCheckData } from "@plane/types"; import { OAuthOptions } from "@plane/ui"; // components // helpers -import { - EAuthenticationErrorCodes, - EErrorAlertType, - TAuthErrorInfo, - authErrorHandler, -} from "@/helpers/authentication.helper"; +import type { TAuthErrorInfo } from "@/helpers/authentication.helper"; +import { EErrorAlertType, authErrorHandler, EAuthenticationErrorCodes } from "@/helpers/authentication.helper"; // hooks import { useInstance } from "@/hooks/store/use-instance"; // types diff --git a/apps/space/core/components/account/auth-forms/email.tsx b/apps/space/core/components/account/auth-forms/email.tsx index 867b1efe5..7abaef6f9 100644 --- a/apps/space/core/components/account/auth-forms/email.tsx +++ b/apps/space/core/components/account/auth-forms/email.tsx @@ -1,12 +1,13 @@ "use client"; -import { FC, FormEvent, useMemo, useRef, useState } from "react"; +import type { FC, FormEvent } from "react"; +import { useMemo, useRef, useState } from "react"; import { observer } from "mobx-react"; // icons import { CircleAlert, XCircle } from "lucide-react"; // types import { Button } from "@plane/propel/button"; -import { IEmailCheckData } from "@plane/types"; +import type { IEmailCheckData } from "@plane/types"; // ui import { Input, Spinner } from "@plane/ui"; // helpers diff --git a/apps/space/core/components/account/terms-and-conditions.tsx b/apps/space/core/components/account/terms-and-conditions.tsx index 8725eb7b2..09611d926 100644 --- a/apps/space/core/components/account/terms-and-conditions.tsx +++ b/apps/space/core/components/account/terms-and-conditions.tsx @@ -1,6 +1,7 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import Link from "next/link"; type Props = { diff --git a/apps/space/core/components/common/powered-by.tsx b/apps/space/core/components/common/powered-by.tsx index be4e5bf73..653c150f9 100644 --- a/apps/space/core/components/common/powered-by.tsx +++ b/apps/space/core/components/common/powered-by.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { WEBSITE_URL } from "@plane/constants"; // assets import { PlaneLogo } from "@plane/propel/icons"; diff --git a/apps/space/core/components/common/project-logo.tsx b/apps/space/core/components/common/project-logo.tsx index 2dfc04b38..bea8e213f 100644 --- a/apps/space/core/components/common/project-logo.tsx +++ b/apps/space/core/components/common/project-logo.tsx @@ -1,5 +1,5 @@ // types -import { TLogoProps } from "@plane/types"; +import type { TLogoProps } from "@plane/types"; // helpers import { cn } from "@plane/utils"; diff --git a/apps/space/core/components/editor/embeds/mentions/root.tsx b/apps/space/core/components/editor/embeds/mentions/root.tsx index 9ea5ef6fb..95149b926 100644 --- a/apps/space/core/components/editor/embeds/mentions/root.tsx +++ b/apps/space/core/components/editor/embeds/mentions/root.tsx @@ -1,5 +1,5 @@ // plane editor -import { TMentionComponentProps } from "@plane/editor"; +import type { TMentionComponentProps } from "@plane/editor"; // plane web components import { EditorAdditionalMentionsRoot } from "@/plane-web/components/editor"; // local components diff --git a/apps/space/core/components/editor/lite-text-editor.tsx b/apps/space/core/components/editor/lite-text-editor.tsx index a9ff57a82..5b33b5811 100644 --- a/apps/space/core/components/editor/lite-text-editor.tsx +++ b/apps/space/core/components/editor/lite-text-editor.tsx @@ -1,6 +1,7 @@ import React from "react"; // plane imports -import { type EditorRefApi, type ILiteTextEditorProps, LiteTextEditorWithRef, type TFileHandler } from "@plane/editor"; +import { LiteTextEditorWithRef } from "@plane/editor"; +import type { EditorRefApi, ILiteTextEditorProps, TFileHandler } from "@plane/editor"; import type { MakeOptional } from "@plane/types"; import { cn, isCommentEmpty } from "@plane/utils"; // helpers diff --git a/apps/space/core/components/editor/rich-text-editor.tsx b/apps/space/core/components/editor/rich-text-editor.tsx index c058d3e88..1d48d7da2 100644 --- a/apps/space/core/components/editor/rich-text-editor.tsx +++ b/apps/space/core/components/editor/rich-text-editor.tsx @@ -1,6 +1,7 @@ import React, { forwardRef } from "react"; // plane imports -import { type EditorRefApi, type IRichTextEditorProps, RichTextEditorWithRef, type TFileHandler } from "@plane/editor"; +import { RichTextEditorWithRef } from "@plane/editor"; +import type { EditorRefApi, IRichTextEditorProps, TFileHandler } from "@plane/editor"; import type { MakeOptional } from "@plane/types"; // helpers import { getEditorFileHandlers } from "@/helpers/editor.helper"; diff --git a/apps/space/core/components/editor/toolbar.tsx b/apps/space/core/components/editor/toolbar.tsx index b838aee0f..bb6347f42 100644 --- a/apps/space/core/components/editor/toolbar.tsx +++ b/apps/space/core/components/editor/toolbar.tsx @@ -2,7 +2,8 @@ import React, { useEffect, useState, useCallback } from "react"; // plane imports -import { TOOLBAR_ITEMS, type ToolbarMenuItem, type EditorRefApi } from "@plane/editor"; +import { TOOLBAR_ITEMS } from "@plane/editor"; +import type { ToolbarMenuItem, EditorRefApi } from "@plane/editor"; import { Button } from "@plane/propel/button"; import { Tooltip } from "@plane/propel/tooltip"; import { cn } from "@plane/utils"; diff --git a/apps/space/core/components/instance/instance-failure-view.tsx b/apps/space/core/components/instance/instance-failure-view.tsx index d5c18de7e..b1190285f 100644 --- a/apps/space/core/components/instance/instance-failure-view.tsx +++ b/apps/space/core/components/instance/instance-failure-view.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import Image from "next/image"; import { useTheme } from "next-themes"; import { Button } from "@plane/propel/button"; diff --git a/apps/space/core/components/issues/filters/applied-filters/filters-list.tsx b/apps/space/core/components/issues/filters/applied-filters/filters-list.tsx index d9d03de15..cb542face 100644 --- a/apps/space/core/components/issues/filters/applied-filters/filters-list.tsx +++ b/apps/space/core/components/issues/filters/applied-filters/filters-list.tsx @@ -4,7 +4,7 @@ import { observer } from "mobx-react"; import { X } from "lucide-react"; // types import { useTranslation } from "@plane/i18n"; -import { TFilters } from "@/types/issue"; +import type { TFilters } from "@/types/issue"; // components import { AppliedPriorityFilters } from "./priority"; import { AppliedStateFilters } from "./state"; diff --git a/apps/space/core/components/issues/filters/applied-filters/label.tsx b/apps/space/core/components/issues/filters/applied-filters/label.tsx index 86f65f867..5abbd54ba 100644 --- a/apps/space/core/components/issues/filters/applied-filters/label.tsx +++ b/apps/space/core/components/issues/filters/applied-filters/label.tsx @@ -2,7 +2,7 @@ import { X } from "lucide-react"; // types -import { IIssueLabel } from "@/types/issue"; +import type { IIssueLabel } from "@/types/issue"; type Props = { handleRemove: (val: string) => void; diff --git a/apps/space/core/components/issues/filters/applied-filters/priority.tsx b/apps/space/core/components/issues/filters/applied-filters/priority.tsx index 7fdf900bb..a687cb67c 100644 --- a/apps/space/core/components/issues/filters/applied-filters/priority.tsx +++ b/apps/space/core/components/issues/filters/applied-filters/priority.tsx @@ -1,7 +1,8 @@ "use client"; import { X } from "lucide-react"; -import { PriorityIcon, type TIssuePriorities } from "@plane/propel/icons"; +import { PriorityIcon } from "@plane/propel/icons"; +import type { TIssuePriorities } from "@plane/propel/icons"; type Props = { handleRemove: (val: string) => void; diff --git a/apps/space/core/components/issues/filters/applied-filters/root.tsx b/apps/space/core/components/issues/filters/applied-filters/root.tsx index f5d2ce5a6..f67749f99 100644 --- a/apps/space/core/components/issues/filters/applied-filters/root.tsx +++ b/apps/space/core/components/issues/filters/applied-filters/root.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useCallback } from "react"; +import type { FC } from "react"; +import { useCallback } from "react"; import { cloneDeep } from "lodash-es"; import { observer } from "mobx-react"; import { useRouter } from "next/navigation"; diff --git a/apps/space/core/components/issues/filters/helpers/dropdown.tsx b/apps/space/core/components/issues/filters/helpers/dropdown.tsx index 176ad6de7..e9f025b2b 100644 --- a/apps/space/core/components/issues/filters/helpers/dropdown.tsx +++ b/apps/space/core/components/issues/filters/helpers/dropdown.tsx @@ -1,7 +1,7 @@ "use client"; import React, { Fragment, useState } from "react"; -import { Placement } from "@popperjs/core"; +import type { Placement } from "@popperjs/core"; import { usePopper } from "react-popper"; import { Popover, Transition } from "@headlessui/react"; // ui diff --git a/apps/space/core/components/issues/filters/root.tsx b/apps/space/core/components/issues/filters/root.tsx index c9316598a..8899a3378 100644 --- a/apps/space/core/components/issues/filters/root.tsx +++ b/apps/space/core/components/issues/filters/root.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useCallback } from "react"; +import type { FC } from "react"; +import { useCallback } from "react"; import { cloneDeep } from "lodash-es"; import { observer } from "mobx-react"; import { useRouter } from "next/navigation"; @@ -14,7 +15,7 @@ import { queryParamGenerator } from "@/helpers/query-param-generator"; // hooks import { useIssueFilter } from "@/hooks/store/use-issue-filter"; // types -import { TIssueQueryFilters } from "@/types/issue"; +import type { TIssueQueryFilters } from "@/types/issue"; type IssueFiltersDropdownProps = { anchor: string; diff --git a/apps/space/core/components/issues/issue-layouts/kanban/base-kanban-root.tsx b/apps/space/core/components/issues/issue-layouts/kanban/base-kanban-root.tsx index a3ccabd0e..b65b93924 100644 --- a/apps/space/core/components/issues/issue-layouts/kanban/base-kanban-root.tsx +++ b/apps/space/core/components/issues/issue-layouts/kanban/base-kanban-root.tsx @@ -4,7 +4,7 @@ import { useCallback, useMemo, useRef } from "react"; import { debounce } from "lodash-es"; import { observer } from "mobx-react"; // types -import { IIssueDisplayProperties } from "@plane/types"; +import type { IIssueDisplayProperties } from "@plane/types"; // components import { IssueLayoutHOC } from "@/components/issues/issue-layouts/issue-layout-HOC"; // hooks diff --git a/apps/space/core/components/issues/issue-layouts/kanban/block.tsx b/apps/space/core/components/issues/issue-layouts/kanban/block.tsx index 7511d9aaf..e98502b3f 100644 --- a/apps/space/core/components/issues/issue-layouts/kanban/block.tsx +++ b/apps/space/core/components/issues/issue-layouts/kanban/block.tsx @@ -1,12 +1,12 @@ "use client"; -import { MutableRefObject } from "react"; +import type { MutableRefObject } from "react"; import { observer } from "mobx-react"; import Link from "next/link"; import { useParams, useSearchParams } from "next/navigation"; // plane types import { Tooltip } from "@plane/propel/tooltip"; -import { IIssueDisplayProperties } from "@plane/types"; +import type { IIssueDisplayProperties } from "@plane/types"; // plane ui // plane utils import { cn } from "@plane/utils"; @@ -18,7 +18,7 @@ import { queryParamGenerator } from "@/helpers/query-param-generator"; import { usePublish } from "@/hooks/store/publish"; import { useIssueDetails } from "@/hooks/store/use-issue-details"; // -import { IIssue } from "@/types/issue"; +import type { IIssue } from "@/types/issue"; import { IssueProperties } from "../properties/all-properties"; import { getIssueBlockId } from "../utils"; import { BlockReactions } from "./block-reactions"; diff --git a/apps/space/core/components/issues/issue-layouts/kanban/blocks-list.tsx b/apps/space/core/components/issues/issue-layouts/kanban/blocks-list.tsx index c0a58325b..c5cea19cc 100644 --- a/apps/space/core/components/issues/issue-layouts/kanban/blocks-list.tsx +++ b/apps/space/core/components/issues/issue-layouts/kanban/blocks-list.tsx @@ -1,7 +1,7 @@ -import { MutableRefObject } from "react"; +import type { MutableRefObject } from "react"; import { observer } from "mobx-react"; //types -import { IIssueDisplayProperties } from "@plane/types"; +import type { IIssueDisplayProperties } from "@plane/types"; // components import { KanbanIssueBlock } from "./block"; diff --git a/apps/space/core/components/issues/issue-layouts/kanban/default.tsx b/apps/space/core/components/issues/issue-layouts/kanban/default.tsx index e87250546..e5e622e8a 100644 --- a/apps/space/core/components/issues/issue-layouts/kanban/default.tsx +++ b/apps/space/core/components/issues/issue-layouts/kanban/default.tsx @@ -1,8 +1,8 @@ -import { MutableRefObject } from "react"; +import type { MutableRefObject } from "react"; import { isNil } from "lodash-es"; import { observer } from "mobx-react"; // types -import { +import type { GroupByColumnTypes, IGroupByColumn, TGroupedIssues, diff --git a/apps/space/core/components/issues/issue-layouts/kanban/headers/group-by-card.tsx b/apps/space/core/components/issues/issue-layouts/kanban/headers/group-by-card.tsx index a36d9f922..5f56b9c2d 100644 --- a/apps/space/core/components/issues/issue-layouts/kanban/headers/group-by-card.tsx +++ b/apps/space/core/components/issues/issue-layouts/kanban/headers/group-by-card.tsx @@ -1,10 +1,11 @@ "use client"; -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; import { Circle } from "lucide-react"; // types -import { TIssueGroupByOptions } from "@plane/types"; +import type { TIssueGroupByOptions } from "@plane/types"; interface IHeaderGroupByCard { groupBy: TIssueGroupByOptions | undefined; diff --git a/apps/space/core/components/issues/issue-layouts/kanban/headers/sub-group-by-card.tsx b/apps/space/core/components/issues/issue-layouts/kanban/headers/sub-group-by-card.tsx index 2e91624d1..fd7ba5f0d 100644 --- a/apps/space/core/components/issues/issue-layouts/kanban/headers/sub-group-by-card.tsx +++ b/apps/space/core/components/issues/issue-layouts/kanban/headers/sub-group-by-card.tsx @@ -1,4 +1,5 @@ -import React, { FC } from "react"; +import type { FC } from "react"; +import React from "react"; import { observer } from "mobx-react"; import { Circle, ChevronDown, ChevronUp } from "lucide-react"; // mobx diff --git a/apps/space/core/components/issues/issue-layouts/kanban/kanban-group.tsx b/apps/space/core/components/issues/issue-layouts/kanban/kanban-group.tsx index 26383006e..7fbcc5ae6 100644 --- a/apps/space/core/components/issues/issue-layouts/kanban/kanban-group.tsx +++ b/apps/space/core/components/issues/issue-layouts/kanban/kanban-group.tsx @@ -1,6 +1,7 @@ "use client"; -import { MutableRefObject, forwardRef, useCallback, useRef, useState } from "react"; +import type { MutableRefObject } from "react"; +import { forwardRef, useCallback, useRef, useState } from "react"; import { observer } from "mobx-react"; //types import type { diff --git a/apps/space/core/components/issues/issue-layouts/kanban/swimlanes.tsx b/apps/space/core/components/issues/issue-layouts/kanban/swimlanes.tsx index a25d19c14..2799ee283 100644 --- a/apps/space/core/components/issues/issue-layouts/kanban/swimlanes.tsx +++ b/apps/space/core/components/issues/issue-layouts/kanban/swimlanes.tsx @@ -1,7 +1,8 @@ -import { MutableRefObject, useState } from "react"; +import type { MutableRefObject } from "react"; +import { useState } from "react"; import { observer } from "mobx-react"; // types -import { +import type { GroupByColumnTypes, IGroupByColumn, TGroupedIssues, diff --git a/apps/space/core/components/issues/issue-layouts/list/base-list-root.tsx b/apps/space/core/components/issues/issue-layouts/list/base-list-root.tsx index b810452da..c3d498e31 100644 --- a/apps/space/core/components/issues/issue-layouts/list/base-list-root.tsx +++ b/apps/space/core/components/issues/issue-layouts/list/base-list-root.tsx @@ -1,7 +1,7 @@ import { useCallback, useMemo } from "react"; import { observer } from "mobx-react"; // types -import { IIssueDisplayProperties, TGroupedIssues } from "@plane/types"; +import type { IIssueDisplayProperties, TGroupedIssues } from "@plane/types"; // constants // components import { IssueLayoutHOC } from "@/components/issues/issue-layouts/issue-layout-HOC"; diff --git a/apps/space/core/components/issues/issue-layouts/list/block.tsx b/apps/space/core/components/issues/issue-layouts/list/block.tsx index a56c3d5b9..522d46a9e 100644 --- a/apps/space/core/components/issues/issue-layouts/list/block.tsx +++ b/apps/space/core/components/issues/issue-layouts/list/block.tsx @@ -6,7 +6,7 @@ import Link from "next/link"; import { useParams, useSearchParams } from "next/navigation"; // plane types import { Tooltip } from "@plane/propel/tooltip"; -import { IIssueDisplayProperties } from "@plane/types"; +import type { IIssueDisplayProperties } from "@plane/types"; // plane ui // plane utils import { cn } from "@plane/utils"; diff --git a/apps/space/core/components/issues/issue-layouts/list/blocks-list.tsx b/apps/space/core/components/issues/issue-layouts/list/blocks-list.tsx index bb25e5c16..bf1b202f5 100644 --- a/apps/space/core/components/issues/issue-layouts/list/blocks-list.tsx +++ b/apps/space/core/components/issues/issue-layouts/list/blocks-list.tsx @@ -1,6 +1,6 @@ -import { FC, MutableRefObject } from "react"; +import type { FC, MutableRefObject } from "react"; // types -import { IIssueDisplayProperties } from "@plane/types"; +import type { IIssueDisplayProperties } from "@plane/types"; import { IssueBlock } from "./block"; interface Props { diff --git a/apps/space/core/components/issues/issue-layouts/list/default.tsx b/apps/space/core/components/issues/issue-layouts/list/default.tsx index 4beee971a..a10333a61 100644 --- a/apps/space/core/components/issues/issue-layouts/list/default.tsx +++ b/apps/space/core/components/issues/issue-layouts/list/default.tsx @@ -1,7 +1,7 @@ import { useRef } from "react"; import { observer } from "mobx-react"; // types -import { +import type { GroupByColumnTypes, TGroupedIssues, IIssueDisplayProperties, diff --git a/apps/space/core/components/issues/issue-layouts/list/list-group.tsx b/apps/space/core/components/issues/issue-layouts/list/list-group.tsx index 0a8c5ebb0..f62cd0232 100644 --- a/apps/space/core/components/issues/issue-layouts/list/list-group.tsx +++ b/apps/space/core/components/issues/issue-layouts/list/list-group.tsx @@ -1,10 +1,17 @@ "use client"; -import { Fragment, MutableRefObject, forwardRef, useRef, useState } from "react"; +import type { MutableRefObject } from "react"; +import { Fragment, forwardRef, useRef, useState } from "react"; import { observer } from "mobx-react"; import { useTranslation } from "@plane/i18n"; // plane types -import { IGroupByColumn, TIssueGroupByOptions, IIssueDisplayProperties, TPaginationData, TLoader } from "@plane/types"; +import type { + IGroupByColumn, + TIssueGroupByOptions, + IIssueDisplayProperties, + TPaginationData, + TLoader, +} from "@plane/types"; // plane utils import { cn } from "@plane/utils"; // hooks diff --git a/apps/space/core/components/issues/issue-layouts/properties/all-properties.tsx b/apps/space/core/components/issues/issue-layouts/properties/all-properties.tsx index 03c15f489..1162331d0 100644 --- a/apps/space/core/components/issues/issue-layouts/properties/all-properties.tsx +++ b/apps/space/core/components/issues/issue-layouts/properties/all-properties.tsx @@ -12,7 +12,7 @@ import { WithDisplayPropertiesHOC } from "@/components/issues/issue-layouts/with // helpers import { getDate } from "@/helpers/date-time.helper"; //// hooks -import { IIssue } from "@/types/issue"; +import type { IIssue } from "@/types/issue"; import { IssueBlockCycle } from "./cycle"; import { IssueBlockDate } from "./due-date"; import { IssueBlockLabels } from "./labels"; diff --git a/apps/space/core/components/issues/issue-layouts/properties/member.tsx b/apps/space/core/components/issues/issue-layouts/properties/member.tsx index 9ae3314f1..a5baae8a3 100644 --- a/apps/space/core/components/issues/issue-layouts/properties/member.tsx +++ b/apps/space/core/components/issues/issue-layouts/properties/member.tsx @@ -2,7 +2,8 @@ import { observer } from "mobx-react"; // icons -import { LucideIcon, Users } from "lucide-react"; +import type { LucideIcon } from "lucide-react"; +import { Users } from "lucide-react"; // plane ui import { Avatar, AvatarGroup } from "@plane/ui"; // plane utils @@ -10,7 +11,7 @@ import { cn } from "@plane/utils"; // hooks import { useMember } from "@/hooks/store/use-member"; // -import { TPublicMember } from "@/types/member"; +import type { TPublicMember } from "@/types/member"; type Props = { memberIds: string[]; diff --git a/apps/space/core/components/issues/issue-layouts/properties/priority.tsx b/apps/space/core/components/issues/issue-layouts/properties/priority.tsx index 8514c0595..720d9b468 100644 --- a/apps/space/core/components/issues/issue-layouts/properties/priority.tsx +++ b/apps/space/core/components/issues/issue-layouts/properties/priority.tsx @@ -5,7 +5,7 @@ import { useTranslation } from "@plane/i18n"; // types import { PriorityIcon } from "@plane/propel/icons"; import { Tooltip } from "@plane/propel/tooltip"; -import { TIssuePriorities } from "@plane/types"; +import type { TIssuePriorities } from "@plane/types"; // constants import { cn, getIssuePriorityFilters } from "@plane/utils"; diff --git a/apps/space/core/components/issues/issue-layouts/root.tsx b/apps/space/core/components/issues/issue-layouts/root.tsx index 9dad67aa3..3f9ee8d6a 100644 --- a/apps/space/core/components/issues/issue-layouts/root.tsx +++ b/apps/space/core/components/issues/issue-layouts/root.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, useEffect } from "react"; +import type { FC } from "react"; +import { useEffect } from "react"; import { observer } from "mobx-react"; import useSWR from "swr"; // components diff --git a/apps/space/core/components/issues/issue-layouts/utils.tsx b/apps/space/core/components/issues/issue-layouts/utils.tsx index 44f977554..ec99b5103 100644 --- a/apps/space/core/components/issues/issue-layouts/utils.tsx +++ b/apps/space/core/components/issues/issue-layouts/utils.tsx @@ -5,7 +5,7 @@ import { ContrastIcon } from "lucide-react"; // types import { EIconSize, ISSUE_PRIORITIES } from "@plane/constants"; import { CycleGroupIcon, ModuleIcon, PriorityIcon, StateGroupIcon } from "@plane/propel/icons"; -import { +import type { GroupByColumnTypes, IGroupByColumn, TCycleGroups, @@ -17,11 +17,11 @@ import { Avatar } from "@plane/ui"; // components // constants // stores -import { ICycleStore } from "@/store/cycle.store"; -import { IIssueLabelStore } from "@/store/label.store"; -import { IIssueMemberStore } from "@/store/members.store"; -import { IIssueModuleStore } from "@/store/module.store"; -import { IStateStore } from "@/store/state.store"; +import type { ICycleStore } from "@/store/cycle.store"; +import type { IIssueLabelStore } from "@/store/label.store"; +import type { IIssueMemberStore } from "@/store/members.store"; +import type { IIssueModuleStore } from "@/store/module.store"; +import type { IStateStore } from "@/store/state.store"; export const HIGHLIGHT_CLASS = "highlight"; export const HIGHLIGHT_WITH_LINE = "highlight-with-line"; diff --git a/apps/space/core/components/issues/issue-layouts/with-display-properties-HOC.tsx b/apps/space/core/components/issues/issue-layouts/with-display-properties-HOC.tsx index 3bc0a610c..159b92a4d 100644 --- a/apps/space/core/components/issues/issue-layouts/with-display-properties-HOC.tsx +++ b/apps/space/core/components/issues/issue-layouts/with-display-properties-HOC.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import { observer } from "mobx-react"; // plane imports import type { IIssueDisplayProperties } from "@plane/types"; diff --git a/apps/space/core/components/issues/navbar/controls.tsx b/apps/space/core/components/issues/navbar/controls.tsx index 65eb73d37..0616d8b5d 100644 --- a/apps/space/core/components/issues/navbar/controls.tsx +++ b/apps/space/core/components/issues/navbar/controls.tsx @@ -1,6 +1,7 @@ "use client"; -import { useEffect, FC } from "react"; +import type { FC } from "react"; +import { useEffect } from "react"; import { observer } from "mobx-react"; import { useRouter, useSearchParams } from "next/navigation"; // components diff --git a/apps/space/core/components/issues/navbar/layout-icon.tsx b/apps/space/core/components/issues/navbar/layout-icon.tsx index cf3b76093..e9aed2b26 100644 --- a/apps/space/core/components/issues/navbar/layout-icon.tsx +++ b/apps/space/core/components/issues/navbar/layout-icon.tsx @@ -1,5 +1,6 @@ -import { List, Kanban, LucideProps } from "lucide-react"; -import { TIssueLayout } from "@plane/constants"; +import type { LucideProps } from "lucide-react"; +import { List, Kanban } from "lucide-react"; +import type { TIssueLayout } from "@plane/constants"; export const IssueLayoutIcon = ({ layout, ...props }: { layout: TIssueLayout } & LucideProps) => { switch (layout) { diff --git a/apps/space/core/components/issues/navbar/layout-selection.tsx b/apps/space/core/components/issues/navbar/layout-selection.tsx index 143d81d82..8c3c2d042 100644 --- a/apps/space/core/components/issues/navbar/layout-selection.tsx +++ b/apps/space/core/components/issues/navbar/layout-selection.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { useRouter, useSearchParams } from "next/navigation"; // ui @@ -13,7 +13,7 @@ import { queryParamGenerator } from "@/helpers/query-param-generator"; // hooks import { useIssueFilter } from "@/hooks/store/use-issue-filter"; // mobx -import { TIssueLayout } from "@/types/issue"; +import type { TIssueLayout } from "@/types/issue"; import { IssueLayoutIcon } from "./layout-icon"; type Props = { diff --git a/apps/space/core/components/issues/navbar/root.tsx b/apps/space/core/components/issues/navbar/root.tsx index 365c712c8..20f407e9d 100644 --- a/apps/space/core/components/issues/navbar/root.tsx +++ b/apps/space/core/components/issues/navbar/root.tsx @@ -1,6 +1,6 @@ "use client"; -import { FC } from "react"; +import type { FC } from "react"; import { observer } from "mobx-react"; import { ProjectIcon } from "@plane/propel/icons"; // components diff --git a/apps/space/core/components/issues/navbar/user-avatar.tsx b/apps/space/core/components/issues/navbar/user-avatar.tsx index 49dea2132..b5538cf70 100644 --- a/apps/space/core/components/issues/navbar/user-avatar.tsx +++ b/apps/space/core/components/issues/navbar/user-avatar.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, Fragment, useEffect, useState } from "react"; +import type { FC } from "react"; +import { Fragment, useEffect, useState } from "react"; import { observer } from "mobx-react"; import Link from "next/link"; import { usePathname, useSearchParams } from "next/navigation"; diff --git a/apps/space/core/components/issues/peek-overview/comment/add-comment.tsx b/apps/space/core/components/issues/peek-overview/comment/add-comment.tsx index 6afbb67ac..3a6e6f1d6 100644 --- a/apps/space/core/components/issues/peek-overview/comment/add-comment.tsx +++ b/apps/space/core/components/issues/peek-overview/comment/add-comment.tsx @@ -4,10 +4,10 @@ import React, { useRef, useState } from "react"; import { observer } from "mobx-react"; import { useForm, Controller } from "react-hook-form"; // plane imports -import { EditorRefApi } from "@plane/editor"; +import type { EditorRefApi } from "@plane/editor"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import { SitesFileService } from "@plane/services"; -import { TIssuePublicComment } from "@plane/types"; +import type { TIssuePublicComment } from "@plane/types"; // editor components import { LiteTextEditor } from "@/components/editor/lite-text-editor"; // hooks diff --git a/apps/space/core/components/issues/peek-overview/comment/comment-detail-card.tsx b/apps/space/core/components/issues/peek-overview/comment/comment-detail-card.tsx index d9b760297..6e97ed6ea 100644 --- a/apps/space/core/components/issues/peek-overview/comment/comment-detail-card.tsx +++ b/apps/space/core/components/issues/peek-overview/comment/comment-detail-card.tsx @@ -4,8 +4,8 @@ import { Controller, useForm } from "react-hook-form"; import { Check, MessageSquare, MoreVertical, X } from "lucide-react"; import { Menu, Transition } from "@headlessui/react"; // plane imports -import { EditorRefApi } from "@plane/editor"; -import { TIssuePublicComment } from "@plane/types"; +import type { EditorRefApi } from "@plane/editor"; +import type { TIssuePublicComment } from "@plane/types"; import { getFileURL } from "@plane/utils"; // components import { LiteTextEditor } from "@/components/editor/lite-text-editor"; diff --git a/apps/space/core/components/issues/peek-overview/header.tsx b/apps/space/core/components/issues/peek-overview/header.tsx index 690611263..0bf33066a 100644 --- a/apps/space/core/components/issues/peek-overview/header.tsx +++ b/apps/space/core/components/issues/peek-overview/header.tsx @@ -13,7 +13,7 @@ import { copyTextToClipboard } from "@/helpers/string.helper"; import { useIssueDetails } from "@/hooks/store/use-issue-details"; import useClipboardWritePermission from "@/hooks/use-clipboard-write-permission"; // types -import { IIssue, IPeekMode } from "@/types/issue"; +import type { IIssue, IPeekMode } from "@/types/issue"; type Props = { handleClose: () => void; diff --git a/apps/space/core/components/issues/peek-overview/issue-activity.tsx b/apps/space/core/components/issues/peek-overview/issue-activity.tsx index 1f67db95c..c31ca24f2 100644 --- a/apps/space/core/components/issues/peek-overview/issue-activity.tsx +++ b/apps/space/core/components/issues/peek-overview/issue-activity.tsx @@ -16,7 +16,7 @@ import { useIssueDetails } from "@/hooks/store/use-issue-details"; import { useUser } from "@/hooks/store/use-user"; import useIsInIframe from "@/hooks/use-is-in-iframe"; // types -import { IIssue } from "@/types/issue"; +import type { IIssue } from "@/types/issue"; type Props = { anchor: string; diff --git a/apps/space/core/components/issues/peek-overview/issue-details.tsx b/apps/space/core/components/issues/peek-overview/issue-details.tsx index 83eea5655..2ca097b23 100644 --- a/apps/space/core/components/issues/peek-overview/issue-details.tsx +++ b/apps/space/core/components/issues/peek-overview/issue-details.tsx @@ -3,7 +3,7 @@ import { observer } from "mobx-react"; import { RichTextEditor } from "@/components/editor/rich-text-editor"; import { usePublish } from "@/hooks/store/publish"; // types -import { IIssue } from "@/types/issue"; +import type { IIssue } from "@/types/issue"; // local imports import { IssueReactions } from "./issue-reaction"; diff --git a/apps/space/core/components/issues/peek-overview/issue-properties.tsx b/apps/space/core/components/issues/peek-overview/issue-properties.tsx index a43f6ff74..6ea937d19 100644 --- a/apps/space/core/components/issues/peek-overview/issue-properties.tsx +++ b/apps/space/core/components/issues/peek-overview/issue-properties.tsx @@ -18,7 +18,7 @@ import { copyTextToClipboard, addSpaceIfCamelCase } from "@/helpers/string.helpe import { usePublish } from "@/hooks/store/publish"; import { useStates } from "@/hooks/store/use-state"; // types -import { IIssue, IPeekMode } from "@/types/issue"; +import type { IIssue, IPeekMode } from "@/types/issue"; type Props = { issueDetails: IIssue; diff --git a/apps/space/core/components/issues/peek-overview/layout.tsx b/apps/space/core/components/issues/peek-overview/layout.tsx index 2a2b95d27..817700bfa 100644 --- a/apps/space/core/components/issues/peek-overview/layout.tsx +++ b/apps/space/core/components/issues/peek-overview/layout.tsx @@ -1,6 +1,7 @@ "use client"; -import { FC, Fragment, useEffect, useState } from "react"; +import type { FC } from "react"; +import { Fragment, useEffect, useState } from "react"; import { observer } from "mobx-react"; import { useRouter, useSearchParams } from "next/navigation"; import { Dialog, Transition } from "@headlessui/react"; diff --git a/apps/space/core/components/issues/peek-overview/side-peek-view.tsx b/apps/space/core/components/issues/peek-overview/side-peek-view.tsx index 8dbbaa0ee..047989083 100644 --- a/apps/space/core/components/issues/peek-overview/side-peek-view.tsx +++ b/apps/space/core/components/issues/peek-overview/side-peek-view.tsx @@ -6,7 +6,7 @@ import { Loader } from "@plane/ui"; // store hooks import { usePublish } from "@/hooks/store/publish"; // types -import { IIssue } from "@/types/issue"; +import type { IIssue } from "@/types/issue"; // local imports import { PeekOverviewHeader } from "./header"; import { PeekOverviewIssueActivity } from "./issue-activity"; diff --git a/apps/space/core/hooks/use-intersection-observer.tsx b/apps/space/core/hooks/use-intersection-observer.tsx index bce8b5dd0..0fb1a2666 100644 --- a/apps/space/core/hooks/use-intersection-observer.tsx +++ b/apps/space/core/hooks/use-intersection-observer.tsx @@ -1,4 +1,5 @@ -import { RefObject, useEffect } from "react"; +import type { RefObject } from "react"; +import { useEffect } from "react"; export type UseIntersectionObserverProps = { containerRef: RefObject | undefined; diff --git a/apps/space/core/hooks/use-mention.tsx b/apps/space/core/hooks/use-mention.tsx index e3819d805..fc66eda1c 100644 --- a/apps/space/core/hooks/use-mention.tsx +++ b/apps/space/core/hooks/use-mention.tsx @@ -2,7 +2,7 @@ import { useRef, useEffect } from "react"; import useSWR from "swr"; // plane imports import { UserService } from "@plane/services"; -import { IUser } from "@plane/types"; +import type { IUser } from "@plane/types"; export const useMention = () => { const userService = new UserService(); diff --git a/apps/space/core/lib/instance-provider.tsx b/apps/space/core/lib/instance-provider.tsx index 3356834e9..8ea988086 100644 --- a/apps/space/core/lib/instance-provider.tsx +++ b/apps/space/core/lib/instance-provider.tsx @@ -1,6 +1,6 @@ "use client"; -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import { observer } from "mobx-react"; import Image from "next/image"; import Link from "next/link"; diff --git a/apps/space/core/lib/store-provider.tsx b/apps/space/core/lib/store-provider.tsx index 88095fbc9..b017f90c4 100644 --- a/apps/space/core/lib/store-provider.tsx +++ b/apps/space/core/lib/store-provider.tsx @@ -1,6 +1,7 @@ "use client"; -import { ReactNode, createContext } from "react"; +import type { ReactNode } from "react"; +import { createContext } from "react"; // plane web store import { RootStore } from "@/plane-web/store/root.store"; diff --git a/apps/space/core/lib/toast-provider.tsx b/apps/space/core/lib/toast-provider.tsx index e85a30a00..e76c7e01e 100644 --- a/apps/space/core/lib/toast-provider.tsx +++ b/apps/space/core/lib/toast-provider.tsx @@ -1,6 +1,6 @@ "use client"; -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import { useTheme } from "next-themes"; // plane imports import { Toast } from "@plane/propel/toast"; diff --git a/apps/space/core/store/cycle.store.ts b/apps/space/core/store/cycle.store.ts index 6b624c92a..0f71d8841 100644 --- a/apps/space/core/store/cycle.store.ts +++ b/apps/space/core/store/cycle.store.ts @@ -1,7 +1,7 @@ import { action, makeObservable, observable, runInAction } from "mobx"; // plane imports import { SitesCycleService } from "@plane/services"; -import { TPublicCycle } from "@/types/cycle"; +import type { TPublicCycle } from "@/types/cycle"; // store import type { CoreRootStore } from "./root.store"; diff --git a/apps/space/core/store/helpers/filter.helpers.ts b/apps/space/core/store/helpers/filter.helpers.ts index fd949efef..342f1ee7b 100644 --- a/apps/space/core/store/helpers/filter.helpers.ts +++ b/apps/space/core/store/helpers/filter.helpers.ts @@ -1,5 +1,5 @@ import { EIssueGroupByToServerOptions, EServerGroupByToFilterOptions } from "@plane/constants"; -import { IssuePaginationOptions, TIssueParams } from "@plane/types"; +import type { IssuePaginationOptions, TIssueParams } from "@plane/types"; /** * This Method is used to construct the url params along with paginated values diff --git a/apps/space/core/store/instance.store.ts b/apps/space/core/store/instance.store.ts index a3be82ece..a1a49118d 100644 --- a/apps/space/core/store/instance.store.ts +++ b/apps/space/core/store/instance.store.ts @@ -2,7 +2,7 @@ import { set } from "lodash-es"; import { observable, action, makeObservable, runInAction } from "mobx"; // plane imports import { InstanceService } from "@plane/services"; -import { IInstance, IInstanceConfig } from "@plane/types"; +import type { IInstance, IInstanceConfig } from "@plane/types"; // store import type { CoreRootStore } from "@/store/root.store"; diff --git a/apps/space/core/store/issue-detail.store.ts b/apps/space/core/store/issue-detail.store.ts index 8ae390364..a9b2431ab 100644 --- a/apps/space/core/store/issue-detail.store.ts +++ b/apps/space/core/store/issue-detail.store.ts @@ -4,7 +4,8 @@ import { computedFn } from "mobx-utils"; import { v4 as uuidv4 } from "uuid"; // plane imports import { SitesFileService, SitesIssueService } from "@plane/services"; -import { EFileAssetType, TFileSignedURLResponse, TIssuePublicComment } from "@plane/types"; +import type { TFileSignedURLResponse, TIssuePublicComment } from "@plane/types"; +import { EFileAssetType } from "@plane/types"; // store import type { CoreRootStore } from "@/store/root.store"; // types diff --git a/apps/space/core/store/issue.store.ts b/apps/space/core/store/issue.store.ts index 5e90ce9e4..ed4112a82 100644 --- a/apps/space/core/store/issue.store.ts +++ b/apps/space/core/store/issue.store.ts @@ -5,7 +5,8 @@ import type { IssuePaginationOptions, TLoader } from "@plane/types"; // store import type { CoreRootStore } from "@/store/root.store"; // types -import { BaseIssuesStore, type IBaseIssuesStore } from "./helpers/base-issues.store"; +import { BaseIssuesStore } from "./helpers/base-issues.store"; +import type { IBaseIssuesStore } from "./helpers/base-issues.store"; export interface IIssueStore extends IBaseIssuesStore { // actions diff --git a/apps/space/core/store/profile.store.ts b/apps/space/core/store/profile.store.ts index 79bbee393..009b46ca4 100644 --- a/apps/space/core/store/profile.store.ts +++ b/apps/space/core/store/profile.store.ts @@ -2,7 +2,8 @@ import { set } from "lodash-es"; import { action, makeObservable, observable, runInAction } from "mobx"; // plane imports import { UserService } from "@plane/services"; -import { EStartOfTheWeek, TUserProfile } from "@plane/types"; +import type { TUserProfile } from "@plane/types"; +import { EStartOfTheWeek } from "@plane/types"; // store import type { CoreRootStore } from "@/store/root.store"; diff --git a/apps/space/core/store/publish/publish.store.ts b/apps/space/core/store/publish/publish.store.ts index ad5394797..49148d555 100644 --- a/apps/space/core/store/publish/publish.store.ts +++ b/apps/space/core/store/publish/publish.store.ts @@ -1,6 +1,6 @@ import { observable, makeObservable, computed } from "mobx"; // types -import { +import type { IWorkspaceLite, TProjectDetails, TPublishEntityType, diff --git a/apps/space/core/store/publish/publish_list.store.ts b/apps/space/core/store/publish/publish_list.store.ts index 3f37d5b16..9cb9085f2 100644 --- a/apps/space/core/store/publish/publish_list.store.ts +++ b/apps/space/core/store/publish/publish_list.store.ts @@ -2,7 +2,7 @@ import { set } from "lodash-es"; import { makeObservable, observable, runInAction, action } from "mobx"; // plane imports import { SitesProjectPublishService } from "@plane/services"; -import { TProjectPublishSettings } from "@plane/types"; +import type { TProjectPublishSettings } from "@plane/types"; // store import { PublishStore } from "@/store/publish/publish.store"; import type { CoreRootStore } from "@/store/root.store"; diff --git a/apps/space/core/store/root.store.ts b/apps/space/core/store/root.store.ts index db9e26566..047e8582d 100644 --- a/apps/space/core/store/root.store.ts +++ b/apps/space/core/store/root.store.ts @@ -1,16 +1,27 @@ import { enableStaticRendering } from "mobx-react"; // store imports -import { IInstanceStore, InstanceStore } from "@/store/instance.store"; -import { IssueDetailStore, IIssueDetailStore } from "@/store/issue-detail.store"; -import { IssueStore, IIssueStore } from "@/store/issue.store"; -import { IUserStore, UserStore } from "@/store/user.store"; -import { CycleStore, ICycleStore } from "./cycle.store"; -import { IssueFilterStore, IIssueFilterStore } from "./issue-filters.store"; -import { IIssueLabelStore, LabelStore } from "./label.store"; -import { IIssueMemberStore, MemberStore } from "./members.store"; -import { IIssueModuleStore, ModuleStore } from "./module.store"; -import { IPublishListStore, PublishListStore } from "./publish/publish_list.store"; -import { IStateStore, StateStore } from "./state.store"; +import type { IInstanceStore } from "@/store/instance.store"; +import { InstanceStore } from "@/store/instance.store"; +import type { IIssueDetailStore } from "@/store/issue-detail.store"; +import { IssueDetailStore } from "@/store/issue-detail.store"; +import type { IIssueStore } from "@/store/issue.store"; +import { IssueStore } from "@/store/issue.store"; +import type { IUserStore } from "@/store/user.store"; +import { UserStore } from "@/store/user.store"; +import type { ICycleStore } from "./cycle.store"; +import { CycleStore } from "./cycle.store"; +import type { IIssueFilterStore } from "./issue-filters.store"; +import { IssueFilterStore } from "./issue-filters.store"; +import type { IIssueLabelStore } from "./label.store"; +import { LabelStore } from "./label.store"; +import type { IIssueMemberStore } from "./members.store"; +import { MemberStore } from "./members.store"; +import type { IIssueModuleStore } from "./module.store"; +import { ModuleStore } from "./module.store"; +import type { IPublishListStore } from "./publish/publish_list.store"; +import { PublishListStore } from "./publish/publish_list.store"; +import type { IStateStore } from "./state.store"; +import { StateStore } from "./state.store"; enableStaticRendering(typeof window === "undefined"); diff --git a/apps/space/core/store/state.store.ts b/apps/space/core/store/state.store.ts index a525f1003..1de0fd6ab 100644 --- a/apps/space/core/store/state.store.ts +++ b/apps/space/core/store/state.store.ts @@ -2,7 +2,7 @@ import { clone } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; // plane imports import { SitesStateService } from "@plane/services"; -import { IState } from "@plane/types"; +import type { IState } from "@plane/types"; // helpers import { sortStates } from "@/helpers/state.helper"; // store diff --git a/apps/space/core/store/user.store.ts b/apps/space/core/store/user.store.ts index 1a97989f4..611afa483 100644 --- a/apps/space/core/store/user.store.ts +++ b/apps/space/core/store/user.store.ts @@ -3,9 +3,10 @@ import { set } from "lodash-es"; import { action, computed, makeObservable, observable, runInAction } from "mobx"; // plane imports import { UserService } from "@plane/services"; -import { ActorDetail, IUser } from "@plane/types"; +import type { ActorDetail, IUser } from "@plane/types"; // store types -import { ProfileStore, IProfileStore } from "@/store/profile.store"; +import type { IProfileStore } from "@/store/profile.store"; +import { ProfileStore } from "@/store/profile.store"; // store import type { CoreRootStore } from "@/store/root.store"; diff --git a/apps/space/core/types/issue.d.ts b/apps/space/core/types/issue.d.ts index ac7549a8a..66542317e 100644 --- a/apps/space/core/types/issue.d.ts +++ b/apps/space/core/types/issue.d.ts @@ -1,4 +1,4 @@ -import { ActorDetail, TIssue, TIssuePriorities, TStateGroups, TIssuePublicComment } from "@plane/types"; +import type { ActorDetail, TIssue, TIssuePriorities, TStateGroups, TIssuePublicComment } from "@plane/types"; export type TIssueLayout = "list" | "kanban" | "calendar" | "spreadsheet" | "gantt"; export type TIssueLayoutOptions = { diff --git a/apps/space/helpers/authentication.helper.tsx b/apps/space/helpers/authentication.helper.tsx index 7e409022e..8c8f09c54 100644 --- a/apps/space/helpers/authentication.helper.tsx +++ b/apps/space/helpers/authentication.helper.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import Link from "next/link"; // helpers import { SUPPORT_EMAIL } from "./common.helper"; diff --git a/apps/space/helpers/common.helper.ts b/apps/space/helpers/common.helper.ts index 3ffc59573..cbb90199e 100644 --- a/apps/space/helpers/common.helper.ts +++ b/apps/space/helpers/common.helper.ts @@ -1,4 +1,5 @@ -import { clsx, type ClassValue } from "clsx"; +import { clsx } from "clsx"; +import type { ClassValue } from "clsx"; import { twMerge } from "tailwind-merge"; export const SUPPORT_EMAIL = process.env.NEXT_PUBLIC_SUPPORT_EMAIL || ""; diff --git a/apps/space/helpers/editor.helper.ts b/apps/space/helpers/editor.helper.ts index 0315b9caf..43b265af5 100644 --- a/apps/space/helpers/editor.helper.ts +++ b/apps/space/helpers/editor.helper.ts @@ -1,6 +1,6 @@ // plane imports import { MAX_FILE_SIZE } from "@plane/constants"; -import { TFileHandler } from "@plane/editor"; +import type { TFileHandler } from "@plane/editor"; import { SitesFileService } from "@plane/services"; import { getFileURL } from "@plane/utils"; // services diff --git a/apps/space/helpers/issue.helper.ts b/apps/space/helpers/issue.helper.ts index a7129ca49..7971b4a51 100644 --- a/apps/space/helpers/issue.helper.ts +++ b/apps/space/helpers/issue.helper.ts @@ -1,7 +1,7 @@ import { differenceInCalendarDays } from "date-fns/differenceInCalendarDays"; // plane internal import { STATE_GROUPS } from "@plane/constants"; -import { TStateGroups } from "@plane/types"; +import type { TStateGroups } from "@plane/types"; // helpers import { getDate } from "@/helpers/date-time.helper"; diff --git a/apps/space/helpers/state.helper.ts b/apps/space/helpers/state.helper.ts index 8d97c39f6..f5a8a88e5 100644 --- a/apps/space/helpers/state.helper.ts +++ b/apps/space/helpers/state.helper.ts @@ -1,5 +1,5 @@ import { STATE_GROUPS } from "@plane/constants"; -import { IState } from "@plane/types"; +import type { IState } from "@plane/types"; export const sortStates = (states: IState[]) => { if (!states || states.length === 0) return;