) => {
try {
await inboxIssue.updateIssue(data);
- } catch (error) {
+ } catch (_error) {
setToast({
title: "Work item update failed",
type: TOAST_TYPE.ERROR,
diff --git a/apps/web/core/components/inbox/inbox-filter/applied-filters/date.tsx b/apps/web/core/components/inbox/inbox-filter/applied-filters/date.tsx
index 5e13689475f..53cf70989bd 100644
--- a/apps/web/core/components/inbox/inbox-filter/applied-filters/date.tsx
+++ b/apps/web/core/components/inbox/inbox-filter/applied-filters/date.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import { PAST_DURATION_FILTER_OPTIONS } from "@plane/constants";
import { CloseIcon } from "@plane/propel/icons";
diff --git a/apps/web/core/components/inbox/inbox-filter/applied-filters/label.tsx b/apps/web/core/components/inbox/inbox-filter/applied-filters/label.tsx
index 32b6f0f20e0..1fd33cbe80c 100644
--- a/apps/web/core/components/inbox/inbox-filter/applied-filters/label.tsx
+++ b/apps/web/core/components/inbox/inbox-filter/applied-filters/label.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
// hooks
import { CloseIcon } from "@plane/propel/icons";
diff --git a/apps/web/core/components/inbox/inbox-filter/applied-filters/member.tsx b/apps/web/core/components/inbox/inbox-filter/applied-filters/member.tsx
index 724260b2426..4148f4af3f0 100644
--- a/apps/web/core/components/inbox/inbox-filter/applied-filters/member.tsx
+++ b/apps/web/core/components/inbox/inbox-filter/applied-filters/member.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
// plane types
diff --git a/apps/web/core/components/inbox/inbox-filter/applied-filters/priority.tsx b/apps/web/core/components/inbox/inbox-filter/applied-filters/priority.tsx
index a588b37df6c..38a12602a0d 100644
--- a/apps/web/core/components/inbox/inbox-filter/applied-filters/priority.tsx
+++ b/apps/web/core/components/inbox/inbox-filter/applied-filters/priority.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import { ISSUE_PRIORITIES } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
diff --git a/apps/web/core/components/inbox/inbox-filter/applied-filters/root.tsx b/apps/web/core/components/inbox/inbox-filter/applied-filters/root.tsx
index 29b158d1065..99283e6c2c9 100644
--- a/apps/web/core/components/inbox/inbox-filter/applied-filters/root.tsx
+++ b/apps/web/core/components/inbox/inbox-filter/applied-filters/root.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
// plane imports
import { Header, EHeaderVariant } from "@plane/ui";
diff --git a/apps/web/core/components/inbox/inbox-filter/applied-filters/state.tsx b/apps/web/core/components/inbox/inbox-filter/applied-filters/state.tsx
index 4de55f4ecff..f8b94c9bcf0 100644
--- a/apps/web/core/components/inbox/inbox-filter/applied-filters/state.tsx
+++ b/apps/web/core/components/inbox/inbox-filter/applied-filters/state.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import { EIconSize } from "@plane/constants";
import { StateGroupIcon, CloseIcon } from "@plane/propel/icons";
diff --git a/apps/web/core/components/inbox/inbox-filter/applied-filters/status.tsx b/apps/web/core/components/inbox/inbox-filter/applied-filters/status.tsx
index 01543e59ab3..ccc7c31ae7a 100644
--- a/apps/web/core/components/inbox/inbox-filter/applied-filters/status.tsx
+++ b/apps/web/core/components/inbox/inbox-filter/applied-filters/status.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import { INBOX_STATUS } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
diff --git a/apps/web/core/components/inbox/inbox-filter/filters/date.tsx b/apps/web/core/components/inbox/inbox-filter/filters/date.tsx
index 84ae0ffdef0..51fbbe6d495 100644
--- a/apps/web/core/components/inbox/inbox-filter/filters/date.tsx
+++ b/apps/web/core/components/inbox/inbox-filter/filters/date.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useState } from "react";
import { concat, uniq } from "lodash-es";
import { observer } from "mobx-react";
diff --git a/apps/web/core/components/inbox/inbox-filter/filters/filter-selection.tsx b/apps/web/core/components/inbox/inbox-filter/filters/filter-selection.tsx
index 2e4e57ff1a7..99ae144cd0c 100644
--- a/apps/web/core/components/inbox/inbox-filter/filters/filter-selection.tsx
+++ b/apps/web/core/components/inbox/inbox-filter/filters/filter-selection.tsx
@@ -4,21 +4,18 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useState } from "react";
import { observer } from "mobx-react";
import { SearchIcon, CloseIcon } from "@plane/propel/icons";
// hooks
import { useLabel } from "@/hooks/store/use-label";
import { useMember } from "@/hooks/store/use-member";
-import { useProjectState } from "@/hooks/store/use-project-state";
import { usePlatformOS } from "@/hooks/use-platform-os";
// local imports
import { FilterDate } from "./date";
import { FilterLabels } from "./labels";
import { FilterMember } from "./members";
import { FilterPriority } from "./priority";
-import { FilterState } from "./state";
import { FilterStatus } from "./status";
export const InboxIssueFilterSelection = observer(function InboxIssueFilterSelection() {
@@ -28,7 +25,6 @@ export const InboxIssueFilterSelection = observer(function InboxIssueFilterSelec
project: { projectMemberIds },
} = useMember();
const { projectLabels } = useLabel();
- const { projectStates } = useProjectState();
// states
const [filtersSearchQuery, setFiltersSearchQuery] = useState("");
diff --git a/apps/web/core/components/inbox/inbox-filter/filters/labels.tsx b/apps/web/core/components/inbox/inbox-filter/filters/labels.tsx
index e45dae656b6..23e338b1d31 100644
--- a/apps/web/core/components/inbox/inbox-filter/filters/labels.tsx
+++ b/apps/web/core/components/inbox/inbox-filter/filters/labels.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useState } from "react";
import { observer } from "mobx-react";
import type { IIssueLabel } from "@plane/types";
diff --git a/apps/web/core/components/inbox/inbox-filter/filters/members.tsx b/apps/web/core/components/inbox/inbox-filter/filters/members.tsx
index c6ff9a57198..d555aa81b85 100644
--- a/apps/web/core/components/inbox/inbox-filter/filters/members.tsx
+++ b/apps/web/core/components/inbox/inbox-filter/filters/members.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useMemo, useState } from "react";
import { sortBy } from "lodash-es";
import { observer } from "mobx-react";
diff --git a/apps/web/core/components/inbox/inbox-filter/filters/priority.tsx b/apps/web/core/components/inbox/inbox-filter/filters/priority.tsx
index a88d10a3ca1..5272e368b24 100644
--- a/apps/web/core/components/inbox/inbox-filter/filters/priority.tsx
+++ b/apps/web/core/components/inbox/inbox-filter/filters/priority.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useState } from "react";
import { observer } from "mobx-react";
import { ISSUE_PRIORITIES } from "@plane/constants";
diff --git a/apps/web/core/components/inbox/inbox-filter/filters/state.tsx b/apps/web/core/components/inbox/inbox-filter/filters/state.tsx
index 08d125f645e..4a4af021fce 100644
--- a/apps/web/core/components/inbox/inbox-filter/filters/state.tsx
+++ b/apps/web/core/components/inbox/inbox-filter/filters/state.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useState } from "react";
import { observer } from "mobx-react";
import { EIconSize } from "@plane/constants";
diff --git a/apps/web/core/components/inbox/inbox-filter/filters/status.tsx b/apps/web/core/components/inbox/inbox-filter/filters/status.tsx
index 3f1955f4abe..e08a71334ac 100644
--- a/apps/web/core/components/inbox/inbox-filter/filters/status.tsx
+++ b/apps/web/core/components/inbox/inbox-filter/filters/status.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useState } from "react";
import { observer } from "mobx-react";
// types
diff --git a/apps/web/core/components/inbox/inbox-filter/root.tsx b/apps/web/core/components/inbox/inbox-filter/root.tsx
index 848e2f4d290..2413ccc382f 100644
--- a/apps/web/core/components/inbox/inbox-filter/root.tsx
+++ b/apps/web/core/components/inbox/inbox-filter/root.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { ListFilter } from "lucide-react";
import { getButtonStyling } from "@plane/propel/button";
// plane imports
diff --git a/apps/web/core/components/inbox/inbox-filter/sorting/order-by.tsx b/apps/web/core/components/inbox/inbox-filter/sorting/order-by.tsx
index 599a1ce9cc9..ad2e720c715 100644
--- a/apps/web/core/components/inbox/inbox-filter/sorting/order-by.tsx
+++ b/apps/web/core/components/inbox/inbox-filter/sorting/order-by.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import { ArrowDownWideNarrow, ArrowUpWideNarrow } from "lucide-react";
import { INBOX_ISSUE_ORDER_BY_OPTIONS, INBOX_ISSUE_SORT_BY_OPTIONS } from "@plane/constants";
diff --git a/apps/web/core/components/inbox/modals/create-modal/issue-description.tsx b/apps/web/core/components/inbox/modals/create-modal/issue-description.tsx
index f67f9b25d4d..ce3961b0892 100644
--- a/apps/web/core/components/inbox/modals/create-modal/issue-description.tsx
+++ b/apps/web/core/components/inbox/modals/create-modal/issue-description.tsx
@@ -4,7 +4,7 @@
* See the LICENSE file for details.
*/
-import type { FC, RefObject } from "react";
+import type { RefObject } from "react";
import { observer } from "mobx-react";
// plane imports
import { ETabIndices } from "@plane/constants";
diff --git a/apps/web/core/components/inbox/modals/create-modal/issue-properties.tsx b/apps/web/core/components/inbox/modals/create-modal/issue-properties.tsx
index b64a64b0f16..6d6c80e937c 100644
--- a/apps/web/core/components/inbox/modals/create-modal/issue-properties.tsx
+++ b/apps/web/core/components/inbox/modals/create-modal/issue-properties.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useState } from "react";
import { observer } from "mobx-react";
import { ETabIndices } from "@plane/constants";
diff --git a/apps/web/core/components/inbox/modals/create-modal/issue-title.tsx b/apps/web/core/components/inbox/modals/create-modal/issue-title.tsx
index 3c8c809ec94..49d8178fb53 100644
--- a/apps/web/core/components/inbox/modals/create-modal/issue-title.tsx
+++ b/apps/web/core/components/inbox/modals/create-modal/issue-title.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
// plane imports
import { ETabIndices } from "@plane/constants";
diff --git a/apps/web/core/components/inbox/modals/create-modal/modal.tsx b/apps/web/core/components/inbox/modals/create-modal/modal.tsx
index 43f01251d86..85b8a14c0ea 100644
--- a/apps/web/core/components/inbox/modals/create-modal/modal.tsx
+++ b/apps/web/core/components/inbox/modals/create-modal/modal.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useState } from "react";
// plane imports
import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui";
diff --git a/apps/web/core/components/inbox/sidebar/inbox-list-item.tsx b/apps/web/core/components/inbox/sidebar/inbox-list-item.tsx
index 216f7936255..db8d4240f9f 100644
--- a/apps/web/core/components/inbox/sidebar/inbox-list-item.tsx
+++ b/apps/web/core/components/inbox/sidebar/inbox-list-item.tsx
@@ -4,7 +4,7 @@
* See the LICENSE file for details.
*/
-import type { FC, MouseEvent } from "react";
+import type { MouseEvent } from "react";
import { observer } from "mobx-react";
import Link from "next/link";
import { useSearchParams } from "next/navigation";
diff --git a/apps/web/core/components/inbox/sidebar/inbox-list.tsx b/apps/web/core/components/inbox/sidebar/inbox-list.tsx
index 886171cda42..ee5ddd3ae6b 100644
--- a/apps/web/core/components/inbox/sidebar/inbox-list.tsx
+++ b/apps/web/core/components/inbox/sidebar/inbox-list.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { Fragment } from "react";
import { observer } from "mobx-react";
// local imports
diff --git a/apps/web/core/components/instance/maintenance-view.tsx b/apps/web/core/components/instance/maintenance-view.tsx
index 48ed52f3426..eaa3bba4f9b 100644
--- a/apps/web/core/components/instance/maintenance-view.tsx
+++ b/apps/web/core/components/instance/maintenance-view.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useTheme } from "next-themes";
// assets
import maintenanceModeDarkModeImage from "@/app/assets/instance/maintenance-mode-dark.svg?url";
diff --git a/apps/web/core/components/labels/create-update-label-inline.tsx b/apps/web/core/components/labels/create-update-label-inline.tsx
index 04660487197..6be483cd1a0 100644
--- a/apps/web/core/components/labels/create-update-label-inline.tsx
+++ b/apps/web/core/components/labels/create-update-label-inline.tsx
@@ -11,7 +11,7 @@ import type { SubmitHandler } from "react-hook-form";
import { Controller, useForm } from "react-hook-form";
import { Popover, Transition } from "@headlessui/react";
// plane imports
-import { getRandomLabelColor, LABEL_COLOR_OPTIONS, PROJECT_SETTINGS_TRACKER_EVENTS } from "@plane/constants";
+import { getRandomLabelColor, LABEL_COLOR_OPTIONS } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
import { Button } from "@plane/propel/button";
import { TOAST_TYPE, setToast } from "@plane/propel/toast";
@@ -91,7 +91,7 @@ export const CreateUpdateLabelInline = observer(
await labelOperationsCallbacks
.createLabel(formData)
- .then((res) => {
+ .then((_res) => {
handleClose();
reset(defaultValues);
})
@@ -111,7 +111,7 @@ export const CreateUpdateLabelInline = observer(
await labelOperationsCallbacks
.updateLabel(labelToUpdate.id, formData)
- .then((res) => {
+ .then((_res) => {
reset(defaultValues);
handleClose();
})
diff --git a/apps/web/core/components/modules/analytics-sidebar/issue-progress.tsx b/apps/web/core/components/modules/analytics-sidebar/issue-progress.tsx
index 3feecffeba6..f703ddf5816 100644
--- a/apps/web/core/components/modules/analytics-sidebar/issue-progress.tsx
+++ b/apps/web/core/components/modules/analytics-sidebar/issue-progress.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { Fragment, useMemo, useState } from "react";
import { observer } from "mobx-react";
import { useSearchParams } from "next/navigation";
@@ -112,7 +111,7 @@ export const ModuleAnalyticsProgress = observer(function ModuleAnalyticsProgress
await fetchModuleDetails(workspaceSlug, projectId, moduleId);
}
setLoader(false);
- } catch (error) {
+ } catch (_error) {
setLoader(false);
setPlotType(moduleId, plotType);
}
diff --git a/apps/web/core/components/modules/archived-modules/header.tsx b/apps/web/core/components/modules/archived-modules/header.tsx
index 4b58e4bb920..a15c431df2b 100644
--- a/apps/web/core/components/modules/archived-modules/header.tsx
+++ b/apps/web/core/components/modules/archived-modules/header.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useCallback, useRef, useState } from "react";
import { observer } from "mobx-react";
import { useParams } from "next/navigation";
diff --git a/apps/web/core/components/modules/archived-modules/view.tsx b/apps/web/core/components/modules/archived-modules/view.tsx
index bea8c597fd7..f7a07b4685b 100644
--- a/apps/web/core/components/modules/archived-modules/view.tsx
+++ b/apps/web/core/components/modules/archived-modules/view.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
// assets
import AllFiltersImage from "@/app/assets/empty-state/module/all-filters.svg?url";
diff --git a/apps/web/core/components/modules/links/create-update-modal.tsx b/apps/web/core/components/modules/links/create-update-modal.tsx
index 9caa018023a..b99254aefd6 100644
--- a/apps/web/core/components/modules/links/create-update-modal.tsx
+++ b/apps/web/core/components/modules/links/create-update-modal.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useEffect } from "react";
import { Controller, useForm } from "react-hook-form";
// plane types
diff --git a/apps/web/core/components/modules/modal.tsx b/apps/web/core/components/modules/modal.tsx
index b85d9b48903..621bfa07585 100644
--- a/apps/web/core/components/modules/modal.tsx
+++ b/apps/web/core/components/modules/modal.tsx
@@ -58,7 +58,7 @@ export const CreateUpdateModuleModal = observer(function CreateUpdateModuleModal
const selectedProjectId = payload.project_id ?? projectId.toString();
await createModule(workspaceSlug.toString(), selectedProjectId, payload)
- .then((res) => {
+ .then((_res) => {
handleClose();
setToast({
type: TOAST_TYPE.SUCCESS,
@@ -80,7 +80,7 @@ export const CreateUpdateModuleModal = observer(function CreateUpdateModuleModal
const selectedProjectId = payload.project_id ?? projectId.toString();
await updateModuleDetails(workspaceSlug.toString(), selectedProjectId, data.id, payload)
- .then((res) => {
+ .then((_res) => {
handleClose();
setToast({
diff --git a/apps/web/core/components/modules/module-list-item-action.tsx b/apps/web/core/components/modules/module-list-item-action.tsx
index 73746d05351..3340fab1d63 100644
--- a/apps/web/core/components/modules/module-list-item-action.tsx
+++ b/apps/web/core/components/modules/module-list-item-action.tsx
@@ -9,14 +9,7 @@ import { observer } from "mobx-react";
import { useParams } from "next/navigation";
import { SquareUser } from "lucide-react";
// Plane imports
-import {
- MODULE_STATUS,
- EUserPermissions,
- EUserPermissionsLevel,
- IS_FAVORITE_MENU_OPEN,
- MODULE_TRACKER_EVENTS,
- MODULE_TRACKER_ELEMENTS,
-} from "@plane/constants";
+import { MODULE_STATUS, EUserPermissions, EUserPermissionsLevel, IS_FAVORITE_MENU_OPEN } from "@plane/constants";
import { useLocalStorage } from "@plane/hooks";
import { useTranslation } from "@plane/i18n";
import { TOAST_TYPE, setPromiseToast, setToast } from "@plane/propel/toast";
diff --git a/apps/web/core/components/modules/module-status-dropdown.tsx b/apps/web/core/components/modules/module-status-dropdown.tsx
index b0bf9b8cb65..ef532e68b16 100644
--- a/apps/web/core/components/modules/module-status-dropdown.tsx
+++ b/apps/web/core/components/modules/module-status-dropdown.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React from "react";
import { observer } from "mobx-react";
import { MODULE_STATUS } from "@plane/constants";
diff --git a/apps/web/core/components/modules/module-view-header.tsx b/apps/web/core/components/modules/module-view-header.tsx
index baf978a0132..916bfe95b6a 100644
--- a/apps/web/core/components/modules/module-view-header.tsx
+++ b/apps/web/core/components/modules/module-view-header.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React, { useCallback, useEffect, useRef, useState } from "react";
import { observer } from "mobx-react";
import { useParams } from "next/navigation";
diff --git a/apps/web/core/components/modules/quick-actions.tsx b/apps/web/core/components/modules/quick-actions.tsx
index 771635e00e1..f62e5cc3009 100644
--- a/apps/web/core/components/modules/quick-actions.tsx
+++ b/apps/web/core/components/modules/quick-actions.tsx
@@ -9,7 +9,6 @@ import { observer } from "mobx-react";
import { MoreHorizontal } from "lucide-react";
// plane imports
import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants";
-import { useTranslation } from "@plane/i18n";
import { IconButton } from "@plane/propel/icon-button";
import { TOAST_TYPE, setToast } from "@plane/propel/toast";
import type { TContextMenuItem } from "@plane/ui";
@@ -44,7 +43,6 @@ export const ModuleQuickActions = observer(function ModuleQuickActions(props: Pr
const { getModuleById, restoreModule } = useModule();
- const { t } = useTranslation();
// derived values
const moduleDetails = getModuleById(moduleId);
// auth
diff --git a/apps/web/core/components/navigation/customize-navigation-dialog.tsx b/apps/web/core/components/navigation/customize-navigation-dialog.tsx
index 4d7c824951b..b4390bd0188 100644
--- a/apps/web/core/components/navigation/customize-navigation-dialog.tsx
+++ b/apps/web/core/components/navigation/customize-navigation-dialog.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useCallback, useMemo, useState } from "react";
import { observer } from "mobx-react";
import { useParams } from "next/navigation";
diff --git a/apps/web/core/components/navigation/tab-navigation-root.tsx b/apps/web/core/components/navigation/tab-navigation-root.tsx
index c53fc45053f..f3bd16c60d9 100644
--- a/apps/web/core/components/navigation/tab-navigation-root.tsx
+++ b/apps/web/core/components/navigation/tab-navigation-root.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React, { useEffect } from "react";
import { observer } from "mobx-react";
import { useParams, useLocation, Link, useNavigate } from "react-router";
diff --git a/apps/web/core/components/onboarding/header.tsx b/apps/web/core/components/onboarding/header.tsx
index 7efe5aafffb..4ebf6a9c156 100644
--- a/apps/web/core/components/onboarding/header.tsx
+++ b/apps/web/core/components/onboarding/header.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
// plane imports
import { PlaneLockup, ChevronLeftIcon } from "@plane/propel/icons";
diff --git a/apps/web/core/components/onboarding/invite-members.tsx b/apps/web/core/components/onboarding/invite-members.tsx
index acac3446eec..b73c87bb8b8 100644
--- a/apps/web/core/components/onboarding/invite-members.tsx
+++ b/apps/web/core/components/onboarding/invite-members.tsx
@@ -262,7 +262,7 @@ const InviteMemberInput = observer(function InviteMemberInput(props: InviteMembe
});
export function InviteMembers(props: Props) {
- const { finishOnboarding, totalSteps, workspace } = props;
+ const { finishOnboarding, workspace } = props;
const [isInvitationDisabled, setIsInvitationDisabled] = useState(true);
diff --git a/apps/web/core/components/onboarding/steps/common/header.tsx b/apps/web/core/components/onboarding/steps/common/header.tsx
index f6891126a51..69be93c6fa4 100644
--- a/apps/web/core/components/onboarding/steps/common/header.tsx
+++ b/apps/web/core/components/onboarding/steps/common/header.tsx
@@ -4,8 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
-
type Props = {
title: string;
description: string;
diff --git a/apps/web/core/components/onboarding/steps/profile/consent.tsx b/apps/web/core/components/onboarding/steps/profile/consent.tsx
index 62927e43731..18f42063c8f 100644
--- a/apps/web/core/components/onboarding/steps/profile/consent.tsx
+++ b/apps/web/core/components/onboarding/steps/profile/consent.tsx
@@ -4,8 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
-
import { CheckIcon } from "@plane/propel/icons";
type Props = {
diff --git a/apps/web/core/components/onboarding/switch-account-dropdown.tsx b/apps/web/core/components/onboarding/switch-account-dropdown.tsx
index aae4375249d..bf96aae6198 100644
--- a/apps/web/core/components/onboarding/switch-account-dropdown.tsx
+++ b/apps/web/core/components/onboarding/switch-account-dropdown.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useState } from "react";
import { observer } from "mobx-react";
import { Menu, Transition } from "@headlessui/react";
diff --git a/apps/web/core/components/pages/editor/editor-body.tsx b/apps/web/core/components/pages/editor/editor-body.tsx
index 907c6d9e405..9270386dc0a 100644
--- a/apps/web/core/components/pages/editor/editor-body.tsx
+++ b/apps/web/core/components/pages/editor/editor-body.tsx
@@ -45,7 +45,6 @@ import type { TPageInstance } from "@/store/pages/base-page";
import { PageContentLoader } from "../loaders/page-content-loader";
import { PageEditorHeaderRoot } from "./header";
import { PageContentBrowser } from "./summary";
-import { PageEditorTitle } from "./title";
export type TEditorBodyConfig = {
fileHandler: TFileHandler;
diff --git a/apps/web/core/components/pages/editor/toolbar/options-dropdown.tsx b/apps/web/core/components/pages/editor/toolbar/options-dropdown.tsx
index 291f3cb47c1..a1c62bba10a 100644
--- a/apps/web/core/components/pages/editor/toolbar/options-dropdown.tsx
+++ b/apps/web/core/components/pages/editor/toolbar/options-dropdown.tsx
@@ -10,7 +10,6 @@ import { ArrowUpToLine, Clipboard, History } from "lucide-react";
// plane imports
import { TOAST_TYPE, setToast } from "@plane/propel/toast";
import { ToggleSwitch } from "@plane/ui";
-import { copyTextToClipboard } from "@plane/utils";
// hooks
import { useAppRouter } from "@/hooks/use-app-router";
import { usePageFilters } from "@/hooks/use-page-filters";
diff --git a/apps/web/core/components/pages/list/order-by.tsx b/apps/web/core/components/pages/list/order-by.tsx
index 60030c2e8fb..2e9f22f0ad7 100644
--- a/apps/web/core/components/pages/list/order-by.tsx
+++ b/apps/web/core/components/pages/list/order-by.tsx
@@ -4,11 +4,11 @@
* See the LICENSE file for details.
*/
-import { ArrowDownWideNarrow, ArrowUpWideNarrow, Check } from "lucide-react";
+import { ArrowDownWideNarrow, ArrowUpWideNarrow } from "lucide-react";
// plane imports
import { getButtonStyling } from "@plane/propel/button";
// types
-import { CheckIcon, ChevronDownIcon } from "@plane/propel/icons";
+import { CheckIcon } from "@plane/propel/icons";
import type { TPageFiltersSortBy, TPageFiltersSortKey } from "@plane/types";
import { CustomMenu } from "@plane/ui";
diff --git a/apps/web/core/components/power-k/ui/modal/footer.tsx b/apps/web/core/components/power-k/ui/modal/footer.tsx
index cf22070a051..092e4f6da41 100644
--- a/apps/web/core/components/power-k/ui/modal/footer.tsx
+++ b/apps/web/core/components/power-k/ui/modal/footer.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type React from "react";
import { observer } from "mobx-react";
// plane imports
import { useTranslation } from "@plane/i18n";
diff --git a/apps/web/core/components/power-k/ui/modal/search-results.tsx b/apps/web/core/components/power-k/ui/modal/search-results.tsx
index 12c49304f9b..eaa5eb9b876 100644
--- a/apps/web/core/components/power-k/ui/modal/search-results.tsx
+++ b/apps/web/core/components/power-k/ui/modal/search-results.tsx
@@ -12,7 +12,6 @@ import type { IWorkspaceSearchResults } from "@plane/types";
// hooks
import { useAppRouter } from "@/hooks/use-app-router";
// helpers
-import { openProjectAndScrollToSidebar } from "../../actions/helper";
import { PowerKModalCommandItem } from "./command-item";
import { POWER_K_SEARCH_RESULTS_GROUPS_MAP } from "./search-results-map";
diff --git a/apps/web/core/components/project-states/create-update/create.tsx b/apps/web/core/components/project-states/create-update/create.tsx
index 0505fcb5870..85f084f6a42 100644
--- a/apps/web/core/components/project-states/create-update/create.tsx
+++ b/apps/web/core/components/project-states/create-update/create.tsx
@@ -34,7 +34,7 @@ export const StateCreate = observer(function StateCreate(props: TStateCreate) {
if (!groupKey) return { status: "error" };
try {
- const response = await createStateCallback({ ...formData, group: groupKey });
+ await createStateCallback({ ...formData, group: groupKey });
setToast({
type: TOAST_TYPE.SUCCESS,
diff --git a/apps/web/core/components/project-states/root.tsx b/apps/web/core/components/project-states/root.tsx
index 8aac7f4d8b2..20e0dd393d9 100644
--- a/apps/web/core/components/project-states/root.tsx
+++ b/apps/web/core/components/project-states/root.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useMemo } from "react";
import { observer } from "mobx-react";
import useSWR from "swr";
diff --git a/apps/web/core/components/project/dropdowns/order-by.tsx b/apps/web/core/components/project/dropdowns/order-by.tsx
index ad00e3b2e00..5b83e0c2879 100644
--- a/apps/web/core/components/project/dropdowns/order-by.tsx
+++ b/apps/web/core/components/project/dropdowns/order-by.tsx
@@ -9,7 +9,7 @@ import { ArrowDownWideNarrow } from "lucide-react";
import { PROJECT_ORDER_BY_OPTIONS } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
import { getButtonStyling } from "@plane/propel/button";
-import { CheckIcon, ChevronDownIcon } from "@plane/propel/icons";
+import { CheckIcon } from "@plane/propel/icons";
import type { TProjectOrderByOptions } from "@plane/types";
import { CustomMenu } from "@plane/ui";
diff --git a/apps/web/core/components/project/leave-project-modal.tsx b/apps/web/core/components/project/leave-project-modal.tsx
index 0f4b32ae02d..262a1237bef 100644
--- a/apps/web/core/components/project/leave-project-modal.tsx
+++ b/apps/web/core/components/project/leave-project-modal.tsx
@@ -64,7 +64,7 @@ export const LeaveProjectModal = observer(function LeaveProjectModal(props: ILea
.then(() => {
handleClose();
})
- .catch((err) => {
+ .catch((_err) => {
setToast({
type: TOAST_TYPE.ERROR,
title: "Error!",
diff --git a/apps/web/core/components/sidebar/add-button.tsx b/apps/web/core/components/sidebar/add-button.tsx
index 1e41f5192f0..6db327e363b 100644
--- a/apps/web/core/components/sidebar/add-button.tsx
+++ b/apps/web/core/components/sidebar/add-button.tsx
@@ -5,7 +5,6 @@
*/
import { Button } from "@plane/propel/button";
-import { cn } from "@plane/utils";
type Props = React.ComponentProps<"button"> & {
label: React.ReactNode;
diff --git a/apps/web/core/components/views/filters/order-by.tsx b/apps/web/core/components/views/filters/order-by.tsx
index bb27650f69f..33360658864 100644
--- a/apps/web/core/components/views/filters/order-by.tsx
+++ b/apps/web/core/components/views/filters/order-by.tsx
@@ -9,7 +9,7 @@ import { ArrowDownWideNarrow, ArrowUpWideNarrow } from "lucide-react";
import { VIEW_SORT_BY_OPTIONS, VIEW_SORTING_KEY_OPTIONS } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
import { getButtonStyling } from "@plane/propel/button";
-import { CheckIcon, ChevronDownIcon } from "@plane/propel/icons";
+import { CheckIcon } from "@plane/propel/icons";
import type { TViewFiltersSortBy, TViewFiltersSortKey } from "@plane/types";
import { CustomMenu } from "@plane/ui";
diff --git a/apps/web/core/components/views/view-list-item-action.tsx b/apps/web/core/components/views/view-list-item-action.tsx
index 3e917a01544..5bfa74a32bc 100644
--- a/apps/web/core/components/views/view-list-item-action.tsx
+++ b/apps/web/core/components/views/view-list-item-action.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React, { useState } from "react";
import { observer } from "mobx-react";
import { useParams } from "next/navigation";
diff --git a/apps/web/core/components/views/view-list-item.tsx b/apps/web/core/components/views/view-list-item.tsx
index 511759bf150..a790daca062 100644
--- a/apps/web/core/components/views/view-list-item.tsx
+++ b/apps/web/core/components/views/view-list-item.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useRef } from "react";
import { observer } from "mobx-react";
import { useParams } from "next/navigation";
diff --git a/apps/web/core/components/web-hooks/form/secret-key.tsx b/apps/web/core/components/web-hooks/form/secret-key.tsx
index 50ec98ea479..98bf1b73c88 100644
--- a/apps/web/core/components/web-hooks/form/secret-key.tsx
+++ b/apps/web/core/components/web-hooks/form/secret-key.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useState } from "react";
import { range } from "lodash-es";
import { observer } from "mobx-react";
diff --git a/apps/web/core/components/workspace-notifications/notification-app-sidebar-option.tsx b/apps/web/core/components/workspace-notifications/notification-app-sidebar-option.tsx
index a6b39246ed2..935c36ae503 100644
--- a/apps/web/core/components/workspace-notifications/notification-app-sidebar-option.tsx
+++ b/apps/web/core/components/workspace-notifications/notification-app-sidebar-option.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import useSWR from "swr";
// plane imports
diff --git a/apps/web/core/components/workspace/billing/comparison/feature-detail.tsx b/apps/web/core/components/workspace/billing/comparison/feature-detail.tsx
index 5476f142a15..b3335f3454b 100644
--- a/apps/web/core/components/workspace/billing/comparison/feature-detail.tsx
+++ b/apps/web/core/components/workspace/billing/comparison/feature-detail.tsx
@@ -7,7 +7,6 @@
import { CheckCircle2, Minus, MinusCircle } from "lucide-react";
import type { EProductSubscriptionEnum } from "@plane/types";
// plane imports
-import { cn } from "@plane/utils";
// constants
import type { TPlanFeatureData } from "@/constants/plans";
@@ -17,7 +16,7 @@ type TPlanFeatureDetailProps = {
};
export function PlanFeatureDetail(props: TPlanFeatureDetailProps) {
- const { subscriptionType, data } = props;
+ const { data } = props;
if (data === null || data === undefined) {
return
;
diff --git a/apps/web/core/hooks/use-collaborative-page-actions.tsx b/apps/web/core/hooks/use-collaborative-page-actions.tsx
index 7fc1491ff27..d212b47da65 100644
--- a/apps/web/core/hooks/use-collaborative-page-actions.tsx
+++ b/apps/web/core/hooks/use-collaborative-page-actions.tsx
@@ -5,7 +5,7 @@
*/
import { useState, useEffect, useCallback, useMemo } from "react";
-import type { EditorRefApi, TDocumentEventsServer } from "@plane/editor";
+import type { TDocumentEventsServer } from "@plane/editor";
import type { TDocumentEventsClient } from "@plane/editor/lib";
import { DocumentCollaborativeEvents, getServerEventName } from "@plane/editor/lib";
import { TOAST_TYPE, setToast } from "@plane/propel/toast";
diff --git a/apps/web/core/services/analytics.service.ts b/apps/web/core/services/analytics.service.ts
index 9b0c9431df0..4480d37bd07 100644
--- a/apps/web/core/services/analytics.service.ts
+++ b/apps/web/core/services/analytics.service.ts
@@ -88,7 +88,7 @@ export class AnalyticsService extends APIService {
});
}
- processUrl
(
+ processUrl<_T extends string>(
endpoint: string,
workspaceSlug: string,
tab: TAnalyticsGraphsBase | TAnalyticsTabsBase,
diff --git a/apps/web/core/services/instance.service.ts b/apps/web/core/services/instance.service.ts
index ae2e9d516ff..875401da36b 100644
--- a/apps/web/core/services/instance.service.ts
+++ b/apps/web/core/services/instance.service.ts
@@ -6,7 +6,7 @@
// types
import { API_BASE_URL } from "@plane/constants";
-import type { IInstanceInfo, TPage } from "@plane/types";
+import type { IInstanceInfo } from "@plane/types";
// helpers
// services
import { APIService } from "@/services/api.service";
diff --git a/apps/web/core/store/issue/issue-details/relation.store.ts b/apps/web/core/store/issue/issue-details/relation.store.ts
index f03b73cf3a1..4cdabd8a8cf 100644
--- a/apps/web/core/store/issue/issue-details/relation.store.ts
+++ b/apps/web/core/store/issue/issue-details/relation.store.ts
@@ -305,7 +305,7 @@ export class IssueRelationStore implements IIssueRelationStore {
set(this.relationMap, [issueId], issueRelations);
}
});
- } catch (e) {
+ } catch (_e) {
console.error("Error while extracting issue relations from issues");
}
};
diff --git a/apps/web/core/store/issue/issue-details/root.store.ts b/apps/web/core/store/issue/issue-details/root.store.ts
index ea0775aa157..77c7b64323d 100644
--- a/apps/web/core/store/issue/issue-details/root.store.ts
+++ b/apps/web/core/store/issue/issue-details/root.store.ts
@@ -23,7 +23,6 @@ import type {
IIssueActivityStoreActions,
TActivityLoader,
} from "@/plane-web/store/issue/issue-details/activity.store";
-import type { RootStore } from "@/plane-web/store/root.store";
import type { TIssueRelationTypes } from "@/plane-web/types";
import type { IIssueRootStore } from "../root.store";
import { IssueAttachmentStore } from "./attachment.store";
diff --git a/apps/web/core/store/issue/module/issue.store.ts b/apps/web/core/store/issue/module/issue.store.ts
index 973ff92fcd0..4f3fbddbf82 100644
--- a/apps/web/core/store/issue/module/issue.store.ts
+++ b/apps/web/core/store/issue/module/issue.store.ts
@@ -117,7 +117,7 @@ export class ModuleIssues extends BaseIssuesStore implements IModuleIssues {
const moduleId = id ?? this.moduleId;
moduleId && this.rootIssueStore.rootStore.module.updateModuleDistribution(distributionUpdates, moduleId);
- } catch (e) {
+ } catch (_e) {
console.warn("could not update module statistics");
}
};
diff --git a/apps/web/core/store/issue/workspace-draft/issue.store.ts b/apps/web/core/store/issue/workspace-draft/issue.store.ts
index 48b017676bd..850a9e03e31 100644
--- a/apps/web/core/store/issue/workspace-draft/issue.store.ts
+++ b/apps/web/core/store/issue/workspace-draft/issue.store.ts
@@ -391,31 +391,39 @@ export class WorkspaceDraftIssues implements IWorkspaceDraftIssues {
// dummies
viewFlags: ViewFlags = { enableQuickAdd: false, enableIssueCreation: false, enableInlineEditing: false };
groupedIssueIds: TGroupedIssues | TSubGroupedIssues | undefined = undefined;
- getIssueIds = (groupId?: string, subGroupId?: string) => undefined;
- getPaginationData = (groupId: string | undefined, subGroupId: string | undefined) => undefined;
- getIssueLoader = (groupId?: string, subGroupId?: string) => "loaded" as TLoader;
- getGroupIssueCount = (groupId: string | undefined, subGroupId: string | undefined, isSubGroupCumulative: boolean) =>
- undefined;
- removeCycleFromIssue = async (workspaceSlug: string, projectId: string, issueId: string) => {};
+ getIssueIds = (_groupId?: string, _subGroupId?: string) => undefined;
+ getPaginationData = (_groupId: string | undefined, _subGroupId: string | undefined) => undefined;
+ getIssueLoader = (_groupId?: string, _subGroupId?: string) => "loaded" as TLoader;
+ getGroupIssueCount = (
+ _groupId: string | undefined,
+ _subGroupId: string | undefined,
+ _isSubGroupCumulative: boolean
+ ) => undefined;
+ removeCycleFromIssue = async (_workspaceSlug: string, _projectId: string, _issueId: string) => {};
addIssueToCycle = async (
- workspaceSlug: string,
- projectId: string,
- cycleId: string,
- issueIds: string[],
- fetchAddedIssues?: boolean
+ _workspaceSlug: string,
+ _projectId: string,
+ _cycleId: string,
+ _issueIds: string[],
+ _fetchAddedIssues?: boolean
) => {};
- removeIssueFromCycle = async (workspaceSlug: string, projectId: string, cycleId: string, issueId: string) => {};
+ removeIssueFromCycle = async (_workspaceSlug: string, _projectId: string, _cycleId: string, _issueId: string) => {};
- removeIssuesFromModule = async (workspaceSlug: string, projectId: string, moduleId: string, issueIds: string[]) => {};
+ removeIssuesFromModule = async (
+ _workspaceSlug: string,
+ _projectId: string,
+ _moduleId: string,
+ _issueIds: string[]
+ ) => {};
changeModulesInIssue = async (
- workspaceSlug: string,
- projectId: string,
- issueId: string,
- addModuleIds: string[],
- removeModuleIds: string[]
+ _workspaceSlug: string,
+ _projectId: string,
+ _issueId: string,
+ _addModuleIds: string[],
+ _removeModuleIds: string[]
) => {};
- archiveIssue = async (workspaceSlug: string, projectId: string, issueId: string) => {};
- archiveBulkIssues = async (workspaceSlug: string, projectId: string, issueIds: string[]) => {};
- removeBulkIssues = async (workspaceSlug: string, projectId: string, issueIds: string[]) => {};
- bulkUpdateProperties = async (workspaceSlug: string, projectId: string, data: TBulkOperationsPayload) => {};
+ archiveIssue = async (_workspaceSlug: string, _projectId: string, _issueId: string) => {};
+ archiveBulkIssues = async (_workspaceSlug: string, _projectId: string, _issueIds: string[]) => {};
+ removeBulkIssues = async (_workspaceSlug: string, _projectId: string, _issueIds: string[]) => {};
+ bulkUpdateProperties = async (_workspaceSlug: string, _projectId: string, _data: TBulkOperationsPayload) => {};
}
diff --git a/apps/web/core/store/pages/project-page.store.ts b/apps/web/core/store/pages/project-page.store.ts
index c84dad1b5d9..abb48ab9178 100644
--- a/apps/web/core/store/pages/project-page.store.ts
+++ b/apps/web/core/store/pages/project-page.store.ts
@@ -328,7 +328,7 @@ export class ProjectPageStore implements IProjectPageStore {
* @description delete a page
* @param {string} pageId
*/
- removePage = async ({ pageId, shouldSync = true }: { pageId: string; shouldSync?: boolean }) => {
+ removePage = async ({ pageId, shouldSync: _shouldSync = true }: { pageId: string; shouldSync?: boolean }) => {
try {
const { workspaceSlug, projectId } = this.store.router;
if (!workspaceSlug || !projectId || !pageId) return undefined;
From 5a7d1ebd65c9283ec97a155bc5dd3c914431206d Mon Sep 17 00:00:00 2001
From: darkingtail <51188676+darkingtail@users.noreply.github.com>
Date: Wed, 25 Mar 2026 04:20:38 +0800
Subject: [PATCH 025/138] fix: remove unused imports and variables (part 3)
(#8753)
Resolve oxlint no-unused-vars warnings in
apps/web/core/components/issues/.
---
.../core/components/issues/archived-issues-header.tsx | 1 -
.../components/issues/attachment/attachment-detail.tsx | 1 -
.../issues/attachment/attachment-item-list.tsx | 1 -
.../issues/attachment/attachment-list-item.tsx | 1 -
.../components/issues/attachment/attachments-list.tsx | 1 -
.../issues/attachment/delete-attachment-modal.tsx | 1 -
.../issues/create-issue-toast-action-items.tsx | 5 ++---
.../issues/issue-detail-widgets/action-buttons.tsx | 1 -
.../issue-detail-widgets/attachments/content.tsx | 1 -
.../attachments/quick-action-button.tsx | 1 -
.../issues/issue-detail-widgets/attachments/root.tsx | 1 -
.../issues/issue-detail-widgets/attachments/title.tsx | 1 -
.../issue-detail-widget-collapsibles.tsx | 1 -
.../issue-detail-widget-modals.tsx | 1 -
.../issues/issue-detail-widgets/links/content.tsx | 1 -
.../issue-detail-widgets/links/quick-action-button.tsx | 1 -
.../issues/issue-detail-widgets/links/root.tsx | 1 -
.../issues/issue-detail-widgets/links/title.tsx | 1 -
.../issues/issue-detail-widgets/relations/content.tsx | 1 -
.../relations/quick-action-button.tsx | 1 -
.../issues/issue-detail-widgets/relations/root.tsx | 1 -
.../issues/issue-detail-widgets/relations/title.tsx | 1 -
.../components/issues/issue-detail-widgets/root.tsx | 1 -
.../issues/issue-detail-widgets/sub-issues/content.tsx | 1 -
.../sub-issues/display-filters.tsx | 1 -
.../issues/issue-detail-widgets/sub-issues/filters.tsx | 1 -
.../sub-issues/issues-list/list-group.tsx | 1 -
.../sub-issues/quick-action-button.tsx | 1 -
.../issues/issue-detail-widgets/sub-issues/root.tsx | 1 -
.../issue-detail-widgets/sub-issues/title-actions.tsx | 1 -
.../issues/issue-detail-widgets/sub-issues/title.tsx | 10 +---------
.../issues/issue-detail-widgets/widget-button.tsx | 1 -
.../activity/actions/helpers/activity-block.tsx | 2 +-
.../issue-activity/activity/actions/target_date.tsx | 1 -
.../core/components/issues/issue-detail/label/root.tsx | 2 +-
.../issue-detail/links/create-update-link-modal.tsx | 1 -
.../components/issues/issue-detail/reactions/issue.tsx | 2 +-
.../components/issues/issue-detail/subscription.tsx | 1 -
.../issues/issue-layouts/calendar/calendar.tsx | 1 -
.../issues/issue-layouts/calendar/day-tile.tsx | 1 -
.../calendar/dropdowns/months-dropdown.tsx | 1 -
.../calendar/dropdowns/options-dropdown.tsx | 1 -
.../issues/issue-layouts/calendar/header.tsx | 1 -
.../issues/issue-layouts/calendar/week-days.tsx | 1 -
.../issues/issue-layouts/empty-states/project-view.tsx | 2 +-
.../issue-layouts/filters/header/helpers/dropdown.tsx | 1 -
.../components/issues/issue-layouts/kanban/default.tsx | 3 ---
.../issue-layouts/kanban/headers/sub-group-by-card.tsx | 1 -
.../issues/issue-layouts/list/block-root.tsx | 2 +-
.../issues/issue-layouts/list/blocks-list.tsx | 2 +-
.../issue-layouts/list/headers/group-by-card.tsx | 2 +-
.../issue-layouts/list/roots/archived-issue-root.tsx | 1 -
.../issue-layouts/list/roots/profile-issues-root.tsx | 1 -
.../issues/issue-layouts/list/roots/project-root.tsx | 1 -
.../quick-action-dropdowns/issue-detail.tsx | 3 +--
.../issues/issue-layouts/quick-add/button/gantt.tsx | 1 -
.../issues/issue-layouts/quick-add/button/kanban.tsx | 1 -
.../issues/issue-layouts/quick-add/button/list.tsx | 1 -
.../issue-layouts/quick-add/button/spreadsheet.tsx | 1 -
.../issues/issue-layouts/quick-add/form/calendar.tsx | 1 -
.../issues/issue-layouts/quick-add/form/gantt.tsx | 1 -
.../issues/issue-layouts/quick-add/form/kanban.tsx | 1 -
.../issues/issue-layouts/quick-add/form/list.tsx | 1 -
.../issue-layouts/quick-add/form/spreadsheet.tsx | 1 -
.../issue-layouts/roots/all-issue-layout-root.tsx | 1 -
.../web/core/components/issues/issue-layouts/utils.tsx | 2 +-
apps/web/core/components/issues/issue-modal/form.tsx | 2 --
.../core/components/issues/layout-quick-actions.tsx | 2 +-
.../web/core/components/issues/peek-overview/error.tsx | 1 -
.../components/issues/peek-overview/issue-detail.tsx | 1 -
.../core/components/issues/peek-overview/loader.tsx | 1 -
apps/web/core/components/issues/peek-overview/root.tsx | 2 +-
apps/web/core/components/issues/peek-overview/view.tsx | 1 -
.../components/issues/relations/issue-list-item.tsx | 1 -
.../core/components/issues/relations/issue-list.tsx | 1 -
.../core/components/issues/relations/properties.tsx | 1 -
apps/web/core/components/issues/title-input.tsx | 1 -
.../issues/workspace-draft/draft-issue-block.tsx | 1 -
.../components/issues/workspace-draft/empty-state.tsx | 1 -
.../core/components/issues/workspace-draft/loader.tsx | 1 -
80 files changed, 14 insertions(+), 94 deletions(-)
diff --git a/apps/web/core/components/issues/archived-issues-header.tsx b/apps/web/core/components/issues/archived-issues-header.tsx
index 2f0077911e1..8190b45853d 100644
--- a/apps/web/core/components/issues/archived-issues-header.tsx
+++ b/apps/web/core/components/issues/archived-issues-header.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import { useParams } from "next/navigation";
// plane imports
diff --git a/apps/web/core/components/issues/attachment/attachment-detail.tsx b/apps/web/core/components/issues/attachment/attachment-detail.tsx
index 1d7db397957..fb486b04b18 100644
--- a/apps/web/core/components/issues/attachment/attachment-detail.tsx
+++ b/apps/web/core/components/issues/attachment/attachment-detail.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useState } from "react";
import { observer } from "mobx-react";
import Link from "next/link";
diff --git a/apps/web/core/components/issues/attachment/attachment-item-list.tsx b/apps/web/core/components/issues/attachment/attachment-item-list.tsx
index 46f619be1c6..0ac4db84f29 100644
--- a/apps/web/core/components/issues/attachment/attachment-item-list.tsx
+++ b/apps/web/core/components/issues/attachment/attachment-item-list.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useCallback, useState } from "react";
import { observer } from "mobx-react";
import type { FileRejection } from "react-dropzone";
diff --git a/apps/web/core/components/issues/attachment/attachment-list-item.tsx b/apps/web/core/components/issues/attachment/attachment-list-item.tsx
index 55023fec4d2..6c8135d6264 100644
--- a/apps/web/core/components/issues/attachment/attachment-list-item.tsx
+++ b/apps/web/core/components/issues/attachment/attachment-list-item.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import { useTranslation } from "@plane/i18n";
diff --git a/apps/web/core/components/issues/attachment/attachments-list.tsx b/apps/web/core/components/issues/attachment/attachments-list.tsx
index 2811709075c..a5d75e16652 100644
--- a/apps/web/core/components/issues/attachment/attachments-list.tsx
+++ b/apps/web/core/components/issues/attachment/attachments-list.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
// hooks
import { useIssueDetail } from "@/hooks/store/use-issue-detail";
diff --git a/apps/web/core/components/issues/attachment/delete-attachment-modal.tsx b/apps/web/core/components/issues/attachment/delete-attachment-modal.tsx
index 691b3126170..676f4e38290 100644
--- a/apps/web/core/components/issues/attachment/delete-attachment-modal.tsx
+++ b/apps/web/core/components/issues/attachment/delete-attachment-modal.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useState } from "react";
import { observer } from "mobx-react";
// plane-i18n
diff --git a/apps/web/core/components/issues/create-issue-toast-action-items.tsx b/apps/web/core/components/issues/create-issue-toast-action-items.tsx
index 1d894dbf8ed..2bdcd552a81 100644
--- a/apps/web/core/components/issues/create-issue-toast-action-items.tsx
+++ b/apps/web/core/components/issues/create-issue-toast-action-items.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React, { useState } from "react";
import { observer } from "mobx-react";
import { copyUrlToClipboard, generateWorkItemLink } from "@plane/utils";
@@ -24,7 +23,7 @@ type TCreateIssueToastActionItems = {
export const CreateIssueToastActionItems = observer(function CreateIssueToastActionItems(
props: TCreateIssueToastActionItems
) {
- const { workspaceSlug, projectId, issueId, isEpic = false } = props;
+ const { workspaceSlug, issueId, isEpic = false } = props;
// state
const [copied, setCopied] = useState(false);
// store hooks
@@ -53,7 +52,7 @@ export const CreateIssueToastActionItems = observer(function CreateIssueToastAct
await copyUrlToClipboard(workItemLink);
setCopied(true);
setTimeout(() => setCopied(false), 3000);
- } catch (error) {
+ } catch (_error) {
setCopied(false);
}
e.preventDefault();
diff --git a/apps/web/core/components/issues/issue-detail-widgets/action-buttons.tsx b/apps/web/core/components/issues/issue-detail-widgets/action-buttons.tsx
index c82628e3a90..e9b1ac43a9b 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/action-buttons.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/action-buttons.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React from "react";
import { Paperclip } from "lucide-react";
import { useTranslation } from "@plane/i18n";
diff --git a/apps/web/core/components/issues/issue-detail-widgets/attachments/content.tsx b/apps/web/core/components/issues/issue-detail-widgets/attachments/content.tsx
index a536acf5a56..90c738ee784 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/attachments/content.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/attachments/content.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React from "react";
import { observer } from "mobx-react";
import type { TIssueServiceType } from "@plane/types";
diff --git a/apps/web/core/components/issues/issue-detail-widgets/attachments/quick-action-button.tsx b/apps/web/core/components/issues/issue-detail-widgets/attachments/quick-action-button.tsx
index 4354d380697..7853b3b4e40 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/attachments/quick-action-button.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/attachments/quick-action-button.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React, { useCallback, useState } from "react";
import { observer } from "mobx-react";
import type { FileRejection } from "react-dropzone";
diff --git a/apps/web/core/components/issues/issue-detail-widgets/attachments/root.tsx b/apps/web/core/components/issues/issue-detail-widgets/attachments/root.tsx
index 0c94fca605a..e1a94c7d79e 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/attachments/root.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/attachments/root.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React from "react";
import { observer } from "mobx-react";
// plane imports
diff --git a/apps/web/core/components/issues/issue-detail-widgets/attachments/title.tsx b/apps/web/core/components/issues/issue-detail-widgets/attachments/title.tsx
index 74d69f3cfbe..28ce79670b7 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/attachments/title.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/attachments/title.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React, { useMemo } from "react";
import { observer } from "mobx-react";
import { useTranslation } from "@plane/i18n";
diff --git a/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-collapsibles.tsx b/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-collapsibles.tsx
index 962e933190a..8f741ad1660 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-collapsibles.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-collapsibles.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React from "react";
import { observer } from "mobx-react";
// plane imports
diff --git a/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-modals.tsx b/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-modals.tsx
index fc08f6a7b91..de3d180cee5 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-modals.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/issue-detail-widget-modals.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React from "react";
import { observer } from "mobx-react";
import { TOAST_TYPE, setToast } from "@plane/propel/toast";
diff --git a/apps/web/core/components/issues/issue-detail-widgets/links/content.tsx b/apps/web/core/components/issues/issue-detail-widgets/links/content.tsx
index 999721885ca..3ffe9950c22 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/links/content.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/links/content.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React from "react";
import type { TIssueServiceType } from "@plane/types";
// components
diff --git a/apps/web/core/components/issues/issue-detail-widgets/links/quick-action-button.tsx b/apps/web/core/components/issues/issue-detail-widgets/links/quick-action-button.tsx
index f10504ef7ad..7ed50892902 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/links/quick-action-button.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/links/quick-action-button.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React from "react";
import { observer } from "mobx-react";
import { PlusIcon } from "@plane/propel/icons";
diff --git a/apps/web/core/components/issues/issue-detail-widgets/links/root.tsx b/apps/web/core/components/issues/issue-detail-widgets/links/root.tsx
index b38c6b2b6fd..bd963868a2e 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/links/root.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/links/root.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React from "react";
import { observer } from "mobx-react";
// plane imports
diff --git a/apps/web/core/components/issues/issue-detail-widgets/links/title.tsx b/apps/web/core/components/issues/issue-detail-widgets/links/title.tsx
index ceb855a1dab..b9d1fa76360 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/links/title.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/links/title.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React, { useMemo } from "react";
import { observer } from "mobx-react";
// plane imports
diff --git a/apps/web/core/components/issues/issue-detail-widgets/relations/content.tsx b/apps/web/core/components/issues/issue-detail-widgets/relations/content.tsx
index c7b6377ac74..2e2f5f4a88d 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/relations/content.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/relations/content.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useState } from "react";
import { observer } from "mobx-react";
// plane imports
diff --git a/apps/web/core/components/issues/issue-detail-widgets/relations/quick-action-button.tsx b/apps/web/core/components/issues/issue-detail-widgets/relations/quick-action-button.tsx
index 98700c91818..46375887c71 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/relations/quick-action-button.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/relations/quick-action-button.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React from "react";
import { observer } from "mobx-react";
diff --git a/apps/web/core/components/issues/issue-detail-widgets/relations/root.tsx b/apps/web/core/components/issues/issue-detail-widgets/relations/root.tsx
index edebdb19b61..d1b5d80880d 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/relations/root.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/relations/root.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React from "react";
import { observer } from "mobx-react";
// plane imports
diff --git a/apps/web/core/components/issues/issue-detail-widgets/relations/title.tsx b/apps/web/core/components/issues/issue-detail-widgets/relations/title.tsx
index ce4bdab4aa1..658359c22d0 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/relations/title.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/relations/title.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React, { useMemo } from "react";
import { observer } from "mobx-react";
import { useTranslation } from "@plane/i18n";
diff --git a/apps/web/core/components/issues/issue-detail-widgets/root.tsx b/apps/web/core/components/issues/issue-detail-widgets/root.tsx
index 037e345f1fe..2218ec3b7aa 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/root.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/root.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React from "react";
// plane imports
import type { TIssueServiceType, TWorkItemWidgets } from "@plane/types";
diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/content.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/content.tsx
index 96e020113a1..0dbf8c85ab5 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/content.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/content.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React, { useEffect, useState, useCallback } from "react";
import { observer } from "mobx-react";
import type { TIssue, TIssueServiceType } from "@plane/types";
diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/display-filters.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/display-filters.tsx
index 4d679d69379..cf4260b2eba 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/display-filters.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/display-filters.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useMemo } from "react";
import { isEmpty } from "lodash-es";
import { observer } from "mobx-react";
diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/filters.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/filters.tsx
index ea95af28dc1..9dbaf05d2de 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/filters.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/filters.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useMemo, useState } from "react";
import { observer } from "mobx-react";
import { ListFilter } from "lucide-react";
diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/list-group.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/list-group.tsx
index 94fa95d4358..b76d7241002 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/list-group.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/list-group.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useState } from "react";
import { observer } from "mobx-react";
import { CircleDashed } from "lucide-react";
diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/quick-action-button.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/quick-action-button.tsx
index 8e825e00c0e..ded8cc8cb96 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/quick-action-button.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/quick-action-button.tsx
@@ -7,7 +7,6 @@
import React from "react";
import { observer } from "mobx-react";
// plane imports
-import { WORK_ITEM_TRACKER_EVENTS } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
import { PlusIcon, WorkItemsIcon } from "@plane/propel/icons";
import type { TIssue, TIssueServiceType } from "@plane/types";
diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/root.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/root.tsx
index c0de91cb92b..4bc8c79690c 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/root.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/root.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React from "react";
import { observer } from "mobx-react";
// plane imports
diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/title-actions.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/title-actions.tsx
index 997a1ae574d..524ec47951e 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/title-actions.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/title-actions.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useCallback } from "react";
import { cloneDeep } from "lodash-es";
import { observer } from "mobx-react";
diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/title.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/title.tsx
index 1298dbe156b..10beb87889d 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/title.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/title.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
// plane imports
import { useTranslation } from "@plane/i18n";
@@ -25,14 +24,7 @@ type Props = {
};
export const SubIssuesCollapsibleTitle = observer(function SubIssuesCollapsibleTitle(props: Props) {
- const {
- isOpen,
- parentIssueId,
- disabled,
- issueServiceType = EIssueServiceType.ISSUES,
- projectId,
- workspaceSlug,
- } = props;
+ const { isOpen, parentIssueId, disabled, issueServiceType = EIssueServiceType.ISSUES, projectId } = props;
// translation
const { t } = useTranslation();
// store hooks
diff --git a/apps/web/core/components/issues/issue-detail-widgets/widget-button.tsx b/apps/web/core/components/issues/issue-detail-widgets/widget-button.tsx
index c848aeea112..df2dd31cf5d 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/widget-button.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/widget-button.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React from "react";
// helpers
import { Button } from "@plane/propel/button";
diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/helpers/activity-block.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/helpers/activity-block.tsx
index 1906cd8d6ca..a88bc7a806a 100644
--- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/helpers/activity-block.tsx
+++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/helpers/activity-block.tsx
@@ -4,7 +4,7 @@
* See the LICENSE file for details.
*/
-import type { FC, ReactNode } from "react";
+import type { ReactNode } from "react";
import { Network } from "lucide-react";
// plane imports
import { Tooltip } from "@plane/propel/tooltip";
diff --git a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/target_date.tsx b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/target_date.tsx
index a7da1d45d20..d38c497089d 100644
--- a/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/target_date.tsx
+++ b/apps/web/core/components/issues/issue-detail/issue-activity/activity/actions/target_date.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import { CalendarDays } from "lucide-react";
// hooks
diff --git a/apps/web/core/components/issues/issue-detail/label/root.tsx b/apps/web/core/components/issues/issue-detail/label/root.tsx
index bc9ecd34a25..b205c56d5c0 100644
--- a/apps/web/core/components/issues/issue-detail/label/root.tsx
+++ b/apps/web/core/components/issues/issue-detail/label/root.tsx
@@ -62,7 +62,7 @@ export const IssueLabel = observer(function IssueLabel(props: TIssueLabel) {
try {
if (onLabelUpdate) onLabelUpdate(data.label_ids || []);
else await updateIssue(workspaceSlug, projectId, issueId, data);
- } catch (error) {
+ } catch (_error) {
setToast({
title: t("toast.error"),
type: TOAST_TYPE.ERROR,
diff --git a/apps/web/core/components/issues/issue-detail/links/create-update-link-modal.tsx b/apps/web/core/components/issues/issue-detail/links/create-update-link-modal.tsx
index 4f37b31a80f..ecc11ddcdf4 100644
--- a/apps/web/core/components/issues/issue-detail/links/create-update-link-modal.tsx
+++ b/apps/web/core/components/issues/issue-detail/links/create-update-link-modal.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useEffect } from "react";
import { observer } from "mobx-react";
import { Controller, useForm } from "react-hook-form";
diff --git a/apps/web/core/components/issues/issue-detail/reactions/issue.tsx b/apps/web/core/components/issues/issue-detail/reactions/issue.tsx
index 20e2e17bc5c..ac1f944102b 100644
--- a/apps/web/core/components/issues/issue-detail/reactions/issue.tsx
+++ b/apps/web/core/components/issues/issue-detail/reactions/issue.tsx
@@ -54,7 +54,7 @@ export const IssueReaction = observer(function IssueReaction(props: TIssueReacti
type: TOAST_TYPE.SUCCESS,
message: "Reaction created successfully",
});
- } catch (error) {
+ } catch (_error) {
setToast({
title: "Error!",
type: TOAST_TYPE.ERROR,
diff --git a/apps/web/core/components/issues/issue-detail/subscription.tsx b/apps/web/core/components/issues/issue-detail/subscription.tsx
index 16c3fa41075..d9573d63c62 100644
--- a/apps/web/core/components/issues/issue-detail/subscription.tsx
+++ b/apps/web/core/components/issues/issue-detail/subscription.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useState } from "react";
import { isNil } from "lodash-es";
import { observer } from "mobx-react";
diff --git a/apps/web/core/components/issues/issue-layouts/calendar/calendar.tsx b/apps/web/core/components/issues/issue-layouts/calendar/calendar.tsx
index d028c4f5adf..1d1ed886039 100644
--- a/apps/web/core/components/issues/issue-layouts/calendar/calendar.tsx
+++ b/apps/web/core/components/issues/issue-layouts/calendar/calendar.tsx
@@ -30,7 +30,6 @@ import { MONTHS_LIST } from "@/constants/calendar";
import { useIssues } from "@/hooks/store/use-issues";
import useSize from "@/hooks/use-window-size";
// store
-import type { IProjectEpicsFilter } from "@/plane-web/store/issue/epic";
import type { ICycleIssuesFilter } from "@/store/issue/cycle";
import type { ICalendarStore } from "@/store/issue/issue_calendar_view.store";
import type { IModuleIssuesFilter } from "@/store/issue/module";
diff --git a/apps/web/core/components/issues/issue-layouts/calendar/day-tile.tsx b/apps/web/core/components/issues/issue-layouts/calendar/day-tile.tsx
index ebf54597305..78a55230067 100644
--- a/apps/web/core/components/issues/issue-layouts/calendar/day-tile.tsx
+++ b/apps/web/core/components/issues/issue-layouts/calendar/day-tile.tsx
@@ -20,7 +20,6 @@ import { highlightIssueOnDrop } from "@/components/issues/issue-layouts/utils";
import { MONTHS_LIST } from "@/constants/calendar";
// helpers
// types
-import type { IProjectEpicsFilter } from "@/plane-web/store/issue/epic";
import type { ICycleIssuesFilter } from "@/store/issue/cycle";
import type { IModuleIssuesFilter } from "@/store/issue/module";
import type { IProjectIssuesFilter } from "@/store/issue/project";
diff --git a/apps/web/core/components/issues/issue-layouts/calendar/dropdowns/months-dropdown.tsx b/apps/web/core/components/issues/issue-layouts/calendar/dropdowns/months-dropdown.tsx
index e6228890dcf..9539c5dd5c2 100644
--- a/apps/web/core/components/issues/issue-layouts/calendar/dropdowns/months-dropdown.tsx
+++ b/apps/web/core/components/issues/issue-layouts/calendar/dropdowns/months-dropdown.tsx
@@ -15,7 +15,6 @@ import { ChevronLeftIcon, ChevronRightIcon } from "@plane/propel/icons";
import { getDate } from "@plane/utils";
import { MONTHS_LIST } from "@/constants/calendar";
import { useCalendarView } from "@/hooks/store/use-calendar-view";
-import type { IProjectEpicsFilter } from "@/plane-web/store/issue/epic";
import type { ICycleIssuesFilter } from "@/store/issue/cycle";
import type { IModuleIssuesFilter } from "@/store/issue/module";
import type { IProjectIssuesFilter } from "@/store/issue/project";
diff --git a/apps/web/core/components/issues/issue-layouts/calendar/dropdowns/options-dropdown.tsx b/apps/web/core/components/issues/issue-layouts/calendar/dropdowns/options-dropdown.tsx
index b0503c26d51..2917da06979 100644
--- a/apps/web/core/components/issues/issue-layouts/calendar/dropdowns/options-dropdown.tsx
+++ b/apps/web/core/components/issues/issue-layouts/calendar/dropdowns/options-dropdown.tsx
@@ -24,7 +24,6 @@ import { ToggleSwitch } from "@plane/ui";
import { CALENDAR_LAYOUTS } from "@/constants/calendar";
import { useCalendarView } from "@/hooks/store/use-calendar-view";
import useSize from "@/hooks/use-window-size";
-import type { IProjectEpicsFilter } from "@/plane-web/store/issue/epic";
import type { ICycleIssuesFilter } from "@/store/issue/cycle";
import type { IModuleIssuesFilter } from "@/store/issue/module";
import type { IProjectIssuesFilter } from "@/store/issue/project";
diff --git a/apps/web/core/components/issues/issue-layouts/calendar/header.tsx b/apps/web/core/components/issues/issue-layouts/calendar/header.tsx
index ebb5b64f37b..a16d80a15dc 100644
--- a/apps/web/core/components/issues/issue-layouts/calendar/header.tsx
+++ b/apps/web/core/components/issues/issue-layouts/calendar/header.tsx
@@ -14,7 +14,6 @@ import type { TSupportedFilterForUpdate } from "@plane/types";
import { Row } from "@plane/ui";
// icons
import { useCalendarView } from "@/hooks/store/use-calendar-view";
-import type { IProjectEpicsFilter } from "@/plane-web/store/issue/epic";
import type { ICycleIssuesFilter } from "@/store/issue/cycle";
import type { IModuleIssuesFilter } from "@/store/issue/module";
import type { IProjectIssuesFilter } from "@/store/issue/project";
diff --git a/apps/web/core/components/issues/issue-layouts/calendar/week-days.tsx b/apps/web/core/components/issues/issue-layouts/calendar/week-days.tsx
index 5f3381e0c75..5635d6d410f 100644
--- a/apps/web/core/components/issues/issue-layouts/calendar/week-days.tsx
+++ b/apps/web/core/components/issues/issue-layouts/calendar/week-days.tsx
@@ -11,7 +11,6 @@ import { cn, getOrderedDays, renderFormattedPayloadDate } from "@plane/utils";
// hooks
import { useUserProfile } from "@/hooks/store/user";
// types
-import type { IProjectEpicsFilter } from "@/plane-web/store/issue/epic";
import type { ICycleIssuesFilter } from "@/store/issue/cycle";
import type { IModuleIssuesFilter } from "@/store/issue/module";
import type { IProjectIssuesFilter } from "@/store/issue/project";
diff --git a/apps/web/core/components/issues/issue-layouts/empty-states/project-view.tsx b/apps/web/core/components/issues/issue-layouts/empty-states/project-view.tsx
index e5b8b1ce4e8..4bcfa8fb977 100644
--- a/apps/web/core/components/issues/issue-layouts/empty-states/project-view.tsx
+++ b/apps/web/core/components/issues/issue-layouts/empty-states/project-view.tsx
@@ -6,7 +6,7 @@
import { observer } from "mobx-react";
// components
-import { EUserPermissions, EUserPermissionsLevel, WORK_ITEM_TRACKER_ELEMENTS } from "@plane/constants";
+import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants";
import { EmptyStateDetailed } from "@plane/propel/empty-state";
import { EIssuesStoreType } from "@plane/types";
// hooks
diff --git a/apps/web/core/components/issues/issue-layouts/filters/header/helpers/dropdown.tsx b/apps/web/core/components/issues/issue-layouts/filters/header/helpers/dropdown.tsx
index 4067fa38f41..fdf49f374a8 100644
--- a/apps/web/core/components/issues/issue-layouts/filters/header/helpers/dropdown.tsx
+++ b/apps/web/core/components/issues/issue-layouts/filters/header/helpers/dropdown.tsx
@@ -11,7 +11,6 @@ import { usePopper } from "react-popper";
import { Popover, Transition } from "@headlessui/react";
// ui
import { Button } from "@plane/propel/button";
-import { ChevronUpIcon } from "@plane/propel/icons";
type Props = {
children: React.ReactNode;
diff --git a/apps/web/core/components/issues/issue-layouts/kanban/default.tsx b/apps/web/core/components/issues/issue-layouts/kanban/default.tsx
index d52e256a218..b7326ee0f9c 100644
--- a/apps/web/core/components/issues/issue-layouts/kanban/default.tsx
+++ b/apps/web/core/components/issues/issue-layouts/kanban/default.tsx
@@ -6,8 +6,6 @@
import type { MutableRefObject } from "react";
import { observer } from "mobx-react";
-// i18n
-import { useTranslation } from "@plane/i18n";
import type {
GroupByColumnTypes,
IGroupByColumn,
@@ -100,7 +98,6 @@ export const KanBan = observer(function KanBan(props: IKanBan) {
isEpic = false,
} = props;
// i18n
- const { t } = useTranslation();
// store hooks
const storeType = useIssueStoreType();
const issueKanBanView = useKanbanView();
diff --git a/apps/web/core/components/issues/issue-layouts/kanban/headers/sub-group-by-card.tsx b/apps/web/core/components/issues/issue-layouts/kanban/headers/sub-group-by-card.tsx
index 1a3827672f1..55eb49155b1 100644
--- a/apps/web/core/components/issues/issue-layouts/kanban/headers/sub-group-by-card.tsx
+++ b/apps/web/core/components/issues/issue-layouts/kanban/headers/sub-group-by-card.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React from "react";
import { observer } from "mobx-react";
import { Circle } from "lucide-react";
diff --git a/apps/web/core/components/issues/issue-layouts/list/block-root.tsx b/apps/web/core/components/issues/issue-layouts/list/block-root.tsx
index 8ab27463dd0..7050cd1addc 100644
--- a/apps/web/core/components/issues/issue-layouts/list/block-root.tsx
+++ b/apps/web/core/components/issues/issue-layouts/list/block-root.tsx
@@ -4,7 +4,7 @@
* See the LICENSE file for details.
*/
-import type { FC, MutableRefObject } from "react";
+import type { MutableRefObject } from "react";
import React, { useEffect, useRef, useState } from "react";
import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine";
import { dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter";
diff --git a/apps/web/core/components/issues/issue-layouts/list/blocks-list.tsx b/apps/web/core/components/issues/issue-layouts/list/blocks-list.tsx
index 958ebb26e29..cc3690900c2 100644
--- a/apps/web/core/components/issues/issue-layouts/list/blocks-list.tsx
+++ b/apps/web/core/components/issues/issue-layouts/list/blocks-list.tsx
@@ -4,7 +4,7 @@
* See the LICENSE file for details.
*/
-import type { FC, MutableRefObject } from "react";
+import type { MutableRefObject } from "react";
// components
import type { TIssue, IIssueDisplayProperties, TIssueMap, TGroupedIssues } from "@plane/types";
// hooks
diff --git a/apps/web/core/components/issues/issue-layouts/list/headers/group-by-card.tsx b/apps/web/core/components/issues/issue-layouts/list/headers/group-by-card.tsx
index ad861ad2cfa..9fec4fc10a1 100644
--- a/apps/web/core/components/issues/issue-layouts/list/headers/group-by-card.tsx
+++ b/apps/web/core/components/issues/issue-layouts/list/headers/group-by-card.tsx
@@ -83,7 +83,7 @@ export const HeaderGroupByCard = observer(function HeaderGroupByCard(props: IHea
title: "Success!",
message: "Work items added to the cycle successfully.",
});
- } catch (error) {
+ } catch (_error) {
setToast({
type: TOAST_TYPE.ERROR,
title: "Error!",
diff --git a/apps/web/core/components/issues/issue-layouts/list/roots/archived-issue-root.tsx b/apps/web/core/components/issues/issue-layouts/list/roots/archived-issue-root.tsx
index 7d134080b0e..54c8913fab3 100644
--- a/apps/web/core/components/issues/issue-layouts/list/roots/archived-issue-root.tsx
+++ b/apps/web/core/components/issues/issue-layouts/list/roots/archived-issue-root.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
// local imports
import { ArchivedIssueQuickActions } from "../../quick-action-dropdowns";
diff --git a/apps/web/core/components/issues/issue-layouts/list/roots/profile-issues-root.tsx b/apps/web/core/components/issues/issue-layouts/list/roots/profile-issues-root.tsx
index eb1c3450e78..cc69e7cdff0 100644
--- a/apps/web/core/components/issues/issue-layouts/list/roots/profile-issues-root.tsx
+++ b/apps/web/core/components/issues/issue-layouts/list/roots/profile-issues-root.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import { useParams } from "next/navigation";
import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants";
diff --git a/apps/web/core/components/issues/issue-layouts/list/roots/project-root.tsx b/apps/web/core/components/issues/issue-layouts/list/roots/project-root.tsx
index 7d4eb226ea9..bde805f3619 100644
--- a/apps/web/core/components/issues/issue-layouts/list/roots/project-root.tsx
+++ b/apps/web/core/components/issues/issue-layouts/list/roots/project-root.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import { useParams } from "next/navigation";
// plane imports
diff --git a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/issue-detail.tsx b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/issue-detail.tsx
index 82e65dd0278..ab391019682 100644
--- a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/issue-detail.tsx
+++ b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/issue-detail.tsx
@@ -7,7 +7,7 @@
import { useState } from "react";
import { omit } from "lodash-es";
import { observer } from "mobx-react";
-import { useParams, usePathname } from "next/navigation";
+import { useParams } from "next/navigation";
import { Ellipsis } from "lucide-react";
// plane imports
import { ARCHIVABLE_STATE_GROUPS, EUserPermissions, EUserPermissionsLevel } from "@plane/constants";
@@ -60,7 +60,6 @@ export const WorkItemDetailQuickActions = observer(function WorkItemDetailQuickA
} = props;
// router
const { workspaceSlug } = useParams();
- const pathname = usePathname();
// states
const [createUpdateIssueModal, setCreateUpdateIssueModal] = useState(false);
const [issueToEdit, setIssueToEdit] = useState(undefined);
diff --git a/apps/web/core/components/issues/issue-layouts/quick-add/button/gantt.tsx b/apps/web/core/components/issues/issue-layouts/quick-add/button/gantt.tsx
index 2700c788867..0362734af1d 100644
--- a/apps/web/core/components/issues/issue-layouts/quick-add/button/gantt.tsx
+++ b/apps/web/core/components/issues/issue-layouts/quick-add/button/gantt.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import { useTranslation } from "@plane/i18n";
diff --git a/apps/web/core/components/issues/issue-layouts/quick-add/button/kanban.tsx b/apps/web/core/components/issues/issue-layouts/quick-add/button/kanban.tsx
index 5a02c87768a..4ecd6a36208 100644
--- a/apps/web/core/components/issues/issue-layouts/quick-add/button/kanban.tsx
+++ b/apps/web/core/components/issues/issue-layouts/quick-add/button/kanban.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import { useTranslation } from "@plane/i18n";
diff --git a/apps/web/core/components/issues/issue-layouts/quick-add/button/list.tsx b/apps/web/core/components/issues/issue-layouts/quick-add/button/list.tsx
index dce450308ff..1a17c44f887 100644
--- a/apps/web/core/components/issues/issue-layouts/quick-add/button/list.tsx
+++ b/apps/web/core/components/issues/issue-layouts/quick-add/button/list.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import { useTranslation } from "@plane/i18n";
diff --git a/apps/web/core/components/issues/issue-layouts/quick-add/button/spreadsheet.tsx b/apps/web/core/components/issues/issue-layouts/quick-add/button/spreadsheet.tsx
index f3f742ff92b..a94ccb068d1 100644
--- a/apps/web/core/components/issues/issue-layouts/quick-add/button/spreadsheet.tsx
+++ b/apps/web/core/components/issues/issue-layouts/quick-add/button/spreadsheet.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import { useTranslation } from "@plane/i18n";
diff --git a/apps/web/core/components/issues/issue-layouts/quick-add/form/calendar.tsx b/apps/web/core/components/issues/issue-layouts/quick-add/form/calendar.tsx
index 1079a45fbf6..9fd69a8b9fe 100644
--- a/apps/web/core/components/issues/issue-layouts/quick-add/form/calendar.tsx
+++ b/apps/web/core/components/issues/issue-layouts/quick-add/form/calendar.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import type { TQuickAddIssueForm } from "../root";
diff --git a/apps/web/core/components/issues/issue-layouts/quick-add/form/gantt.tsx b/apps/web/core/components/issues/issue-layouts/quick-add/form/gantt.tsx
index 01c61213fdf..65d05c40311 100644
--- a/apps/web/core/components/issues/issue-layouts/quick-add/form/gantt.tsx
+++ b/apps/web/core/components/issues/issue-layouts/quick-add/form/gantt.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import { useTranslation } from "@plane/i18n";
import { cn } from "@plane/utils";
diff --git a/apps/web/core/components/issues/issue-layouts/quick-add/form/kanban.tsx b/apps/web/core/components/issues/issue-layouts/quick-add/form/kanban.tsx
index 0338a4f58c3..f6a1aba136b 100644
--- a/apps/web/core/components/issues/issue-layouts/quick-add/form/kanban.tsx
+++ b/apps/web/core/components/issues/issue-layouts/quick-add/form/kanban.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import { useTranslation } from "@plane/i18n";
import type { TQuickAddIssueForm } from "../root";
diff --git a/apps/web/core/components/issues/issue-layouts/quick-add/form/list.tsx b/apps/web/core/components/issues/issue-layouts/quick-add/form/list.tsx
index 7aba3fc4413..7f9ff9b6d25 100644
--- a/apps/web/core/components/issues/issue-layouts/quick-add/form/list.tsx
+++ b/apps/web/core/components/issues/issue-layouts/quick-add/form/list.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import { useTranslation } from "@plane/i18n";
import type { TQuickAddIssueForm } from "../root";
diff --git a/apps/web/core/components/issues/issue-layouts/quick-add/form/spreadsheet.tsx b/apps/web/core/components/issues/issue-layouts/quick-add/form/spreadsheet.tsx
index 10a1acc16bb..ebf5978a2c6 100644
--- a/apps/web/core/components/issues/issue-layouts/quick-add/form/spreadsheet.tsx
+++ b/apps/web/core/components/issues/issue-layouts/quick-add/form/spreadsheet.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { observer } from "mobx-react";
import { useTranslation } from "@plane/i18n";
import type { TQuickAddIssueForm } from "../root";
diff --git a/apps/web/core/components/issues/issue-layouts/roots/all-issue-layout-root.tsx b/apps/web/core/components/issues/issue-layouts/roots/all-issue-layout-root.tsx
index 5a2921ba7e8..a7bad0857bb 100644
--- a/apps/web/core/components/issues/issue-layouts/roots/all-issue-layout-root.tsx
+++ b/apps/web/core/components/issues/issue-layouts/roots/all-issue-layout-root.tsx
@@ -14,7 +14,6 @@ import { EmptyStateDetailed } from "@plane/propel/empty-state";
import type { EIssueLayoutTypes } from "@plane/types";
import { EIssuesStoreType, STATIC_VIEW_TYPES } from "@plane/types";
// assets
-import emptyView from "@/app/assets/empty-state/view.svg?url";
// components
import { IssuePeekOverview } from "@/components/issues/peek-overview";
import { WorkspaceActiveLayout } from "@/components/views/helper";
diff --git a/apps/web/core/components/issues/issue-layouts/utils.tsx b/apps/web/core/components/issues/issue-layouts/utils.tsx
index c1a1a89f358..f6cd86b64ba 100644
--- a/apps/web/core/components/issues/issue-layouts/utils.tsx
+++ b/apps/web/core/components/issues/issue-layouts/utils.tsx
@@ -4,7 +4,7 @@
* See the LICENSE file for details.
*/
-import type { CSSProperties, FC } from "react";
+import type { CSSProperties } from "react";
import { extractInstruction } from "@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item";
import { clone, isNil, pull, uniq, concat } from "lodash-es";
import scrollIntoView from "smooth-scroll-into-view-if-needed";
diff --git a/apps/web/core/components/issues/issue-modal/form.tsx b/apps/web/core/components/issues/issue-modal/form.tsx
index 01812b1bca9..33d7c599317 100644
--- a/apps/web/core/components/issues/issue-modal/form.tsx
+++ b/apps/web/core/components/issues/issue-modal/form.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React, { useState, useRef, useEffect } from "react";
import { observer } from "mobx-react";
import { useParams } from "next/navigation";
@@ -17,7 +16,6 @@ import { useTranslation } from "@plane/i18n";
import { Button } from "@plane/propel/button";
import { TOAST_TYPE, setToast } from "@plane/propel/toast";
import type { TIssue, TWorkspaceDraftIssue } from "@plane/types";
-import { EIssuesStoreType } from "@plane/types";
// hooks
import { ToggleSwitch } from "@plane/ui";
import {
diff --git a/apps/web/core/components/issues/layout-quick-actions.tsx b/apps/web/core/components/issues/layout-quick-actions.tsx
index 39f5061bea3..c68f9e907fb 100644
--- a/apps/web/core/components/issues/layout-quick-actions.tsx
+++ b/apps/web/core/components/issues/layout-quick-actions.tsx
@@ -10,7 +10,7 @@ import type { TContextMenuItem } from "@plane/ui";
import { CustomMenu } from "@plane/ui";
import { copyUrlToClipboard, cn } from "@plane/utils";
import { useLayoutMenuItems } from "@/components/common/quick-actions-helper";
-import { Ellipsis, MoreHorizontal } from "lucide-react";
+import { Ellipsis } from "lucide-react";
import { IconButton } from "@plane/propel/icon-button";
type Props = {
diff --git a/apps/web/core/components/issues/peek-overview/error.tsx b/apps/web/core/components/issues/peek-overview/error.tsx
index c616c3592cd..3d033598337 100644
--- a/apps/web/core/components/issues/peek-overview/error.tsx
+++ b/apps/web/core/components/issues/peek-overview/error.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { MoveRight } from "lucide-react";
import { Tooltip } from "@plane/propel/tooltip";
// assets
diff --git a/apps/web/core/components/issues/peek-overview/issue-detail.tsx b/apps/web/core/components/issues/peek-overview/issue-detail.tsx
index bac7ea28bb1..6bd89124b62 100644
--- a/apps/web/core/components/issues/peek-overview/issue-detail.tsx
+++ b/apps/web/core/components/issues/peek-overview/issue-detail.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useEffect } from "react";
import { observer } from "mobx-react";
// plane imports
diff --git a/apps/web/core/components/issues/peek-overview/loader.tsx b/apps/web/core/components/issues/peek-overview/loader.tsx
index 0be333fe517..701f72844e6 100644
--- a/apps/web/core/components/issues/peek-overview/loader.tsx
+++ b/apps/web/core/components/issues/peek-overview/loader.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { MoveRight } from "lucide-react";
import { Tooltip } from "@plane/propel/tooltip";
import { Loader } from "@plane/ui";
diff --git a/apps/web/core/components/issues/peek-overview/root.tsx b/apps/web/core/components/issues/peek-overview/root.tsx
index 7e964edba4e..421aaebbdb0 100644
--- a/apps/web/core/components/issues/peek-overview/root.tsx
+++ b/apps/web/core/components/issues/peek-overview/root.tsx
@@ -83,7 +83,7 @@ export const IssuePeekOverview = observer(function IssuePeekOverview(props: IWor
fetchActivities(workspaceSlug, projectId, issueId);
return;
})
- .catch((error) => {
+ .catch((_error) => {
setToast({
title: t("toast.error"),
type: TOAST_TYPE.ERROR,
diff --git a/apps/web/core/components/issues/peek-overview/view.tsx b/apps/web/core/components/issues/peek-overview/view.tsx
index 8776b6d60a7..333e4038c3d 100644
--- a/apps/web/core/components/issues/peek-overview/view.tsx
+++ b/apps/web/core/components/issues/peek-overview/view.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useRef, useState } from "react";
import { observer } from "mobx-react";
import { createPortal } from "react-dom";
diff --git a/apps/web/core/components/issues/relations/issue-list-item.tsx b/apps/web/core/components/issues/relations/issue-list-item.tsx
index e5f3f450782..573a4b725a8 100644
--- a/apps/web/core/components/issues/relations/issue-list-item.tsx
+++ b/apps/web/core/components/issues/relations/issue-list-item.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React from "react";
import { observer } from "mobx-react";
import { useTranslation } from "@plane/i18n";
diff --git a/apps/web/core/components/issues/relations/issue-list.tsx b/apps/web/core/components/issues/relations/issue-list.tsx
index b5a23e77184..e6f245416ee 100644
--- a/apps/web/core/components/issues/relations/issue-list.tsx
+++ b/apps/web/core/components/issues/relations/issue-list.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React from "react";
import { observer } from "mobx-react";
// plane imports
diff --git a/apps/web/core/components/issues/relations/properties.tsx b/apps/web/core/components/issues/relations/properties.tsx
index 80bf9567b41..0342d8cebf1 100644
--- a/apps/web/core/components/issues/relations/properties.tsx
+++ b/apps/web/core/components/issues/relations/properties.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React from "react";
import { observer } from "mobx-react";
// components
diff --git a/apps/web/core/components/issues/title-input.tsx b/apps/web/core/components/issues/title-input.tsx
index 921a8676a2d..ce82b0e7225 100644
--- a/apps/web/core/components/issues/title-input.tsx
+++ b/apps/web/core/components/issues/title-input.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { useState, useEffect, useCallback, useRef } from "react";
import { observer } from "mobx-react";
import { useTranslation } from "@plane/i18n";
diff --git a/apps/web/core/components/issues/workspace-draft/draft-issue-block.tsx b/apps/web/core/components/issues/workspace-draft/draft-issue-block.tsx
index b411ece6698..dd3c7b5998f 100644
--- a/apps/web/core/components/issues/workspace-draft/draft-issue-block.tsx
+++ b/apps/web/core/components/issues/workspace-draft/draft-issue-block.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import React, { useRef, useState } from "react";
import { omit } from "lodash-es";
import { observer } from "mobx-react";
diff --git a/apps/web/core/components/issues/workspace-draft/empty-state.tsx b/apps/web/core/components/issues/workspace-draft/empty-state.tsx
index a720a58a5e7..a5d4f84c8b6 100644
--- a/apps/web/core/components/issues/workspace-draft/empty-state.tsx
+++ b/apps/web/core/components/issues/workspace-draft/empty-state.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { Fragment, useState } from "react";
// components
import { observer } from "mobx-react";
diff --git a/apps/web/core/components/issues/workspace-draft/loader.tsx b/apps/web/core/components/issues/workspace-draft/loader.tsx
index 60d0a610e5b..b301f946ab6 100644
--- a/apps/web/core/components/issues/workspace-draft/loader.tsx
+++ b/apps/web/core/components/issues/workspace-draft/loader.tsx
@@ -4,7 +4,6 @@
* See the LICENSE file for details.
*/
-import type { FC } from "react";
import { range } from "lodash-es";
// components
import { ListLoaderItemRow } from "@/components/ui/loader/layouts/list-layout-loader";
From d91b5a274b4f8ad9d9eea10eb3a250150957b887 Mon Sep 17 00:00:00 2001
From: sriram veeraghanta
Date: Wed, 25 Mar 2026 01:59:25 +0530
Subject: [PATCH 026/138] fix: removed unused files
---
.codespellrc | 7 --
.github/dependabot.yml | 55 -------------
.github/workflows/codespell.yml | 25 ------
.../pull-request-build-lint-web-apps.yml | 2 -
.github/workflows/sync-repo-pr.yml | 52 -------------
.github/workflows/sync-repo.yml | 44 -----------
docker-compose-local.yml | 78 -------------------
7 files changed, 263 deletions(-)
delete mode 100644 .codespellrc
delete mode 100644 .github/dependabot.yml
delete mode 100644 .github/workflows/codespell.yml
delete mode 100644 .github/workflows/sync-repo-pr.yml
delete mode 100644 .github/workflows/sync-repo.yml
diff --git a/.codespellrc b/.codespellrc
deleted file mode 100644
index ffe730b747b..00000000000
--- a/.codespellrc
+++ /dev/null
@@ -1,7 +0,0 @@
-[codespell]
-# Ref: https://github.com/codespell-project/codespell#using-a-config-file
-skip = .git*,*.svg,i18n,*-lock.yaml,*.css,.codespellrc,migrations,*.js,*.map,*.mjs
-check-hidden = true
-# ignore all CamelCase and camelCase
-ignore-regex = \b[A-Za-z][a-z]+[A-Z][a-zA-Z]+\b
-ignore-words-list = tread
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
deleted file mode 100644
index 3ef625faef2..00000000000
--- a/.github/dependabot.yml
+++ /dev/null
@@ -1,55 +0,0 @@
-version: 2
-updates:
- # JavaScript/TypeScript dependencies (pnpm monorepo root)
- - package-ecosystem: "npm"
- directory: "/"
- schedule:
- interval: "weekly"
- open-pull-requests-limit: 10
- labels:
- - "dependencies"
- - "javascript"
- groups:
- minor-and-patch:
- update-types:
- - "minor"
- - "patch"
-
- # Python dependencies
- - package-ecosystem: "pip"
- directory: "/apps/api"
- schedule:
- interval: "weekly"
- open-pull-requests-limit: 5
- labels:
- - "dependencies"
- - "python"
- groups:
- minor-and-patch:
- update-types:
- - "minor"
- - "patch"
-
- # GitHub Actions
- - package-ecosystem: "github-actions"
- directory: "/"
- schedule:
- interval: "weekly"
- open-pull-requests-limit: 5
- labels:
- - "dependencies"
- - "github-actions"
- groups:
- actions:
- patterns:
- - "*"
-
- # Docker - API
- - package-ecosystem: "docker"
- directory: "/apps/api"
- schedule:
- interval: "weekly"
- open-pull-requests-limit: 5
- labels:
- - "dependencies"
- - "docker"
diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml
deleted file mode 100644
index 2798d8d5255..00000000000
--- a/.github/workflows/codespell.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-# Codespell configuration is within .codespellrc
----
-name: Codespell
-
-on:
- push:
- branches: [preview]
- pull_request:
- branches: [preview]
-
-permissions:
- contents: read
-
-jobs:
- codespell:
- name: Check for spelling errors
- runs-on: ubuntu-latest
-
- steps:
- - name: Checkout
- uses: actions/checkout@v6
- - name: Annotate locations with typos
- uses: codespell-project/codespell-problem-matcher@v1
- - name: Codespell
- uses: codespell-project/actions-codespell@v2
diff --git a/.github/workflows/pull-request-build-lint-web-apps.yml b/.github/workflows/pull-request-build-lint-web-apps.yml
index d5d417ca395..719f101187d 100644
--- a/.github/workflows/pull-request-build-lint-web-apps.yml
+++ b/.github/workflows/pull-request-build-lint-web-apps.yml
@@ -8,8 +8,6 @@ on:
types:
- "opened"
- "synchronize"
- - "ready_for_review"
- - "review_requested"
- "reopened"
concurrency:
diff --git a/.github/workflows/sync-repo-pr.yml b/.github/workflows/sync-repo-pr.yml
deleted file mode 100644
index 5047f4fee0f..00000000000
--- a/.github/workflows/sync-repo-pr.yml
+++ /dev/null
@@ -1,52 +0,0 @@
-name: Create PR on Sync
-
-on:
- workflow_dispatch:
- push:
- branches:
- - "sync/**"
-
-env:
- CURRENT_BRANCH: ${{ github.ref_name }}
- TARGET_BRANCH: "preview" # The target branch that you would like to merge changes like develop
- GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} # Personal access token required to modify contents and workflows
- ACCOUNT_USER_NAME: ${{ vars.ACCOUNT_USER_NAME }}
- ACCOUNT_USER_EMAIL: ${{ vars.ACCOUNT_USER_EMAIL }}
-
-jobs:
- create_pull_request:
- runs-on: ubuntu-latest
- permissions:
- pull-requests: write
- contents: write
- steps:
- - name: Checkout code
- uses: actions/checkout@v6
- with:
- fetch-depth: 0 # Fetch all history for all branches and tags
-
- - name: Setup Git
- run: |
- git config user.name "$ACCOUNT_USER_NAME"
- git config user.email "$ACCOUNT_USER_EMAIL"
-
- - name: Setup GH CLI and Git Config
- run: |
- type -p curl >/dev/null || (sudo apt update && sudo apt install curl -y)
- curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
- sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg
- echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
- sudo apt update
- sudo apt install gh -y
-
- - name: Create PR to Target Branch
- run: |
- # get all pull requests and check if there is already a PR
- PR_EXISTS=$(gh pr list --base $TARGET_BRANCH --head $CURRENT_BRANCH --state open --json number | jq '.[] | .number')
- if [ -n "$PR_EXISTS" ]; then
- echo "Pull Request already exists: $PR_EXISTS"
- else
- echo "Creating new pull request"
- PR_URL=$(gh pr create --base $TARGET_BRANCH --head $CURRENT_BRANCH --title "${{ vars.SYNC_PR_TITLE }}" --body "")
- echo "Pull Request created: $PR_URL"
- fi
diff --git a/.github/workflows/sync-repo.yml b/.github/workflows/sync-repo.yml
deleted file mode 100644
index 3f97dbbf10b..00000000000
--- a/.github/workflows/sync-repo.yml
+++ /dev/null
@@ -1,44 +0,0 @@
-name: Sync Repositories
-
-on:
- workflow_dispatch:
- push:
- branches:
- - preview
-
-env:
- SOURCE_BRANCH_NAME: ${{ github.ref_name }}
-
-jobs:
- sync_changes:
- runs-on: ubuntu-22.04
- permissions:
- pull-requests: write
- contents: read
- steps:
- - name: Checkout Code
- uses: actions/checkout@v6
- with:
- persist-credentials: false
- fetch-depth: 0
-
- - name: Setup GH CLI
- run: |
- type -p curl >/dev/null || (sudo apt update && sudo apt install curl -y)
- curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
- sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg
- echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
- sudo apt update
- sudo apt install gh -y
-
- - name: Push Changes to Target Repo
- env:
- GH_TOKEN: ${{ secrets.ACCESS_TOKEN }}
- run: |
- TARGET_REPO="${{ vars.SYNC_TARGET_REPO }}"
- TARGET_BRANCH="${{ vars.SYNC_TARGET_BRANCH_NAME }}"
- SOURCE_BRANCH="${{ env.SOURCE_BRANCH_NAME }}"
-
- git checkout $SOURCE_BRANCH
- git remote add target-origin-a "https://$GH_TOKEN@github.com/$TARGET_REPO.git"
- git push target-origin-a $SOURCE_BRANCH:$TARGET_BRANCH
diff --git a/docker-compose-local.yml b/docker-compose-local.yml
index 5b7cba39e11..6bc5ee309f7 100644
--- a/docker-compose-local.yml
+++ b/docker-compose-local.yml
@@ -63,63 +63,6 @@ services:
ports:
- "5432:5432"
- # web:
- # build:
- # context: .
- # dockerfile: ./web/Dockerfile.dev
- # restart: unless-stopped
- # networks:
- # - dev_env
- # volumes:
- # - ./web:/app/web
- # env_file:
- # - ./web/.env
- # depends_on:
- # - api
- # - worker
-
- # space:
- # build:
- # context: .
- # dockerfile: ./space/Dockerfile.dev
- # restart: unless-stopped
- # networks:
- # - dev_env
- # volumes:
- # - ./space:/app/space
- # depends_on:
- # - api
- # - worker
- # - web
-
- # admin:
- # build:
- # context: .
- # dockerfile: ./admin/Dockerfile.dev
- # restart: unless-stopped
- # networks:
- # - dev_env
- # volumes:
- # - ./admin:/app/admin
- # depends_on:
- # - api
- # - worker
- # - web
-
- # live:
- # build:
- # context: .
- # dockerfile: ./live/Dockerfile.dev
- # restart: unless-stopped
- # networks:
- # - dev_env
- # volumes:
- # - ./live:/app/live
- # depends_on:
- # - api
- # - worker
- # - web
-
api:
build:
context: ./apps/api
@@ -197,27 +140,6 @@ services:
- plane-db
- plane-redis
- # proxy:
- # build:
- # context: ./apps/proxy
- # dockerfile: Dockerfile.ce
- # restart: unless-stopped
- # networks:
- # - dev_env
- # ports:
- # - ${LISTEN_HTTP_PORT}:80
- # - ${LISTEN_HTTPS_PORT}:443
- # env_file:
- # - .env
- # environment:
- # FILE_SIZE_LIMIT: ${FILE_SIZE_LIMIT:-5242880}
- # BUCKET_NAME: ${AWS_S3_BUCKET_NAME:-uploads}
- # depends_on:
- # - api
- # - web
- # - space
- # - admin
-
volumes:
redisdata:
uploads:
From f3c7c057b44902bb89c087c3adcaa2394a79b6dc Mon Sep 17 00:00:00 2001
From: sriram veeraghanta
Date: Wed, 25 Mar 2026 13:13:58 +0530
Subject: [PATCH 027/138] chore: remove service token endpoint which is unused
(#8797)
---
apps/api/plane/app/urls/api.py | 7 +------
apps/api/plane/app/views/__init__.py | 2 +-
apps/api/plane/app/views/api.py | 28 +---------------------------
3 files changed, 3 insertions(+), 34 deletions(-)
diff --git a/apps/api/plane/app/urls/api.py b/apps/api/plane/app/urls/api.py
index eedf18ccc3d..145cfdd652d 100644
--- a/apps/api/plane/app/urls/api.py
+++ b/apps/api/plane/app/urls/api.py
@@ -3,7 +3,7 @@
# See the LICENSE file for details.
from django.urls import path
-from plane.app.views import ApiTokenEndpoint, ServiceApiTokenEndpoint
+from plane.app.views import ApiTokenEndpoint
urlpatterns = [
# API Tokens
@@ -17,10 +17,5 @@
ApiTokenEndpoint.as_view(),
name="api-tokens-details",
),
- path(
- "workspaces//service-api-tokens/",
- ServiceApiTokenEndpoint.as_view(),
- name="service-api-tokens",
- ),
## End API Tokens
]
diff --git a/apps/api/plane/app/views/__init__.py b/apps/api/plane/app/views/__init__.py
index baa6661b9cc..84f7872ec85 100644
--- a/apps/api/plane/app/views/__init__.py
+++ b/apps/api/plane/app/views/__init__.py
@@ -165,7 +165,7 @@
from .module.archive import ModuleArchiveUnarchiveEndpoint
-from .api import ApiTokenEndpoint, ServiceApiTokenEndpoint
+from .api import ApiTokenEndpoint
from .page.base import (
PageViewSet,
diff --git a/apps/api/plane/app/views/api.py b/apps/api/plane/app/views/api.py
index f2abc1a2dec..f3163c33146 100644
--- a/apps/api/plane/app/views/api.py
+++ b/apps/api/plane/app/views/api.py
@@ -13,9 +13,8 @@
# Module import
from .base import BaseAPIView
-from plane.db.models import APIToken, Workspace
+from plane.db.models import APIToken
from plane.app.serializers import APITokenSerializer, APITokenReadSerializer
-from plane.app.permissions import WorkspaceEntityPermission
class ApiTokenEndpoint(BaseAPIView):
@@ -61,28 +60,3 @@ def patch(self, request: Request, pk: str) -> Response:
serializer.save()
return Response(serializer.data, status=status.HTTP_200_OK)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
-
-
-class ServiceApiTokenEndpoint(BaseAPIView):
- permission_classes = [WorkspaceEntityPermission]
-
- def post(self, request: Request, slug: str) -> Response:
- workspace = Workspace.objects.get(slug=slug)
-
- api_token = APIToken.objects.filter(workspace=workspace, is_service=True).first()
-
- if api_token:
- return Response({"token": str(api_token.token)}, status=status.HTTP_200_OK)
- else:
- # Check the user type
- user_type = 1 if request.user.is_bot else 0
-
- api_token = APIToken.objects.create(
- label=str(uuid4().hex),
- description="Service Token",
- user=request.user,
- workspace=workspace,
- user_type=user_type,
- is_service=True,
- )
- return Response({"token": str(api_token.token)}, status=status.HTTP_201_CREATED)
From 54b80e91eb600fd1628fb536d6173e57cb04ab2a Mon Sep 17 00:00:00 2001
From: sriramveeraghanta
Date: Wed, 25 Mar 2026 13:23:36 +0530
Subject: [PATCH 028/138] fix: broken lockfile
---
pnpm-lock.yaml | 53 ++------------------------------------------------
1 file changed, 2 insertions(+), 51 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d19e117da72..41f77995ae4 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -99,7 +99,6 @@ overrides:
prosemirror-view: 1.40.0
'@types/express': 4.17.23
typescript: 5.8.3
-<<<<<<< HEAD
vite: 7.3.1
qs: 6.14.2
diff: 5.2.2
@@ -116,9 +115,6 @@ overrides:
ajv@8: 8.18.0
undici@7: 7.24.0
flatted: 3.4.2
-=======
- vite: 7.1.11
->>>>>>> 7902805635a88ef07e5df02c17bef61211947d8c
importers:
@@ -661,12 +657,6 @@ importers:
next-themes:
specifier: 0.4.6
version: 0.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
-<<<<<<< HEAD
-=======
- posthog-js:
- specifier: ^1.255.1
- version: 1.255.1
->>>>>>> 7902805635a88ef07e5df02c17bef61211947d8c
react:
specifier: 'catalog:'
version: 18.3.1
@@ -6174,10 +6164,6 @@ packages:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
- jiti@2.5.1:
- resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==}
- hasBin: true
-
jiti@2.6.1:
resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
hasBin: true
@@ -7928,18 +7914,6 @@ packages:
prettier:
optional: true
-<<<<<<< HEAD
-=======
- storybook@9.1.10:
- resolution: {integrity: sha512-4+U7gF9hMpGilQmdVJwQaVZZEkD7XwC4ZDmBa51mobaPYelELEMoMfNM2hLyvB2x12gk1IJui1DnwOE4t+MXhw==}
- hasBin: true
- peerDependencies:
- prettier: ^2 || ^3
- peerDependenciesMeta:
- prettier:
- optional: true
-
->>>>>>> 7902805635a88ef07e5df02c17bef61211947d8c
string-argv@0.3.2:
resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
engines: {node: '>=0.6.19'}
@@ -8011,14 +7985,6 @@ packages:
style-to-object@0.4.4:
resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==}
-<<<<<<< HEAD
-=======
- sucrase@3.35.0:
- resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
- engines: {node: '>=16 || 14 >=14.17'}
- hasBin: true
-
->>>>>>> 7902805635a88ef07e5df02c17bef61211947d8c
supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
@@ -8921,7 +8887,7 @@ snapshots:
dependencies:
'@babel/compat-data': 7.28.4
'@babel/helper-validator-option': 7.27.1
- browserslist: 4.26.2
+ browserslist: 4.28.1
lru-cache: 5.1.1
semver: 6.3.1
@@ -13705,8 +13671,6 @@ snapshots:
merge-stream: 2.0.0
supports-color: 8.1.1
- jiti@2.5.1: {}
-
jiti@2.6.1: {}
js-tokens@4.0.0: {}
@@ -16013,19 +15977,6 @@ snapshots:
dependencies:
inline-style-parser: 0.1.1
-<<<<<<< HEAD
-=======
- sucrase@3.35.0:
- dependencies:
- '@jridgewell/gen-mapping': 0.3.13
- commander: 4.1.1
- glob: 11.1.0
- lines-and-columns: 1.2.4
- mz: 2.7.0
- pirates: 4.0.7
- ts-interface-checker: 0.1.13
-
->>>>>>> 7902805635a88ef07e5df02c17bef61211947d8c
supports-color@5.5.0:
dependencies:
has-flag: 3.0.0
@@ -16270,7 +16221,7 @@ snapshots:
dependencies:
'@quansync/fs': 0.1.5
defu: 6.1.4
- jiti: 2.5.1
+ jiti: 2.6.1
quansync: 0.2.11
undici-types@6.20.0: {}
From d94a26945198a5f5a026420fe4ff6ac2acc7ba46 Mon Sep 17 00:00:00 2001
From: ouchan <111338754+ouchanip@users.noreply.github.com>
Date: Wed, 25 Mar 2026 17:01:16 +0900
Subject: [PATCH 029/138] fix: add model_activity.delay() to API issue
update/create paths for webhook dispatch (#8792)
Fixes #6746
API-driven issue updates (PUT update, PUT create-via-upsert, PATCH) were
missing `model_activity.delay()` calls, so webhooks were never dispatched
for changes made through the API. The web UI paths already include these
calls (e.g. in `post()` at L475), but the `put()` and `partial_update()`
methods only called `issue_activity.delay()`.
This adds `model_activity.delay()` immediately after each existing
`issue_activity.delay()` in these three code paths, using the same
signature as the existing call in `post()`.
Tested on Plane CE v1.2.1 self-hosted: API PATCH triggers
`webhook_send_task` in the Celery worker, confirming webhook delivery.
Co-authored-by: Claude Opus 4.6 (1M context)
---
apps/api/plane/api/views/issue.py | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/apps/api/plane/api/views/issue.py b/apps/api/plane/api/views/issue.py
index b936cdcda00..20d4f604a66 100644
--- a/apps/api/plane/api/views/issue.py
+++ b/apps/api/plane/api/views/issue.py
@@ -629,6 +629,16 @@ def put(self, request, slug, project_id):
current_instance=current_instance,
epoch=int(timezone.now().timestamp()),
)
+ # Send the model activity for webhook dispatch
+ model_activity.delay(
+ model_name="issue",
+ model_id=str(issue.id),
+ requested_data=request.data,
+ current_instance=current_instance,
+ actor_id=request.user.id,
+ slug=slug,
+ origin=base_host(request=request, is_app=True),
+ )
return Response(serializer.data, status=status.HTTP_200_OK)
return Response(
# If the serializer is not valid, respond with 400 bad
@@ -677,6 +687,16 @@ def put(self, request, slug, project_id):
current_instance=None,
epoch=int(timezone.now().timestamp()),
)
+ # Send the model activity for webhook dispatch
+ model_activity.delay(
+ model_name="issue",
+ model_id=str(serializer.data["id"]),
+ requested_data=request.data,
+ current_instance=None,
+ actor_id=request.user.id,
+ slug=slug,
+ origin=base_host(request=request, is_app=True),
+ )
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
else:
@@ -752,6 +772,16 @@ def patch(self, request, slug, project_id, pk):
current_instance=current_instance,
epoch=int(timezone.now().timestamp()),
)
+ # Send the model activity for webhook dispatch
+ model_activity.delay(
+ model_name="issue",
+ model_id=str(pk),
+ requested_data=request.data,
+ current_instance=current_instance,
+ actor_id=request.user.id,
+ slug=slug,
+ origin=base_host(request=request, is_app=True),
+ )
return Response(serializer.data, status=status.HTTP_200_OK)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
From 942d2b98efb25cb024316a89c43e4e6b067d7ff0 Mon Sep 17 00:00:00 2001
From: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com>
Date: Thu, 26 Mar 2026 18:12:24 +0530
Subject: [PATCH 030/138] [WEB-6702] feat: redesign intake action buttons and
use design tokens (#8801)
* feat: intake action buttons redesign
* chore: code refactoring
---
.../inbox/content/inbox-issue-header.tsx | 110 ++++++++++--------
.../content/inbox-issue-mobile-header.tsx | 56 +++++----
.../components/inbox/inbox-status-icon.tsx | 16 +--
.../icons/misc/check-circle-filled-icon.tsx | 25 ++++
.../icons/misc/close-circle-filled-icon.tsx | 25 ++++
packages/propel/src/icons/misc/index.ts | 2 +
6 files changed, 156 insertions(+), 78 deletions(-)
create mode 100644 packages/propel/src/icons/misc/check-circle-filled-icon.tsx
create mode 100644 packages/propel/src/icons/misc/close-circle-filled-icon.tsx
diff --git a/apps/web/core/components/inbox/content/inbox-issue-header.tsx b/apps/web/core/components/inbox/content/inbox-issue-header.tsx
index cda57dbc61f..5243521731e 100644
--- a/apps/web/core/components/inbox/content/inbox-issue-header.tsx
+++ b/apps/web/core/components/inbox/content/inbox-issue-header.tsx
@@ -6,12 +6,22 @@
import { useCallback, useEffect, useState } from "react";
import { observer } from "mobx-react";
-import { CircleCheck, CircleX, Clock, FileStack, MoveRight } from "lucide-react";
+import { Clock, FileStack, MoreHorizontal, MoveRight } from "lucide-react";
// plane imports
import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
import { Button } from "@plane/propel/button";
-import { LinkIcon, CopyIcon, NewTabIcon, TrashIcon, ChevronDownIcon, ChevronUpIcon } from "@plane/propel/icons";
+import { IconButton, getIconButtonStyling } from "@plane/propel/icon-button";
+import {
+ LinkIcon,
+ CopyIcon,
+ NewTabIcon,
+ TrashIcon,
+ ChevronDownIcon,
+ ChevronUpIcon,
+ CheckCircleFilledIcon,
+ CloseCircleFilledIcon,
+} from "@plane/propel/icons";
import { TOAST_TYPE, setToast } from "@plane/propel/toast";
import type { TNameDescriptionLoader } from "@plane/types";
import { EInboxIssueStatus } from "@plane/types";
@@ -67,7 +77,8 @@ export const InboxIssueActionsHeader = observer(function InboxIssueActionsHeader
const { currentTab, deleteInboxIssue, filteredInboxIssueIds } = useProjectInbox();
const { data: currentUser } = useUser();
const { allowPermissions } = useUserPermissions();
- const { currentProjectDetails } = useProject();
+ const { getPartialProjectById } = useProject();
+ const currentProjectDetails = getPartialProjectById(projectId);
const { t } = useTranslation();
const router = useAppRouter();
@@ -296,73 +307,70 @@ export const InboxIssueActionsHeader = observer(function InboxIssueActionsHeader
{!isNotificationEmbed && (
-
-
+ handleInboxIssueNavigation("next")}
- >
-
-
+ />
)}
{canMarkAsAccepted && (
-
- }
- className="border border-success-strong bg-success-primary text-on-color hover:bg-success-primary focus:bg-success-primary focus:text-success-primary"
- onClick={() =>
- handleActionWithPermission(
- isProjectAdmin,
- () => setAcceptIssueModal(true),
- t("inbox_issue.errors.accept_permission")
- )
- }
- >
- {t("inbox_issue.actions.accept")}
-
-
+
)}
{canMarkAsDeclined && (
-
- }
- className="border border-danger-strong bg-danger-primary text-on-color hover:bg-danger-primary-hover focus:bg-danger-primary focus:text-danger-primary"
- onClick={() =>
- handleActionWithPermission(
- isProjectAdmin,
- () => setDeclineIssueModal(true),
- t("inbox_issue.errors.decline_permission")
- )
- }
- >
- {t("inbox_issue.actions.decline")}
-
-
+
)}
{isAcceptedOrDeclined ? (
}
onClick={() => handleCopyIssueLink(workItemLink)}
>
{t("inbox_issue.actions.copy")}
router.push(workItemLink)} target="_self">
- }>
+ }>
{t("inbox_issue.actions.open")}
@@ -370,7 +378,11 @@ export const InboxIssueActionsHeader = observer(function InboxIssueActionsHeader
) : (
<>
{isAllowed && (
-
+ }
+ customButtonClassName={getIconButtonStyling("secondary", "lg")}
+ placement="bottom-start"
+ >
{canMarkAsAccepted && (
diff --git a/apps/web/core/components/inbox/content/inbox-issue-mobile-header.tsx b/apps/web/core/components/inbox/content/inbox-issue-mobile-header.tsx
index 0d9f98e9c9d..bde81665d54 100644
--- a/apps/web/core/components/inbox/content/inbox-issue-mobile-header.tsx
+++ b/apps/web/core/components/inbox/content/inbox-issue-mobile-header.tsx
@@ -4,11 +4,20 @@
* See the LICENSE file for details.
*/
-import React from "react";
import { observer } from "mobx-react";
-import { CircleCheck, CircleX, Clock, FileStack, PanelLeft, MoveRight } from "lucide-react";
-import { LinkIcon, NewTabIcon, TrashIcon, ChevronDownIcon, ChevronUpIcon } from "@plane/propel/icons";
+import { Clock, FileStack, MoreHorizontal, PanelLeft, MoveRight } from "lucide-react";
+import { IconButton, getIconButtonStyling } from "@plane/propel/icon-button";
+import {
+ LinkIcon,
+ NewTabIcon,
+ TrashIcon,
+ ChevronDownIcon,
+ ChevronUpIcon,
+ CheckCircleFilledIcon,
+ CloseCircleFilledIcon,
+} from "@plane/propel/icons";
import type { TNameDescriptionLoader } from "@plane/types";
+
import { Header, CustomMenu, EHeaderVariant } from "@plane/ui";
import { cn, findHowManyDaysLeft, generateWorkItemLink } from "@plane/utils";
// components
@@ -18,6 +27,7 @@ import { useProject } from "@/hooks/store/use-project";
import { useAppRouter } from "@/hooks/use-app-router";
// store types
import type { IInboxIssueStore } from "@/store/inbox/inbox-issue.store";
+
// local imports
import { InboxIssueStatus } from "../inbox-issue-status";
@@ -102,20 +112,20 @@ export const InboxIssueActionsMobileHeader = observer(function InboxIssueActions
/>
-
-
+ handleInboxIssueNavigation("next")}
- >
-
-
+ />
@@ -124,7 +134,11 @@ export const InboxIssueActionsMobileHeader = observer(function InboxIssueActions
-
+ }
+ customButtonClassName={getIconButtonStyling("secondary", "lg")}
+ placement="bottom-start"
+ >
{isAcceptedOrDeclined && (
@@ -183,8 +197,8 @@ export const InboxIssueActionsMobileHeader = observer(function InboxIssueActions
)
}
>
-
-
+
+
Accept
@@ -199,8 +213,8 @@ export const InboxIssueActionsMobileHeader = observer(function InboxIssueActions
)
}
>
-
-
+
+
Decline
@@ -208,7 +222,7 @@ export const InboxIssueActionsMobileHeader = observer(function InboxIssueActions
{canDelete && !isAcceptedOrDeclined && (
setDeleteIssueModal(true)}>
-
+
Delete
diff --git a/apps/web/core/components/inbox/inbox-status-icon.tsx b/apps/web/core/components/inbox/inbox-status-icon.tsx
index 86bcf791288..ceaf5826d25 100644
--- a/apps/web/core/components/inbox/inbox-status-icon.tsx
+++ b/apps/web/core/components/inbox/inbox-status-icon.tsx
@@ -13,28 +13,28 @@ import { cn } from "@plane/utils";
export const ICON_PROPERTIES = {
[EInboxIssueStatus.PENDING]: {
icon: AlertTriangle,
- textColor: (snoozeDatePassed: boolean = false) => (snoozeDatePassed ? "" : "text-[#AB6400]"),
- bgColor: (snoozeDatePassed: boolean = false) => (snoozeDatePassed ? "" : "bg-[#FFF7C2]"),
+ textColor: (snoozeDatePassed: boolean = false) => (snoozeDatePassed ? "" : "text-warning-primary"),
+ bgColor: (snoozeDatePassed: boolean = false) => (snoozeDatePassed ? "" : "bg-warning-subtle"),
},
[EInboxIssueStatus.DECLINED]: {
icon: XCircle,
- textColor: (snoozeDatePassed: boolean = false) => (snoozeDatePassed ? "" : "text-[#CE2C31]"),
- bgColor: (snoozeDatePassed: boolean = false) => (snoozeDatePassed ? "" : "bg-[#FEEBEC]"),
+ textColor: (snoozeDatePassed: boolean = false) => (snoozeDatePassed ? "" : "text-danger-primary"),
+ bgColor: (snoozeDatePassed: boolean = false) => (snoozeDatePassed ? "" : "bg-danger-subtle"),
},
[EInboxIssueStatus.SNOOZED]: {
icon: Clock,
textColor: (snoozeDatePassed: boolean = false) => (snoozeDatePassed ? "text-danger-primary" : "text-placeholder"),
- bgColor: (snoozeDatePassed: boolean = false) => (snoozeDatePassed ? "bg-danger-subtle" : "bg-[#E0E1E6]"),
+ bgColor: (snoozeDatePassed: boolean = false) => (snoozeDatePassed ? "bg-danger-subtle" : "bg-layer-3"),
},
[EInboxIssueStatus.ACCEPTED]: {
icon: CheckCircle2,
- textColor: (snoozeDatePassed: boolean = false) => (snoozeDatePassed ? "" : "text-[#3E9B4F]"),
- bgColor: (snoozeDatePassed: boolean = false) => (snoozeDatePassed ? "" : "bg-[#E9F6E9]"),
+ textColor: (snoozeDatePassed: boolean = false) => (snoozeDatePassed ? "" : "text-success-primary"),
+ bgColor: (snoozeDatePassed: boolean = false) => (snoozeDatePassed ? "" : "bg-success-subtle"),
},
[EInboxIssueStatus.DUPLICATE]: {
icon: CopyIcon,
textColor: (snoozeDatePassed: boolean = false) => (snoozeDatePassed ? "" : "text-secondary"),
- bgColor: (snoozeDatePassed: boolean = false) => (snoozeDatePassed ? "" : "bg-gray-500/10"),
+ bgColor: (snoozeDatePassed: boolean = false) => (snoozeDatePassed ? "" : "bg-layer-3"),
},
};
export function InboxStatusIcon({
diff --git a/packages/propel/src/icons/misc/check-circle-filled-icon.tsx b/packages/propel/src/icons/misc/check-circle-filled-icon.tsx
new file mode 100644
index 00000000000..c0227cbc38a
--- /dev/null
+++ b/packages/propel/src/icons/misc/check-circle-filled-icon.tsx
@@ -0,0 +1,25 @@
+/**
+ * Copyright (c) 2023-present Plane Software, Inc. and contributors
+ * SPDX-License-Identifier: AGPL-3.0-only
+ * See the LICENSE file for details.
+ */
+
+import * as React from "react";
+
+import { IconWrapper } from "../icon-wrapper";
+import type { ISvgIcons } from "../type";
+
+export const CheckCircleFilledIcon: React.FC
= ({ color = "currentColor", ...rest }) => {
+ const clipPathId = React.useId();
+
+ return (
+
+
+
+ );
+};
diff --git a/packages/propel/src/icons/misc/close-circle-filled-icon.tsx b/packages/propel/src/icons/misc/close-circle-filled-icon.tsx
new file mode 100644
index 00000000000..2b927d62ced
--- /dev/null
+++ b/packages/propel/src/icons/misc/close-circle-filled-icon.tsx
@@ -0,0 +1,25 @@
+/**
+ * Copyright (c) 2023-present Plane Software, Inc. and contributors
+ * SPDX-License-Identifier: AGPL-3.0-only
+ * See the LICENSE file for details.
+ */
+
+import * as React from "react";
+
+import { IconWrapper } from "../icon-wrapper";
+import type { ISvgIcons } from "../type";
+
+export const CloseCircleFilledIcon: React.FC = ({ color = "currentColor", ...rest }) => {
+ const clipPathId = React.useId();
+
+ return (
+
+
+
+ );
+};
diff --git a/packages/propel/src/icons/misc/index.ts b/packages/propel/src/icons/misc/index.ts
index fc387e1d171..34716ecbe6e 100644
--- a/packages/propel/src/icons/misc/index.ts
+++ b/packages/propel/src/icons/misc/index.ts
@@ -4,4 +4,6 @@
* See the LICENSE file for details.
*/
+export * from "./check-circle-filled-icon";
+export * from "./close-circle-filled-icon";
export * from "./info-icon";
From 5396d438a3aea1a41cd971af83bc70faf9b0b6bf Mon Sep 17 00:00:00 2001
From: b-saikrishnakanth <130811169+b-saikrishnakanth@users.noreply.github.com>
Date: Thu, 26 Mar 2026 18:13:30 +0530
Subject: [PATCH 031/138] Open [WEB-6739] fix: color inside of active projects
of analytics overview tab #8803
---
.../core/components/analytics/overview/active-project-item.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/web/core/components/analytics/overview/active-project-item.tsx b/apps/web/core/components/analytics/overview/active-project-item.tsx
index e71ae52d530..0af7dc87fda 100644
--- a/apps/web/core/components/analytics/overview/active-project-item.tsx
+++ b/apps/web/core/components/analytics/overview/active-project-item.tsx
@@ -23,7 +23,7 @@ type Props = {
function CompletionPercentage({ percentage }: { percentage: number }) {
const percentageColor =
- percentage > 50 ? "bg-success-primary text-success-primary" : "bg-danger-primary text-danger-primary";
+ percentage > 50 ? "bg-success-subtle text-success-primary" : "bg-danger-subtle text-danger-primary";
return (
{percentage}%
From ce401c723e6a3407fc4870a425b2b289f82c2fdf Mon Sep 17 00:00:00 2001
From: b-saikrishnakanth <130811169+b-saikrishnakanth@users.noreply.github.com>
Date: Thu, 26 Mar 2026 18:13:57 +0530
Subject: [PATCH 032/138] [WEB-6734] fix: circular progress indicator stroke
color#8802
---
packages/ui/src/progress/circular-progress-indicator.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/ui/src/progress/circular-progress-indicator.tsx b/packages/ui/src/progress/circular-progress-indicator.tsx
index a2874793645..b679522322b 100644
--- a/packages/ui/src/progress/circular-progress-indicator.tsx
+++ b/packages/ui/src/progress/circular-progress-indicator.tsx
@@ -15,7 +15,7 @@ interface ICircularProgressIndicator {
}
export function CircularProgressIndicator(props: ICircularProgressIndicator) {
- const { size = 40, percentage = 25, strokeWidth = 6, strokeColor = "stroke-success", children } = props;
+ const { size = 40, percentage = 25, strokeWidth = 6, strokeColor = "stroke-success-secondary", children } = props;
const sqSize = size;
const radius = (size - strokeWidth) / 2;
From 113bba46ea04309fa584d09084c6aaf36814d720 Mon Sep 17 00:00:00 2001
From: "M. Palanikannan" <73993394+Palanikannan1437@users.noreply.github.com>
Date: Thu, 26 Mar 2026 20:43:03 +0530
Subject: [PATCH 033/138] fix: migrate page navigation pane tabs from headless
ui to propel (#8805)
---
.../components/pages/navigation-pane/root.tsx | 14 ++++----
.../pages/navigation-pane/tabs-list.tsx | 36 ++++++-------------
2 files changed, 17 insertions(+), 33 deletions(-)
diff --git a/apps/web/core/components/pages/navigation-pane/root.tsx b/apps/web/core/components/pages/navigation-pane/root.tsx
index 0c3370d4781..079cf8b5f64 100644
--- a/apps/web/core/components/pages/navigation-pane/root.tsx
+++ b/apps/web/core/components/pages/navigation-pane/root.tsx
@@ -4,13 +4,13 @@
* See the LICENSE file for details.
*/
-import React, { useCallback } from "react";
+import { useCallback } from "react";
import { observer } from "mobx-react";
import { useRouter, useSearchParams } from "next/navigation";
import { ArrowRightCircle } from "lucide-react";
-import { Tab } from "@headlessui/react";
// plane imports
import { useTranslation } from "@plane/i18n";
+import { Tabs } from "@plane/propel/tabs";
import { Tooltip } from "@plane/propel/tooltip";
// hooks
import { useQueryParams } from "@/hooks/use-query-params";
@@ -26,7 +26,6 @@ import { PageNavigationPaneTabsList } from "./tabs-list";
import type { INavigationPaneExtension } from "./types/extensions";
import {
- PAGE_NAVIGATION_PANE_TAB_KEYS,
PAGE_NAVIGATION_PANE_TABS_QUERY_PARAM,
PAGE_NAVIGATION_PANE_VERSION_QUERY_PARAM,
PAGE_NAVIGATION_PANE_WIDTH,
@@ -55,7 +54,6 @@ export const PageNavigationPaneRoot = observer(function PageNavigationPaneRoot(p
PAGE_NAVIGATION_PANE_TABS_QUERY_PARAM
) as TPageNavigationPaneTab | null;
const activeTab: TPageNavigationPaneTab = navigationPaneQueryParam || "outline";
- const selectedIndex = PAGE_NAVIGATION_PANE_TAB_KEYS.indexOf(activeTab);
// Check if any extension is currently active based on query parameters
const ActiveExtension = extensions.find((extension) => {
@@ -75,8 +73,8 @@ export const PageNavigationPaneRoot = observer(function PageNavigationPaneRoot(p
const { t } = useTranslation();
const handleTabChange = useCallback(
- (index: number) => {
- const updatedTab = PAGE_NAVIGATION_PANE_TAB_KEYS[index];
+ (value: string) => {
+ const updatedTab = value as TPageNavigationPaneTab;
const isUpdatedTabInfo = updatedTab === "info";
const updatedRoute = updateQueryParams({
paramsToAdd: { [PAGE_NAVIGATION_PANE_TABS_QUERY_PARAM]: updatedTab },
@@ -112,10 +110,10 @@ export const PageNavigationPaneRoot = observer(function PageNavigationPaneRoot(p
{ActiveExtension ? (
) : showNavigationTabs ? (
-
+
-
+
) : null}
diff --git a/apps/web/core/components/pages/navigation-pane/tabs-list.tsx b/apps/web/core/components/pages/navigation-pane/tabs-list.tsx
index 76469a7c971..3ba55f6a2c3 100644
--- a/apps/web/core/components/pages/navigation-pane/tabs-list.tsx
+++ b/apps/web/core/components/pages/navigation-pane/tabs-list.tsx
@@ -4,9 +4,9 @@
* See the LICENSE file for details.
*/
-import { Tab } from "@headlessui/react";
// plane imports
import { useTranslation } from "@plane/i18n";
+import { Tabs } from "@plane/propel/tabs";
// plane web components
import { ORDERED_PAGE_NAVIGATION_TABS_LIST } from "@/plane-web/components/pages/navigation-pane";
@@ -15,29 +15,15 @@ export function PageNavigationPaneTabsList() {
const { t } = useTranslation();
return (
-
- {({ selectedIndex }) => (
- <>
- {ORDERED_PAGE_NAVIGATION_TABS_LIST.map((tab) => (
-
- {t(tab.i18n_label)}
-
- ))}
- {/* active tab indicator */}
-
- >
- )}
-
+
+
+ {ORDERED_PAGE_NAVIGATION_TABS_LIST.map((tab) => (
+
+ {t(tab.i18n_label)}
+
+ ))}
+
+
+
);
}
From 130ba5ee6cf90217ddf5fa52189cdf3711e40796 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 27 Mar 2026 00:11:02 +0530
Subject: [PATCH 034/138] chore(deps): bump requests (#8804)
Bumps the pip group with 1 update in the /apps/api/requirements directory: [requests](https://github.com/psf/requests).
Updates `requests` from 2.32.4 to 2.33.0
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.4...v2.33.0)
---
updated-dependencies:
- dependency-name: requests
dependency-version: 2.33.0
dependency-type: direct:production
dependency-group: pip
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
apps/api/requirements/test.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/api/requirements/test.txt b/apps/api/requirements/test.txt
index 7c242c806ab..c3149753572 100644
--- a/apps/api/requirements/test.txt
+++ b/apps/api/requirements/test.txt
@@ -9,4 +9,4 @@ factory-boy==3.3.0
freezegun==1.2.2
coverage==7.2.7
httpx==0.24.1
-requests==2.32.4
\ No newline at end of file
+requests==2.33.0
\ No newline at end of file
From 97b4abd69313d3f7d2f3cf63cf69139a917557cd Mon Sep 17 00:00:00 2001
From: Aaron
Date: Fri, 27 Mar 2026 17:29:55 +0700
Subject: [PATCH 035/138] fix: tsdown watch (#8813)
closes #8791
---
apps/live/package.json | 2 +-
package.json | 4 +
packages/constants/package.json | 2 +-
packages/decorators/package.json | 7 +-
packages/editor/package.json | 2 +-
packages/hooks/package.json | 7 +-
packages/hooks/tsdown.config.ts | 1 +
packages/i18n/package.json | 7 +-
packages/i18n/tsdown.config.ts | 1 +
packages/logger/package.json | 6 +-
packages/propel/package.json | 2 +-
packages/services/package.json | 7 +-
packages/services/tsdown.config.ts | 1 +
packages/shared-state/package.json | 7 +-
packages/shared-state/tsdown.config.ts | 1 +
packages/tailwind-config/package.json | 6 +-
packages/types/package.json | 2 +-
packages/ui/package.json | 7 +-
packages/ui/tsdown.config.ts | 1 +
packages/utils/package.json | 7 +-
packages/utils/tsdown.config.ts | 1 +
pnpm-lock.yaml | 668 ++++++++++++-------------
22 files changed, 351 insertions(+), 398 deletions(-)
diff --git a/apps/live/package.json b/apps/live/package.json
index 9b796f2fafd..3b8778c7126 100644
--- a/apps/live/package.json
+++ b/apps/live/package.json
@@ -14,7 +14,7 @@
},
"scripts": {
"build": "tsc --noEmit && tsdown",
- "dev": "tsdown --watch --onSuccess \"node --env-file=.env .\"",
+ "dev": "tsdown --watch --no-clean --onSuccess \"node --env-file=.env .\"",
"start": "node --env-file=.env .",
"test": "vitest run",
"test:watch": "vitest",
diff --git a/package.json b/package.json
index 378654052ec..85f8f15de8d 100644
--- a/package.json
+++ b/package.json
@@ -74,6 +74,10 @@
"flatted": "3.4.2"
},
"onlyBuiltDependencies": [
+ "@parcel/watcher",
+ "@swc/core",
+ "esbuild",
+ "msgpackr-extract",
"turbo"
],
"ignoredBuiltDependencies": [
diff --git a/packages/constants/package.json b/packages/constants/package.json
index 106f901b89c..f0d62718c9c 100644
--- a/packages/constants/package.json
+++ b/packages/constants/package.json
@@ -12,7 +12,7 @@
"./package.json": "./package.json"
},
"scripts": {
- "dev": "tsdown --watch",
+ "dev": "tsdown --watch --no-clean",
"build": "tsdown",
"check:lint": "oxlint --max-warnings=2 .",
"check:types": "tsc --noEmit",
diff --git a/packages/decorators/package.json b/packages/decorators/package.json
index c44db6f0b04..d643bcb1455 100644
--- a/packages/decorators/package.json
+++ b/packages/decorators/package.json
@@ -14,7 +14,7 @@
},
"scripts": {
"build": "tsdown",
- "dev": "tsdown --watch",
+ "dev": "tsdown --watch --no-clean",
"check:lint": "oxlint --max-warnings=3 .",
"check:types": "tsc --noEmit",
"check:format": "oxfmt --check .",
@@ -30,5 +30,10 @@
"reflect-metadata": "^0.2.2",
"tsdown": "catalog:",
"typescript": "catalog:"
+ },
+ "inlinedDependencies": {
+ "@types/express": "4.17.23",
+ "@types/express-serve-static-core": "4.19.6",
+ "reflect-metadata": "0.2.2"
}
}
diff --git a/packages/editor/package.json b/packages/editor/package.json
index 25d75540b9d..0651546ac7c 100644
--- a/packages/editor/package.json
+++ b/packages/editor/package.json
@@ -24,7 +24,7 @@
},
"scripts": {
"build": "tsc && tsdown",
- "dev": "tsdown --watch",
+ "dev": "tsdown --watch --no-clean",
"check:lint": "oxlint --max-warnings=416 .",
"check:types": "tsc --noEmit",
"check:format": "oxfmt --check .",
diff --git a/packages/hooks/package.json b/packages/hooks/package.json
index 515c50ca002..c76803af15f 100644
--- a/packages/hooks/package.json
+++ b/packages/hooks/package.json
@@ -9,15 +9,12 @@
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
- ".": {
- "types": "./dist/index.d.ts",
- "import": "./dist/index.js"
- },
+ ".": "./dist/index.js",
"./package.json": "./package.json"
},
"scripts": {
"build": "tsdown",
- "dev": "tsdown --watch",
+ "dev": "tsdown --watch --no-clean",
"check:lint": "oxlint --max-warnings=4 .",
"check:types": "tsc --noEmit",
"check:format": "oxfmt --check .",
diff --git a/packages/hooks/tsdown.config.ts b/packages/hooks/tsdown.config.ts
index 78c3dcba86b..92959eaf716 100644
--- a/packages/hooks/tsdown.config.ts
+++ b/packages/hooks/tsdown.config.ts
@@ -5,4 +5,5 @@ export default defineConfig({
format: ["esm"],
dts: true,
platform: "neutral",
+ exports: true,
});
diff --git a/packages/i18n/package.json b/packages/i18n/package.json
index 937dcbc1c49..90d01a4106c 100644
--- a/packages/i18n/package.json
+++ b/packages/i18n/package.json
@@ -9,14 +9,11 @@
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
- ".": {
- "types": "./dist/index.d.ts",
- "import": "./dist/index.js"
- },
+ ".": "./dist/index.js",
"./package.json": "./package.json"
},
"scripts": {
- "dev": "tsdown --watch",
+ "dev": "tsdown --watch --no-clean",
"build": "tsdown",
"check:lint": "oxlint --max-warnings=2 .",
"check:types": "tsc --noEmit",
diff --git a/packages/i18n/tsdown.config.ts b/packages/i18n/tsdown.config.ts
index 78c3dcba86b..92959eaf716 100644
--- a/packages/i18n/tsdown.config.ts
+++ b/packages/i18n/tsdown.config.ts
@@ -5,4 +5,5 @@ export default defineConfig({
format: ["esm"],
dts: true,
platform: "neutral",
+ exports: true,
});
diff --git a/packages/logger/package.json b/packages/logger/package.json
index 632304e0ba2..7924a01dedf 100644
--- a/packages/logger/package.json
+++ b/packages/logger/package.json
@@ -14,7 +14,7 @@
},
"scripts": {
"build": "tsdown",
- "dev": "tsdown --watch",
+ "dev": "tsdown --watch --no-clean",
"check:lint": "oxlint --max-warnings=0 .",
"check:types": "tsc --noEmit",
"check:format": "oxfmt --check .",
@@ -32,5 +32,9 @@
"@types/node": "catalog:",
"tsdown": "catalog:",
"typescript": "catalog:"
+ },
+ "inlinedDependencies": {
+ "@types/express": "4.17.23",
+ "@types/express-serve-static-core": "4.19.6"
}
}
diff --git a/packages/propel/package.json b/packages/propel/package.json
index 54fa0f8c3f7..e0e1d15f821 100644
--- a/packages/propel/package.json
+++ b/packages/propel/package.json
@@ -50,7 +50,7 @@
"./styles/react-day-picker": "./dist/styles/react-day-picker.css"
},
"scripts": {
- "dev": "tsdown --watch",
+ "dev": "tsdown --watch --no-clean",
"build": "tsdown",
"check:lint": "oxlint --max-warnings=3605 .",
"check:types": "tsc --noEmit",
diff --git a/packages/services/package.json b/packages/services/package.json
index 273d7119ca0..c3744d28857 100644
--- a/packages/services/package.json
+++ b/packages/services/package.json
@@ -8,15 +8,12 @@
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
- ".": {
- "types": "./dist/index-BliaS-AT.d.ts",
- "import": "./dist/index.js"
- },
+ ".": "./dist/index.js",
"./package.json": "./package.json"
},
"scripts": {
"build": "tsdown",
- "dev": "tsdown --watch",
+ "dev": "tsdown --watch --no-clean",
"check:lint": "oxlint --max-warnings=6 .",
"check:types": "tsc --noEmit",
"check:format": "oxfmt --check .",
diff --git a/packages/services/tsdown.config.ts b/packages/services/tsdown.config.ts
index 78c3dcba86b..92959eaf716 100644
--- a/packages/services/tsdown.config.ts
+++ b/packages/services/tsdown.config.ts
@@ -5,4 +5,5 @@ export default defineConfig({
format: ["esm"],
dts: true,
platform: "neutral",
+ exports: true,
});
diff --git a/packages/shared-state/package.json b/packages/shared-state/package.json
index a912747cb3f..950876974a7 100644
--- a/packages/shared-state/package.json
+++ b/packages/shared-state/package.json
@@ -9,15 +9,12 @@
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
- ".": {
- "types": "./dist/index.d.ts",
- "import": "./dist/index.js"
- },
+ ".": "./dist/index.js",
"./package.json": "./package.json"
},
"scripts": {
"build": "tsdown",
- "dev": "tsdown --watch",
+ "dev": "tsdown --watch --no-clean",
"check:lint": "oxlint --max-warnings=0 .",
"check:types": "tsc --noEmit",
"check:format": "oxfmt --check .",
diff --git a/packages/shared-state/tsdown.config.ts b/packages/shared-state/tsdown.config.ts
index 78c3dcba86b..92959eaf716 100644
--- a/packages/shared-state/tsdown.config.ts
+++ b/packages/shared-state/tsdown.config.ts
@@ -5,4 +5,5 @@ export default defineConfig({
format: ["esm"],
dts: true,
platform: "neutral",
+ exports: true,
});
diff --git a/packages/tailwind-config/package.json b/packages/tailwind-config/package.json
index 17227350f89..89d0138684d 100644
--- a/packages/tailwind-config/package.json
+++ b/packages/tailwind-config/package.json
@@ -12,9 +12,11 @@
"./index.css": "./index.css",
"./postcss.config.js": "./postcss.config.js"
},
- "devDependencies": {
+ "dependencies": {
"@tailwindcss/postcss": "4.1.17",
- "postcss": "8.5.6",
+ "postcss": "8.5.6"
+ },
+ "devDependencies": {
"tailwindcss": "4.1.17"
}
}
diff --git a/packages/types/package.json b/packages/types/package.json
index 20e35658207..99f2ec6cb7f 100644
--- a/packages/types/package.json
+++ b/packages/types/package.json
@@ -12,7 +12,7 @@
"./package.json": "./package.json"
},
"scripts": {
- "dev": "tsdown --watch",
+ "dev": "tsdown --watch --no-clean",
"build": "tsdown",
"check:lint": "oxlint --max-warnings=1 .",
"check:types": "tsc --noEmit",
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 6805534a679..0527d98aa66 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -10,15 +10,12 @@
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
- ".": {
- "types": "./dist/index.d.ts",
- "import": "./dist/index.js"
- },
+ ".": "./dist/index.js",
"./package.json": "./package.json"
},
"scripts": {
"build": "tsdown",
- "dev": "tsdown --watch",
+ "dev": "tsdown --watch --no-clean",
"storybook": "storybook dev -p 6006",
"build-storybook": "storybook build",
"postcss": "postcss styles/globals.css -o styles/output.css --watch",
diff --git a/packages/ui/tsdown.config.ts b/packages/ui/tsdown.config.ts
index 78c3dcba86b..92959eaf716 100644
--- a/packages/ui/tsdown.config.ts
+++ b/packages/ui/tsdown.config.ts
@@ -5,4 +5,5 @@ export default defineConfig({
format: ["esm"],
dts: true,
platform: "neutral",
+ exports: true,
});
diff --git a/packages/utils/package.json b/packages/utils/package.json
index 9a2bbf61ec9..070702688a2 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -9,15 +9,12 @@
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
- ".": {
- "types": "./dist/index.d.ts",
- "import": "./dist/index.js"
- },
+ ".": "./dist/index.js",
"./package.json": "./package.json"
},
"scripts": {
"build": "tsdown",
- "dev": "tsdown --watch",
+ "dev": "tsdown --watch --no-clean",
"check:lint": "oxlint --max-warnings=38 .",
"check:types": "tsc --noEmit",
"check:format": "oxfmt --check .",
diff --git a/packages/utils/tsdown.config.ts b/packages/utils/tsdown.config.ts
index 78c3dcba86b..92959eaf716 100644
--- a/packages/utils/tsdown.config.ts
+++ b/packages/utils/tsdown.config.ts
@@ -5,4 +5,5 @@ export default defineConfig({
format: ["esm"],
dts: true,
platform: "neutral",
+ exports: true,
});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 41f77995ae4..4410dfe2d38 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -397,7 +397,7 @@ importers:
version: 2.4.5
tsdown:
specifier: 'catalog:'
- version: 0.16.0(typescript@5.8.3)
+ version: 0.16.0(typescript@5.8.3)(unrun@0.2.34)
typescript:
specifier: 5.8.3
version: 5.8.3
@@ -787,7 +787,7 @@ importers:
version: 18.3.11
tsdown:
specifier: 'catalog:'
- version: 0.16.0(typescript@5.8.3)
+ version: 0.16.0(typescript@5.8.3)(unrun@0.2.34)
typescript:
specifier: 5.8.3
version: 5.8.3
@@ -811,7 +811,7 @@ importers:
version: 0.2.2
tsdown:
specifier: 'catalog:'
- version: 0.16.0(typescript@5.8.3)
+ version: 0.16.0(typescript@5.8.3)(unrun@0.2.34)
typescript:
specifier: 5.8.3
version: 5.8.3
@@ -995,7 +995,7 @@ importers:
version: 8.5.6
tsdown:
specifier: 'catalog:'
- version: 0.16.0(typescript@5.8.3)
+ version: 0.16.0(typescript@5.8.3)(unrun@0.2.34)
typescript:
specifier: 5.8.3
version: 5.8.3
@@ -1017,7 +1017,7 @@ importers:
version: 18.3.11
tsdown:
specifier: 'catalog:'
- version: 0.16.0(typescript@5.8.3)
+ version: 0.16.0(typescript@5.8.3)(unrun@0.2.34)
typescript:
specifier: 5.8.3
version: 5.8.3
@@ -1057,7 +1057,7 @@ importers:
version: 18.3.11
tsdown:
specifier: 'catalog:'
- version: 0.16.0(typescript@5.8.3)
+ version: 0.16.0(typescript@5.8.3)(unrun@0.2.34)
typescript:
specifier: 5.8.3
version: 5.8.3
@@ -1082,7 +1082,7 @@ importers:
version: 22.12.0
tsdown:
specifier: 'catalog:'
- version: 0.16.0(typescript@5.8.3)
+ version: 0.16.0(typescript@5.8.3)(unrun@0.2.34)
typescript:
specifier: 5.8.3
version: 5.8.3
@@ -1170,7 +1170,7 @@ importers:
version: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
tsdown:
specifier: 'catalog:'
- version: 0.16.0(typescript@5.8.3)
+ version: 0.16.0(typescript@5.8.3)(unrun@0.2.34)
typescript:
specifier: 5.8.3
version: 5.8.3
@@ -1195,7 +1195,7 @@ importers:
version: link:../typescript-config
tsdown:
specifier: 'catalog:'
- version: 0.16.0(typescript@5.8.3)
+ version: 0.16.0(typescript@5.8.3)(unrun@0.2.34)
typescript:
specifier: 5.8.3
version: 5.8.3
@@ -1238,19 +1238,20 @@ importers:
version: 22.12.0
tsdown:
specifier: 'catalog:'
- version: 0.16.0(typescript@5.8.3)
+ version: 0.16.0(typescript@5.8.3)(unrun@0.2.34)
typescript:
specifier: 5.8.3
version: 5.8.3
packages/tailwind-config:
- devDependencies:
+ dependencies:
'@tailwindcss/postcss':
specifier: 4.1.17
version: 4.1.17
postcss:
specifier: 8.5.6
version: 8.5.6
+ devDependencies:
tailwindcss:
specifier: 4.1.17
version: 4.1.17
@@ -1278,7 +1279,7 @@ importers:
version: 18.3.1
tsdown:
specifier: 'catalog:'
- version: 0.16.0(typescript@5.8.3)
+ version: 0.16.0(typescript@5.8.3)(unrun@0.2.34)
typescript:
specifier: 5.8.3
version: 5.8.3
@@ -1422,7 +1423,7 @@ importers:
version: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
tsdown:
specifier: 'catalog:'
- version: 0.16.0(typescript@5.8.3)
+ version: 0.16.0(typescript@5.8.3)(unrun@0.2.34)
typescript:
specifier: 5.8.3
version: 5.8.3
@@ -1513,7 +1514,7 @@ importers:
version: 2.16.0
tsdown:
specifier: 'catalog:'
- version: 0.16.0(typescript@5.8.3)
+ version: 0.16.0(typescript@5.8.3)(unrun@0.2.34)
typescript:
specifier: 5.8.3
version: 5.8.3
@@ -1527,10 +1528,6 @@ packages:
resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
engines: {node: '>=10'}
- '@ampproject/remapping@2.3.0':
- resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
- engines: {node: '>=6.0.0'}
-
'@asamuzakjp/css-color@3.2.0':
resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==}
@@ -1551,10 +1548,6 @@ packages:
resolution: {integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==}
engines: {node: '>=6.9.0'}
- '@babel/core@7.28.3':
- resolution: {integrity: sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==}
- engines: {node: '>=6.9.0'}
-
'@babel/core@7.28.4':
resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==}
engines: {node: '>=6.9.0'}
@@ -1629,11 +1622,6 @@ packages:
resolution: {integrity: sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==}
engines: {node: '>=6.9.0'}
- '@babel/parser@7.28.3':
- resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==}
- engines: {node: '>=6.0.0'}
- hasBin: true
-
'@babel/parser@7.28.5':
resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==}
engines: {node: '>=6.0.0'}
@@ -1914,9 +1902,6 @@ packages:
'@emnapi/core@1.7.1':
resolution: {integrity: sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==}
- '@emnapi/runtime@1.5.0':
- resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==}
-
'@emnapi/runtime@1.7.1':
resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==}
@@ -2488,8 +2473,8 @@ packages:
resolution: {integrity: sha512-DxuT1ClnIPts1kQx8FBmkk4BQDTfI5kIzywAaMjQSXfNnra5UFU9PwurXrl+Je3bJ6BGsp/zmshVVFbCmyI+ww==}
engines: {node: '>= 10'}
- '@napi-rs/wasm-runtime@1.1.0':
- resolution: {integrity: sha512-Fq6DJW+Bb5jaWE69/qOE0D1TUN9+6uWhCeZpdnSBk14pjLcCWR7Q8n49PTSPHazM37JqrsdpEthXy2xn6jWWiA==}
+ '@napi-rs/wasm-runtime@1.1.1':
+ resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==}
'@noble/ciphers@1.3.0':
resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==}
@@ -2507,6 +2492,9 @@ packages:
resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==}
engines: {node: '>=8.0.0'}
+ '@oxc-project/types@0.122.0':
+ resolution: {integrity: sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA==}
+
'@oxc-project/types@0.96.0':
resolution: {integrity: sha512-r/xkmoXA0xEpU6UGtn18CNVjXH6erU3KCpCDbpLmbVxBFor1U9MqN5Z2uMmCHJuXjJzlnDR+hWY+yPoLo8oHDw==}
@@ -2845,8 +2833,8 @@ packages:
'@popperjs/core@2.11.8':
resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
- '@quansync/fs@0.1.5':
- resolution: {integrity: sha512-lNS9hL2aS2NZgNW7BBj+6EBl4rOf8l+tQ0eRY6JWCI8jI2kc53gSoqbjojU0OnAWhzoXiOjFyGsHcDGePB3lhA==}
+ '@quansync/fs@1.0.0':
+ resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==}
'@radix-ui/number@1.1.1':
resolution: {integrity: sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==}
@@ -3053,9 +3041,6 @@ packages:
'@react-pdf/font@2.5.2':
resolution: {integrity: sha512-Ud0EfZ2FwrbvwAWx8nz+KKLmiqACCH9a/N/xNDOja0e/YgSnqTpuyHegFBgIMKjuBtO5dNvkb4dXkxAhGe/ayw==}
- '@react-pdf/font@4.0.2':
- resolution: {integrity: sha512-/dAWu7Y2RD1RxarDZ9SkYPHgBYOhmcDnet4W/qN/m8k+A2Hr3ja54GymSR7GGxWBtxjKtNauVKrTa9LS1n8WUw==}
-
'@react-pdf/font@4.0.4':
resolution: {integrity: sha512-8YtgGtL511txIEc9AjiilpZ7yjid8uCd8OGUl6jaL3LIHnrToUupSN4IzsMQpVTCMYiDLFnDNQzpZsOYtRS/Pg==}
@@ -3074,9 +3059,6 @@ packages:
'@react-pdf/pdfkit@3.2.0':
resolution: {integrity: sha512-OBfCcnTC6RpD9uv9L2woF60Zj1uQxhLFzTBXTdcYE9URzPE/zqXIyzpXEA4Vf3TFbvBCgFE2RzJ2ZUS0asq7yA==}
- '@react-pdf/pdfkit@4.0.3':
- resolution: {integrity: sha512-k+Lsuq8vTwWsCqTp+CCB4+2N+sOTFrzwGA7aw3H9ix/PDWR9QksbmNg0YkzGbLAPI6CeawmiLHcf4trZ5ecLPQ==}
-
'@react-pdf/pdfkit@4.1.0':
resolution: {integrity: sha512-Wm/IOAv0h/U5Ra94c/PltFJGcpTUd/fwVMVeFD6X9tTTPCttIwg0teRG1Lqq617J8K4W7jpL/B0HTH0mjp3QpQ==}
@@ -3116,9 +3098,6 @@ packages:
'@react-pdf/stylesheet@4.3.0':
resolution: {integrity: sha512-x7IVZOqRrUum9quuDeFXBveXwBht+z/6B0M+z4a4XjfSg1vZVvzoTl07Oa1yvQ/4yIC5yIkG2TSMWeKnDB+hrw==}
- '@react-pdf/stylesheet@6.1.0':
- resolution: {integrity: sha512-BGZ2sYNUp38VJUegjva/jsri3iiRGnVNjWI+G9dTwAvLNOmwFvSJzqaCsEnqQ/DW5mrTBk/577FhDY7pv6AidA==}
-
'@react-pdf/stylesheet@6.1.2':
resolution: {integrity: sha512-E3ftGRYUQGKiN3JOgtGsLDo0hGekA6dmkmi/MYACytmPTKxQRBSO3126MebmCq+t1rgU9uRlREIEawJ+8nzSbw==}
@@ -3195,30 +3174,60 @@ packages:
cpu: [arm64]
os: [android]
+ '@rolldown/binding-android-arm64@1.0.0-rc.12':
+ resolution: {integrity: sha512-pv1y2Fv0JybcykuiiD3qBOBdz6RteYojRFY1d+b95WVuzx211CRh+ytI/+9iVyWQ6koTh5dawe4S/yRfOFjgaA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
+
'@rolldown/binding-darwin-arm64@1.0.0-beta.46':
resolution: {integrity: sha512-w4IyumCQkpA3ezZ37COG3mMusFYxjEE8zqCfXZU/qb5k1JMD2kVl0fgJafIbGli27tgelYMweXkJGnlrxSGT9Q==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
+ '@rolldown/binding-darwin-arm64@1.0.0-rc.12':
+ resolution: {integrity: sha512-cFYr6zTG/3PXXF3pUO+umXxt1wkRK/0AYT8lDwuqvRC+LuKYWSAQAQZjCWDQpAH172ZV6ieYrNnFzVVcnSflAg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
'@rolldown/binding-darwin-x64@1.0.0-beta.46':
resolution: {integrity: sha512-9QqaRHPbdAnv306+7nzltq4CktJ49Z4W9ybHLWYxSeDSoOGL4l1QmxjDWoRHrqYEkNr+DWHqqoD4NNHgOk7lKw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
+ '@rolldown/binding-darwin-x64@1.0.0-rc.12':
+ resolution: {integrity: sha512-ZCsYknnHzeXYps0lGBz8JrF37GpE9bFVefrlmDrAQhOEi4IOIlcoU1+FwHEtyXGx2VkYAvhu7dyBf75EJQffBw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
'@rolldown/binding-freebsd-x64@1.0.0-beta.46':
resolution: {integrity: sha512-Cuk5opdEMb+Evi7QcGArc4hWVoHSGz/qyUUWLTpFJWjylb8wH1u4f+HZE6gVGACuf4w/5P/VhAIamHyweAbBVQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [freebsd]
+ '@rolldown/binding-freebsd-x64@1.0.0-rc.12':
+ resolution: {integrity: sha512-dMLeprcVsyJsKolRXyoTH3NL6qtsT0Y2xeuEA8WQJquWFXkEC4bcu1rLZZSnZRMtAqwtrF/Ib9Ddtpa/Gkge9Q==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
+
'@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.46':
resolution: {integrity: sha512-BPWDxEnxb4JNMXrSmPuc5ywI6cHOELofmT0e/WGkbL1MwKYRVvqTf+gMcGLF6zAV+OF5hLYMAEk8XKfao6xmDQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.12':
+ resolution: {integrity: sha512-YqWjAgGC/9M1lz3GR1r1rP79nMgo3mQiiA+Hfo+pvKFK1fAJ1bCi0ZQVh8noOqNacuY1qIcfyVfP6HoyBRZ85Q==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
'@rolldown/binding-linux-arm64-gnu@1.0.0-beta.46':
resolution: {integrity: sha512-CDQSVlryuRC955EwgbBK1h/6xQyttSxQG8+6/PeOfvUlfKGPMbBdcsOEHzGve5ED1Y7Ovh2UFjY/eT106aQqig==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -3226,6 +3235,13 @@ packages:
os: [linux]
libc: [glibc]
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.12':
+ resolution: {integrity: sha512-/I5AS4cIroLpslsmzXfwbe5OmWvSsrFuEw3mwvbQ1kDxJ822hFHIx+vsN/TAzNVyepI/j/GSzrtCIwQPeKCLIg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
'@rolldown/binding-linux-arm64-musl@1.0.0-beta.46':
resolution: {integrity: sha512-6IZHycZetmVaC9zwcl1aA9fPYPuxLa5apALjJRoJu/2BZdER3zBWxDnCzlEh4SUlo++cwdfV9ZQRK9JS8cLNuA==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -3233,6 +3249,27 @@ packages:
os: [linux]
libc: [musl]
+ '@rolldown/binding-linux-arm64-musl@1.0.0-rc.12':
+ resolution: {integrity: sha512-V6/wZztnBqlx5hJQqNWwFdxIKN0m38p8Jas+VoSfgH54HSj9tKTt1dZvG6JRHcjh6D7TvrJPWFGaY9UBVOaWPw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.12':
+ resolution: {integrity: sha512-AP3E9BpcUYliZCxa3w5Kwj9OtEVDYK6sVoUzy4vTOJsjPOgdaJZKFmN4oOlX0Wp0RPV2ETfmIra9x1xuayFB7g==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ppc64]
+ os: [linux]
+ libc: [glibc]
+
+ '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.12':
+ resolution: {integrity: sha512-nWwpvUSPkoFmZo0kQazZYOrT7J5DGOJ/+QHHzjvNlooDZED8oH82Yg67HvehPPLAg5fUff7TfWFHQS8IV1n3og==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [s390x]
+ os: [linux]
+ libc: [glibc]
+
'@rolldown/binding-linux-x64-gnu@1.0.0-beta.46':
resolution: {integrity: sha512-R/kI8fMnsxXvWzcMv5A408hfvrwtAwD/HdQKIE1HKWmfxdSHB11Y3PVwlnt7RVo7I++6mWCIxxj5o3gut4ibEw==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -3240,6 +3277,13 @@ packages:
os: [linux]
libc: [glibc]
+ '@rolldown/binding-linux-x64-gnu@1.0.0-rc.12':
+ resolution: {integrity: sha512-RNrafz5bcwRy+O9e6P8Z/OCAJW/A+qtBczIqVYwTs14pf4iV1/+eKEjdOUta93q2TsT/FI0XYDP3TCky38LMAg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
'@rolldown/binding-linux-x64-musl@1.0.0-beta.46':
resolution: {integrity: sha512-vGUXKuHGUlG2XBwvN4A8KIegeaVVxN2ZxdGG9thycwRkzUvZ9ccKvqUVZM8cVRyNRWgVgsGCS18qLUefVplwKw==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -3247,23 +3291,47 @@ packages:
os: [linux]
libc: [musl]
+ '@rolldown/binding-linux-x64-musl@1.0.0-rc.12':
+ resolution: {integrity: sha512-Jpw/0iwoKWx3LJ2rc1yjFrj+T7iHZn2JDg1Yny1ma0luviFS4mhAIcd1LFNxK3EYu3DHWCps0ydXQ5i/rrJ2ig==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
'@rolldown/binding-openharmony-arm64@1.0.0-beta.46':
resolution: {integrity: sha512-6SpDGH+0Dud3/RFDoC6fva6+Cm/0COnMRKR8kI4ssHWlCXPymlM59kYFCIBLZZqwURpNVVMPln4rWjxXuwD23w==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [openharmony]
+ '@rolldown/binding-openharmony-arm64@1.0.0-rc.12':
+ resolution: {integrity: sha512-vRugONE4yMfVn0+7lUKdKvN4D5YusEiPilaoO2sgUWpCvrncvWgPMzK00ZFFJuiPgLwgFNP5eSiUlv2tfc+lpA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
+
'@rolldown/binding-wasm32-wasi@1.0.0-beta.46':
resolution: {integrity: sha512-peWDGp8YUAbTw5RJzr9AuPlTuf2adr+TBNIGF6ysMbobBKuQL41wYfGQlcerXJfLmjnQLf6DU2zTPBTfrS2Y8A==}
engines: {node: '>=14.0.0'}
cpu: [wasm32]
+ '@rolldown/binding-wasm32-wasi@1.0.0-rc.12':
+ resolution: {integrity: sha512-ykGiLr/6kkiHc0XnBfmFJuCjr5ZYKKofkx+chJWDjitX+KsJuAmrzWhwyOMSHzPhzOHOy7u9HlFoa5MoAOJ/Zg==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
'@rolldown/binding-win32-arm64-msvc@1.0.0-beta.46':
resolution: {integrity: sha512-Ydbwg1JCnVbTAuDyKtu3dOuBLgZ6iZsy8p1jMPX/r7LMPnpXnS15GNcmMwa11nyl/M2VjGE1i/MORUTMt8mnRQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.12':
+ resolution: {integrity: sha512-5eOND4duWkwx1AzCxadcOrNeighiLwMInEADT0YM7xeEOOFcovWZCq8dadXgcRHSf3Ulh1kFo/qvzoFiCLOL1Q==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
'@rolldown/binding-win32-ia32-msvc@1.0.0-beta.46':
resolution: {integrity: sha512-XcPZG2uDxEn6G3takXQvi7xWgDiJqdC0N6mubL/giKD4I65zgQtbadwlIR8oDB/erOahZr5IX8cRBVcK3xcvpg==}
engines: {node: ^20.19.0 || >=22.12.0}
@@ -3276,9 +3344,18 @@ packages:
cpu: [x64]
os: [win32]
+ '@rolldown/binding-win32-x64-msvc@1.0.0-rc.12':
+ resolution: {integrity: sha512-PyqoipaswDLAZtot351MLhrlrh6lcZPo2LSYE+VDxbVk24LVKAGOuE4hb8xZQmrPAuEtTZW8E6D2zc5EUZX4Lw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
+
'@rolldown/pluginutils@1.0.0-beta.46':
resolution: {integrity: sha512-xMNwJo/pHkEP/mhNVnW+zUiJDle6/hxrwO0mfSJuEVRbBfgrJFuUSRoZx/nYUw5pCjrysl9OkNXCkAdih8GCnA==}
+ '@rolldown/pluginutils@1.0.0-rc.12':
+ resolution: {integrity: sha512-HHMwmarRKvoFsJorqYlFeFRzXZqCt2ETQlEDOb9aqssrnVBB1/+xgTGtuTrIk5vzLNX1MjMtTf7W9z3tsSbrxw==}
+
'@rollup/pluginutils@5.2.0':
resolution: {integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==}
engines: {node: '>=14.0.0'}
@@ -4673,10 +4750,6 @@ packages:
base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
- baseline-browser-mapping@2.8.4:
- resolution: {integrity: sha512-L+YvJwGAgwJBV1p6ffpSTa2KRc69EeeYGYjRVWKs0GKrK+LON0GC0gV+rKSNtALEDvMDqkvCFq9r1r94/Gjwxw==}
- hasBin: true
-
baseline-browser-mapping@2.9.19:
resolution: {integrity: sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==}
hasBin: true
@@ -4735,11 +4808,6 @@ packages:
browserify-zlib@0.2.0:
resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==}
- browserslist@4.26.2:
- resolution: {integrity: sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
-
browserslist@4.28.1:
resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
@@ -5337,9 +5405,6 @@ packages:
effect@3.20.0:
resolution: {integrity: sha512-qMLfDJscrNG8p/aw+IkT9W7fgj50Z4wG5bLBy0Txsxz8iUHjDIkOgO3SV0WZfnQbNG2VJYb0b+rDLMrhM4+Krw==}
- electron-to-chromium@1.5.218:
- resolution: {integrity: sha512-uwwdN0TUHs8u6iRgN8vKeWZMRll4gBkz+QMqdS7DDe49uiK68/UX92lFb61oiFPrpYZNeZIqa4bA7O6Aiasnzg==}
-
electron-to-chromium@1.5.286:
resolution: {integrity: sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==}
@@ -5775,8 +5840,8 @@ packages:
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
engines: {node: '>=10'}
- get-tsconfig@4.13.0:
- resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==}
+ get-tsconfig@4.13.7:
+ resolution: {integrity: sha512-7tN6rFgBlMgpBML5j8typ92BKFi2sFQvIdpAqLA2beia5avZDrMs0FLZiM5etShWq5irVyGcGMEA1jcDaK7A/Q==}
glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
@@ -5788,6 +5853,7 @@ packages:
glob@11.1.0:
resolution: {integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==}
engines: {node: 20 || >=22}
+ deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
hasBin: true
globrex@0.1.2:
@@ -6437,9 +6503,6 @@ packages:
resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
hasBin: true
- magic-string@0.30.19:
- resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==}
-
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
@@ -6879,9 +6942,6 @@ packages:
node-html-parser@6.1.13:
resolution: {integrity: sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==}
- node-releases@2.0.21:
- resolution: {integrity: sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==}
-
node-releases@2.0.27:
resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==}
@@ -7127,8 +7187,8 @@ packages:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
- picomatch@4.0.3:
- resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
+ picomatch@4.0.4:
+ resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==}
engines: {node: '>=12'}
pidtree@0.6.0:
@@ -7368,8 +7428,8 @@ packages:
resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==}
engines: {node: '>=0.6'}
- quansync@0.2.11:
- resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==}
+ quansync@1.0.0:
+ resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==}
queue@6.0.2:
resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==}
@@ -7698,6 +7758,11 @@ packages:
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
+ rolldown@1.0.0-rc.12:
+ resolution: {integrity: sha512-yP4USLIMYrwpPHEFB5JGH1uxhcslv6/hL0OyvTuY+3qlOSJvZ7ntYnoWpehBxufkgN0cvXxppuTu5hHa/zPh+A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+
rollup@4.59.0:
resolution: {integrity: sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
@@ -7750,10 +7815,6 @@ packages:
resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
engines: {node: '>= 10.13.0'}
- schema-utils@4.3.2:
- resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==}
- engines: {node: '>= 10.13.0'}
-
schema-utils@4.3.3:
resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==}
engines: {node: '>= 10.13.0'}
@@ -7769,13 +7830,8 @@ packages:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
- semver@7.7.2:
- resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
- engines: {node: '>=10'}
- hasBin: true
-
- semver@7.7.3:
- resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==}
+ semver@7.7.4:
+ resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==}
engines: {node: '>=10'}
hasBin: true
@@ -7944,10 +8000,6 @@ packages:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
- strip-ansi@7.1.0:
- resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
- engines: {node: '>=12'}
-
strip-ansi@7.1.2:
resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
engines: {node: '>=12'}
@@ -8031,22 +8083,6 @@ packages:
resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==}
engines: {node: '>=6'}
- terser-webpack-plugin@5.3.14:
- resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==}
- engines: {node: '>= 10.13.0'}
- peerDependencies:
- '@swc/core': '*'
- esbuild: '*'
- uglify-js: '*'
- webpack: 5.104.1
- peerDependenciesMeta:
- '@swc/core':
- optional: true
- esbuild:
- optional: true
- uglify-js:
- optional: true
-
terser-webpack-plugin@5.3.16:
resolution: {integrity: sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==}
engines: {node: '>= 10.13.0'}
@@ -8086,8 +8122,8 @@ packages:
tinycolor2@1.6.0:
resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==}
- tinyexec@1.0.2:
- resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==}
+ tinyexec@1.0.4:
+ resolution: {integrity: sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==}
engines: {node: '>=18'}
tinyglobby@0.2.15:
@@ -8289,8 +8325,11 @@ packages:
resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==}
engines: {node: '>=18'}
- unconfig@7.3.3:
- resolution: {integrity: sha512-QCkQoOnJF8L107gxfHL0uavn7WD9b3dpBcFX6HtfQYmjw2YzWxGuFQ0N0J6tE9oguCBJn9KOvfqYDCMPHIZrBA==}
+ unconfig-core@7.5.0:
+ resolution: {integrity: sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w==}
+
+ unconfig@7.5.0:
+ resolution: {integrity: sha512-oi8Qy2JV4D3UQ0PsopR28CzdQ3S/5A1zwsUwp/rosSbfhJ5z7b90bIyTwi/F7hCLD4SGcZVjDzd4XoUQcEanvA==}
undici-types@6.20.0:
resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
@@ -8357,11 +8396,15 @@ packages:
resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==}
engines: {node: '>=14.0.0'}
- update-browserslist-db@1.1.3:
- resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
+ unrun@0.2.34:
+ resolution: {integrity: sha512-LyaghRBR++r7svhDK6tnDz2XaYHWdneBOA0jbS8wnRsHerI9MFljX4fIiTgbbNbEVzZ0C9P1OjWLLe1OqoaaEw==}
+ engines: {node: '>=20.19.0'}
hasBin: true
peerDependencies:
- browserslist: '>= 4.21.0'
+ synckit: ^0.11.11
+ peerDependenciesMeta:
+ synckit:
+ optional: true
update-browserslist-db@1.2.3:
resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==}
@@ -8793,11 +8836,6 @@ snapshots:
'@alloc/quick-lru@5.2.0': {}
- '@ampproject/remapping@2.3.0':
- dependencies:
- '@jridgewell/gen-mapping': 0.3.13
- '@jridgewell/trace-mapping': 0.3.31
-
'@asamuzakjp/css-color@3.2.0':
dependencies:
'@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)
@@ -8831,26 +8869,6 @@ snapshots:
'@babel/compat-data@7.28.4': {}
- '@babel/core@7.28.3':
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.27.1
- '@babel/generator': 7.28.5
- '@babel/helper-compilation-targets': 7.27.2
- '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3)
- '@babel/helpers': 7.26.10
- '@babel/parser': 7.28.5
- '@babel/template': 7.27.2
- '@babel/traverse': 7.28.4
- '@babel/types': 7.28.5
- convert-source-map: 2.0.0
- debug: 4.4.3
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
'@babel/core@7.28.4':
dependencies:
'@babel/code-frame': 7.27.1
@@ -8891,19 +8909,6 @@ snapshots:
lru-cache: 5.1.1
semver: 6.3.1
- '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.3)':
- dependencies:
- '@babel/core': 7.28.3
- '@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-member-expression-to-functions': 7.27.1
- '@babel/helper-optimise-call-expression': 7.27.1
- '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.3)
- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
- '@babel/traverse': 7.28.4
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
'@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
@@ -8933,15 +8938,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.3)':
- dependencies:
- '@babel/core': 7.28.3
- '@babel/helper-module-imports': 7.27.1
- '@babel/helper-validator-identifier': 7.28.5
- '@babel/traverse': 7.28.4
- transitivePeerDependencies:
- - supports-color
-
'@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
@@ -8957,15 +8953,6 @@ snapshots:
'@babel/helper-plugin-utils@7.27.1': {}
- '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.3)':
- dependencies:
- '@babel/core': 7.28.3
- '@babel/helper-member-expression-to-functions': 7.27.1
- '@babel/helper-optimise-call-expression': 7.27.1
- '@babel/traverse': 7.28.4
- transitivePeerDependencies:
- - supports-color
-
'@babel/helper-replace-supers@7.27.1(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
@@ -8993,22 +8980,13 @@ snapshots:
'@babel/template': 7.27.2
'@babel/types': 7.28.5
- '@babel/parser@7.28.3':
- dependencies:
- '@babel/types': 7.28.5
-
'@babel/parser@7.28.5':
dependencies:
'@babel/types': 7.28.5
- '@babel/plugin-syntax-flow@7.27.1(@babel/core@7.28.3)':
+ '@babel/plugin-syntax-flow@7.27.1(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.28.3
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.3)':
- dependencies:
- '@babel/core': 7.28.3
+ '@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
'@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.4)':
@@ -9016,37 +8994,24 @@ snapshots:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.3)':
- dependencies:
- '@babel/core': 7.28.3
- '@babel/helper-plugin-utils': 7.27.1
-
'@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.4)':
dependencies:
'@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.3)':
+ '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.28.3
- '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3)
+ '@babel/core': 7.28.4
+ '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4)
'@babel/helper-plugin-utils': 7.27.1
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.28.3)':
+ '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.28.3
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.3)
-
- '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.3)':
- dependencies:
- '@babel/core': 7.28.3
- '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3)
+ '@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
- transitivePeerDependencies:
- - supports-color
+ '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.4)
'@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.4)':
dependencies:
@@ -9056,35 +9021,24 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.3)':
+ '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.28.3
+ '@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
- '@babel/plugin-transform-optional-chaining@7.28.5(@babel/core@7.28.3)':
+ '@babel/plugin-transform-optional-chaining@7.28.5(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.28.3
+ '@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
'@babel/helper-skip-transparent-expression-wrappers': 7.27.1
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.3)':
+ '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.28.3
- '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3)
- '@babel/helper-plugin-utils': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
- '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.3)':
- dependencies:
- '@babel/core': 7.28.3
- '@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.3)
+ '@babel/core': 7.28.4
+ '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4)
'@babel/helper-plugin-utils': 7.27.1
- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
- '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.3)
transitivePeerDependencies:
- supports-color
@@ -9099,23 +9053,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/preset-flow@7.27.1(@babel/core@7.28.3)':
- dependencies:
- '@babel/core': 7.28.3
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/helper-validator-option': 7.27.1
- '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.3)
-
- '@babel/preset-typescript@7.27.1(@babel/core@7.28.3)':
+ '@babel/preset-flow@7.27.1(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.28.3
+ '@babel/core': 7.28.4
'@babel/helper-plugin-utils': 7.27.1
'@babel/helper-validator-option': 7.27.1
- '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.3)
- '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.3)
- '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.3)
- transitivePeerDependencies:
- - supports-color
+ '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.4)
'@babel/preset-typescript@7.27.1(@babel/core@7.28.4)':
dependencies:
@@ -9128,9 +9071,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/register@7.28.3(@babel/core@7.28.3)':
+ '@babel/register@7.28.3(@babel/core@7.28.4)':
dependencies:
- '@babel/core': 7.28.3
+ '@babel/core': 7.28.4
clone-deep: 4.0.1
find-cache-dir: 2.1.0
make-dir: 2.1.0
@@ -9290,10 +9233,10 @@ snapshots:
dotenv: 17.2.1
eciesjs: 0.4.15
execa: 5.1.1
- fdir: 6.5.0(picomatch@4.0.3)
+ fdir: 6.5.0(picomatch@4.0.4)
ignore: 5.3.2
object-treeify: 1.1.33
- picomatch: 4.0.3
+ picomatch: 4.0.4
which: 4.0.0
'@ecies/ciphers@0.2.4(@noble/ciphers@1.3.0)':
@@ -9379,11 +9322,6 @@ snapshots:
tslib: 2.8.1
optional: true
- '@emnapi/runtime@1.5.0':
- dependencies:
- tslib: 2.8.1
- optional: true
-
'@emnapi/runtime@1.7.1':
dependencies:
tslib: 2.8.1
@@ -9716,7 +9654,7 @@ snapshots:
'@img/sharp-wasm32@0.34.3':
dependencies:
- '@emnapi/runtime': 1.5.0
+ '@emnapi/runtime': 1.7.1
optional: true
'@img/sharp-win32-arm64@0.34.3':
@@ -9734,7 +9672,7 @@ snapshots:
dependencies:
string-width: 5.1.2
string-width-cjs: string-width@4.2.3
- strip-ansi: 7.1.0
+ strip-ansi: 7.1.2
strip-ansi-cjs: strip-ansi@6.0.1
wrap-ansi: 8.1.0
wrap-ansi-cjs: wrap-ansi@7.0.0
@@ -9853,7 +9791,7 @@ snapshots:
'@napi-rs/canvas-linux-x64-musl': 0.1.80
'@napi-rs/canvas-win32-x64-msvc': 0.1.80
- '@napi-rs/wasm-runtime@1.1.0':
+ '@napi-rs/wasm-runtime@1.1.1':
dependencies:
'@emnapi/core': 1.7.1
'@emnapi/runtime': 1.7.1
@@ -9871,6 +9809,9 @@ snapshots:
'@opentelemetry/api@1.9.0':
optional: true
+ '@oxc-project/types@0.122.0':
+ optional: true
+
'@oxc-project/types@0.96.0': {}
'@oxfmt/binding-android-arm-eabi@0.35.0':
@@ -10031,7 +9972,7 @@ snapshots:
detect-libc: 2.0.4
is-glob: 4.0.3
node-addon-api: 7.1.1
- picomatch: 4.0.3
+ picomatch: 4.0.4
optionalDependencies:
'@parcel/watcher-android-arm64': 2.5.4
'@parcel/watcher-darwin-arm64': 2.5.4
@@ -10049,9 +9990,9 @@ snapshots:
'@popperjs/core@2.11.8': {}
- '@quansync/fs@0.1.5':
+ '@quansync/fs@1.0.0':
dependencies:
- quansync: 0.2.11
+ quansync: 1.0.0
'@radix-ui/number@1.1.1': {}
@@ -10237,13 +10178,6 @@ snapshots:
transitivePeerDependencies:
- encoding
- '@react-pdf/font@4.0.2':
- dependencies:
- '@react-pdf/pdfkit': 4.0.3
- '@react-pdf/types': 2.9.2
- fontkit: 2.0.4
- is-url: 1.2.4
-
'@react-pdf/font@4.0.4':
dependencies:
'@react-pdf/pdfkit': 4.1.0
@@ -10287,7 +10221,7 @@ snapshots:
'@react-pdf/fns': 3.1.2
'@react-pdf/image': 3.0.3
'@react-pdf/primitives': 4.1.1
- '@react-pdf/stylesheet': 6.1.0
+ '@react-pdf/stylesheet': 6.1.2
'@react-pdf/textkit': 6.0.0
'@react-pdf/types': 2.9.2
emoji-regex: 10.5.0
@@ -10304,17 +10238,6 @@ snapshots:
jay-peg: 1.1.1
vite-compatible-readable-stream: 3.6.1
- '@react-pdf/pdfkit@4.0.3':
- dependencies:
- '@babel/runtime': 7.26.10
- '@react-pdf/png-js': 3.0.0
- browserify-zlib: 0.2.0
- crypto-js: 4.2.0
- fontkit: 2.0.4
- jay-peg: 1.1.1
- linebreak: 1.1.0
- vite-compatible-readable-stream: 3.6.1
-
'@react-pdf/pdfkit@4.1.0':
dependencies:
'@babel/runtime': 7.26.10
@@ -10392,9 +10315,9 @@ snapshots:
dependencies:
'@babel/runtime': 7.26.10
'@react-pdf/fns': 3.1.2
- '@react-pdf/font': 4.0.2
+ '@react-pdf/font': 4.0.4
'@react-pdf/layout': 4.4.0
- '@react-pdf/pdfkit': 4.0.3
+ '@react-pdf/pdfkit': 4.1.0
'@react-pdf/primitives': 4.1.1
'@react-pdf/reconciler': 1.1.4(react@18.3.1)
'@react-pdf/render': 4.3.0
@@ -10415,15 +10338,6 @@ snapshots:
media-engine: 1.0.3
postcss-value-parser: 4.2.0
- '@react-pdf/stylesheet@6.1.0':
- dependencies:
- '@react-pdf/fns': 3.1.2
- '@react-pdf/types': 2.9.2
- color-string: 1.9.1
- hsl-to-hex: 1.0.0
- media-engine: 1.0.3
- postcss-value-parser: 4.2.0
-
'@react-pdf/stylesheet@6.1.2':
dependencies:
'@react-pdf/fns': 3.1.2
@@ -10481,7 +10395,7 @@ snapshots:
prettier: 3.7.4
react-refresh: 0.14.2
react-router: 7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- semver: 7.7.3
+ semver: 7.7.4
tinyglobby: 0.2.15
valibot: 1.2.0(typescript@5.8.3)
vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
@@ -10541,54 +10455,104 @@ snapshots:
'@rolldown/binding-android-arm64@1.0.0-beta.46':
optional: true
+ '@rolldown/binding-android-arm64@1.0.0-rc.12':
+ optional: true
+
'@rolldown/binding-darwin-arm64@1.0.0-beta.46':
optional: true
+ '@rolldown/binding-darwin-arm64@1.0.0-rc.12':
+ optional: true
+
'@rolldown/binding-darwin-x64@1.0.0-beta.46':
optional: true
+ '@rolldown/binding-darwin-x64@1.0.0-rc.12':
+ optional: true
+
'@rolldown/binding-freebsd-x64@1.0.0-beta.46':
optional: true
+ '@rolldown/binding-freebsd-x64@1.0.0-rc.12':
+ optional: true
+
'@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.46':
optional: true
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.12':
+ optional: true
+
'@rolldown/binding-linux-arm64-gnu@1.0.0-beta.46':
optional: true
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.12':
+ optional: true
+
'@rolldown/binding-linux-arm64-musl@1.0.0-beta.46':
optional: true
+ '@rolldown/binding-linux-arm64-musl@1.0.0-rc.12':
+ optional: true
+
+ '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.12':
+ optional: true
+
+ '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.12':
+ optional: true
+
'@rolldown/binding-linux-x64-gnu@1.0.0-beta.46':
optional: true
+ '@rolldown/binding-linux-x64-gnu@1.0.0-rc.12':
+ optional: true
+
'@rolldown/binding-linux-x64-musl@1.0.0-beta.46':
optional: true
+ '@rolldown/binding-linux-x64-musl@1.0.0-rc.12':
+ optional: true
+
'@rolldown/binding-openharmony-arm64@1.0.0-beta.46':
optional: true
+ '@rolldown/binding-openharmony-arm64@1.0.0-rc.12':
+ optional: true
+
'@rolldown/binding-wasm32-wasi@1.0.0-beta.46':
dependencies:
- '@napi-rs/wasm-runtime': 1.1.0
+ '@napi-rs/wasm-runtime': 1.1.1
+ optional: true
+
+ '@rolldown/binding-wasm32-wasi@1.0.0-rc.12':
+ dependencies:
+ '@napi-rs/wasm-runtime': 1.1.1
optional: true
'@rolldown/binding-win32-arm64-msvc@1.0.0-beta.46':
optional: true
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.12':
+ optional: true
+
'@rolldown/binding-win32-ia32-msvc@1.0.0-beta.46':
optional: true
'@rolldown/binding-win32-x64-msvc@1.0.0-beta.46':
optional: true
+ '@rolldown/binding-win32-x64-msvc@1.0.0-rc.12':
+ optional: true
+
'@rolldown/pluginutils@1.0.0-beta.46': {}
+ '@rolldown/pluginutils@1.0.0-rc.12':
+ optional: true
+
'@rollup/pluginutils@5.2.0(rollup@4.59.0)':
dependencies:
'@types/estree': 1.0.8
estree-walker: 2.0.2
- picomatch: 4.0.3
+ picomatch: 4.0.4
optionalDependencies:
rollup: 4.59.0
@@ -10836,10 +10800,10 @@ snapshots:
magic-string: 0.30.21
path-browserify: 1.0.1
process: 0.11.10
- semver: 7.7.3
+ semver: 7.7.4
storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
style-loader: 3.3.4(webpack@5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17)))
- terser-webpack-plugin: 5.3.14(@swc/core@1.13.5(@swc/helpers@0.5.17))(webpack@5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17)))
+ terser-webpack-plugin: 5.3.16(@swc/core@1.13.5(@swc/helpers@0.5.17))(webpack@5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17)))
ts-dedent: 2.2.0
url: 0.11.4
util: 0.12.5
@@ -10909,7 +10873,7 @@ snapshots:
react-docgen: 7.1.1
react-dom: 18.3.1(react@18.3.1)
resolve: 1.22.10
- semver: 7.7.3
+ semver: 7.7.4
storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
tsconfig-paths: 4.2.0
webpack: 5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17))
@@ -10960,7 +10924,7 @@ snapshots:
'@storybook/builder-vite': 9.1.10(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
'@storybook/react': 9.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(typescript@5.8.3)
find-up: 7.0.0
- magic-string: 0.30.19
+ magic-string: 0.30.21
react: 18.3.1
react-docgen: 8.0.1
react-dom: 18.3.1(react@18.3.1)
@@ -12059,7 +12023,7 @@ snapshots:
autoprefixer@10.4.21(postcss@8.5.6):
dependencies:
- browserslist: 4.26.2
+ browserslist: 4.28.1
caniuse-lite: 1.0.30001759
fraction.js: 4.3.7
normalize-range: 0.1.2
@@ -12103,8 +12067,6 @@ snapshots:
base64-js@1.5.1: {}
- baseline-browser-mapping@2.8.4: {}
-
baseline-browser-mapping@2.9.19: {}
basic-auth@2.0.1:
@@ -12177,14 +12139,6 @@ snapshots:
dependencies:
pako: 1.0.11
- browserslist@4.26.2:
- dependencies:
- baseline-browser-mapping: 2.8.4
- caniuse-lite: 1.0.30001759
- electron-to-chromium: 1.5.218
- node-releases: 2.0.21
- update-browserslist-db: 1.1.3(browserslist@4.26.2)
-
browserslist@4.28.1:
dependencies:
baseline-browser-mapping: 2.9.19
@@ -12517,7 +12471,7 @@ snapshots:
postcss-modules-scope: 3.2.1(postcss@8.5.6)
postcss-modules-values: 4.0.0(postcss@8.5.6)
postcss-value-parser: 4.2.0
- semver: 7.7.3
+ semver: 7.7.4
optionalDependencies:
webpack: 5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17))
@@ -12769,8 +12723,6 @@ snapshots:
'@standard-schema/spec': 1.0.0
fast-check: 3.23.2
- electron-to-chromium@1.5.218: {}
-
electron-to-chromium@1.5.286: {}
element-resize-detector@1.2.4:
@@ -13010,9 +12962,9 @@ snapshots:
fast-uri@3.0.6: {}
- fdir@6.5.0(picomatch@4.0.3):
+ fdir@6.5.0(picomatch@4.0.4):
optionalDependencies:
- picomatch: 4.0.3
+ picomatch: 4.0.4
fecha@4.2.3: {}
@@ -13136,7 +13088,7 @@ snapshots:
minimatch: 3.1.4
node-abort-controller: 3.1.1
schema-utils: 3.3.0
- semver: 7.7.3
+ semver: 7.7.4
tapable: 2.3.0
typescript: 5.8.3
webpack: 5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17))
@@ -13224,7 +13176,7 @@ snapshots:
get-stream@6.0.1: {}
- get-tsconfig@4.13.0:
+ get-tsconfig@4.13.7:
dependencies:
resolve-pkg-maps: 1.0.0
@@ -13679,16 +13631,16 @@ snapshots:
jscodeshift@17.3.0:
dependencies:
- '@babel/core': 7.28.3
- '@babel/parser': 7.28.3
- '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.3)
- '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.3)
- '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.3)
- '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.3)
- '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.3)
- '@babel/preset-flow': 7.27.1(@babel/core@7.28.3)
- '@babel/preset-typescript': 7.27.1(@babel/core@7.28.3)
- '@babel/register': 7.28.3(@babel/core@7.28.3)
+ '@babel/core': 7.28.4
+ '@babel/parser': 7.28.5
+ '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.4)
+ '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.4)
+ '@babel/preset-flow': 7.27.1(@babel/core@7.28.4)
+ '@babel/preset-typescript': 7.27.1(@babel/core@7.28.4)
+ '@babel/register': 7.28.3(@babel/core@7.28.4)
flow-parser: 0.293.0
graceful-fs: 4.2.11
micromatch: 4.0.8
@@ -13948,10 +13900,6 @@ snapshots:
lz-string@1.5.0: {}
- magic-string@0.30.19:
- dependencies:
- '@jridgewell/sourcemap-codec': 1.5.5
-
magic-string@0.30.21:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
@@ -13973,7 +13921,7 @@ snapshots:
make-dir@4.0.0:
dependencies:
- semver: 7.7.3
+ semver: 7.7.4
map-or-similar@1.5.0: {}
@@ -14623,8 +14571,6 @@ snapshots:
css-select: 5.2.2
he: 1.2.0
- node-releases@2.0.21: {}
-
node-releases@2.0.27: {}
normalize-path@3.0.0: {}
@@ -14867,7 +14813,7 @@ snapshots:
picomatch@2.3.1: {}
- picomatch@4.0.3: {}
+ picomatch@4.0.4: {}
pidtree@0.6.0: {}
@@ -15136,7 +15082,7 @@ snapshots:
dependencies:
side-channel: 1.1.0
- quansync@0.2.11: {}
+ quansync@1.0.0: {}
queue@6.0.2:
dependencies:
@@ -15548,7 +15494,7 @@ snapshots:
ast-kit: 2.2.0
birpc: 2.9.0
dts-resolver: 2.1.3
- get-tsconfig: 4.13.0
+ get-tsconfig: 4.13.7
magic-string: 0.30.21
obug: 2.1.1
rolldown: 1.0.0-beta.46
@@ -15577,6 +15523,28 @@ snapshots:
'@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.46
'@rolldown/binding-win32-x64-msvc': 1.0.0-beta.46
+ rolldown@1.0.0-rc.12:
+ dependencies:
+ '@oxc-project/types': 0.122.0
+ '@rolldown/pluginutils': 1.0.0-rc.12
+ optionalDependencies:
+ '@rolldown/binding-android-arm64': 1.0.0-rc.12
+ '@rolldown/binding-darwin-arm64': 1.0.0-rc.12
+ '@rolldown/binding-darwin-x64': 1.0.0-rc.12
+ '@rolldown/binding-freebsd-x64': 1.0.0-rc.12
+ '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.12
+ '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.12
+ '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.12
+ '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.12
+ '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.12
+ '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.12
+ '@rolldown/binding-linux-x64-musl': 1.0.0-rc.12
+ '@rolldown/binding-openharmony-arm64': 1.0.0-rc.12
+ '@rolldown/binding-wasm32-wasi': 1.0.0-rc.12
+ '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.12
+ '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.12
+ optional: true
+
rollup@4.59.0:
dependencies:
'@types/estree': 1.0.8
@@ -15662,13 +15630,6 @@ snapshots:
ajv: 6.14.0
ajv-keywords: 3.5.2(ajv@6.14.0)
- schema-utils@4.3.2:
- dependencies:
- '@types/json-schema': 7.0.15
- ajv: 8.18.0
- ajv-formats: 2.1.1(ajv@8.18.0)
- ajv-keywords: 5.1.0(ajv@8.18.0)
-
schema-utils@4.3.3:
dependencies:
'@types/json-schema': 7.0.15
@@ -15684,9 +15645,7 @@ snapshots:
semver@6.3.1: {}
- semver@7.7.2: {}
-
- semver@7.7.3: {}
+ semver@7.7.4: {}
send@0.19.0:
dependencies:
@@ -15777,7 +15736,7 @@ snapshots:
dependencies:
color: 4.2.3
detect-libc: 2.0.4
- semver: 7.7.2
+ semver: 7.7.4
optionalDependencies:
'@img/sharp-darwin-arm64': 0.34.3
'@img/sharp-darwin-x64': 0.34.3
@@ -15895,7 +15854,7 @@ snapshots:
esbuild: 0.25.0
esbuild-register: 3.6.0(esbuild@0.25.0)
recast: 0.23.11
- semver: 7.7.3
+ semver: 7.7.4
ws: 8.18.3
optionalDependencies:
prettier: 3.7.4
@@ -15945,10 +15904,6 @@ snapshots:
dependencies:
ansi-regex: 5.0.1
- strip-ansi@7.1.0:
- dependencies:
- ansi-regex: 6.2.2
-
strip-ansi@7.1.2:
dependencies:
ansi-regex: 6.2.2
@@ -16016,17 +15971,6 @@ snapshots:
tapable@2.3.0: {}
- terser-webpack-plugin@5.3.14(@swc/core@1.13.5(@swc/helpers@0.5.17))(webpack@5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17))):
- dependencies:
- '@jridgewell/trace-mapping': 0.3.31
- jest-worker: 27.5.1
- schema-utils: 4.3.2
- serialize-javascript: 7.0.3
- terser: 5.43.1
- webpack: 5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17))
- optionalDependencies:
- '@swc/core': 1.13.5(@swc/helpers@0.5.17)
-
terser-webpack-plugin@5.3.16(@swc/core@1.13.5(@swc/helpers@0.5.17))(webpack@5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17))):
dependencies:
'@jridgewell/trace-mapping': 0.3.31
@@ -16057,12 +16001,12 @@ snapshots:
tinycolor2@1.6.0: {}
- tinyexec@1.0.2: {}
+ tinyexec@1.0.4: {}
tinyglobby@0.2.15:
dependencies:
- fdir: 6.5.0(picomatch@4.0.3)
- picomatch: 4.0.3
+ fdir: 6.5.0(picomatch@4.0.4)
+ picomatch: 4.0.4
tinypool@2.1.0: {}
@@ -16144,7 +16088,7 @@ snapshots:
minimist: 1.2.8
strip-bom: 3.0.0
- tsdown@0.16.0(typescript@5.8.3):
+ tsdown@0.16.0(typescript@5.8.3)(unrun@0.2.34):
dependencies:
ansis: 4.2.0
cac: 6.7.14
@@ -16155,13 +16099,14 @@ snapshots:
hookable: 5.5.3
rolldown: 1.0.0-beta.46
rolldown-plugin-dts: 0.17.8(rolldown@1.0.0-beta.46)(typescript@5.8.3)
- semver: 7.7.3
- tinyexec: 1.0.2
+ semver: 7.7.4
+ tinyexec: 1.0.4
tinyglobby: 0.2.15
tree-kill: 1.2.2
- unconfig: 7.3.3
+ unconfig: 7.5.0
optionalDependencies:
typescript: 5.8.3
+ unrun: 0.2.34
transitivePeerDependencies:
- '@ts-macro/tsc'
- '@typescript/native-preview'
@@ -16217,12 +16162,18 @@ snapshots:
uint8array-extras@1.5.0: {}
- unconfig@7.3.3:
+ unconfig-core@7.5.0:
+ dependencies:
+ '@quansync/fs': 1.0.0
+ quansync: 1.0.0
+
+ unconfig@7.5.0:
dependencies:
- '@quansync/fs': 0.1.5
+ '@quansync/fs': 1.0.0
defu: 6.1.4
jiti: 2.6.1
- quansync: 0.2.11
+ quansync: 1.0.0
+ unconfig-core: 7.5.0
undici-types@6.20.0: {}
@@ -16316,11 +16267,10 @@ snapshots:
acorn: 8.15.0
webpack-virtual-modules: 0.6.2
- update-browserslist-db@1.1.3(browserslist@4.26.2):
+ unrun@0.2.34:
dependencies:
- browserslist: 4.26.2
- escalade: 3.2.0
- picocolors: 1.1.1
+ rolldown: 1.0.0-rc.12
+ optional: true
update-browserslist-db@1.2.3(browserslist@4.28.1):
dependencies:
@@ -16492,8 +16442,8 @@ snapshots:
vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1):
dependencies:
esbuild: 0.25.0
- fdir: 6.5.0(picomatch@4.0.3)
- picomatch: 4.0.3
+ fdir: 6.5.0(picomatch@4.0.4)
+ picomatch: 4.0.4
postcss: 8.5.6
rollup: 4.59.0
tinyglobby: 0.2.15
@@ -16519,10 +16469,10 @@ snapshots:
magic-string: 0.30.21
obug: 2.1.1
pathe: 2.0.3
- picomatch: 4.0.3
+ picomatch: 4.0.4
std-env: 3.10.0
tinybench: 2.9.0
- tinyexec: 1.0.2
+ tinyexec: 1.0.4
tinyglobby: 0.2.15
tinyrainbow: 3.0.3
vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
@@ -16573,7 +16523,7 @@ snapshots:
memfs: 3.5.3
mime-types: 2.1.35
range-parser: 1.2.1
- schema-utils: 4.3.2
+ schema-utils: 4.3.3
optionalDependencies:
webpack: 5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17))
From c53968a7f85ed0ebb13f3db0976fcccca7ea009f Mon Sep 17 00:00:00 2001
From: b-saikrishnakanth <130811169+b-saikrishnakanth@users.noreply.github.com>
Date: Fri, 27 Mar 2026 16:00:51 +0530
Subject: [PATCH 036/138] [WEB-6762] fix: missing profile icons for recent
activities on "Your Work" Page #8812
---
.../components/profile/overview/activity.tsx | 20 +++++++------------
1 file changed, 7 insertions(+), 13 deletions(-)
diff --git a/apps/web/core/components/profile/overview/activity.tsx b/apps/web/core/components/profile/overview/activity.tsx
index cda3b8fb842..23bb961f770 100644
--- a/apps/web/core/components/profile/overview/activity.tsx
+++ b/apps/web/core/components/profile/overview/activity.tsx
@@ -9,6 +9,7 @@ import { useParams } from "next/navigation";
import useSWR from "swr";
// ui
import { useTranslation } from "@plane/i18n";
+import { Avatar } from "@plane/propel/avatar";
import { EmptyStateCompact } from "@plane/propel/empty-state";
import { Loader, Card } from "@plane/ui";
import { calculateTimeAgo, getFileURL } from "@plane/utils";
@@ -49,19 +50,12 @@ export const ProfileActivity = observer(function ProfileActivity() {
{userProfileActivity.results.map((activity) => (
-
- {activity.actor_detail?.avatar_url && activity.actor_detail?.avatar_url !== "" ? (
-
})
- ) : (
-
- {activity.actor_detail?.display_name?.charAt(0)}
-
- )}
-
+
From f0468a9173da7834ea20e046b49f1530356c87f3 Mon Sep 17 00:00:00 2001
From: b-saikrishnakanth <130811169+b-saikrishnakanth@users.noreply.github.com>
Date: Fri, 27 Mar 2026 16:01:24 +0530
Subject: [PATCH 037/138] [WEB-6763] fix: date range dropdown clipped in
sub-issues list #8809
---
.../issue-detail-widgets/sub-issues/issues-list/properties.tsx | 2 ++
1 file changed, 2 insertions(+)
diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/properties.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/properties.tsx
index 70b2507ea12..250e8ff883b 100644
--- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/properties.tsx
+++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/properties.tsx
@@ -139,6 +139,7 @@ export const SubIssuesListItemProperties = observer(function SubIssuesListItemPr
from: getDate(issue.start_date) || undefined,
to: getDate(issue.target_date) || undefined,
}}
+ placement="top-end"
onSelect={(range) => {
handleStartDate(range?.from ?? null);
handleTargetDate(range?.to ?? null);
@@ -154,6 +155,7 @@ export const SubIssuesListItemProperties = observer(function SubIssuesListItemPr
showTooltip
customTooltipHeading="Date Range"
renderPlaceholder={false}
+ renderInPortal
/>
From 5e237938ff23eaba0a9202b4245017b88479a590 Mon Sep 17 00:00:00 2001
From: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com>
Date: Mon, 30 Mar 2026 12:20:39 +0530
Subject: [PATCH 038/138] [WEB-6783] fix: crash when deleting work item from
peek view in workspace spreadsheet (#8821)
* fix: guard against undefined issue in SpreadsheetIssueRow
* fix: add defensive guard for isIssueNew in list block-root
---
.../core/components/issues/issue-layouts/list/block-root.tsx | 2 +-
.../issues/issue-layouts/spreadsheet/issue-row.tsx | 5 ++++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/apps/web/core/components/issues/issue-layouts/list/block-root.tsx b/apps/web/core/components/issues/issue-layouts/list/block-root.tsx
index 7050cd1addc..443d84612b7 100644
--- a/apps/web/core/components/issues/issue-layouts/list/block-root.tsx
+++ b/apps/web/core/components/issues/issue-layouts/list/block-root.tsx
@@ -138,7 +138,7 @@ export const IssueBlockRoot = observer(function IssueBlockRoot(props: Props) {
root={containerRef}
classNames={`relative ${isLastChild && !isExpanded ? "" : "border-b border-b-subtle"}`}
verticalOffset={100}
- defaultValue={shouldRenderByDefault || isIssueNew(issuesMap[issueId])}
+ defaultValue={shouldRenderByDefault || (issuesMap[issueId] ? isIssueNew(issuesMap[issueId]) : false)}
placeholderChildren={
}
shouldRecordHeights={isMobile}
>
diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-row.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-row.tsx
index c511fd31815..6d060c4dbd3 100644
--- a/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-row.tsx
+++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-row.tsx
@@ -81,10 +81,13 @@ export const SpreadsheetIssueRow = observer(function SpreadsheetIssueRow(props:
const { issueMap } = useIssues();
// derived values
+ const issue = issueMap[issueId];
const subIssues = subIssuesStore.subIssuesByIssueId(issueId);
const isIssueSelected = selectionHelpers.getIsEntitySelected(issueId);
const isIssueActive = selectionHelpers.getIsEntityActive(issueId);
+ if (!issue) return null;
+
return (
<>
{/* first column/ issue name and key column */}
@@ -104,7 +107,7 @@ export const SpreadsheetIssueRow = observer(function SpreadsheetIssueRow(props:
})}
verticalOffset={100}
shouldRecordHeights={false}
- defaultValue={shouldRenderByDefault || isIssueNew(issueMap[issueId])}
+ defaultValue={shouldRenderByDefault || isIssueNew(issue)}
>
Date: Mon, 30 Mar 2026 12:28:39 +0530
Subject: [PATCH 039/138] chore(deps): bump cryptography (#8819)
Bumps the pip group with 1 update in the /apps/api/requirements directory: [cryptography](https://github.com/pyca/cryptography).
Updates `cryptography` from 46.0.5 to 46.0.6
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.5...46.0.6)
---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 46.0.6
dependency-type: direct:production
dependency-group: pip
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
apps/api/requirements/base.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/api/requirements/base.txt b/apps/api/requirements/base.txt
index 3000afde973..865590cb2eb 100644
--- a/apps/api/requirements/base.txt
+++ b/apps/api/requirements/base.txt
@@ -51,7 +51,7 @@ beautifulsoup4==4.12.3
# analytics
posthog==3.5.0
# crypto
-cryptography==46.0.5
+cryptography==46.0.6
# html validator
lxml==6.0.0
# s3
From d7c80885fd4f4a505fc89e53b716d1bf073e7899 Mon Sep 17 00:00:00 2001
From: Saurabh Kumar <70131915+Saurabhkmr98@users.noreply.github.com>
Date: Mon, 30 Mar 2026 15:29:16 +0530
Subject: [PATCH 040/138] [SILO-1087] feat: add IssueRelations external API
(#8763)
* add IssueRelations external API
* update serializer methods and filter by slug
---
apps/api/plane/api/serializers/__init__.py | 4 +
apps/api/plane/api/serializers/issue.py | 179 ++++++++++++++
apps/api/plane/api/urls/work_item.py | 6 +
apps/api/plane/api/views/__init__.py | 1 +
apps/api/plane/api/views/issue.py | 256 ++++++++++++++++++++-
apps/api/plane/utils/openapi/__init__.py | 2 +
apps/api/plane/utils/openapi/decorators.py | 15 ++
7 files changed, 451 insertions(+), 12 deletions(-)
diff --git a/apps/api/plane/api/serializers/__init__.py b/apps/api/plane/api/serializers/__init__.py
index 44e527a2dc5..5831b4898fb 100644
--- a/apps/api/plane/api/serializers/__init__.py
+++ b/apps/api/plane/api/serializers/__init__.py
@@ -25,6 +25,10 @@
IssueCommentCreateSerializer,
IssueLinkCreateSerializer,
IssueLinkUpdateSerializer,
+ IssueRelationCreateSerializer,
+ IssueRelationResponseSerializer,
+ IssueRelationSerializer,
+ RelatedIssueSerializer,
)
from .state import StateLiteSerializer, StateSerializer
from .cycle import (
diff --git a/apps/api/plane/api/serializers/issue.py b/apps/api/plane/api/serializers/issue.py
index ba9ddae301d..6468ddbc84f 100644
--- a/apps/api/plane/api/serializers/issue.py
+++ b/apps/api/plane/api/serializers/issue.py
@@ -20,6 +20,7 @@
IssueComment,
IssueLabel,
IssueLink,
+ IssueRelation,
Label,
ProjectMember,
State,
@@ -479,6 +480,184 @@ class Meta:
]
+class IssueRelationResponseSerializer(serializers.Serializer):
+ """
+ Serializer for issue relations response showing grouped relation types.
+
+ Returns issue IDs organized by relation type for efficient client-side processing.
+ """
+
+ blocking = serializers.ListField(
+ child=serializers.UUIDField(),
+ help_text="List of issue IDs that are blocking this issue",
+ )
+ blocked_by = serializers.ListField(
+ child=serializers.UUIDField(),
+ help_text="List of issue IDs that this issue is blocked by",
+ )
+ duplicate = serializers.ListField(
+ child=serializers.UUIDField(),
+ help_text="List of issue IDs that are duplicates of this issue",
+ )
+ relates_to = serializers.ListField(
+ child=serializers.UUIDField(),
+ help_text="List of issue IDs that relate to this issue",
+ )
+ start_after = serializers.ListField(
+ child=serializers.UUIDField(),
+ help_text="List of issue IDs that start after this issue",
+ )
+ start_before = serializers.ListField(
+ child=serializers.UUIDField(),
+ help_text="List of issue IDs that start before this issue",
+ )
+ finish_after = serializers.ListField(
+ child=serializers.UUIDField(),
+ help_text="List of issue IDs that finish after this issue",
+ )
+ finish_before = serializers.ListField(
+ child=serializers.UUIDField(),
+ help_text="List of issue IDs that finish before this issue",
+ )
+
+
+class IssueRelationCreateSerializer(serializers.Serializer):
+ """
+ Serializer for creating issue relations.
+
+ Creates issue relations with the specified relation type and issues.
+ Validates relation types and ensures proper issue ID format.
+ """
+
+ RELATION_TYPE_CHOICES = [
+ ("blocking", "Blocking"),
+ ("blocked_by", "Blocked By"),
+ ("duplicate", "Duplicate"),
+ ("relates_to", "Relates To"),
+ ("start_before", "Start Before"),
+ ("start_after", "Start After"),
+ ("finish_before", "Finish Before"),
+ ("finish_after", "Finish After"),
+ ]
+
+ relation_type = serializers.ChoiceField(
+ choices=RELATION_TYPE_CHOICES,
+ required=True,
+ help_text="Type of relationship between work items",
+ )
+ issues = serializers.ListField(
+ child=serializers.UUIDField(),
+ required=True,
+ min_length=1,
+ help_text="Array of work item IDs to create relations with",
+ )
+
+ def validate_issues(self, value):
+ """Validate that issues list is not empty and contains valid UUIDs."""
+ if not value:
+ raise serializers.ValidationError("At least one issue ID is required.")
+ return value
+
+
+class IssueRelationRemoveSerializer(serializers.Serializer):
+ """
+ Serializer for removing issue relations.
+
+ Removes existing relationships between work items by specifying
+ the related issue ID.
+ """
+
+ related_issue = serializers.UUIDField(
+ required=True, help_text="ID of the related work item to remove relation with"
+ )
+
+
+class IssueRelationSerializer(BaseSerializer):
+ """
+ Serializer for issue relationships showing related issue details.
+
+ Provides comprehensive information about related issues including
+ project context, sequence ID, and relationship type.
+ """
+
+ id = serializers.UUIDField(source="related_issue.id", read_only=True)
+ project_id = serializers.UUIDField(source="related_issue.project_id", read_only=True)
+ sequence_id = serializers.IntegerField(source="related_issue.sequence_id", read_only=True)
+ name = serializers.CharField(source="related_issue.name", read_only=True)
+ relation_type = serializers.CharField(read_only=True)
+ state_id = serializers.UUIDField(source="related_issue.state.id", read_only=True)
+ priority = serializers.CharField(source="related_issue.priority", read_only=True)
+
+ class Meta:
+ model = IssueRelation
+ fields = [
+ "id",
+ "project_id",
+ "sequence_id",
+ "relation_type",
+ "name",
+ "state_id",
+ "priority",
+ "created_by",
+ "created_at",
+ "updated_at",
+ "updated_by",
+ ]
+ read_only_fields = [
+ "workspace",
+ "project",
+ "created_by",
+ "created_at",
+ "updated_by",
+ "updated_at",
+ ]
+
+
+class RelatedIssueSerializer(BaseSerializer):
+ """
+ Serializer for reverse issue relationships showing issue details.
+
+ Provides comprehensive information about the source issue in a relationship
+ including project context, sequence ID, and relationship type.
+ """
+
+ id = serializers.UUIDField(source="issue.id", read_only=True)
+ project_id = serializers.PrimaryKeyRelatedField(source="issue.project_id", read_only=True)
+ sequence_id = serializers.IntegerField(source="issue.sequence_id", read_only=True)
+ name = serializers.CharField(source="issue.name", read_only=True)
+ type_id = serializers.UUIDField(source="issue.type.id", read_only=True)
+ relation_type = serializers.CharField(read_only=True)
+ is_epic = serializers.BooleanField(source="issue.type.is_epic", read_only=True)
+ state_id = serializers.UUIDField(source="issue.state.id", read_only=True)
+ priority = serializers.CharField(source="issue.priority", read_only=True)
+
+ class Meta:
+ model = IssueRelation
+ fields = [
+ "id",
+ "project_id",
+ "sequence_id",
+ "relation_type",
+ "name",
+ "type_id",
+ "is_epic",
+ "state_id",
+ "priority",
+ "created_by",
+ "created_at",
+ "updated_by",
+ "updated_at",
+ ]
+ read_only_fields = [
+ "workspace",
+ "project",
+ "created_by",
+ "created_at",
+ "updated_by",
+ "updated_at",
+ ]
+
+
class IssueAttachmentSerializer(BaseSerializer):
"""
Serializer for work item file attachments.
diff --git a/apps/api/plane/api/urls/work_item.py b/apps/api/plane/api/urls/work_item.py
index 48b1948dbe5..1a1704f2773 100644
--- a/apps/api/plane/api/urls/work_item.py
+++ b/apps/api/plane/api/urls/work_item.py
@@ -17,6 +17,7 @@
IssueAttachmentDetailAPIEndpoint,
WorkspaceIssueAPIEndpoint,
IssueSearchEndpoint,
+ IssueRelationListCreateAPIEndpoint,
)
# Deprecated url patterns
@@ -145,6 +146,11 @@
IssueAttachmentDetailAPIEndpoint.as_view(http_method_names=["get", "patch", "delete"]),
name="work-item-attachment-detail",
),
+ path(
+ "workspaces//projects//work-items//relations/",
+ IssueRelationListCreateAPIEndpoint.as_view(http_method_names=["get", "post"]),
+ name="work-item-relation-list",
+ ),
]
urlpatterns = old_url_patterns + new_url_patterns
diff --git a/apps/api/plane/api/views/__init__.py b/apps/api/plane/api/views/__init__.py
index 644d87edc86..e8549afb437 100644
--- a/apps/api/plane/api/views/__init__.py
+++ b/apps/api/plane/api/views/__init__.py
@@ -29,6 +29,7 @@
IssueAttachmentListCreateAPIEndpoint,
IssueAttachmentDetailAPIEndpoint,
IssueSearchEndpoint,
+ IssueRelationListCreateAPIEndpoint,
)
from .cycle import (
diff --git a/apps/api/plane/api/views/issue.py b/apps/api/plane/api/views/issue.py
index 20d4f604a66..97e8e7cee0a 100644
--- a/apps/api/plane/api/views/issue.py
+++ b/apps/api/plane/api/views/issue.py
@@ -23,7 +23,11 @@
Value,
When,
Subquery,
+ UUIDField,
)
+from django.db.models.functions import Coalesce
+from django.contrib.postgres.aggregates import ArrayAgg
+from django.contrib.postgres.fields import ArrayField
from django.utils import timezone
from django.conf import settings
@@ -45,6 +49,9 @@
IssueActivitySerializer,
IssueCommentSerializer,
IssueLinkSerializer,
+ IssueRelationCreateSerializer,
+ IssueRelationResponseSerializer,
+ IssueRelationSerializer,
IssueSerializer,
LabelSerializer,
IssueAttachmentUploadSerializer,
@@ -53,6 +60,7 @@
IssueLinkCreateSerializer,
IssueLinkUpdateSerializer,
LabelCreateUpdateSerializer,
+ RelatedIssueSerializer,
)
from plane.app.permissions import (
ProjectEntityPermission,
@@ -66,6 +74,7 @@
FileAsset,
IssueComment,
IssueLink,
+ IssueRelation,
Label,
Project,
ProjectMember,
@@ -76,10 +85,12 @@
from plane.bgtasks.storage_metadata_task import get_asset_object_metadata
from .base import BaseAPIView
from plane.utils.host import base_host
+from plane.utils.issue_relation_mapper import get_actual_relation
from plane.bgtasks.webhook_task import model_activity
from plane.app.permissions import ROLE
from plane.utils.openapi import (
work_item_docs,
+ work_item_relation_docs,
label_docs,
issue_link_docs,
issue_comment_docs,
@@ -1119,9 +1130,9 @@ def get(self, request, slug, project_id, issue_id):
return self.paginate(
request=request,
queryset=(self.get_queryset()),
- on_results=lambda issue_links: IssueLinkSerializer(
- issue_links, many=True, fields=self.fields, expand=self.expand
- ).data,
+ on_results=lambda issue_links: (
+ IssueLinkSerializer(issue_links, many=True, fields=self.fields, expand=self.expand).data
+ ),
)
@issue_link_docs(
@@ -1226,9 +1237,9 @@ def get(self, request, slug, project_id, issue_id, pk):
return self.paginate(
request=request,
queryset=(self.get_queryset()),
- on_results=lambda issue_links: IssueLinkSerializer(
- issue_links, many=True, fields=self.fields, expand=self.expand
- ).data,
+ on_results=lambda issue_links: (
+ IssueLinkSerializer(issue_links, many=True, fields=self.fields, expand=self.expand).data
+ ),
)
issue_link = self.get_queryset().get(pk=pk)
serializer = IssueLinkSerializer(issue_link, fields=self.fields, expand=self.expand)
@@ -1377,9 +1388,9 @@ def get(self, request, slug, project_id, issue_id):
return self.paginate(
request=request,
queryset=(self.get_queryset()),
- on_results=lambda issue_comments: IssueCommentSerializer(
- issue_comments, many=True, fields=self.fields, expand=self.expand
- ).data,
+ on_results=lambda issue_comments: (
+ IssueCommentSerializer(issue_comments, many=True, fields=self.fields, expand=self.expand).data
+ ),
)
@issue_comment_docs(
@@ -1688,9 +1699,9 @@ def get(self, request, slug, project_id, issue_id):
return self.paginate(
request=request,
queryset=(issue_activities),
- on_results=lambda issue_activity: IssueActivitySerializer(
- issue_activity, many=True, fields=self.fields, expand=self.expand
- ).data,
+ on_results=lambda issue_activity: (
+ IssueActivitySerializer(issue_activity, many=True, fields=self.fields, expand=self.expand).data
+ ),
)
@@ -2250,3 +2261,224 @@ def get(self, request, slug):
)[: int(limit)]
return Response({"issues": issue_results}, status=status.HTTP_200_OK)
+
+
+class IssueRelationListCreateAPIEndpoint(BaseAPIView):
+ """Issue Relation List and Create Endpoint"""
+
+ serializer_class = IssueRelationSerializer
+ model = IssueRelation
+ permission_classes = [ProjectEntityPermission]
+ use_read_replica = True
+
+ @work_item_relation_docs(
+ operation_id="list_work_item_relations",
+ summary="List work item relations",
+ description="Retrieve all relationships for a work item including blocking, blocked_by, duplicate, relates_to, start_before, start_after, finish_before, and finish_after relations.", # noqa E501
+ parameters=[
+ ISSUE_ID_PARAMETER,
+ CURSOR_PARAMETER,
+ PER_PAGE_PARAMETER,
+ ORDER_BY_PARAMETER,
+ FIELDS_PARAMETER,
+ EXPAND_PARAMETER,
+ ],
+ responses={
+ 200: OpenApiResponse(
+ description="Work item relations grouped by relation type",
+ response=IssueRelationResponseSerializer,
+ examples=[
+ OpenApiExample(
+ name="Work Item Relations Response",
+ value={
+ "blocking": [
+ "550e8400-e29b-41d4-a716-446655440000",
+ "550e8400-e29b-41d4-a716-446655440001",
+ ],
+ "blocked_by": ["550e8400-e29b-41d4-a716-446655440002"],
+ "duplicate": [],
+ "relates_to": ["550e8400-e29b-41d4-a716-446655440003"],
+ "start_after": [],
+ "start_before": ["550e8400-e29b-41d4-a716-446655440004"],
+ "finish_after": [],
+ "finish_before": [],
+ },
+ )
+ ],
+ ),
+ 400: INVALID_REQUEST_RESPONSE,
+ 404: ISSUE_NOT_FOUND_RESPONSE,
+ },
+ )
+ def get(self, request, slug, project_id, issue_id):
+ """List work item relations
+
+ Retrieve all relationships for a work item organized by relation type.
+ Returns a structured response with relations grouped by type.
+ """
+ empty_uuid_array = Value([], output_field=ArrayField(UUIDField()))
+
+ def _agg_ids(field, **filter_kwargs):
+ return Coalesce(
+ ArrayAgg(field, filter=Q(**filter_kwargs), distinct=True),
+ empty_uuid_array,
+ )
+
+ issue_relation_qs = IssueRelation.objects.filter(
+ Q(issue_id=issue_id) | Q(related_issue_id=issue_id),
+ workspace__slug=slug,
+ )
+
+ relation_ids = issue_relation_qs.aggregate(
+ blocking_ids=_agg_ids("issue_id", relation_type="blocked_by", related_issue_id=issue_id),
+ blocked_by_ids=_agg_ids("related_issue_id", relation_type="blocked_by", issue_id=issue_id),
+ duplicate_ids=_agg_ids("related_issue_id", relation_type="duplicate", issue_id=issue_id),
+ duplicate_ids_related=_agg_ids("issue_id", relation_type="duplicate", related_issue_id=issue_id),
+ relates_to_ids=_agg_ids("related_issue_id", relation_type="relates_to", issue_id=issue_id),
+ relates_to_ids_related=_agg_ids("issue_id", relation_type="relates_to", related_issue_id=issue_id),
+ start_after_ids=_agg_ids("issue_id", relation_type="start_before", related_issue_id=issue_id),
+ start_before_ids=_agg_ids("related_issue_id", relation_type="start_before", issue_id=issue_id),
+ finish_after_ids=_agg_ids("issue_id", relation_type="finish_before", related_issue_id=issue_id),
+ finish_before_ids=_agg_ids("related_issue_id", relation_type="finish_before", issue_id=issue_id),
+ )
+
+ response_data = {
+ "blocking": relation_ids["blocking_ids"],
+ "blocked_by": relation_ids["blocked_by_ids"],
+ "duplicate": list(set(relation_ids["duplicate_ids"] + relation_ids["duplicate_ids_related"])),
+ "relates_to": list(set(relation_ids["relates_to_ids"] + relation_ids["relates_to_ids_related"])),
+ "start_after": relation_ids["start_after_ids"],
+ "start_before": relation_ids["start_before_ids"],
+ "finish_after": relation_ids["finish_after_ids"],
+ "finish_before": relation_ids["finish_before_ids"],
+ }
+
+ return Response(response_data, status=status.HTTP_200_OK)
+
+ @work_item_relation_docs(
+ operation_id="create_work_item_relation",
+ summary="Create work item relation",
+ description="Create relationships between work items. Supports various relation types including blocking, blocked_by, duplicate, relates_to, start_before, start_after, finish_before, and finish_after.", # noqa E501
+ parameters=[
+ ISSUE_ID_PARAMETER,
+ ],
+ request=OpenApiRequest(
+ request=IssueRelationCreateSerializer,
+ examples=[
+ OpenApiExample(
+ name="Create blocking relation",
+ value={
+ "relation_type": "blocking",
+ "issues": [
+ "550e8400-e29b-41d4-a716-446655440000",
+ "550e8400-e29b-41d4-a716-446655440001",
+ ],
+ },
+ )
+ ],
+ ),
+ responses={
+ 201: OpenApiResponse(
+ description="Work item relations created successfully",
+ response=IssueRelationSerializer(many=True),
+ examples=[
+ OpenApiExample(
+ name="Relations created",
+ value=[
+ {
+ "id": "550e8400-e29b-41d4-a716-446655440000",
+ "name": "Fix authentication bug",
+ "sequence_id": 42,
+ "project_id": "550e8400-e29b-41d4-a716-446655440001",
+ "relation_type": "blocked_by",
+ "state_id": "550e8400-e29b-41d4-a716-446655440002",
+ "priority": "high",
+ "created_at": "2024-01-15T10:00:00Z",
+ "updated_at": "2024-01-15T10:00:00Z",
+ "created_by": "550e8400-e29b-41d4-a716-446655440004",
+ "updated_by": "550e8400-e29b-41d4-a716-446655440004",
+ }
+ ],
+ )
+ ],
+ ),
+ 400: INVALID_REQUEST_RESPONSE,
+ 404: ISSUE_NOT_FOUND_RESPONSE,
+ },
+ )
+ def post(self, request, slug, project_id, issue_id):
+ """Create work item relation
+
+ Create relationships between work items with specified relation type.
+ Automatically tracks relation creation activity.
+ """
+ # Validate request data using serializer
+ serializer = IssueRelationCreateSerializer(data=request.data)
+ if not serializer.is_valid():
+ return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
+
+ relation_type = serializer.validated_data["relation_type"]
+ issues = serializer.validated_data["issues"]
+ project = Project.objects.get(pk=project_id, workspace__slug=slug)
+
+ actual_relation = get_actual_relation(relation_type)
+ is_reverse = relation_type in ["blocking", "start_after", "finish_after"]
+
+ IssueRelation.objects.bulk_create(
+ [
+ IssueRelation(
+ issue_id=(issue if is_reverse else issue_id),
+ related_issue_id=(issue_id if is_reverse else issue),
+ relation_type=actual_relation,
+ project_id=project_id,
+ workspace_id=project.workspace_id,
+ created_by=request.user,
+ updated_by=request.user,
+ )
+ for issue in issues
+ ],
+ batch_size=10,
+ ignore_conflicts=True,
+ )
+
+ issue_activity.delay(
+ type="issue_relation.activity.created",
+ requested_data=json.dumps(request.data, cls=DjangoJSONEncoder),
+ actor_id=str(request.user.id),
+ issue_id=str(issue_id),
+ project_id=str(project_id),
+ current_instance=None,
+ epoch=int(timezone.now().timestamp()),
+ notification=True,
+ origin=base_host(request=request, is_app=True),
+ )
+
+ # Re-fetch with select_related to avoid N+1 queries in serializers.
+ # bulk_create with ignore_conflicts=True may not return PKs,
+ # so query by the issue/related_issue pairs and relation type.
+ if is_reverse:
+ refetch_filter = Q(
+ issue_id__in=issues,
+ related_issue_id=issue_id,
+ relation_type=actual_relation,
+ )
+ else:
+ refetch_filter = Q(
+ issue_id=issue_id,
+ related_issue_id__in=issues,
+ relation_type=actual_relation,
+ )
+
+ refetched_relations = IssueRelation.objects.filter(
+ refetch_filter,
+ workspace__slug=slug,
+ ).select_related(
+ "issue__state",
+ "related_issue__state",
+ )
+
+ serializer_class = RelatedIssueSerializer if is_reverse else IssueRelationSerializer
+ return Response(
+ serializer_class(refetched_relations, many=True).data,
+ status=status.HTTP_201_CREATED,
+ )
diff --git a/apps/api/plane/utils/openapi/__init__.py b/apps/api/plane/utils/openapi/__init__.py
index d54caf584eb..4472e814162 100644
--- a/apps/api/plane/utils/openapi/__init__.py
+++ b/apps/api/plane/utils/openapi/__init__.py
@@ -157,6 +157,7 @@
user_docs,
cycle_docs,
work_item_docs,
+ work_item_relation_docs,
label_docs,
issue_link_docs,
issue_comment_docs,
@@ -307,6 +308,7 @@
"user_docs",
"cycle_docs",
"work_item_docs",
+ "work_item_relation_docs",
"label_docs",
"issue_link_docs",
"issue_comment_docs",
diff --git a/apps/api/plane/utils/openapi/decorators.py b/apps/api/plane/utils/openapi/decorators.py
index 8b016f4c016..8edb5987e18 100644
--- a/apps/api/plane/utils/openapi/decorators.py
+++ b/apps/api/plane/utils/openapi/decorators.py
@@ -223,6 +223,21 @@ def issue_attachment_docs(**kwargs):
return extend_schema(**_merge_schema_options(defaults, kwargs))
+def work_item_relation_docs(**kwargs):
+ """Decorator for work item relation endpoints"""
+ defaults = {
+ "tags": ["Work Item Relations"],
+ "parameters": [WORKSPACE_SLUG_PARAMETER, PROJECT_ID_PARAMETER],
+ "responses": {
+ 401: UNAUTHORIZED_RESPONSE,
+ 403: FORBIDDEN_RESPONSE,
+ 404: NOT_FOUND_RESPONSE,
+ },
+ }
+
+ return extend_schema(**_merge_schema_options(defaults, kwargs))
+
+
def module_docs(**kwargs):
"""Decorator for module management endpoints"""
defaults = {
From 9fa707b26077b5797f6435cdf346e43daef4d2af Mon Sep 17 00:00:00 2001
From: Saurabh Kumar <70131915+Saurabhkmr98@users.noreply.github.com>
Date: Mon, 30 Mar 2026 15:30:02 +0530
Subject: [PATCH 041/138] [SILO-1026] feat: add estimates external API
endpoints (#8664)
* add project summary endpoint
* update response structure
* add estimates external API endpoints with migrations
* fix invalid project and workspace error
---
apps/api/plane/api/serializers/__init__.py | 2 +-
apps/api/plane/api/serializers/estimate.py | 34 +-
apps/api/plane/api/urls/estimate.py | 29 ++
apps/api/plane/api/views/estimate.py | 291 ++++++++++++++++++
.../db/migrations/0121_alter_estimate_type.py | 18 ++
apps/api/plane/db/models/estimate.py | 6 +-
apps/api/plane/utils/openapi/__init__.py | 18 ++
apps/api/plane/utils/openapi/decorators.py | 26 ++
apps/api/plane/utils/openapi/examples.py | 83 +++++
apps/api/plane/utils/openapi/parameters.py | 8 +
10 files changed, 504 insertions(+), 11 deletions(-)
create mode 100644 apps/api/plane/api/urls/estimate.py
create mode 100644 apps/api/plane/api/views/estimate.py
create mode 100644 apps/api/plane/db/migrations/0121_alter_estimate_type.py
diff --git a/apps/api/plane/api/serializers/__init__.py b/apps/api/plane/api/serializers/__init__.py
index 5831b4898fb..2ab639d5466 100644
--- a/apps/api/plane/api/serializers/__init__.py
+++ b/apps/api/plane/api/serializers/__init__.py
@@ -53,7 +53,7 @@
IntakeIssueCreateSerializer,
IntakeIssueUpdateSerializer,
)
-from .estimate import EstimatePointSerializer
+from .estimate import EstimateSerializer, EstimatePointSerializer
from .asset import (
UserAssetUploadSerializer,
AssetUpdateSerializer,
diff --git a/apps/api/plane/api/serializers/estimate.py b/apps/api/plane/api/serializers/estimate.py
index e2a7c5e1d32..978003240b0 100644
--- a/apps/api/plane/api/serializers/estimate.py
+++ b/apps/api/plane/api/serializers/estimate.py
@@ -2,20 +2,36 @@
# SPDX-License-Identifier: AGPL-3.0-only
# See the LICENSE file for details.
+# Third party imports
+from rest_framework import serializers
+
# Module imports
-from plane.db.models import EstimatePoint
+from plane.db.models import Estimate, EstimatePoint
from .base import BaseSerializer
-class EstimatePointSerializer(BaseSerializer):
- """
- Serializer for project estimation points and story point values.
+class EstimateSerializer(BaseSerializer):
+ class Meta:
+ model = Estimate
+ fields = "__all__"
+ read_only_fields = ["workspace", "project", "deleted_at"]
- Handles numeric estimation data for work item sizing and sprint planning,
- providing standardized point values for project velocity calculations.
- """
+ def create(self, validated_data):
+ validated_data["workspace"] = self.context["workspace"]
+ validated_data["project"] = self.context["project"]
+ return super().create(validated_data)
+
+
+class EstimatePointSerializer(BaseSerializer):
+ def validate(self, data):
+ if not data:
+ raise serializers.ValidationError("Estimate points are required")
+ value = data.get("value")
+ if value and len(value) > 20:
+ raise serializers.ValidationError("Value can't be more than 20 characters")
+ return data
class Meta:
model = EstimatePoint
- fields = ["id", "value"]
- read_only_fields = fields
+ fields = "__all__"
+ read_only_fields = ["estimate", "workspace", "project"]
diff --git a/apps/api/plane/api/urls/estimate.py b/apps/api/plane/api/urls/estimate.py
new file mode 100644
index 00000000000..3fe5d3b7b43
--- /dev/null
+++ b/apps/api/plane/api/urls/estimate.py
@@ -0,0 +1,29 @@
+# Copyright (c) 2023-present Plane Software, Inc. and contributors
+# SPDX-License-Identifier: AGPL-3.0-only
+# See the LICENSE file for details.
+
+from django.urls import path
+
+from plane.api.views.estimate import (
+ ProjectEstimateAPIEndpoint,
+ EstimatePointListCreateAPIEndpoint,
+ EstimatePointDetailAPIEndpoint,
+)
+
+urlpatterns = [
+ path(
+ "workspaces//projects//estimates/",
+ ProjectEstimateAPIEndpoint.as_view(http_method_names=["get", "post", "patch", "delete"]),
+ name="project-estimate",
+ ),
+ path(
+ "workspaces//projects//estimates//estimate-points/",
+ EstimatePointListCreateAPIEndpoint.as_view(http_method_names=["get", "post"]),
+ name="estimate-point-list-create",
+ ),
+ path(
+ "workspaces//projects//estimates//estimate-points//",
+ EstimatePointDetailAPIEndpoint.as_view(http_method_names=["patch", "delete"]),
+ name="estimate-point-detail",
+ ),
+]
diff --git a/apps/api/plane/api/views/estimate.py b/apps/api/plane/api/views/estimate.py
new file mode 100644
index 00000000000..915cc8e5cc3
--- /dev/null
+++ b/apps/api/plane/api/views/estimate.py
@@ -0,0 +1,291 @@
+# Copyright (c) 2023-present Plane Software, Inc. and contributors
+# SPDX-License-Identifier: AGPL-3.0-only
+# See the LICENSE file for details.
+
+# Third party imports
+from rest_framework.response import Response
+from rest_framework import status
+from drf_spectacular.utils import OpenApiRequest, OpenApiResponse
+
+# Module imports
+from plane.app.permissions.project import ProjectEntityPermission
+from plane.api.views.base import BaseAPIView
+from plane.db.models import Estimate, EstimatePoint, Project, Workspace
+from plane.api.serializers import EstimateSerializer, EstimatePointSerializer
+from plane.utils.openapi.decorators import estimate_docs, estimate_point_docs
+from plane.utils.openapi import (
+ ESTIMATE_CREATE_EXAMPLE,
+ ESTIMATE_UPDATE_EXAMPLE,
+ ESTIMATE_POINT_CREATE_EXAMPLE,
+ ESTIMATE_POINT_UPDATE_EXAMPLE,
+ ESTIMATE_EXAMPLE,
+ ESTIMATE_POINT_EXAMPLE,
+ DELETED_RESPONSE,
+ WORKSPACE_SLUG_PARAMETER,
+ PROJECT_ID_PARAMETER,
+ ESTIMATE_ID_PARAMETER,
+)
+
+
+class ProjectEstimateAPIEndpoint(BaseAPIView):
+ permission_classes = [ProjectEntityPermission]
+ model = Estimate
+ serializer_class = EstimateSerializer
+
+ def get_queryset(self):
+ return self.model.objects.filter(workspace__slug=self.workspace_slug, project_id=self.project_id)
+
+ @estimate_docs(
+ operation_id="create_estimate",
+ summary="Create an estimate",
+ description="Create an estimate for a project",
+ request=OpenApiRequest(
+ request=EstimateSerializer,
+ examples=[ESTIMATE_CREATE_EXAMPLE],
+ ),
+ )
+ def post(self, request, slug, project_id):
+ project = Project.objects.filter(id=project_id, workspace__slug=slug).first()
+ if not project:
+ return Response(status=status.HTTP_404_NOT_FOUND, data={"error": "Project not found"})
+
+ workspace = Workspace.objects.filter(slug=slug).first()
+ if not workspace:
+ return Response(status=status.HTTP_404_NOT_FOUND, data={"error": "Workspace not found"})
+
+ project_estimate = self.get_queryset().first()
+ if project_estimate:
+ # return 409 if the project estimate already exists
+ return Response(
+ status=status.HTTP_409_CONFLICT,
+ data={"error": "An estimate already exists for this project", "id": str(project_estimate.id)},
+ )
+ # create the project estimate
+ serializer = self.serializer_class(data=request.data, context={"workspace": workspace, "project": project})
+ if not serializer.is_valid():
+ return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
+
+ serializer.save()
+ return Response(serializer.data, status=status.HTTP_201_CREATED)
+
+ @estimate_docs(
+ operation_id="get_estimate",
+ summary="Get an estimate",
+ description="Get an estimate for a project",
+ responses={
+ 200: OpenApiResponse(
+ description="Estimate",
+ response=EstimateSerializer,
+ examples=[ESTIMATE_EXAMPLE],
+ ),
+ },
+ )
+ def get(self, request, slug, project_id):
+ estimate = self.get_queryset().first()
+ if not estimate:
+ return Response(status=status.HTTP_404_NOT_FOUND, data={"error": "Estimate not found"})
+ serializer = self.serializer_class(estimate)
+ return Response(serializer.data, status=status.HTTP_200_OK)
+
+ @estimate_docs(
+ operation_id="update_estimate",
+ summary="Update an estimate",
+ description="Update an estimate for a project",
+ request=OpenApiRequest(
+ request=EstimateSerializer,
+ examples=[ESTIMATE_UPDATE_EXAMPLE],
+ ),
+ responses={
+ 200: OpenApiResponse(
+ description="Estimate",
+ response=EstimateSerializer,
+ examples=[ESTIMATE_EXAMPLE],
+ ),
+ },
+ )
+ def patch(self, request, slug, project_id):
+ ALLOWED_FIELDS = ["name", "description"]
+ estimate = self.get_queryset().first()
+ if not estimate:
+ return Response(status=status.HTTP_404_NOT_FOUND, data={"error": "Estimate not found"})
+ filtered_data = {k: v for k, v in request.data.items() if k in ALLOWED_FIELDS}
+ if not filtered_data:
+ serializer = self.serializer_class(estimate)
+ return Response(serializer.data, status=status.HTTP_200_OK)
+ serializer = self.serializer_class(estimate, data=filtered_data, partial=True)
+ if not serializer.is_valid():
+ return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
+ serializer.save()
+ return Response(serializer.data, status=status.HTTP_200_OK)
+
+ @estimate_docs(
+ operation_id="delete_estimate",
+ summary="Delete an estimate",
+ description="Delete an estimate for a project",
+ responses={
+ 204: DELETED_RESPONSE,
+ },
+ )
+ def delete(self, request, slug, project_id):
+ estimate = self.get_queryset().first()
+ if not estimate:
+ return Response(status=status.HTTP_404_NOT_FOUND, data={"error": "Estimate not found"})
+ estimate.delete()
+ return Response(status=status.HTTP_204_NO_CONTENT)
+
+
+class EstimatePointListCreateAPIEndpoint(BaseAPIView):
+ """List and bulk create estimate points for an estimate."""
+
+ permission_classes = [ProjectEntityPermission]
+ model = EstimatePoint
+ serializer_class = EstimatePointSerializer
+
+ def get_queryset(self):
+ return self.model.objects.filter(
+ estimate_id=self.kwargs["estimate_id"],
+ workspace__slug=self.kwargs["slug"],
+ project_id=self.kwargs["project_id"],
+ ).select_related("estimate", "workspace", "project")
+
+ @estimate_point_docs(
+ operation_id="get_estimate_points",
+ summary="Get estimate points",
+ description="Get estimate points for an estimate",
+ parameters=[
+ WORKSPACE_SLUG_PARAMETER,
+ PROJECT_ID_PARAMETER,
+ ESTIMATE_ID_PARAMETER,
+ ],
+ responses={
+ 200: OpenApiResponse(
+ description="Estimate points",
+ response=EstimatePointSerializer(many=True),
+ examples=[ESTIMATE_POINT_EXAMPLE],
+ ),
+ },
+ )
+ def get(self, request, slug, project_id, estimate_id):
+ estimate = Estimate.objects.filter(
+ id=estimate_id,
+ workspace__slug=slug,
+ project_id=project_id,
+ ).first()
+ if not estimate:
+ return Response(status=status.HTTP_404_NOT_FOUND, data={"error": "Estimate not found"})
+ estimate_points = self.get_queryset()
+ serializer = self.serializer_class(estimate_points, many=True)
+ return Response(serializer.data, status=status.HTTP_200_OK)
+
+ @estimate_point_docs(
+ operation_id="create_estimate_points",
+ summary="Create estimate points",
+ description="Create estimate points for an estimate",
+ request=OpenApiRequest(
+ request=EstimatePointSerializer,
+ examples=[ESTIMATE_POINT_CREATE_EXAMPLE],
+ ),
+ responses={
+ 201: OpenApiResponse(
+ description="Estimate points",
+ response=EstimatePointSerializer(many=True),
+ examples=[ESTIMATE_POINT_EXAMPLE],
+ ),
+ },
+ )
+ def post(self, request, slug, project_id, estimate_id):
+ estimate = Estimate.objects.filter(
+ id=estimate_id,
+ workspace__slug=slug,
+ project_id=project_id,
+ ).first()
+ if not estimate:
+ return Response(status=status.HTTP_404_NOT_FOUND, data={"error": "Estimate not found"})
+
+ estimate_points_data = (
+ request.data if isinstance(request.data, list) else request.data.get("estimate_points", [])
+ )
+ if not estimate_points_data:
+ return Response(
+ status=status.HTTP_400_BAD_REQUEST,
+ data={"error": "Estimate points are required"},
+ )
+
+ serializer = self.serializer_class(data=estimate_points_data, many=True)
+ if not serializer.is_valid():
+ return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
+
+ estimate_points = [
+ EstimatePoint(
+ estimate=estimate,
+ workspace=estimate.workspace,
+ project=estimate.project,
+ **item,
+ )
+ for item in serializer.validated_data
+ ]
+ created = EstimatePoint.objects.bulk_create(estimate_points)
+ return Response(
+ self.serializer_class(created, many=True).data,
+ status=status.HTTP_201_CREATED,
+ )
+
+
+class EstimatePointDetailAPIEndpoint(BaseAPIView):
+ """Update and delete a single estimate point."""
+
+ permission_classes = [ProjectEntityPermission]
+ model = EstimatePoint
+ serializer_class = EstimatePointSerializer
+
+ def get_queryset(self):
+ return self.model.objects.filter(
+ estimate_id=self.kwargs["estimate_id"],
+ workspace__slug=self.kwargs["slug"],
+ project_id=self.kwargs["project_id"],
+ )
+
+ @estimate_point_docs(
+ operation_id="update_estimate_point",
+ summary="Update an estimate point",
+ description="Update an estimate point for an estimate",
+ request=OpenApiRequest(
+ request=EstimatePointSerializer,
+ examples=[ESTIMATE_POINT_UPDATE_EXAMPLE],
+ ),
+ responses={
+ 200: OpenApiResponse(
+ description="Estimate point",
+ response=EstimatePointSerializer,
+ examples=[ESTIMATE_POINT_EXAMPLE],
+ ),
+ },
+ )
+ def patch(self, request, slug, project_id, estimate_id, estimate_point_id):
+ estimate_point = self.get_queryset().filter(id=estimate_point_id).first()
+ if not estimate_point:
+ return Response(status=status.HTTP_404_NOT_FOUND, data={"error": "Estimate point not found"})
+ ALLOWED_FIELDS = ["key", "value", "description"]
+ filtered_data = {k: v for k, v in request.data.items() if k in ALLOWED_FIELDS}
+ if not filtered_data:
+ return Response(self.serializer_class(estimate_point).data, status=status.HTTP_200_OK)
+ serializer = self.serializer_class(estimate_point, data=filtered_data, partial=True)
+ if not serializer.is_valid():
+ return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
+ serializer.save()
+ return Response(serializer.data, status=status.HTTP_200_OK)
+
+ @estimate_point_docs(
+ operation_id="delete_estimate_point",
+ summary="Delete an estimate point",
+ description="Delete an estimate point for an estimate",
+ responses={
+ 204: DELETED_RESPONSE,
+ },
+ )
+ def delete(self, request, slug, project_id, estimate_id, estimate_point_id):
+ estimate_point = self.get_queryset().filter(id=estimate_point_id).first()
+ if not estimate_point:
+ return Response(status=status.HTTP_404_NOT_FOUND, data={"error": "Estimate point not found"})
+ estimate_point.delete()
+ return Response(status=status.HTTP_204_NO_CONTENT)
diff --git a/apps/api/plane/db/migrations/0121_alter_estimate_type.py b/apps/api/plane/db/migrations/0121_alter_estimate_type.py
new file mode 100644
index 00000000000..73b75123f63
--- /dev/null
+++ b/apps/api/plane/db/migrations/0121_alter_estimate_type.py
@@ -0,0 +1,18 @@
+# Generated by Django 4.2.28 on 2026-02-26 14:37
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('db', '0120_issueview_archived_at'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='estimate',
+ name='type',
+ field=models.CharField(choices=[('categories', 'Categories'), ('points', 'Points')], default='categories', max_length=255),
+ ),
+ ]
diff --git a/apps/api/plane/db/models/estimate.py b/apps/api/plane/db/models/estimate.py
index ded6f97bcf3..fb472a69bd4 100644
--- a/apps/api/plane/db/models/estimate.py
+++ b/apps/api/plane/db/models/estimate.py
@@ -10,11 +10,15 @@
# Module imports
from .project import ProjectBaseModel
+class EstimateType(models.TextChoices):
+ CATEGORIES = "categories", "Categories"
+ POINTS = "points", "Points"
+
class Estimate(ProjectBaseModel):
name = models.CharField(max_length=255)
description = models.TextField(verbose_name="Estimate Description", blank=True)
- type = models.CharField(max_length=255, default="categories")
+ type = models.CharField(max_length=255, choices=EstimateType.choices, default=EstimateType.CATEGORIES)
last_used = models.BooleanField(default=False)
def __str__(self):
diff --git a/apps/api/plane/utils/openapi/__init__.py b/apps/api/plane/utils/openapi/__init__.py
index 4472e814162..090d076ecd1 100644
--- a/apps/api/plane/utils/openapi/__init__.py
+++ b/apps/api/plane/utils/openapi/__init__.py
@@ -47,6 +47,7 @@
CYCLE_VIEW_PARAMETER,
FIELDS_PARAMETER,
EXPAND_PARAMETER,
+ ESTIMATE_ID_PARAMETER,
)
# Responses
@@ -126,6 +127,10 @@
STATE_UPDATE_EXAMPLE,
INTAKE_ISSUE_CREATE_EXAMPLE,
INTAKE_ISSUE_UPDATE_EXAMPLE,
+ ESTIMATE_CREATE_EXAMPLE,
+ ESTIMATE_UPDATE_EXAMPLE,
+ ESTIMATE_POINT_CREATE_EXAMPLE,
+ ESTIMATE_POINT_UPDATE_EXAMPLE,
# Response Examples
CYCLE_EXAMPLE,
TRANSFER_CYCLE_ISSUE_SUCCESS_EXAMPLE,
@@ -145,6 +150,8 @@
PROJECT_MEMBER_EXAMPLE,
CYCLE_ISSUE_EXAMPLE,
STICKY_EXAMPLE,
+ ESTIMATE_EXAMPLE,
+ ESTIMATE_POINT_EXAMPLE,
)
# Helper decorators
@@ -166,6 +173,8 @@
module_docs,
module_issue_docs,
state_docs,
+ estimate_docs,
+ estimate_point_docs,
)
# Schema processing hooks
@@ -207,6 +216,7 @@
"CYCLE_VIEW_PARAMETER",
"FIELDS_PARAMETER",
"EXPAND_PARAMETER",
+ "ESTIMATE_ID_PARAMETER",
# Responses
"UNAUTHORIZED_RESPONSE",
"FORBIDDEN_RESPONSE",
@@ -280,6 +290,10 @@
"STATE_UPDATE_EXAMPLE",
"INTAKE_ISSUE_CREATE_EXAMPLE",
"INTAKE_ISSUE_UPDATE_EXAMPLE",
+ "ESTIMATE_CREATE_EXAMPLE",
+ "ESTIMATE_UPDATE_EXAMPLE",
+ "ESTIMATE_POINT_CREATE_EXAMPLE",
+ "ESTIMATE_POINT_UPDATE_EXAMPLE",
# Response Examples
"CYCLE_EXAMPLE",
"TRANSFER_CYCLE_ISSUE_SUCCESS_EXAMPLE",
@@ -299,6 +313,8 @@
"PROJECT_MEMBER_EXAMPLE",
"CYCLE_ISSUE_EXAMPLE",
"STICKY_EXAMPLE",
+ "ESTIMATE_EXAMPLE",
+ "ESTIMATE_POINT_EXAMPLE",
# Decorators
"workspace_docs",
"project_docs",
@@ -317,6 +333,8 @@
"module_docs",
"module_issue_docs",
"state_docs",
+ "estimate_docs",
+ "estimate_point_docs",
# Hooks
"preprocess_filter_api_v1_paths",
"generate_operation_summary",
diff --git a/apps/api/plane/utils/openapi/decorators.py b/apps/api/plane/utils/openapi/decorators.py
index 8edb5987e18..7ded9fb10b3 100644
--- a/apps/api/plane/utils/openapi/decorators.py
+++ b/apps/api/plane/utils/openapi/decorators.py
@@ -297,3 +297,29 @@ def sticky_docs(**kwargs):
}
return extend_schema(**_merge_schema_options(defaults, kwargs))
+
+def estimate_docs(**kwargs):
+ """Decorator for estimate-related endpoints"""
+ defaults = {
+ "tags": ["Estimates"],
+ "parameters": [WORKSPACE_SLUG_PARAMETER, PROJECT_ID_PARAMETER],
+ "responses": {
+ 401: UNAUTHORIZED_RESPONSE,
+ 403: FORBIDDEN_RESPONSE,
+ 404: NOT_FOUND_RESPONSE,
+ },
+ }
+ return extend_schema(**_merge_schema_options(defaults, kwargs))
+
+def estimate_point_docs(**kwargs):
+ """Decorator for estimate point-related endpoints"""
+ defaults = {
+ "tags": ["Estimate Points"],
+ "parameters": [WORKSPACE_SLUG_PARAMETER, PROJECT_ID_PARAMETER],
+ "responses": {
+ 401: UNAUTHORIZED_RESPONSE,
+ 403: FORBIDDEN_RESPONSE,
+ 404: NOT_FOUND_RESPONSE,
+ },
+ }
+ return extend_schema(**_merge_schema_options(defaults, kwargs))
\ No newline at end of file
diff --git a/apps/api/plane/utils/openapi/examples.py b/apps/api/plane/utils/openapi/examples.py
index 5a2188e6951..20aff18958a 100644
--- a/apps/api/plane/utils/openapi/examples.py
+++ b/apps/api/plane/utils/openapi/examples.py
@@ -686,6 +686,69 @@
},
)
+# Estimate Examples
+ESTIMATE_EXAMPLE = OpenApiExample(
+ name="Estimate",
+ value={
+ "id": "550e8400-e29b-41d4-a716-446655440000",
+ "name": "Estimate 1",
+ "description": "Estimate 1 description",
+ },
+ description="Example response for an estimate",
+)
+
+ESTIMATE_POINT_EXAMPLE = OpenApiExample(
+ name="EstimatePoint",
+ value={
+ "id": "550e8400-e29b-41d4-a716-446655440000",
+ "estimate": "550e8400-e29b-41d4-a716-446655440001",
+ "key": 1,
+ "value": "1",
+ },
+ description="Example response for an estimate point",
+)
+ESTIMATE_CREATE_EXAMPLE = OpenApiExample(
+ name="EstimateCreateSerializer",
+ value={
+ "name": "Estimate 1",
+ "description": "Estimate 1 description",
+ },
+ description="Example request for creating an estimate",
+)
+ESTIMATE_UPDATE_EXAMPLE = OpenApiExample(
+ name="EstimateUpdateSerializer",
+ value={
+ "name": "Estimate 1",
+ "description": "Estimate 1 description",
+ },
+ description="Example request for updating an estimate",
+)
+
+# Estimate Point Examples
+ESTIMATE_POINT_CREATE_EXAMPLE = OpenApiExample(
+ name="EstimatePointCreateSerializer",
+ value=[
+ {
+ "value": "1",
+ "description": "Estimate Point 1 description",
+ },
+ {
+ "value": "2",
+ "description": "Estimate Point 2 description",
+ },
+ ],
+ description="Example request for creating an estimate point",
+)
+ESTIMATE_POINT_UPDATE_EXAMPLE = OpenApiExample(
+ name="EstimatePointUpdateSerializer",
+ value={
+ "value": "1",
+ "description": "Estimate Point 1 description",
+ },
+ description="Example request for updating an estimate point",
+)
+
+
# Sample data for different entity types
SAMPLE_ISSUE = {
"id": "550e8400-e29b-41d4-a716-446655440000",
@@ -801,6 +864,24 @@
"created_at": "2024-01-01T10:30:00Z",
}
+SAMPLE_ESTIMATE = {
+ "id": "550e8400-e29b-41d4-a716-446655440000",
+ "name": "Estimate 1",
+ "description": "Estimate 1 description",
+ "type": "categories",
+ "last_used": False,
+ "created_at": "2024-01-01T10:30:00Z",
+}
+
+SAMPLE_ESTIMATE_POINT = {
+ "id": "550e8400-e29b-41d4-a716-446655440000",
+ "estimate": "550e8400-e29b-41d4-a716-446655440001",
+ "key": 1,
+ "value": "1",
+ "description": "Estimate Point 1 description",
+ "created_at": "2024-01-01T10:30:00Z",
+}
+
# Mapping of schema types to sample data
SCHEMA_EXAMPLES = {
"Issue": SAMPLE_ISSUE,
@@ -816,6 +897,8 @@
"Intake": SAMPLE_INTAKE,
"CycleIssue": SAMPLE_CYCLE_ISSUE,
"Sticky": SAMPLE_STICKY,
+ "Estimate": SAMPLE_ESTIMATE,
+ "EstimatePoint": SAMPLE_ESTIMATE_POINT,
}
diff --git a/apps/api/plane/utils/openapi/parameters.py b/apps/api/plane/utils/openapi/parameters.py
index d0ceba6c526..2812892ec91 100644
--- a/apps/api/plane/utils/openapi/parameters.py
+++ b/apps/api/plane/utils/openapi/parameters.py
@@ -495,3 +495,11 @@
),
],
)
+
+ESTIMATE_ID_PARAMETER = OpenApiParameter(
+ name="estimate_id",
+ description="Estimate ID",
+ required=True,
+ type=OpenApiTypes.UUID,
+ location=OpenApiParameter.PATH,
+)
From d8ed19f2041d682aada2387115604a9734efb243 Mon Sep 17 00:00:00 2001
From: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com>
Date: Tue, 31 Mar 2026 15:54:12 +0530
Subject: [PATCH 042/138] [WEB-6794] fix: align profile cover update with
correct unsplash and upload handling (#8830)
* fix: profile cover update
* chore: code refactoring
* chore: code refactoring
---
.../profile/content/pages/general/form.tsx | 34 ++++++---
apps/web/helpers/cover-image.helper.ts | 69 +++++++++----------
2 files changed, 55 insertions(+), 48 deletions(-)
diff --git a/apps/web/core/components/settings/profile/content/pages/general/form.tsx b/apps/web/core/components/settings/profile/content/pages/general/form.tsx
index 778e2024de8..e20245f8352 100644
--- a/apps/web/core/components/settings/profile/content/pages/general/form.tsx
+++ b/apps/web/core/components/settings/profile/content/pages/general/form.tsx
@@ -150,13 +150,32 @@ export const GeneralProfileSettingsForm = observer(function GeneralProfileSettin
role: formData.role,
};
- const updateCurrentUserDetail = updateCurrentUser(userPayload).finally(() => setIsLoading(false));
- const updateCurrentUserProfile = updateUserProfile(profilePayload).finally(() => setIsLoading(false));
+ const updateCurrentUserDetail = updateCurrentUser(userPayload);
+ const promises: Promise[] = [updateCurrentUserDetail];
+ if (profilePayload.role !== profile.role) {
+ const updateCurrentUserProfile = updateUserProfile(profilePayload);
+ promises.push(updateCurrentUserProfile);
+ }
- const promises = [updateCurrentUserDetail, updateCurrentUserProfile];
- const updateUserAndProfile = Promise.all(promises);
+ const updatePromise = Promise.allSettled(promises)
+ .then((results) => {
+ const rejectedResult = results.find((result) => result.status === "rejected") as
+ | PromiseRejectedResult
+ | undefined;
+ if (rejectedResult) {
+ throw rejectedResult.reason ?? new Error("Failed to update profile");
+ }
+ const values = results.map(
+ (result) => (result as PromiseFulfilledResult).value
+ );
+ if (values.some((v) => v === undefined)) {
+ throw new Error("Failed to update profile");
+ }
+ return values;
+ })
+ .finally(() => setIsLoading(false));
- setPromiseToast(updateUserAndProfile, {
+ setPromiseToast(updatePromise, {
loading: "Updating...",
success: {
title: "Success!",
@@ -167,11 +186,6 @@ export const GeneralProfileSettingsForm = observer(function GeneralProfileSettin
message: () => `There was some error in updating your profile. Please try again.`,
},
});
- updateUserAndProfile
- .then(() => {
- return;
- })
- .catch(() => {});
};
return (
diff --git a/apps/web/helpers/cover-image.helper.ts b/apps/web/helpers/cover-image.helper.ts
index caac9df416f..6ef7b2854c5 100644
--- a/apps/web/helpers/cover-image.helper.ts
+++ b/apps/web/helpers/cover-image.helper.ts
@@ -84,7 +84,7 @@ export const DEFAULT_COVER_IMAGE_URL = STATIC_COVER_IMAGES.IMAGE_1;
*/
const STATIC_COVER_IMAGES_SET = new Set(Object.values(STATIC_COVER_IMAGES));
-export type TCoverImageType = "local_static" | "uploaded_asset";
+export type TCoverImageType = "local_static" | "uploaded_asset" | "unsplash";
export type TCoverImageResult = {
needsUpload: boolean;
@@ -114,6 +114,17 @@ export const getCoverImageType = (imageUrl: string): TCoverImageType => {
// Check against the explicit set of static images
if (isStaticCoverImage(imageUrl)) return "local_static";
+ // Check if it's an Unsplash image by validating the hostname
+ try {
+ const url = new URL(imageUrl);
+ const hostname = url.hostname.toLowerCase();
+ if (hostname === "unsplash.com" || hostname.endsWith(".unsplash.com")) {
+ return "unsplash";
+ }
+ } catch {
+ // If URL parsing fails (e.g., relative path), fall through to other checks
+ }
+
if (imageUrl.startsWith("http")) return "uploaded_asset";
return "uploaded_asset";
@@ -136,7 +147,7 @@ export function getCoverImageDisplayURL(
const imageType = getCoverImageType(imageUrl);
- if (imageType === "local_static") {
+ if (imageType === "local_static" || imageType === "unsplash") {
return imageUrl;
}
@@ -149,6 +160,7 @@ export function getCoverImageDisplayURL(
/**
* Analyzes cover image change and determines what action to take
+ * Merged with isUnsplashImage logic - now detects unsplash images as a separate type
*/
export const analyzeCoverImageChange = (
currentImage: string | null | undefined,
@@ -164,10 +176,18 @@ export const analyzeCoverImageChange = (
};
}
- const imageType = getCoverImageType(newImage ?? "");
+ if (!newImage) {
+ return {
+ needsUpload: false,
+ imageType: "uploaded_asset",
+ shouldUpdate: true,
+ };
+ }
+
+ const imageType = getCoverImageType(newImage);
return {
- needsUpload: imageType === "local_static",
+ needsUpload: imageType === "local_static" || imageType === "unsplash",
imageType,
shouldUpdate: hasChanged,
};
@@ -201,7 +221,7 @@ export const uploadCoverImage = async (
throw new Error("Invalid file type. Please select an image.");
}
- const fileName = imageUrl.split("/").pop() || "cover.jpg";
+ const fileName = imageUrl.split("/").pop()?.split("?")[0] || "image.jpg";
const file = new File([blob], fileName, { type: blob.type });
// Upload based on context
@@ -233,7 +253,6 @@ export const uploadCoverImage = async (
/**
* Main utility to handle cover image changes with upload
- * Returns the payload fields that should be updated
*/
export const handleCoverImageChange = async (
currentImage: string | null | undefined,
@@ -244,46 +263,20 @@ export const handleCoverImageChange = async (
entityType: EFileAssetType;
isUserAsset?: boolean;
}
-): Promise => {
+): Promise => {
const analysis = analyzeCoverImageChange(currentImage, newImage);
+ if (!analysis.shouldUpdate) return;
- // No change detected
- if (!analysis.shouldUpdate) {
- return null;
- }
-
- // Image removed
if (!newImage) {
- return {
- cover_image: null,
- cover_image_url: null,
- cover_image_asset: null,
- };
+ return { cover_image: null, cover_image_url: null, cover_image_asset: null };
}
- // Local static image - needs upload
if (analysis.needsUpload) {
- const uploadedUrl = await uploadCoverImage(newImage, uploadConfig);
-
- // For BOTH user assets AND project assets:
- // The backend auto-links when entity_identifier is set correctly
- // For project assets: auto-linked server-side, no payload needed
- // For user assets: return URL for immediate UI feedback
-
- if (uploadConfig.isUserAsset) {
- return {
- cover_image: uploadedUrl,
- };
- } else {
- return null;
- }
+ await uploadCoverImage(newImage, uploadConfig);
+ return;
}
- // External/uploaded asset (e.g., Unsplash URL, pre-uploaded asset)
- // Return the URL to be saved in the backend
- return {
- cover_image: newImage,
- };
+ return { cover_image: newImage };
};
/**
From f0ec84661ddb2430275b10a7538b1e3043014f3c Mon Sep 17 00:00:00 2001
From: sriram veeraghanta
Date: Tue, 31 Mar 2026 16:32:31 +0530
Subject: [PATCH 043/138] chore(deps): update dependency overrides (#8831)
Update brace-expansion override from 2.0.2 to 5.0.5 and add picomatch,
yaml@1, and yaml@2 overrides to pin transitive dependency versions.
Co-authored-by: Claude Opus 4.6 (1M context)
---
package.json | 7 +-
pnpm-lock.yaml | 403 ++++++++++++++++++++++++-------------------------
2 files changed, 206 insertions(+), 204 deletions(-)
diff --git a/package.json b/package.json
index 85f8f15de8d..d77bdf1d80c 100644
--- a/package.json
+++ b/package.json
@@ -45,7 +45,7 @@
"valibot": "1.2.0",
"glob": "11.1.0",
"js-yaml": "4.1.1",
- "brace-expansion": "2.0.2",
+ "brace-expansion": "5.0.5",
"nanoid": "3.3.8",
"esbuild": "0.25.0",
"@babel/helpers": "7.26.10",
@@ -71,7 +71,10 @@
"ajv@6": "6.14.0",
"ajv@8": "8.18.0",
"undici@7": "7.24.0",
- "flatted": "3.4.2"
+ "flatted": "3.4.2",
+ "picomatch": "2.3.2",
+ "yaml@1": "1.10.3",
+ "yaml@2": "2.8.3"
},
"onlyBuiltDependencies": [
"@parcel/watcher",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 4410dfe2d38..d3ca1e9a1d6 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -88,7 +88,7 @@ overrides:
valibot: 1.2.0
glob: 11.1.0
js-yaml: 4.1.1
- brace-expansion: 2.0.2
+ brace-expansion: 5.0.5
nanoid: 3.3.8
esbuild: 0.25.0
'@babel/helpers': 7.26.10
@@ -115,6 +115,9 @@ overrides:
ajv@8: 8.18.0
undici@7: 7.24.0
flatted: 3.4.2
+ picomatch: 2.3.2
+ yaml@1: 1.10.3
+ yaml@2: 2.8.3
importers:
@@ -237,7 +240,7 @@ importers:
version: link:../../packages/typescript-config
'@react-router/dev':
specifier: 'catalog:'
- version: 7.13.1(@react-router/serve@7.13.1(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(@types/node@22.12.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.43.1)(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))(yaml@2.8.1)
+ version: 7.13.1(@react-router/serve@7.13.1(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(@types/node@22.12.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.43.1)(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))(yaml@2.8.3)
'@types/lodash-es':
specifier: 'catalog:'
version: 4.17.12
@@ -255,10 +258,10 @@ importers:
version: 5.8.3
vite:
specifier: 7.3.1
- version: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
+ version: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)
vite-tsconfig-paths:
specifier: ^5.1.4
- version: 5.1.4(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ version: 5.1.4(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
apps/live:
dependencies:
@@ -391,7 +394,7 @@ importers:
version: 8.18.1
'@vitest/coverage-v8':
specifier: ^4.0.8
- version: 4.0.17(vitest@4.0.15(@opentelemetry/api@1.9.0)(@types/node@22.12.0)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ version: 4.0.17(vitest@4.0.15(@opentelemetry/api@1.9.0)(@types/node@22.12.0)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
pdf-parse:
specifier: ^2.4.5
version: 2.4.5
@@ -403,7 +406,7 @@ importers:
version: 5.8.3
vitest:
specifier: ^4.0.8
- version: 4.0.15(@opentelemetry/api@1.9.0)(@types/node@22.12.0)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
+ version: 4.0.15(@opentelemetry/api@1.9.0)(@types/node@22.12.0)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)
apps/space:
dependencies:
@@ -521,7 +524,7 @@ importers:
version: link:../../packages/typescript-config
'@react-router/dev':
specifier: 'catalog:'
- version: 7.13.1(@react-router/serve@7.13.1(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(@types/node@22.12.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.43.1)(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))(yaml@2.8.1)
+ version: 7.13.1(@react-router/serve@7.13.1(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(@types/node@22.12.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.43.1)(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))(yaml@2.8.3)
'@tailwindcss/typography':
specifier: 0.5.19
version: 0.5.19
@@ -542,10 +545,10 @@ importers:
version: 5.8.3
vite:
specifier: 7.3.1
- version: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
+ version: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)
vite-tsconfig-paths:
specifier: ^5.1.4
- version: 5.1.4(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ version: 5.1.4(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
apps/web:
dependencies:
@@ -723,7 +726,7 @@ importers:
version: link:../../packages/typescript-config
'@react-router/dev':
specifier: 'catalog:'
- version: 7.13.1(@react-router/serve@7.13.1(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(@types/node@22.12.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.43.1)(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))(yaml@2.8.1)
+ version: 7.13.1(@react-router/serve@7.13.1(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(@types/node@22.12.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.43.1)(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))(yaml@2.8.3)
'@tailwindcss/typography':
specifier: 0.5.19
version: 0.5.19
@@ -747,10 +750,10 @@ importers:
version: 5.8.3
vite:
specifier: 7.3.1
- version: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
+ version: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)
vite-tsconfig-paths:
specifier: ^5.1.4
- version: 5.1.4(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ version: 5.1.4(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
packages/codemods:
devDependencies:
@@ -768,7 +771,7 @@ importers:
version: 17.3.0
vitest:
specifier: ^4.0.8
- version: 4.0.15(@opentelemetry/api@1.9.0)(@types/node@22.12.0)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
+ version: 4.0.15(@opentelemetry/api@1.9.0)(@types/node@22.12.0)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)
packages/constants:
dependencies:
@@ -1152,13 +1155,13 @@ importers:
version: link:../typescript-config
'@storybook/addon-designs':
specifier: 10.0.2
- version: 10.0.2(@storybook/addon-docs@9.1.10(@types/react@18.3.11)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ version: 10.0.2(@storybook/addon-docs@9.1.10(@types/react@18.3.11)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
'@storybook/addon-docs':
specifier: 9.1.10
- version: 9.1.10(@types/react@18.3.11)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ version: 9.1.10(@types/react@18.3.11)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
'@storybook/react-vite':
specifier: 9.1.10
- version: 9.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.59.0)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ version: 9.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.59.0)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
'@types/react':
specifier: 'catalog:'
version: 18.3.11
@@ -1167,7 +1170,7 @@ importers:
version: 18.3.1
storybook:
specifier: 9.1.19
- version: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ version: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
tsdown:
specifier: 'catalog:'
version: 0.16.0(typescript@5.8.3)(unrun@0.2.34)
@@ -1366,34 +1369,34 @@ importers:
version: link:../typescript-config
'@storybook/addon-essentials':
specifier: ^8.1.1
- version: 8.6.14(@types/react@18.3.11)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ version: 8.6.14(@types/react@18.3.11)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
'@storybook/addon-interactions':
specifier: ^8.1.1
- version: 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ version: 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
'@storybook/addon-links':
specifier: ^8.1.1
- version: 8.6.14(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ version: 8.6.14(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
'@storybook/addon-onboarding':
specifier: ^8.1.1
- version: 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ version: 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
'@storybook/addon-styling-webpack':
specifier: ^1.0.0
- version: 1.0.1(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(webpack@5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17)))
+ version: 1.0.1(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))(webpack@5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17)))
'@storybook/addon-webpack5-compiler-swc':
specifier: ^1.0.2
version: 1.0.6(@swc/helpers@0.5.17)(webpack@5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17)))
'@storybook/blocks':
specifier: ^8.1.1
- version: 8.6.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ version: 8.6.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
'@storybook/react':
specifier: ^8.1.1
- version: 8.6.14(@storybook/test@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(typescript@5.8.3)
+ version: 8.6.14(@storybook/test@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))(typescript@5.8.3)
'@storybook/react-webpack5':
specifier: ^8.1.1
- version: 8.6.14(@storybook/test@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))))(@swc/core@1.13.5(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(typescript@5.8.3)
+ version: 8.6.14(@storybook/test@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))))(@swc/core@1.13.5(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))(typescript@5.8.3)
'@storybook/test':
specifier: ^8.1.1
- version: 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ version: 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
'@types/lodash-es':
specifier: 'catalog:'
version: 4.17.12
@@ -1420,7 +1423,7 @@ importers:
version: 6.2.0(postcss@8.5.6)
storybook:
specifier: 9.1.19
- version: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ version: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
tsdown:
specifier: 'catalog:'
version: 0.16.0(typescript@5.8.3)(unrun@0.2.34)
@@ -4740,8 +4743,9 @@ packages:
bail@2.0.2:
resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
- balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ balanced-match@4.0.4:
+ resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
+ engines: {node: 18 || 20 || >=22}
base64-js@0.0.8:
resolution: {integrity: sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==}
@@ -4792,8 +4796,9 @@ packages:
resolution: {integrity: sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==}
engines: {node: '>=14.16'}
- brace-expansion@2.0.2:
- resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
+ brace-expansion@5.0.5:
+ resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==}
+ engines: {node: 18 || 20 || >=22}
braces@3.0.3:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
@@ -5640,7 +5645,7 @@ packages:
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
engines: {node: '>=12.0.0'}
peerDependencies:
- picomatch: ^3 || ^4
+ picomatch: 2.3.2
peerDependenciesMeta:
picomatch:
optional: true
@@ -7183,14 +7188,10 @@ packages:
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
- picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ picomatch@2.3.2:
+ resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==}
engines: {node: '>=8.6'}
- picomatch@4.0.4:
- resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==}
- engines: {node: '>=12'}
-
pidtree@0.6.0:
resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
engines: {node: '>=0.10'}
@@ -8550,7 +8551,7 @@ packages:
sugarss: ^5.0.0
terser: ^5.16.0
tsx: ^4.8.1
- yaml: ^2.4.2
+ yaml: 2.8.3
peerDependenciesMeta:
'@types/node':
optional: true
@@ -8785,12 +8786,12 @@ packages:
yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
- yaml@1.10.2:
- resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ yaml@1.10.3:
+ resolution: {integrity: sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==}
engines: {node: '>= 6'}
- yaml@2.8.1:
- resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==}
+ yaml@2.8.3:
+ resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==}
engines: {node: '>= 14.6'}
hasBin: true
@@ -9233,10 +9234,10 @@ snapshots:
dotenv: 17.2.1
eciesjs: 0.4.15
execa: 5.1.1
- fdir: 6.5.0(picomatch@4.0.4)
+ fdir: 6.5.0(picomatch@2.3.2)
ignore: 5.3.2
object-treeify: 1.1.33
- picomatch: 4.0.4
+ picomatch: 2.3.2
which: 4.0.0
'@ecies/ciphers@0.2.4(@noble/ciphers@1.3.0)':
@@ -9677,12 +9678,12 @@ snapshots:
wrap-ansi: 8.1.0
wrap-ansi-cjs: wrap-ansi@7.0.0
- '@joshwooding/vite-plugin-react-docgen-typescript@0.6.1(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))':
+ '@joshwooding/vite-plugin-react-docgen-typescript@0.6.1(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))':
dependencies:
glob: 11.1.0
magic-string: 0.30.21
react-docgen-typescript: 2.4.0(typescript@5.8.3)
- vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
+ vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)
optionalDependencies:
typescript: 5.8.3
@@ -9972,7 +9973,7 @@ snapshots:
detect-libc: 2.0.4
is-glob: 4.0.3
node-addon-api: 7.1.1
- picomatch: 4.0.4
+ picomatch: 2.3.2
optionalDependencies:
'@parcel/watcher-android-arm64': 2.5.4
'@parcel/watcher-darwin-arm64': 2.5.4
@@ -10368,7 +10369,7 @@ snapshots:
'@react-pdf/primitives': 4.1.1
'@react-pdf/stylesheet': 6.1.2
- '@react-router/dev@7.13.1(@react-router/serve@7.13.1(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(@types/node@22.12.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.43.1)(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))(yaml@2.8.1)':
+ '@react-router/dev@7.13.1(@react-router/serve@7.13.1(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3))(@types/node@22.12.0)(babel-plugin-macros@3.1.0)(jiti@2.6.1)(lightningcss@1.30.2)(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.43.1)(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))(yaml@2.8.3)':
dependencies:
'@babel/core': 7.28.4
'@babel/generator': 7.28.5
@@ -10398,8 +10399,8 @@ snapshots:
semver: 7.7.4
tinyglobby: 0.2.15
valibot: 1.2.0(typescript@5.8.3)
- vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
- vite-node: 3.2.4(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
+ vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)
+ vite-node: 3.2.4(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)
optionalDependencies:
'@react-router/serve': 7.13.1(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.8.3)
typescript: 5.8.3
@@ -10552,7 +10553,7 @@ snapshots:
dependencies:
'@types/estree': 1.0.8
estree-walker: 2.0.2
- picomatch: 4.0.4
+ picomatch: 2.3.2
optionalDependencies:
rollup: 4.59.0
@@ -10633,133 +10634,133 @@ snapshots:
'@standard-schema/spec@1.0.0': {}
- '@storybook/addon-actions@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/addon-actions@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
'@storybook/global': 5.0.0
'@types/uuid': 9.0.8
dequal: 2.0.3
polished: 4.3.1
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
uuid: 9.0.1
- '@storybook/addon-backgrounds@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/addon-backgrounds@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
'@storybook/global': 5.0.0
memoizerific: 1.11.3
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
ts-dedent: 2.2.0
- '@storybook/addon-controls@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/addon-controls@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
'@storybook/global': 5.0.0
dequal: 2.0.3
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
ts-dedent: 2.2.0
- '@storybook/addon-designs@10.0.2(@storybook/addon-docs@9.1.10(@types/react@18.3.11)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/addon-designs@10.0.2(@storybook/addon-docs@9.1.10(@types/react@18.3.11)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
'@figspec/react': 1.0.4(react@18.3.1)
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
optionalDependencies:
- '@storybook/addon-docs': 9.1.10(@types/react@18.3.11)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ '@storybook/addon-docs': 9.1.10(@types/react@18.3.11)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- '@storybook/addon-docs@8.6.14(@types/react@18.3.11)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/addon-docs@8.6.14(@types/react@18.3.11)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
'@mdx-js/react': 3.1.0(@types/react@18.3.11)(react@18.3.1)
- '@storybook/blocks': 8.6.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
- '@storybook/csf-plugin': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
- '@storybook/react-dom-shim': 8.6.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ '@storybook/blocks': 8.6.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
+ '@storybook/csf-plugin': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
+ '@storybook/react-dom-shim': 8.6.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
ts-dedent: 2.2.0
transitivePeerDependencies:
- '@types/react'
- '@storybook/addon-docs@9.1.10(@types/react@18.3.11)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/addon-docs@9.1.10(@types/react@18.3.11)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
'@mdx-js/react': 3.1.0(@types/react@18.3.11)(react@18.3.1)
- '@storybook/csf-plugin': 9.1.10(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ '@storybook/csf-plugin': 9.1.10(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
'@storybook/icons': 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@storybook/react-dom-shim': 9.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ '@storybook/react-dom-shim': 9.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
ts-dedent: 2.2.0
transitivePeerDependencies:
- '@types/react'
- '@storybook/addon-essentials@8.6.14(@types/react@18.3.11)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
- dependencies:
- '@storybook/addon-actions': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
- '@storybook/addon-backgrounds': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
- '@storybook/addon-controls': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
- '@storybook/addon-docs': 8.6.14(@types/react@18.3.11)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
- '@storybook/addon-highlight': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
- '@storybook/addon-measure': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
- '@storybook/addon-outline': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
- '@storybook/addon-toolbars': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
- '@storybook/addon-viewport': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ '@storybook/addon-essentials@8.6.14(@types/react@18.3.11)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
+ dependencies:
+ '@storybook/addon-actions': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
+ '@storybook/addon-backgrounds': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
+ '@storybook/addon-controls': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
+ '@storybook/addon-docs': 8.6.14(@types/react@18.3.11)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
+ '@storybook/addon-highlight': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
+ '@storybook/addon-measure': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
+ '@storybook/addon-outline': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
+ '@storybook/addon-toolbars': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
+ '@storybook/addon-viewport': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
ts-dedent: 2.2.0
transitivePeerDependencies:
- '@types/react'
- '@storybook/addon-highlight@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/addon-highlight@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
'@storybook/global': 5.0.0
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
- '@storybook/addon-interactions@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/addon-interactions@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
'@storybook/global': 5.0.0
- '@storybook/instrumenter': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
- '@storybook/test': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ '@storybook/instrumenter': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
+ '@storybook/test': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
polished: 4.3.1
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
ts-dedent: 2.2.0
- '@storybook/addon-links@8.6.14(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/addon-links@8.6.14(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
'@storybook/global': 5.0.0
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
ts-dedent: 2.2.0
optionalDependencies:
react: 18.3.1
- '@storybook/addon-measure@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/addon-measure@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
'@storybook/global': 5.0.0
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
tiny-invariant: 1.3.3
- '@storybook/addon-onboarding@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/addon-onboarding@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
- '@storybook/addon-outline@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/addon-outline@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
'@storybook/global': 5.0.0
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
ts-dedent: 2.2.0
- '@storybook/addon-styling-webpack@1.0.1(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(webpack@5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17)))':
+ '@storybook/addon-styling-webpack@1.0.1(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))(webpack@5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17)))':
dependencies:
- '@storybook/node-logger': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ '@storybook/node-logger': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
webpack: 5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17))
transitivePeerDependencies:
- storybook
- '@storybook/addon-toolbars@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/addon-toolbars@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
- '@storybook/addon-viewport@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/addon-viewport@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
memoizerific: 1.11.3
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
'@storybook/addon-webpack5-compiler-swc@1.0.6(@swc/helpers@0.5.17)(webpack@5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17)))':
dependencies:
@@ -10769,25 +10770,25 @@ snapshots:
- '@swc/helpers'
- webpack
- '@storybook/blocks@8.6.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/blocks@8.6.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
'@storybook/icons': 1.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
ts-dedent: 2.2.0
optionalDependencies:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- '@storybook/builder-vite@9.1.10(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))':
+ '@storybook/builder-vite@9.1.10(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))':
dependencies:
- '@storybook/csf-plugin': 9.1.10(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ '@storybook/csf-plugin': 9.1.10(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
ts-dedent: 2.2.0
- vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
+ vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)
- '@storybook/builder-webpack5@8.6.14(@swc/core@1.13.5(@swc/helpers@0.5.17))(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(typescript@5.8.3)':
+ '@storybook/builder-webpack5@8.6.14(@swc/core@1.13.5(@swc/helpers@0.5.17))(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))(typescript@5.8.3)':
dependencies:
- '@storybook/core-webpack': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ '@storybook/core-webpack': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
'@types/semver': 7.7.1
browser-assert: 1.2.1
case-sensitive-paths-webpack-plugin: 2.4.0
@@ -10801,7 +10802,7 @@ snapshots:
path-browserify: 1.0.1
process: 0.11.10
semver: 7.7.4
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
style-loader: 3.3.4(webpack@5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17)))
terser-webpack-plugin: 5.3.16(@swc/core@1.13.5(@swc/helpers@0.5.17))(webpack@5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17)))
ts-dedent: 2.2.0
@@ -10821,23 +10822,23 @@ snapshots:
- uglify-js
- webpack-cli
- '@storybook/components@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/components@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
- '@storybook/core-webpack@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/core-webpack@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
ts-dedent: 2.2.0
- '@storybook/csf-plugin@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/csf-plugin@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
unplugin: 1.16.1
- '@storybook/csf-plugin@9.1.10(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/csf-plugin@9.1.10(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
unplugin: 1.16.1
'@storybook/global@5.0.0': {}
@@ -10847,24 +10848,24 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- '@storybook/instrumenter@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/instrumenter@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
'@storybook/global': 5.0.0
'@vitest/utils': 2.1.9
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
- '@storybook/manager-api@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/manager-api@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
- '@storybook/node-logger@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/node-logger@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
- '@storybook/preset-react-webpack@8.6.14(@storybook/test@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))))(@swc/core@1.13.5(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(typescript@5.8.3)':
+ '@storybook/preset-react-webpack@8.6.14(@storybook/test@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))))(@swc/core@1.13.5(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))(typescript@5.8.3)':
dependencies:
- '@storybook/core-webpack': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
- '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(typescript@5.8.3)
+ '@storybook/core-webpack': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
+ '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))(typescript@5.8.3)
'@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17)))
'@types/semver': 7.7.1
find-up: 5.0.0
@@ -10874,7 +10875,7 @@ snapshots:
react-dom: 18.3.1(react@18.3.1)
resolve: 1.22.10
semver: 7.7.4
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
tsconfig-paths: 4.2.0
webpack: 5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17))
optionalDependencies:
@@ -10887,9 +10888,9 @@ snapshots:
- uglify-js
- webpack-cli
- '@storybook/preview-api@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/preview-api@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
'@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.8.3)(webpack@5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17)))':
dependencies:
@@ -10905,46 +10906,46 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@storybook/react-dom-shim@8.6.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/react-dom-shim@8.6.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
- '@storybook/react-dom-shim@9.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/react-dom-shim@9.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
- '@storybook/react-vite@9.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.59.0)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))':
+ '@storybook/react-vite@9.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.59.0)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))':
dependencies:
- '@joshwooding/vite-plugin-react-docgen-typescript': 0.6.1(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ '@joshwooding/vite-plugin-react-docgen-typescript': 0.6.1(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
'@rollup/pluginutils': 5.2.0(rollup@4.59.0)
- '@storybook/builder-vite': 9.1.10(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
- '@storybook/react': 9.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(typescript@5.8.3)
+ '@storybook/builder-vite': 9.1.10(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
+ '@storybook/react': 9.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))(typescript@5.8.3)
find-up: 7.0.0
magic-string: 0.30.21
react: 18.3.1
react-docgen: 8.0.1
react-dom: 18.3.1(react@18.3.1)
resolve: 1.22.10
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
tsconfig-paths: 4.2.0
- vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
+ vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)
transitivePeerDependencies:
- rollup
- supports-color
- typescript
- '@storybook/react-webpack5@8.6.14(@storybook/test@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))))(@swc/core@1.13.5(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(typescript@5.8.3)':
+ '@storybook/react-webpack5@8.6.14(@storybook/test@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))))(@swc/core@1.13.5(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))(typescript@5.8.3)':
dependencies:
- '@storybook/builder-webpack5': 8.6.14(@swc/core@1.13.5(@swc/helpers@0.5.17))(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(typescript@5.8.3)
- '@storybook/preset-react-webpack': 8.6.14(@storybook/test@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))))(@swc/core@1.13.5(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(typescript@5.8.3)
- '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(typescript@5.8.3)
+ '@storybook/builder-webpack5': 8.6.14(@swc/core@1.13.5(@swc/helpers@0.5.17))(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))(typescript@5.8.3)
+ '@storybook/preset-react-webpack': 8.6.14(@storybook/test@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))))(@swc/core@1.13.5(@swc/helpers@0.5.17))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))(typescript@5.8.3)
+ '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))(typescript@5.8.3)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
optionalDependencies:
typescript: 5.8.3
transitivePeerDependencies:
@@ -10956,45 +10957,45 @@ snapshots:
- uglify-js
- webpack-cli
- '@storybook/react@8.6.14(@storybook/test@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(typescript@5.8.3)':
+ '@storybook/react@8.6.14(@storybook/test@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))(typescript@5.8.3)':
dependencies:
- '@storybook/components': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ '@storybook/components': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
'@storybook/global': 5.0.0
- '@storybook/manager-api': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
- '@storybook/preview-api': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
- '@storybook/react-dom-shim': 8.6.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
- '@storybook/theming': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ '@storybook/manager-api': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
+ '@storybook/preview-api': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
+ '@storybook/react-dom-shim': 8.6.14(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
+ '@storybook/theming': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
optionalDependencies:
- '@storybook/test': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ '@storybook/test': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
typescript: 5.8.3
- '@storybook/react@9.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))(typescript@5.8.3)':
+ '@storybook/react@9.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))(typescript@5.8.3)':
dependencies:
'@storybook/global': 5.0.0
- '@storybook/react-dom-shim': 9.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ '@storybook/react-dom-shim': 9.1.10(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
optionalDependencies:
typescript: 5.8.3
- '@storybook/test@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/test@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
'@storybook/global': 5.0.0
- '@storybook/instrumenter': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))
+ '@storybook/instrumenter': 8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))
'@testing-library/dom': 10.4.0
'@testing-library/jest-dom': 6.5.0
'@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0)
'@vitest/expect': 2.0.5
'@vitest/spy': 2.0.5
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
- '@storybook/theming@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)))':
+ '@storybook/theming@8.6.14(storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)))':
dependencies:
- storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ storybook: 9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
'@swc/core-darwin-arm64@1.13.5':
optional: true
@@ -11692,7 +11693,7 @@ snapshots:
'@ungap/structured-clone@1.3.0': {}
- '@vitest/coverage-v8@4.0.17(vitest@4.0.15(@opentelemetry/api@1.9.0)(@types/node@22.12.0)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))':
+ '@vitest/coverage-v8@4.0.17(vitest@4.0.15(@opentelemetry/api@1.9.0)(@types/node@22.12.0)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))':
dependencies:
'@bcoe/v8-coverage': 1.0.2
'@vitest/utils': 4.0.17
@@ -11704,7 +11705,7 @@ snapshots:
obug: 2.1.1
std-env: 3.10.0
tinyrainbow: 3.0.3
- vitest: 4.0.15(@opentelemetry/api@1.9.0)(@types/node@22.12.0)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
+ vitest: 4.0.15(@opentelemetry/api@1.9.0)(@types/node@22.12.0)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)
'@vitest/expect@2.0.5':
dependencies:
@@ -11730,21 +11731,21 @@ snapshots:
chai: 6.2.1
tinyrainbow: 3.0.3
- '@vitest/mocker@3.2.4(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))':
+ '@vitest/mocker@3.2.4(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))':
dependencies:
'@vitest/spy': 3.2.4
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
- vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
+ vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)
- '@vitest/mocker@4.0.15(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))':
+ '@vitest/mocker@4.0.15(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))':
dependencies:
'@vitest/spy': 4.0.15
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
- vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
+ vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)
'@vitest/pretty-format@2.0.5':
dependencies:
@@ -11972,7 +11973,7 @@ snapshots:
anymatch@3.1.3:
dependencies:
normalize-path: 3.0.0
- picomatch: 2.3.1
+ picomatch: 2.3.2
arch@2.2.0: {}
@@ -12061,7 +12062,7 @@ snapshots:
bail@2.0.2: {}
- balanced-match@1.0.2: {}
+ balanced-match@4.0.4: {}
base64-js@0.0.8: {}
@@ -12121,9 +12122,9 @@ snapshots:
widest-line: 4.0.1
wrap-ansi: 8.1.0
- brace-expansion@2.0.2:
+ brace-expansion@5.0.5:
dependencies:
- balanced-match: 1.0.2
+ balanced-match: 4.0.4
braces@3.0.3:
dependencies:
@@ -12439,7 +12440,7 @@ snapshots:
import-fresh: 3.3.1
parse-json: 5.2.0
path-type: 4.0.0
- yaml: 1.10.2
+ yaml: 1.10.3
create-react-class@15.7.0:
dependencies:
@@ -12962,9 +12963,9 @@ snapshots:
fast-uri@3.0.6: {}
- fdir@6.5.0(picomatch@4.0.4):
+ fdir@6.5.0(picomatch@2.3.2):
optionalDependencies:
- picomatch: 4.0.4
+ picomatch: 2.3.2
fecha@4.2.3: {}
@@ -13792,7 +13793,7 @@ snapshots:
nano-spawn: 2.0.0
pidtree: 0.6.0
string-argv: 0.3.2
- yaml: 2.8.1
+ yaml: 2.8.3
listr2@9.0.5:
dependencies:
@@ -14433,7 +14434,7 @@ snapshots:
micromatch@4.0.8:
dependencies:
braces: 3.0.3
- picomatch: 2.3.1
+ picomatch: 2.3.2
mime-db@1.33.0: {}
@@ -14461,11 +14462,11 @@ snapshots:
minimatch@10.2.3:
dependencies:
- brace-expansion: 2.0.2
+ brace-expansion: 5.0.5
minimatch@3.1.4:
dependencies:
- brace-expansion: 2.0.2
+ brace-expansion: 5.0.5
minimist@1.2.8: {}
@@ -14811,9 +14812,7 @@ snapshots:
picocolors@1.1.1: {}
- picomatch@2.3.1: {}
-
- picomatch@4.0.4: {}
+ picomatch@2.3.2: {}
pidtree@0.6.0: {}
@@ -14866,7 +14865,7 @@ snapshots:
postcss-load-config@5.1.0(jiti@2.6.1)(postcss@8.5.6):
dependencies:
lilconfig: 3.1.3
- yaml: 2.8.1
+ yaml: 2.8.3
optionalDependencies:
jiti: 2.6.1
postcss: 8.5.6
@@ -15323,7 +15322,7 @@ snapshots:
readdirp@3.6.0:
dependencies:
- picomatch: 2.3.1
+ picomatch: 2.3.2
recast@0.23.11:
dependencies:
@@ -15842,13 +15841,13 @@ snapshots:
std-env@3.10.0: {}
- storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)):
+ storybook@9.1.19(@testing-library/dom@10.4.0)(prettier@3.7.4)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)):
dependencies:
'@storybook/global': 5.0.0
'@testing-library/jest-dom': 6.9.1
'@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0)
'@vitest/expect': 3.2.4
- '@vitest/mocker': 3.2.4(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ '@vitest/mocker': 3.2.4(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
'@vitest/spy': 3.2.4
better-opn: 3.0.2
esbuild: 0.25.0
@@ -16005,8 +16004,8 @@ snapshots:
tinyglobby@0.2.15:
dependencies:
- fdir: 6.5.0(picomatch@4.0.4)
- picomatch: 4.0.4
+ fdir: 6.5.0(picomatch@2.3.2)
+ picomatch: 2.3.2
tinypool@2.1.0: {}
@@ -16407,13 +16406,13 @@ snapshots:
string_decoder: 1.3.0
util-deprecate: 1.0.2
- vite-node@3.2.4(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1):
+ vite-node@3.2.4(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3):
dependencies:
cac: 6.7.14
debug: 4.4.3
es-module-lexer: 1.7.0
pathe: 2.0.3
- vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
+ vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -16428,22 +16427,22 @@ snapshots:
- tsx
- yaml
- vite-tsconfig-paths@5.1.4(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)):
+ vite-tsconfig-paths@5.1.4(typescript@5.8.3)(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)):
dependencies:
debug: 4.4.3
globrex: 0.1.2
tsconfck: 3.1.6(typescript@5.8.3)
optionalDependencies:
- vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
+ vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)
transitivePeerDependencies:
- supports-color
- typescript
- vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1):
+ vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3):
dependencies:
esbuild: 0.25.0
- fdir: 6.5.0(picomatch@4.0.4)
- picomatch: 4.0.4
+ fdir: 6.5.0(picomatch@2.3.2)
+ picomatch: 2.3.2
postcss: 8.5.6
rollup: 4.59.0
tinyglobby: 0.2.15
@@ -16453,12 +16452,12 @@ snapshots:
jiti: 2.6.1
lightningcss: 1.30.2
terser: 5.43.1
- yaml: 2.8.1
+ yaml: 2.8.3
- vitest@4.0.15(@opentelemetry/api@1.9.0)(@types/node@22.12.0)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1):
+ vitest@4.0.15(@opentelemetry/api@1.9.0)(@types/node@22.12.0)(jiti@2.6.1)(jsdom@26.1.0)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3):
dependencies:
'@vitest/expect': 4.0.15
- '@vitest/mocker': 4.0.15(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1))
+ '@vitest/mocker': 4.0.15(vite@7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3))
'@vitest/pretty-format': 4.0.15
'@vitest/runner': 4.0.15
'@vitest/snapshot': 4.0.15
@@ -16469,13 +16468,13 @@ snapshots:
magic-string: 0.30.21
obug: 2.1.1
pathe: 2.0.3
- picomatch: 4.0.4
+ picomatch: 2.3.2
std-env: 3.10.0
tinybench: 2.9.0
tinyexec: 1.0.4
tinyglobby: 0.2.15
tinyrainbow: 3.0.3
- vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.1)
+ vite: 7.3.1(@types/node@22.12.0)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.43.1)(yaml@2.8.3)
why-is-node-running: 2.3.0
optionalDependencies:
'@opentelemetry/api': 1.9.0
@@ -16691,9 +16690,9 @@ snapshots:
yallist@3.1.1: {}
- yaml@1.10.2: {}
+ yaml@1.10.3: {}
- yaml@2.8.1: {}
+ yaml@2.8.3: {}
yargs-parser@21.1.1: {}
From b73d6344adee8fa77cb202009067f3f6c295d33a Mon Sep 17 00:00:00 2001
From: sriram veeraghanta
Date: Tue, 31 Mar 2026 16:55:17 +0530
Subject: [PATCH 044/138] chore(deps): replace dotenvx with dotenv and update
overrides (#8832)
* chore(deps): replace dotenvx with dotenv and update dependency overrides
Co-Authored-By: Claude Opus 4.6 (1M context)
* chore: sort devDependencies in package.json files
Co-Authored-By: Claude Opus 4.6 (1M context)
---------
Co-authored-by: Claude Opus 4.6 (1M context)
---
apps/admin/package.json | 2 +-
apps/admin/vite.config.ts | 2 +-
apps/live/package.json | 2 +-
apps/live/src/env.ts | 2 +-
apps/space/package.json | 2 +-
apps/space/vite.config.ts | 2 +-
apps/web/package.json | 2 +-
apps/web/vite.config.ts | 2 +-
package.json | 5 +-
pnpm-lock.yaml | 152 ++++++++------------------------------
pnpm-workspace.yaml | 2 +-
11 files changed, 41 insertions(+), 134 deletions(-)
diff --git a/apps/admin/package.json b/apps/admin/package.json
index d55d83b399c..1c1992c7e38 100644
--- a/apps/admin/package.json
+++ b/apps/admin/package.json
@@ -49,7 +49,6 @@
"uuid": "catalog:"
},
"devDependencies": {
- "@dotenvx/dotenvx": "catalog:",
"@plane/tailwind-config": "workspace:*",
"@plane/typescript-config": "workspace:*",
"@react-router/dev": "catalog:",
@@ -57,6 +56,7 @@
"@types/node": "catalog:",
"@types/react": "catalog:",
"@types/react-dom": "catalog:",
+ "dotenv": "catalog:",
"typescript": "catalog:",
"vite": "catalog:",
"vite-tsconfig-paths": "^5.1.4"
diff --git a/apps/admin/vite.config.ts b/apps/admin/vite.config.ts
index c9d97157f41..f61d9b49eb5 100644
--- a/apps/admin/vite.config.ts
+++ b/apps/admin/vite.config.ts
@@ -1,5 +1,5 @@
import path from "node:path";
-import * as dotenv from "@dotenvx/dotenvx";
+import * as dotenv from "dotenv";
import { reactRouter } from "@react-router/dev/vite";
import { defineConfig } from "vite";
import tsconfigPaths from "vite-tsconfig-paths";
diff --git a/apps/live/package.json b/apps/live/package.json
index 3b8778c7126..3e7993bdcf6 100644
--- a/apps/live/package.json
+++ b/apps/live/package.json
@@ -27,7 +27,6 @@
"clean": "rm -rf .turbo && rm -rf .next && rm -rf node_modules && rm -rf dist"
},
"dependencies": {
- "@dotenvx/dotenvx": "catalog:",
"@effect/platform": "^0.94.0",
"@effect/platform-node": "^0.104.0",
"@fontsource/inter": "5.2.8",
@@ -47,6 +46,7 @@
"axios": "catalog:",
"compression": "1.8.1",
"cors": "^2.8.5",
+ "dotenv": "catalog:",
"effect": "3.20.0",
"express": "catalog:",
"express-ws": "^5.0.2",
diff --git a/apps/live/src/env.ts b/apps/live/src/env.ts
index 9b53835187e..c9b61bd433f 100644
--- a/apps/live/src/env.ts
+++ b/apps/live/src/env.ts
@@ -4,7 +4,7 @@
* See the LICENSE file for details.
*/
-import * as dotenv from "@dotenvx/dotenvx";
+import * as dotenv from "dotenv";
import { z } from "zod";
dotenv.config();
diff --git a/apps/space/package.json b/apps/space/package.json
index 8140ef16d63..1ccb2095fd2 100644
--- a/apps/space/package.json
+++ b/apps/space/package.json
@@ -53,7 +53,6 @@
"uuid": "catalog:"
},
"devDependencies": {
- "@dotenvx/dotenvx": "catalog:",
"@plane/tailwind-config": "workspace:*",
"@plane/typescript-config": "workspace:*",
"@react-router/dev": "catalog:",
@@ -62,6 +61,7 @@
"@types/node": "catalog:",
"@types/react": "catalog:",
"@types/react-dom": "catalog:",
+ "dotenv": "catalog:",
"typescript": "catalog:",
"vite": "catalog:",
"vite-tsconfig-paths": "^5.1.4"
diff --git a/apps/space/vite.config.ts b/apps/space/vite.config.ts
index 5368af0761c..1767562cec3 100644
--- a/apps/space/vite.config.ts
+++ b/apps/space/vite.config.ts
@@ -1,5 +1,5 @@
import path from "node:path";
-import * as dotenv from "@dotenvx/dotenvx";
+import * as dotenv from "dotenv";
import { reactRouter } from "@react-router/dev/vite";
import { defineConfig } from "vite";
import tsconfigPaths from "vite-tsconfig-paths";
diff --git a/apps/web/package.json b/apps/web/package.json
index 17aa4f93d9a..3ccc03dc319 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -73,7 +73,6 @@
"uuid": "catalog:"
},
"devDependencies": {
- "@dotenvx/dotenvx": "catalog:",
"@plane/tailwind-config": "workspace:*",
"@plane/typescript-config": "workspace:*",
"@react-router/dev": "catalog:",
@@ -83,6 +82,7 @@
"@types/react": "catalog:",
"@types/react-color": "^3.0.6",
"@types/react-dom": "catalog:",
+ "dotenv": "catalog:",
"typescript": "catalog:",
"vite": "catalog:",
"vite-tsconfig-paths": "^5.1.4"
diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts
index b80e3b65eee..f94ebce9d00 100644
--- a/apps/web/vite.config.ts
+++ b/apps/web/vite.config.ts
@@ -1,5 +1,5 @@
import path from "node:path";
-import * as dotenv from "@dotenvx/dotenvx";
+import * as dotenv from "dotenv";
import { reactRouter } from "@react-router/dev/vite";
import { defineConfig } from "vite";
import tsconfigPaths from "vite-tsconfig-paths";
diff --git a/package.json b/package.json
index d77bdf1d80c..101219bf355 100644
--- a/package.json
+++ b/package.json
@@ -67,14 +67,15 @@
"rollup": "4.59.0",
"minimatch@3": "3.1.4",
"minimatch@10": "10.2.3",
- "serialize-javascript": "7.0.3",
+ "serialize-javascript": "7.0.5",
"ajv@6": "6.14.0",
"ajv@8": "8.18.0",
"undici@7": "7.24.0",
"flatted": "3.4.2",
"picomatch": "2.3.2",
"yaml@1": "1.10.3",
- "yaml@2": "2.8.3"
+ "yaml@2": "2.8.3",
+ "path-to-regexp": "0.1.13"
},
"onlyBuiltDependencies": [
"@parcel/watcher",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d3ca1e9a1d6..7929b2669b8 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -18,9 +18,6 @@ catalogs:
'@bprogress/core':
specifier: ^1.3.4
version: 1.3.4
- '@dotenvx/dotenvx':
- specifier: 1.51.1
- version: 1.51.1
'@react-router/dev':
specifier: 7.13.1
version: 7.13.1
@@ -51,6 +48,9 @@ catalogs:
axios:
specifier: 1.13.5
version: 1.13.5
+ dotenv:
+ specifier: 16.4.7
+ version: 16.4.7
lucide-react:
specifier: 0.469.0
version: 0.469.0
@@ -110,7 +110,7 @@ overrides:
rollup: 4.59.0
minimatch@3: 3.1.4
minimatch@10: 10.2.3
- serialize-javascript: 7.0.3
+ serialize-javascript: 7.0.5
ajv@6: 6.14.0
ajv@8: 8.18.0
undici@7: 7.24.0
@@ -118,6 +118,7 @@ overrides:
picomatch: 2.3.2
yaml@1: 1.10.3
yaml@2: 2.8.3
+ path-to-regexp: 0.1.13
importers:
@@ -229,9 +230,6 @@ importers:
specifier: 'catalog:'
version: 13.0.0
devDependencies:
- '@dotenvx/dotenvx':
- specifier: 'catalog:'
- version: 1.51.1
'@plane/tailwind-config':
specifier: workspace:*
version: link:../../packages/tailwind-config
@@ -253,6 +251,9 @@ importers:
'@types/react-dom':
specifier: 'catalog:'
version: 18.3.1
+ dotenv:
+ specifier: 'catalog:'
+ version: 16.4.7
typescript:
specifier: 5.8.3
version: 5.8.3
@@ -265,9 +266,6 @@ importers:
apps/live:
dependencies:
- '@dotenvx/dotenvx':
- specifier: 'catalog:'
- version: 1.51.1
'@effect/platform':
specifier: ^0.94.0
version: 0.94.1(effect@3.20.0)
@@ -325,6 +323,9 @@ importers:
cors:
specifier: ^2.8.5
version: 2.8.5
+ dotenv:
+ specifier: 'catalog:'
+ version: 16.4.7
effect:
specifier: 3.20.0
version: 3.20.0
@@ -513,9 +514,6 @@ importers:
specifier: 'catalog:'
version: 13.0.0
devDependencies:
- '@dotenvx/dotenvx':
- specifier: 'catalog:'
- version: 1.51.1
'@plane/tailwind-config':
specifier: workspace:*
version: link:../../packages/tailwind-config
@@ -540,6 +538,9 @@ importers:
'@types/react-dom':
specifier: 'catalog:'
version: 18.3.1
+ dotenv:
+ specifier: 'catalog:'
+ version: 16.4.7
typescript:
specifier: 5.8.3
version: 5.8.3
@@ -715,9 +716,6 @@ importers:
specifier: 'catalog:'
version: 13.0.0
devDependencies:
- '@dotenvx/dotenvx':
- specifier: 'catalog:'
- version: 1.51.1
'@plane/tailwind-config':
specifier: workspace:*
version: link:../../packages/tailwind-config
@@ -745,6 +743,9 @@ importers:
'@types/react-dom':
specifier: 'catalog:'
version: 18.3.1
+ dotenv:
+ specifier: 'catalog:'
+ version: 16.4.7
typescript:
specifier: 5.8.3
version: 5.8.3
@@ -1826,16 +1827,6 @@ packages:
'@date-fns/tz@1.4.1':
resolution: {integrity: sha512-P5LUNhtbj6YfI3iJjw5EL9eUAG6OitD0W3fWQcpQjDRc/QIsL0tRNuO1PcDvPccWL1fSTXXdE1ds+l95DV/OFA==}
- '@dotenvx/dotenvx@1.51.1':
- resolution: {integrity: sha512-fqcQxcxC4LOaUlW8IkyWw8x0yirlLUkbxohz9OnWvVWjf73J5yyw7jxWnkOJaUKXZotcGEScDox9MU6rSkcDgg==}
- hasBin: true
-
- '@ecies/ciphers@0.2.4':
- resolution: {integrity: sha512-t+iX+Wf5nRKyNzk8dviW3Ikb/280+aEJAnw9YXvCp2tYGPSkMki+NRY+8aNLmVFv3eNtMdvViPNOPxS8SZNP+w==}
- engines: {bun: '>=1', deno: '>=2', node: '>=16'}
- peerDependencies:
- '@noble/ciphers': ^1.0.0
-
'@effect/cluster@0.56.1':
resolution: {integrity: sha512-gnrsH6kfrUjn+82j/bw1IR4yFqJqV8tc7xZvrbJPRgzANycc6K1hu3LMg548uYbUkTzD8YYyqrSatMO1mkQpzw==}
peerDependencies:
@@ -2479,18 +2470,6 @@ packages:
'@napi-rs/wasm-runtime@1.1.1':
resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==}
- '@noble/ciphers@1.3.0':
- resolution: {integrity: sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==}
- engines: {node: ^14.21.3 || >=16}
-
- '@noble/curves@1.9.7':
- resolution: {integrity: sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==}
- engines: {node: ^14.21.3 || >=16}
-
- '@noble/hashes@1.8.0':
- resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==}
- engines: {node: ^14.21.3 || >=16}
-
'@opentelemetry/api@1.9.0':
resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==}
engines: {node: '>=8.0.0'}
@@ -5036,10 +5015,6 @@ packages:
comma-separated-tokens@2.0.3:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
- commander@11.1.0:
- resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
- engines: {node: '>=16'}
-
commander@14.0.2:
resolution: {integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==}
engines: {node: '>=20'}
@@ -5380,8 +5355,8 @@ packages:
dot-case@3.0.4:
resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
- dotenv@17.2.1:
- resolution: {integrity: sha512-kQhDYKZecqnM0fCnzI5eIv5L4cAe/iRI+HqMbO/hbRdTAeXDG+M9FjipUxNfbARuEg4iHIbhnhs78BCHNbSxEQ==}
+ dotenv@16.4.7:
+ resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==}
engines: {node: '>=12'}
dts-resolver@2.1.3:
@@ -5400,10 +5375,6 @@ packages:
eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
- eciesjs@0.4.15:
- resolution: {integrity: sha512-r6kEJXDKecVOCj2nLMuXK/FCPeurW33+3JRpfXVbjLja3XUYFfD9I/JBreH6sUyzcm3G/YQboBjMla6poKeSdA==}
- engines: {bun: '>=1', deno: '>=2', node: '>=16'}
-
ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
@@ -6047,10 +6018,6 @@ packages:
ieee754@1.2.1:
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
- ignore@5.3.2:
- resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
- engines: {node: '>= 4'}
-
imagesloaded@4.1.4:
resolution: {integrity: sha512-ltiBVcYpc/TYTF5nolkMNsnREHW+ICvfQ3Yla2Sgr71YFwQ86bDwV9hgpFhFtrGPuwEx5+LqOHIrdXBdoWwwsA==}
@@ -6201,10 +6168,6 @@ packages:
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- isexe@3.1.1:
- resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==}
- engines: {node: '>=16'}
-
isobject@3.0.1:
resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
engines: {node: '>=0.10.0'}
@@ -6990,10 +6953,6 @@ packages:
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
engines: {node: '>= 0.4'}
- object-treeify@1.1.33:
- resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==}
- engines: {node: '>= 10'}
-
objectorarray@1.0.5:
resolution: {integrity: sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==}
@@ -7156,11 +7115,8 @@ packages:
resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==}
engines: {node: 20 || >=22}
- path-to-regexp@0.1.12:
- resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==}
-
- path-to-regexp@3.3.0:
- resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==}
+ path-to-regexp@0.1.13:
+ resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==}
path-type@4.0.0:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
@@ -7843,8 +7799,8 @@ packages:
sentence-case@3.0.4:
resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==}
- serialize-javascript@7.0.3:
- resolution: {integrity: sha512-h+cZ/XXarqDgCjo+YSyQU/ulDEESGGf8AMK9pPNmhNSl/FzPl6L8pMp1leca5z6NuG6tvV/auC8/43tmovowww==}
+ serialize-javascript@7.0.5:
+ resolution: {integrity: sha512-F4LcB0UqUl1zErq+1nYEEzSHJnIwb3AF2XWB94b+afhrekOUijwooAYqFyRbjYkm2PAKBabx6oYv/xDxNi8IBw==}
engines: {node: '>=20.0.0'}
serve-handler@6.1.6:
@@ -8688,11 +8644,6 @@ packages:
engines: {node: '>= 8'}
hasBin: true
- which@4.0.0:
- resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==}
- engines: {node: ^16.13.0 || >=18.0.0}
- hasBin: true
-
why-is-node-running@2.3.0:
resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
engines: {node: '>=8'}
@@ -9228,22 +9179,6 @@ snapshots:
'@date-fns/tz@1.4.1': {}
- '@dotenvx/dotenvx@1.51.1':
- dependencies:
- commander: 11.1.0
- dotenv: 17.2.1
- eciesjs: 0.4.15
- execa: 5.1.1
- fdir: 6.5.0(picomatch@2.3.2)
- ignore: 5.3.2
- object-treeify: 1.1.33
- picomatch: 2.3.2
- which: 4.0.0
-
- '@ecies/ciphers@0.2.4(@noble/ciphers@1.3.0)':
- dependencies:
- '@noble/ciphers': 1.3.0
-
'@effect/cluster@0.56.1(@effect/platform@0.94.1(effect@3.20.0))(@effect/rpc@0.73.0(@effect/platform@0.94.1(effect@3.20.0))(effect@3.20.0))(@effect/sql@0.49.0(@effect/experimental@0.58.0(@effect/platform@0.94.1(effect@3.20.0))(effect@3.20.0)(ioredis@5.7.0))(@effect/platform@0.94.1(effect@3.20.0))(effect@3.20.0))(@effect/workflow@0.16.0(@effect/experimental@0.58.0(@effect/platform@0.94.1(effect@3.20.0))(effect@3.20.0)(ioredis@5.7.0))(@effect/platform@0.94.1(effect@3.20.0))(@effect/rpc@0.73.0(@effect/platform@0.94.1(effect@3.20.0))(effect@3.20.0))(effect@3.20.0))(effect@3.20.0)':
dependencies:
'@effect/platform': 0.94.1(effect@3.20.0)
@@ -9799,14 +9734,6 @@ snapshots:
'@tybys/wasm-util': 0.10.1
optional: true
- '@noble/ciphers@1.3.0': {}
-
- '@noble/curves@1.9.7':
- dependencies:
- '@noble/hashes': 1.8.0
-
- '@noble/hashes@1.8.0': {}
-
'@opentelemetry/api@1.9.0':
optional: true
@@ -12375,8 +12302,6 @@ snapshots:
comma-separated-tokens@2.0.3: {}
- commander@11.1.0: {}
-
commander@14.0.2: {}
commander@2.20.3: {}
@@ -12698,7 +12623,7 @@ snapshots:
no-case: 3.0.4
tslib: 2.8.1
- dotenv@17.2.1: {}
+ dotenv@16.4.7: {}
dts-resolver@2.1.3: {}
@@ -12710,13 +12635,6 @@ snapshots:
eastasianwidth@0.2.0: {}
- eciesjs@0.4.15:
- dependencies:
- '@ecies/ciphers': 0.2.4(@noble/ciphers@1.3.0)
- '@noble/ciphers': 1.3.0
- '@noble/curves': 1.9.7
- '@noble/hashes': 1.8.0
-
ee-first@1.1.1: {}
effect@3.20.0:
@@ -12930,7 +12848,7 @@ snapshots:
methods: 1.1.2
on-finished: 2.4.1
parseurl: 1.3.3
- path-to-regexp: 0.1.12
+ path-to-regexp: 0.1.13
proxy-addr: 2.0.7
qs: 6.14.2
range-parser: 1.2.1
@@ -13442,8 +13360,6 @@ snapshots:
ieee754@1.2.1: {}
- ignore@5.3.2: {}
-
imagesloaded@4.1.4:
dependencies:
ev-emitter: 1.1.1
@@ -13591,8 +13507,6 @@ snapshots:
isexe@2.0.0: {}
- isexe@3.1.1: {}
-
isobject@3.0.1: {}
isomorphic.js@0.2.5: {}
@@ -14606,8 +14520,6 @@ snapshots:
object-keys@1.1.1: {}
- object-treeify@1.1.33: {}
-
objectorarray@1.0.5: {}
obug@2.1.1: {}
@@ -14789,9 +14701,7 @@ snapshots:
lru-cache: 11.2.1
minipass: 7.1.2
- path-to-regexp@0.1.12: {}
-
- path-to-regexp@3.3.0: {}
+ path-to-regexp@0.1.13: {}
path-type@4.0.0: {}
@@ -15670,7 +15580,7 @@ snapshots:
tslib: 2.8.1
upper-case-first: 2.0.2
- serialize-javascript@7.0.3: {}
+ serialize-javascript@7.0.5: {}
serve-handler@6.1.6:
dependencies:
@@ -15679,7 +15589,7 @@ snapshots:
mime-types: 2.1.18
minimatch: 3.1.4
path-is-inside: 1.0.2
- path-to-regexp: 3.3.0
+ path-to-regexp: 0.1.13
range-parser: 1.2.0
serve-static@1.16.2:
@@ -15975,7 +15885,7 @@ snapshots:
'@jridgewell/trace-mapping': 0.3.31
jest-worker: 27.5.1
schema-utils: 4.3.3
- serialize-javascript: 7.0.3
+ serialize-javascript: 7.0.5
terser: 5.43.1
webpack: 5.104.1(@swc/core@1.13.5(@swc/helpers@0.5.17))
optionalDependencies:
@@ -16601,10 +16511,6 @@ snapshots:
dependencies:
isexe: 2.0.0
- which@4.0.0:
- dependencies:
- isexe: 3.1.1
-
why-is-node-running@2.3.0:
dependencies:
siginfo: 2.0.0
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index fd9689f85b0..011d59c6754 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -9,7 +9,7 @@ catalog:
"@atlaskit/pragmatic-drag-and-drop-hitbox": 1.1.0
"@atlaskit/pragmatic-drag-and-drop": 1.7.4
"@bprogress/core": ^1.3.4
- "@dotenvx/dotenvx": 1.51.1
+ "dotenv": 16.4.7
"@react-router/dev": 7.13.1
"@react-router/node": 7.13.1
"@react-router/serve": 7.13.1
From 00a51f5e6a703b0475cca3568c35f1e2acbab42a Mon Sep 17 00:00:00 2001
From: sriramveeraghanta
Date: Tue, 31 Mar 2026 17:09:35 +0530
Subject: [PATCH 045/138] chore: version bump
---
apps/admin/package.json | 2 +-
apps/api/package.json | 2 +-
apps/live/package.json | 2 +-
apps/space/package.json | 2 +-
apps/web/package.json | 2 +-
package.json | 2 +-
packages/codemods/package.json | 2 +-
packages/constants/package.json | 2 +-
packages/editor/package.json | 2 +-
packages/hooks/package.json | 2 +-
packages/i18n/package.json | 2 +-
packages/logger/package.json | 2 +-
packages/propel/package.json | 2 +-
packages/services/package.json | 2 +-
packages/shared-state/package.json | 2 +-
packages/tailwind-config/package.json | 2 +-
packages/types/package.json | 2 +-
packages/typescript-config/package.json | 2 +-
packages/ui/package.json | 2 +-
packages/utils/package.json | 2 +-
20 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/apps/admin/package.json b/apps/admin/package.json
index 1c1992c7e38..8a492643a5e 100644
--- a/apps/admin/package.json
+++ b/apps/admin/package.json
@@ -1,6 +1,6 @@
{
"name": "admin",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"description": "Admin UI for Plane",
"license": "AGPL-3.0",
diff --git a/apps/api/package.json b/apps/api/package.json
index a0bf53ab8e7..99f5de98794 100644
--- a/apps/api/package.json
+++ b/apps/api/package.json
@@ -1,6 +1,6 @@
{
"name": "plane-api",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"description": "API server powering Plane's backend",
"license": "AGPL-3.0"
diff --git a/apps/live/package.json b/apps/live/package.json
index 3e7993bdcf6..1570ed9d764 100644
--- a/apps/live/package.json
+++ b/apps/live/package.json
@@ -1,6 +1,6 @@
{
"name": "live",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"description": "A realtime collaborative server powers Plane's rich text editor",
"license": "AGPL-3.0",
diff --git a/apps/space/package.json b/apps/space/package.json
index 1ccb2095fd2..4500152f7d1 100644
--- a/apps/space/package.json
+++ b/apps/space/package.json
@@ -1,6 +1,6 @@
{
"name": "space",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"license": "AGPL-3.0",
"type": "module",
diff --git a/apps/web/package.json b/apps/web/package.json
index 3ccc03dc319..d84d9ff0f58 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -1,6 +1,6 @@
{
"name": "web",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"license": "AGPL-3.0",
"type": "module",
diff --git a/package.json b/package.json
index 101219bf355..ffe45b22fb1 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "plane",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"description": "Open-source project management that unlocks customer value",
"license": "AGPL-3.0",
diff --git a/packages/codemods/package.json b/packages/codemods/package.json
index 31b481c34f4..e335d735b68 100644
--- a/packages/codemods/package.json
+++ b/packages/codemods/package.json
@@ -1,6 +1,6 @@
{
"name": "@plane/codemods",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"scripts": {
"test": "vitest run",
diff --git a/packages/constants/package.json b/packages/constants/package.json
index f0d62718c9c..dabdd16129d 100644
--- a/packages/constants/package.json
+++ b/packages/constants/package.json
@@ -1,6 +1,6 @@
{
"name": "@plane/constants",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"license": "AGPL-3.0",
"type": "module",
diff --git a/packages/editor/package.json b/packages/editor/package.json
index 0651546ac7c..9235ba0cbca 100644
--- a/packages/editor/package.json
+++ b/packages/editor/package.json
@@ -1,6 +1,6 @@
{
"name": "@plane/editor",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"description": "Core Editor that powers Plane",
"keywords": [
diff --git a/packages/hooks/package.json b/packages/hooks/package.json
index c76803af15f..2a6076951ef 100644
--- a/packages/hooks/package.json
+++ b/packages/hooks/package.json
@@ -1,6 +1,6 @@
{
"name": "@plane/hooks",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"description": "React hooks that are shared across multiple apps internally",
"license": "AGPL-3.0",
diff --git a/packages/i18n/package.json b/packages/i18n/package.json
index 90d01a4106c..5fd80fca39d 100644
--- a/packages/i18n/package.json
+++ b/packages/i18n/package.json
@@ -1,6 +1,6 @@
{
"name": "@plane/i18n",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"description": "I18n shared across multiple apps internally",
"license": "AGPL-3.0",
diff --git a/packages/logger/package.json b/packages/logger/package.json
index 7924a01dedf..82a149c6d70 100644
--- a/packages/logger/package.json
+++ b/packages/logger/package.json
@@ -1,6 +1,6 @@
{
"name": "@plane/logger",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"description": "Logger shared across multiple apps internally",
"license": "AGPL-3.0",
diff --git a/packages/propel/package.json b/packages/propel/package.json
index e0e1d15f821..fd0c162ef9f 100644
--- a/packages/propel/package.json
+++ b/packages/propel/package.json
@@ -1,6 +1,6 @@
{
"name": "@plane/propel",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"license": "AGPL-3.0",
"type": "module",
diff --git a/packages/services/package.json b/packages/services/package.json
index c3744d28857..e4590d17958 100644
--- a/packages/services/package.json
+++ b/packages/services/package.json
@@ -1,6 +1,6 @@
{
"name": "@plane/services",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"license": "AGPL-3.0",
"type": "module",
diff --git a/packages/shared-state/package.json b/packages/shared-state/package.json
index 950876974a7..87a2df2ab43 100644
--- a/packages/shared-state/package.json
+++ b/packages/shared-state/package.json
@@ -1,6 +1,6 @@
{
"name": "@plane/shared-state",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"description": "Shared state shared across multiple apps internally",
"license": "AGPL-3.0",
diff --git a/packages/tailwind-config/package.json b/packages/tailwind-config/package.json
index 89d0138684d..80ab13ff008 100644
--- a/packages/tailwind-config/package.json
+++ b/packages/tailwind-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@plane/tailwind-config",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"description": "common tailwind configuration across monorepo",
"license": "AGPL-3.0",
diff --git a/packages/types/package.json b/packages/types/package.json
index 99f2ec6cb7f..4ce05a2c7ea 100644
--- a/packages/types/package.json
+++ b/packages/types/package.json
@@ -1,6 +1,6 @@
{
"name": "@plane/types",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"license": "AGPL-3.0",
"type": "module",
diff --git a/packages/typescript-config/package.json b/packages/typescript-config/package.json
index 22d562ce236..4fc7797f587 100644
--- a/packages/typescript-config/package.json
+++ b/packages/typescript-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@plane/typescript-config",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"license": "AGPL-3.0",
"files": [
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 0527d98aa66..5801ff7052f 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -1,6 +1,6 @@
{
"name": "@plane/ui",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"description": "UI components shared across multiple apps internally",
"license": "AGPL-3.0",
diff --git a/packages/utils/package.json b/packages/utils/package.json
index 070702688a2..712c0a3cfa0 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@plane/utils",
- "version": "1.2.3",
+ "version": "1.3.0",
"private": true,
"description": "Helper functions shared across multiple apps internally",
"license": "AGPL-3.0",
From a01b51fca5adff16923ad8148de0d0563f8cd738 Mon Sep 17 00:00:00 2001
From: sriram veeraghanta
Date: Tue, 31 Mar 2026 17:43:35 +0530
Subject: [PATCH 046/138] fix: scope IssueBulkUpdateDateEndpoint query to
workspace and project (#8834)
The bulk update date endpoint fetched issues by ID without filtering
by workspace or project, allowing any authenticated project member to
modify start_date and target_date of issues in any workspace/project
across the entire instance (IDOR - CWE-639).
Scoped the query to include workspace__slug and project_id filters,
consistent with other issue endpoints in the codebase.
Ref: GHSA-4q54-h4x9-m329
---
apps/api/plane/app/views/issue/base.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/api/plane/app/views/issue/base.py b/apps/api/plane/app/views/issue/base.py
index 98a59b6481c..bb331802c84 100644
--- a/apps/api/plane/app/views/issue/base.py
+++ b/apps/api/plane/app/views/issue/base.py
@@ -1118,7 +1118,7 @@ def post(self, request, slug, project_id):
epoch = int(timezone.now().timestamp())
# Fetch all relevant issues in a single query
- issues = list(Issue.objects.filter(id__in=issue_ids))
+ issues = list(Issue.objects.filter(id__in=issue_ids, workspace__slug=slug, project_id=project_id))
issues_dict = {str(issue.id): issue for issue in issues}
issues_to_update = []
From 799b9cbfc5deed97f6de13698194e023821bc818 Mon Sep 17 00:00:00 2001
From: sriramveeraghanta
Date: Tue, 31 Mar 2026 17:54:47 +0530
Subject: [PATCH 047/138] chore: adding traget commit sha for the github
release
---
.github/workflows/build-branch.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/build-branch.yml b/.github/workflows/build-branch.yml
index 00fc16531d7..8ad71e7d68a 100644
--- a/.github/workflows/build-branch.yml
+++ b/.github/workflows/build-branch.yml
@@ -397,6 +397,7 @@ jobs:
with:
tag_name: ${{ env.REL_VERSION }}
name: ${{ env.REL_VERSION }}
+ target_commitish: ${{ github.sha }}
draft: false
prerelease: ${{ env.IS_PRERELEASE }}
generate_release_notes: true
From d83944cc8d7820a71b371b18652cd642755fd476 Mon Sep 17 00:00:00 2001
From: Akshat Jain
Date: Tue, 31 Mar 2026 17:56:32 +0530
Subject: [PATCH 048/138] [INFRA-346] chore: remove artifacts.plane.so
references from community deployments (#8836)
---
deployments/aio/community/Dockerfile | 12 ++++++------
deployments/aio/community/README.md | 4 ++--
deployments/cli/community/docker-compose.yml | 18 +++++++++---------
deployments/cli/community/install.sh | 4 ++--
deployments/swarm/community/swarm.sh | 4 ++--
5 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/deployments/aio/community/Dockerfile b/deployments/aio/community/Dockerfile
index 47e1227d975..642c9bac6e9 100644
--- a/deployments/aio/community/Dockerfile
+++ b/deployments/aio/community/Dockerfile
@@ -6,12 +6,12 @@ FROM --platform=$BUILDPLATFORM tonistiigi/binfmt AS binfmt
# **************************************************
FROM node:22-alpine AS node
-FROM artifacts.plane.so/makeplane/plane-frontend:${PLANE_VERSION} AS web-img
-FROM artifacts.plane.so/makeplane/plane-backend:${PLANE_VERSION} AS backend-img
-FROM artifacts.plane.so/makeplane/plane-space:${PLANE_VERSION} AS space-img
-FROM artifacts.plane.so/makeplane/plane-admin:${PLANE_VERSION} AS admin-img
-FROM artifacts.plane.so/makeplane/plane-live:${PLANE_VERSION} AS live-img
-FROM artifacts.plane.so/makeplane/plane-proxy:${PLANE_VERSION} AS proxy-img
+FROM makeplane/plane-frontend:${PLANE_VERSION} AS web-img
+FROM makeplane/plane-backend:${PLANE_VERSION} AS backend-img
+FROM makeplane/plane-space:${PLANE_VERSION} AS space-img
+FROM makeplane/plane-admin:${PLANE_VERSION} AS admin-img
+FROM makeplane/plane-live:${PLANE_VERSION} AS live-img
+FROM makeplane/plane-proxy:${PLANE_VERSION} AS proxy-img
# **************************************************
# STAGE 1: Runner
diff --git a/deployments/aio/community/README.md b/deployments/aio/community/README.md
index 96aab6737d4..8e945a826de 100644
--- a/deployments/aio/community/README.md
+++ b/deployments/aio/community/README.md
@@ -59,7 +59,7 @@ docker run --name plane-aio --rm -it \
-e AWS_ACCESS_KEY_ID=your-access-key \
-e AWS_SECRET_ACCESS_KEY=your-secret-key \
-e AWS_S3_BUCKET_NAME=your-bucket \
- artifacts.plane.so/makeplane/plane-aio-community:latest
+ makeplane/plane-aio-community:latest
```
### Example with IP Address
@@ -78,7 +78,7 @@ docker run --name myaio --rm -it \
-e AWS_S3_BUCKET_NAME=plane-app \
-e AWS_S3_ENDPOINT_URL=http://${MYIP}:19000 \
-e FILE_SIZE_LIMIT=10485760 \
- artifacts.plane.so/makeplane/plane-aio-community:latest
+ makeplane/plane-aio-community:latest
```
## Configuration Options
diff --git a/deployments/cli/community/docker-compose.yml b/deployments/cli/community/docker-compose.yml
index d4de33a749a..2ed44f03718 100644
--- a/deployments/cli/community/docker-compose.yml
+++ b/deployments/cli/community/docker-compose.yml
@@ -61,7 +61,7 @@ x-app-env: &app-env
services:
web:
- image: artifacts.plane.so/makeplane/plane-frontend:${APP_RELEASE:-stable}
+ image: makeplane/plane-frontend:${APP_RELEASE:-stable}
deploy:
replicas: ${WEB_REPLICAS:-1}
restart_policy:
@@ -71,7 +71,7 @@ services:
- worker
space:
- image: artifacts.plane.so/makeplane/plane-space:${APP_RELEASE:-stable}
+ image: makeplane/plane-space:${APP_RELEASE:-stable}
deploy:
replicas: ${SPACE_REPLICAS:-1}
restart_policy:
@@ -82,7 +82,7 @@ services:
- web
admin:
- image: artifacts.plane.so/makeplane/plane-admin:${APP_RELEASE:-stable}
+ image: makeplane/plane-admin:${APP_RELEASE:-stable}
deploy:
replicas: ${ADMIN_REPLICAS:-1}
restart_policy:
@@ -92,7 +92,7 @@ services:
- web
live:
- image: artifacts.plane.so/makeplane/plane-live:${APP_RELEASE:-stable}
+ image: makeplane/plane-live:${APP_RELEASE:-stable}
environment:
<<: [*live-env, *redis-env]
deploy:
@@ -104,7 +104,7 @@ services:
- web
api:
- image: artifacts.plane.so/makeplane/plane-backend:${APP_RELEASE:-stable}
+ image: makeplane/plane-backend:${APP_RELEASE:-stable}
command: ./bin/docker-entrypoint-api.sh
deploy:
replicas: ${API_REPLICAS:-1}
@@ -120,7 +120,7 @@ services:
- plane-mq
worker:
- image: artifacts.plane.so/makeplane/plane-backend:${APP_RELEASE:-stable}
+ image: makeplane/plane-backend:${APP_RELEASE:-stable}
command: ./bin/docker-entrypoint-worker.sh
deploy:
replicas: ${WORKER_REPLICAS:-1}
@@ -137,7 +137,7 @@ services:
- plane-mq
beat-worker:
- image: artifacts.plane.so/makeplane/plane-backend:${APP_RELEASE:-stable}
+ image: makeplane/plane-backend:${APP_RELEASE:-stable}
command: ./bin/docker-entrypoint-beat.sh
deploy:
replicas: ${BEAT_WORKER_REPLICAS:-1}
@@ -154,7 +154,7 @@ services:
- plane-mq
migrator:
- image: artifacts.plane.so/makeplane/plane-backend:${APP_RELEASE:-stable}
+ image: makeplane/plane-backend:${APP_RELEASE:-stable}
command: ./bin/docker-entrypoint-migrator.sh
deploy:
replicas: 1
@@ -216,7 +216,7 @@ services:
# Comment this if you already have a reverse proxy running
proxy:
- image: artifacts.plane.so/makeplane/plane-proxy:${APP_RELEASE:-stable}
+ image: makeplane/plane-proxy:${APP_RELEASE:-stable}
deploy:
replicas: 1
restart_policy:
diff --git a/deployments/cli/community/install.sh b/deployments/cli/community/install.sh
index 582aa839413..accd89c812d 100755
--- a/deployments/cli/community/install.sh
+++ b/deployments/cli/community/install.sh
@@ -5,7 +5,7 @@ SCRIPT_DIR=$PWD
SERVICE_FOLDER=plane-app
PLANE_INSTALL_DIR=$PWD/$SERVICE_FOLDER
export APP_RELEASE=stable
-export DOCKERHUB_USER=artifacts.plane.so/makeplane
+export DOCKERHUB_USER=makeplane
export PULL_POLICY=${PULL_POLICY:-if_not_present}
export GH_REPO=makeplane/plane
export RELEASE_DOWNLOAD_URL="https://github.com/$GH_REPO/releases/download"
@@ -690,7 +690,7 @@ if [ -f "$DOCKER_ENV_PATH" ]; then
CUSTOM_BUILD=$(getEnvValue "CUSTOM_BUILD" "$DOCKER_ENV_PATH")
if [ -z "$DOCKERHUB_USER" ]; then
- DOCKERHUB_USER=artifacts.plane.so/makeplane
+ DOCKERHUB_USER=makeplane
updateEnvFile "DOCKERHUB_USER" "$DOCKERHUB_USER" "$DOCKER_ENV_PATH"
fi
diff --git a/deployments/swarm/community/swarm.sh b/deployments/swarm/community/swarm.sh
index d496c25e6de..02f170f4d37 100755
--- a/deployments/swarm/community/swarm.sh
+++ b/deployments/swarm/community/swarm.sh
@@ -5,7 +5,7 @@ SERVICE_FOLDER=plane-app
SCRIPT_DIR=$PWD
PLANE_INSTALL_DIR=$PWD/$SERVICE_FOLDER
export APP_RELEASE="stable"
-export DOCKERHUB_USER=artifacts.plane.so/makeplane
+export DOCKERHUB_USER=makeplane
export GH_REPO=makeplane/plane
export RELEASE_DOWNLOAD_URL="https://github.com/$GH_REPO/releases/download"
@@ -595,7 +595,7 @@ if [ -f "$DOCKER_ENV_PATH" ]; then
APP_RELEASE=$(getEnvValue "APP_RELEASE" "$DOCKER_ENV_PATH")
if [ -z "$DOCKERHUB_USER" ]; then
- DOCKERHUB_USER=artifacts.plane.so/makeplane
+ DOCKERHUB_USER=makeplane
updateEnvFile "DOCKERHUB_USER" "$DOCKERHUB_USER" "$DOCKER_ENV_PATH"
fi
From 5747dc6fd818d14ddc3d568ee8237b3444928985 Mon Sep 17 00:00:00 2001
From: sriramveeraghanta
Date: Tue, 31 Mar 2026 18:26:41 +0530
Subject: [PATCH 049/138] chore: Intake snooze modal width
---
.../core/components/inbox/modals/snooze-issue-modal.tsx | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/apps/web/core/components/inbox/modals/snooze-issue-modal.tsx b/apps/web/core/components/inbox/modals/snooze-issue-modal.tsx
index 708458efbbd..1ad83a6b0e5 100644
--- a/apps/web/core/components/inbox/modals/snooze-issue-modal.tsx
+++ b/apps/web/core/components/inbox/modals/snooze-issue-modal.tsx
@@ -26,7 +26,13 @@ export function InboxIssueSnoozeModal(props: InboxIssueSnoozeModalProps) {
const { t } = useTranslation();
return (
-
+
Date: Tue, 31 Mar 2026 18:53:51 +0530
Subject: [PATCH 050/138] [INFRA-351] fix: correct directory and command for
space program in supervisor.conf #8838
---
deployments/aio/community/supervisor.conf | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/deployments/aio/community/supervisor.conf b/deployments/aio/community/supervisor.conf
index 33b12985e4b..4474ee3b5cb 100644
--- a/deployments/aio/community/supervisor.conf
+++ b/deployments/aio/community/supervisor.conf
@@ -18,8 +18,8 @@ priority=10
[program:space]
-directory=/app/space/apps/space/build/server
-command=sh -c "npx react-router-serve index.js"
+directory=/app/space/apps/space
+command=sh -c "npx react-router-serve ./build/server/index.js"
autostart=true
autorestart=true
stdout_logfile=/app/logs/access/space.log
From a18d90da86e2d66b6f07475218175b0132302359 Mon Sep 17 00:00:00 2001
From: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com>
Date: Tue, 31 Mar 2026 23:39:34 +0530
Subject: [PATCH 051/138] [WEB-6813] fix: module not associated when accepting
intake work items (#8839)
* fix: intake module association on accept
* chore: code refactoring
---
.../components/issues/issue-modal/base.tsx | 102 +++++++++++-------
1 file changed, 66 insertions(+), 36 deletions(-)
diff --git a/apps/web/core/components/issues/issue-modal/base.tsx b/apps/web/core/components/issues/issue-modal/base.tsx
index c9131dcc92a..80a04f20e9d 100644
--- a/apps/web/core/components/issues/issue-modal/base.tsx
+++ b/apps/web/core/components/issues/issue-modal/base.tsx
@@ -5,7 +5,7 @@
*/
import { useEffect, useRef, useState } from "react";
-import { xor } from "lodash-es";
+import { isEqual, xor } from "lodash-es";
import { observer } from "mobx-react";
import { useParams } from "next/navigation";
// Plane imports
@@ -260,6 +260,67 @@ export const CreateUpdateIssueModalBase = observer(function CreateUpdateIssueMod
}
};
+ const handleCycleChange = async (data: Partial