From c0d48a6b9da79fb80466073427bc7651e4ce4c32 Mon Sep 17 00:00:00 2001 From: Mursaleen Nisar Date: Fri, 21 Mar 2025 10:30:21 +0530 Subject: [PATCH] refactor: replace import.meta.env.DEV checks with isDevEnv() utility function --- excalidraw-app/App.tsx | 3 ++- excalidraw-app/components/AppMainMenu.tsx | 3 ++- packages/excalidraw/analytics.ts | 5 ++++- packages/excalidraw/charts.ts | 5 +++-- packages/excalidraw/components/Sidebar/Sidebar.tsx | 4 ++-- packages/excalidraw/element/elbowArrow.ts | 4 ++-- packages/excalidraw/element/newElement.ts | 1 + packages/excalidraw/i18n.ts | 3 ++- 8 files changed, 18 insertions(+), 10 deletions(-) diff --git a/excalidraw-app/App.tsx b/excalidraw-app/App.tsx index dc399a7d0..7091d4bc5 100644 --- a/excalidraw-app/App.tsx +++ b/excalidraw-app/App.tsx @@ -36,6 +36,7 @@ import { preventUnload, resolvablePromise, isRunningInIframe, + isDevEnv, } from "@excalidraw/excalidraw/utils"; import { GithubIcon, @@ -383,7 +384,7 @@ const ExcalidrawWrapper = () => { const [, forceRefresh] = useState(false); useEffect(() => { - if (import.meta.env.DEV) { + if (isDevEnv()) { const debugState = loadSavedDebugState(); if (debugState.enabled && !window.visualDebug) { diff --git a/excalidraw-app/components/AppMainMenu.tsx b/excalidraw-app/components/AppMainMenu.tsx index 996d6912d..09c71e7ee 100644 --- a/excalidraw-app/components/AppMainMenu.tsx +++ b/excalidraw-app/components/AppMainMenu.tsx @@ -12,6 +12,7 @@ import { LanguageList } from "../app-language/LanguageList"; import { isExcalidrawPlusSignedUser } from "../app_constants"; import { saveDebugState } from "./DebugCanvas"; +import { isDevEnv } from "@excalidraw/excalidraw/utils"; export const AppMainMenu: React.FC<{ onCollabDialogOpen: () => any; @@ -57,7 +58,7 @@ export const AppMainMenu: React.FC<{ > {isExcalidrawPlusSignedUser ? "Sign in" : "Sign up"} - {import.meta.env.DEV && ( + {isDevEnv() && ( { diff --git a/packages/excalidraw/analytics.ts b/packages/excalidraw/analytics.ts index c8ab15b62..edcd07b58 100644 --- a/packages/excalidraw/analytics.ts +++ b/packages/excalidraw/analytics.ts @@ -1,4 +1,7 @@ // place here categories that you want to track. We want to track just a + +import { isDevEnv } from "./utils"; + // small subset of categories at a given time. const ALLOWED_CATEGORIES_TO_TRACK = new Set(["command_palette", "export"]); @@ -21,7 +24,7 @@ export const trackEvent = ( return; } - if (import.meta.env.DEV) { + if (isDevEnv()) { // comment out to debug in dev return; } diff --git a/packages/excalidraw/charts.ts b/packages/excalidraw/charts.ts index e54c55f28..991e25b5d 100644 --- a/packages/excalidraw/charts.ts +++ b/packages/excalidraw/charts.ts @@ -16,6 +16,7 @@ import { newElement, newLinearElement, newTextElement } from "./element"; import { randomId } from "./random"; import type { NonDeletedExcalidrawElement } from "./element/types"; +import { isDevEnv } from "./utils"; export type ChartElements = readonly NonDeletedExcalidrawElement[]; @@ -373,7 +374,7 @@ const chartTypeBar = ( y, groupId, backgroundColor, - import.meta.env.DEV, + isDevEnv(), ), ]; }; @@ -455,7 +456,7 @@ const chartTypeLine = ( y, groupId, backgroundColor, - import.meta.env.DEV, + isDevEnv(), ), line, ...lines, diff --git a/packages/excalidraw/components/Sidebar/Sidebar.tsx b/packages/excalidraw/components/Sidebar/Sidebar.tsx index 8a008fd9f..a702e9330 100644 --- a/packages/excalidraw/components/Sidebar/Sidebar.tsx +++ b/packages/excalidraw/components/Sidebar/Sidebar.tsx @@ -14,7 +14,7 @@ import { useUIAppState } from "../../context/ui-appState"; import { atom, useSetAtom } from "../../editor-jotai"; import { useOutsideClick } from "../../hooks/useOutsideClick"; import { KEYS } from "../../keys"; -import { updateObject } from "../../utils"; +import { isDevEnv, updateObject } from "../../utils"; import { useDevice, useExcalidrawSetAppState } from "../App"; import { Island } from "../Island"; @@ -52,7 +52,7 @@ export const SidebarInner = forwardRef( }: SidebarProps & Omit, "onSelect">, ref: React.ForwardedRef, ) => { - if (import.meta.env.DEV && onDock && docked == null) { + if (isDevEnv() && onDock && docked == null) { console.warn( "Sidebar: `docked` must be set when `onDock` is supplied for the sidebar to be user-dockable. To hide this message, either pass `docked` or remove `onDock`", ); diff --git a/packages/excalidraw/element/elbowArrow.ts b/packages/excalidraw/element/elbowArrow.ts index a8c22abcc..c72357eb6 100644 --- a/packages/excalidraw/element/elbowArrow.ts +++ b/packages/excalidraw/element/elbowArrow.ts @@ -16,7 +16,7 @@ import { import BinaryHeap from "../binaryheap"; import { getSizeFromPoints } from "../points"; import { aabbForElement, pointInsideBounds } from "../shapes"; -import { invariant, isAnyTrue, tupleToCoors } from "../utils"; +import { invariant, isAnyTrue, isDevEnv, tupleToCoors } from "../utils"; import { bindPointToSnapToElementOutline, @@ -248,7 +248,7 @@ const handleSegmentRenormalization = ( ); } - import.meta.env.DEV && + isDevEnv() && invariant( validateElbowPoints(nextPoints), "Invalid elbow points with fixed segments", diff --git a/packages/excalidraw/element/newElement.ts b/packages/excalidraw/element/newElement.ts index 8d0a9bbd8..67dbed021 100644 --- a/packages/excalidraw/element/newElement.ts +++ b/packages/excalidraw/element/newElement.ts @@ -10,6 +10,7 @@ import { } from "../constants"; import { getLineHeight } from "../fonts"; import { randomInteger, randomId } from "../random"; + import { getFontString, getUpdatedTimestamp } from "../utils"; import { getResizedElementAbsoluteCoords } from "./bounds"; diff --git a/packages/excalidraw/i18n.ts b/packages/excalidraw/i18n.ts index 47bae5979..8d80ca3ff 100644 --- a/packages/excalidraw/i18n.ts +++ b/packages/excalidraw/i18n.ts @@ -3,6 +3,7 @@ import fallbackLangData from "./locales/en.json"; import percentages from "./locales/percentages.json"; import type { NestedKeyOf } from "./utility-types"; +import { isDevEnv } from "./utils"; const COMPLETION_THRESHOLD = 85; @@ -73,7 +74,7 @@ export const languages: Language[] = [ ]; const TEST_LANG_CODE = "__test__"; -if (import.meta.env.DEV) { +if (isDevEnv()) { languages.unshift( { code: TEST_LANG_CODE, label: "test language" }, {