[CHORE] Avoid isDefined duplicated reference, move it to twenty-shared (#9967)

# Introduction
Avoid having multiple `isDefined` definition across our pacakges
Also avoid importing `isDefined` from `twenty-ui` which exposes a huge
barrel for a such little util function

## In a nutshell
Removed own `isDefined.ts` definition from `twenty-ui` `twenty-front`
and `twenty-server` to move it to `twenty-shared`.
Updated imports for each packages, and added explicit dependencies to
`twenty-shared` if not already in place

Related PR https://github.com/twentyhq/twenty/pull/9941
This commit is contained in:
Paul Rastoin
2025-02-01 12:10:10 +01:00
committed by GitHub
parent d9b86475d3
commit 7fd89678b7
559 changed files with 731 additions and 770 deletions

View File

@ -7,8 +7,8 @@ import { WorkflowDiagramStepNodeData } from '@/workflow/workflow-diagram/types/W
import styled from '@emotion/styled';
import { Handle, Position } from '@xyflow/react';
import React from 'react';
import { capitalize } from 'twenty-shared';
import { isDefined, Label, OverflowingTextWithTooltip } from 'twenty-ui';
import { capitalize, isDefined } from 'twenty-shared';
import { Label, OverflowingTextWithTooltip } from 'twenty-ui';
type Variant = 'placeholder';

View File

@ -29,7 +29,8 @@ import {
import '@xyflow/react/dist/style.css';
import React, { useEffect, useMemo, useRef } from 'react';
import { useRecoilValue, useSetRecoilState } from 'recoil';
import { THEME_COMMON, isDefined } from 'twenty-ui';
import { isDefined } from 'twenty-shared';
import { THEME_COMMON } from 'twenty-ui';
const StyledResetReactflowStyles = styled.div`
height: 100%;

View File

@ -17,7 +17,8 @@ import { useLingui } from '@lingui/react/macro';
import { OnSelectionChangeParams, useOnSelectionChange } from '@xyflow/react';
import { useCallback } from 'react';
import { useSetRecoilState } from 'recoil';
import { IconBolt, isDefined, useIcons } from 'twenty-ui';
import { isDefined } from 'twenty-shared';
import { IconBolt, useIcons } from 'twenty-ui';
export const WorkflowDiagramCanvasEditableEffect = () => {
const { t } = useLingui();

View File

@ -14,7 +14,8 @@ import { getWorkflowNodeIconKey } from '@/workflow/workflow-diagram/utils/getWor
import { OnSelectionChangeParams, useOnSelectionChange } from '@xyflow/react';
import { useCallback } from 'react';
import { useSetRecoilState } from 'recoil';
import { isDefined, useIcons } from 'twenty-ui';
import { isDefined } from 'twenty-shared';
import { useIcons } from 'twenty-ui';
export const WorkflowDiagramCanvasReadonlyEffect = () => {
const { getIcon } = useIcons();

View File

@ -11,7 +11,7 @@ import { getWorkflowVersionDiagram } from '@/workflow/workflow-diagram/utils/get
import { mergeWorkflowDiagrams } from '@/workflow/workflow-diagram/utils/mergeWorkflowDiagrams';
import { useEffect } from 'react';
import { useRecoilCallback, useSetRecoilState } from 'recoil';
import { isDefined } from 'twenty-ui';
import { isDefined } from 'twenty-shared';
export const WorkflowDiagramEffect = ({
workflowWithCurrentVersion,

View File

@ -1,7 +1,7 @@
import { useWorkflowVersion } from '@/workflow/hooks/useWorkflowVersion';
import { WorkflowDiagramCanvasReadonly } from '@/workflow/workflow-diagram/components/WorkflowDiagramCanvasReadonly';
import '@xyflow/react/dist/style.css';
import { isDefined } from 'twenty-ui';
import { isDefined } from 'twenty-shared';
export const WorkflowVersionVisualizer = ({
workflowVersionId,

View File

@ -4,7 +4,7 @@ import { workflowDiagramState } from '@/workflow/workflow-diagram/states/workflo
import { getWorkflowVersionDiagram } from '@/workflow/workflow-diagram/utils/getWorkflowVersionDiagram';
import { useEffect } from 'react';
import { useSetRecoilState } from 'recoil';
import { isDefined } from 'twenty-ui';
import { isDefined } from 'twenty-shared';
export const WorkflowVersionVisualizerEffect = ({
workflowVersionId,

View File

@ -3,7 +3,7 @@ import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithC
import { WorkflowDiagramCanvasEditable } from '@/workflow/workflow-diagram/components/WorkflowDiagramCanvasEditable';
import { WorkflowDiagramEffect } from '@/workflow/workflow-diagram/components/WorkflowDiagramEffect';
import '@xyflow/react/dist/style.css';
import { isDefined } from 'twenty-ui';
import { isDefined } from 'twenty-shared';
export const WorkflowVisualizer = ({
targetableObject,

View File

@ -6,7 +6,7 @@ import {
import { useReactFlow } from '@xyflow/react';
import { useEffect } from 'react';
import { useRecoilState } from 'recoil';
import { isDefined } from 'twenty-ui';
import { isDefined } from 'twenty-shared';
export const useTriggerNodeSelection = () => {
const reactflow = useReactFlow<WorkflowDiagramNode, WorkflowDiagramEdge>();

View File

@ -11,7 +11,7 @@ import { DATABASE_TRIGGER_TYPES } from '@/workflow/workflow-trigger/constants/Da
import { TRIGGER_STEP_ID } from '@/workflow/workflow-trigger/constants/TriggerStepId';
import { getTriggerIcon } from '@/workflow/workflow-trigger/utils/getTriggerIcon';
import { isDefined } from 'twenty-ui';
import { isDefined } from 'twenty-shared';
import { v4 } from 'uuid';
export const generateWorkflowDiagram = ({

View File

@ -1,7 +1,7 @@
import { WorkflowVersion } from '@/workflow/types/Workflow';
import { WorkflowDiagram } from '@/workflow/workflow-diagram/types/WorkflowDiagram';
import { generateWorkflowDiagram } from '@/workflow/workflow-diagram/utils/generateWorkflowDiagram';
import { isDefined } from 'twenty-ui';
import { isDefined } from 'twenty-shared';
const EMPTY_DIAGRAM: WorkflowDiagram = {
nodes: [],