diff --git a/packages/element/tests/flowchart.test.tsx b/packages/element/tests/flowchart.test.tsx index 931462c5e..0130fb4c8 100644 --- a/packages/element/tests/flowchart.test.tsx +++ b/packages/element/tests/flowchart.test.tsx @@ -1,5 +1,4 @@ -import { KEYS } from "@excalidraw/common"; -import { reseed } from "@excalidraw/common"; +import { KEYS, reseed } from "@excalidraw/common"; import { Excalidraw } from "@excalidraw/excalidraw"; diff --git a/packages/excalidraw/tests/resize.test.tsx b/packages/element/tests/resize.test.tsx similarity index 98% rename from packages/excalidraw/tests/resize.test.tsx rename to packages/element/tests/resize.test.tsx index 055b097b3..d9606e617 100644 --- a/packages/excalidraw/tests/resize.test.tsx +++ b/packages/element/tests/resize.test.tsx @@ -1,28 +1,34 @@ import { pointFrom } from "@excalidraw/math"; import React from "react"; +import { getElementPointsCoords } from "@excalidraw/element/bounds"; +import { LinearElementEditor } from "@excalidraw/element/linearElementEditor"; +import { resizeSingleElement } from "@excalidraw/element/resizeElements"; +import { isLinearElement } from "@excalidraw/element/typeChecks"; + +import { Excalidraw } from "@excalidraw/excalidraw"; +import { + KEYS, + getSizeFromPoints, + reseed, + arrayToMap, +} from "@excalidraw/common"; + +import { API } from "@excalidraw/excalidraw/tests/helpers/api"; +import { UI, Keyboard, Pointer } from "@excalidraw/excalidraw/tests/helpers/ui"; +import { + render, + unmountComponent, +} from "@excalidraw/excalidraw/tests/test-utils"; + import type { LocalPoint } from "@excalidraw/math"; -import { getElementPointsCoords } from "../element/bounds"; -import { LinearElementEditor } from "../element/linearElementEditor"; -import { resizeSingleElement } from "../element/resizeElements"; -import { isLinearElement } from "../element/typeChecks"; -import { Excalidraw } from "../index"; -import { KEYS } from "../keys"; -import { getSizeFromPoints } from "../points"; -import { reseed } from "../random"; -import { arrayToMap } from "../utils"; - -import { API } from "./helpers/api"; -import { UI, Keyboard, Pointer } from "./helpers/ui"; -import { render, unmountComponent } from "./test-utils"; - -import type { Bounds } from "../element/bounds"; +import type { Bounds } from "@excalidraw/element/bounds"; import type { ExcalidrawElbowArrowElement, ExcalidrawFreeDrawElement, ExcalidrawLinearElement, -} from "../element/types"; +} from "@excalidraw/element/types"; unmountComponent(); diff --git a/packages/excalidraw/components/Stats/utils.ts b/packages/excalidraw/components/Stats/utils.ts index fd6d4e532..d7e050ac7 100644 --- a/packages/excalidraw/components/Stats/utils.ts +++ b/packages/excalidraw/components/Stats/utils.ts @@ -13,6 +13,11 @@ import { isTextElement, } from "@excalidraw/element/typeChecks"; +import { + getSelectedGroupIds, + getElementsInGroup, +} from "@excalidraw/element/groups"; + import type { Radians } from "@excalidraw/math"; import type { @@ -22,8 +27,6 @@ import type { NonDeletedSceneElementsMap, } from "@excalidraw/element/types"; -import { getSelectedGroupIds, getElementsInGroup } from "../../groups"; - import type Scene from "../../scene/Scene"; import type { AppState } from "../../types"; diff --git a/packages/excalidraw/tests/App.test.tsx b/packages/excalidraw/tests/App.test.tsx index 8b86477f9..7a1790cee 100644 --- a/packages/excalidraw/tests/App.test.tsx +++ b/packages/excalidraw/tests/App.test.tsx @@ -1,8 +1,9 @@ import React from "react"; import { vi } from "vitest"; +import { reseed } from "@excalidraw/common"; + import { Excalidraw } from "../index"; -import { reseed } from "../random"; import * as StaticScene from "../renderer/staticScene"; import { render, queryByTestId, unmountComponent } from "../tests/test-utils"; diff --git a/packages/excalidraw/tests/actionStyles.test.tsx b/packages/excalidraw/tests/actionStyles.test.tsx index 2e60000ad..e81e9e4e4 100644 --- a/packages/excalidraw/tests/actionStyles.test.tsx +++ b/packages/excalidraw/tests/actionStyles.test.tsx @@ -1,8 +1,9 @@ import React from "react"; +import { CODES } from "@excalidraw/common"; + import { copiedStyles } from "../actions/actionStyles"; import { Excalidraw } from "../index"; -import { CODES } from "../keys"; import { API } from "../tests/helpers/api"; import { Keyboard, Pointer, UI } from "../tests/helpers/ui"; import { diff --git a/packages/excalidraw/tests/align.test.tsx b/packages/excalidraw/tests/align.test.tsx index d29e497ec..ce8f57e80 100644 --- a/packages/excalidraw/tests/align.test.tsx +++ b/packages/excalidraw/tests/align.test.tsx @@ -1,5 +1,7 @@ import React from "react"; +import { KEYS } from "@excalidraw/common"; + import { actionAlignVerticallyCentered, actionAlignHorizontallyCentered, @@ -11,7 +13,6 @@ import { } from "../actions"; import { defaultLang, setLanguage } from "../i18n"; import { Excalidraw } from "../index"; -import { KEYS } from "../keys"; import { API } from "./helpers/api"; import { UI, Pointer, Keyboard } from "./helpers/ui"; diff --git a/packages/excalidraw/tests/appState.test.tsx b/packages/excalidraw/tests/appState.test.tsx index e97c5f3be..abb7ac176 100644 --- a/packages/excalidraw/tests/appState.test.tsx +++ b/packages/excalidraw/tests/appState.test.tsx @@ -1,15 +1,16 @@ import React from "react"; +import { EXPORT_DATA_TYPES, MIME_TYPES } from "@excalidraw/common"; + +import type { ExcalidrawTextElement } from "@excalidraw/element/types"; + import { getDefaultAppState } from "../appState"; -import { EXPORT_DATA_TYPES, MIME_TYPES } from "../constants"; import { Excalidraw } from "../index"; import { API } from "./helpers/api"; import { Pointer, UI } from "./helpers/ui"; import { fireEvent, queryByTestId, render, waitFor } from "./test-utils"; -import type { ExcalidrawTextElement } from "../element/types"; - const { h } = window; describe("appState", () => { diff --git a/packages/excalidraw/tests/clipboard.test.tsx b/packages/excalidraw/tests/clipboard.test.tsx index c7e17f49d..d8868c115 100644 --- a/packages/excalidraw/tests/clipboard.test.tsx +++ b/packages/excalidraw/tests/clipboard.test.tsx @@ -1,13 +1,16 @@ import React from "react"; import { vi } from "vitest"; +import { getElementBounds } from "@excalidraw/element"; + +import { getLineHeightInPx } from "@excalidraw/element/textMeasurements"; + +import { KEYS, arrayToMap } from "@excalidraw/common"; + import { createPasteEvent, serializeAsClipboardJSON } from "../clipboard"; -import { getElementBounds } from "../element"; -import { getLineHeightInPx } from "../element/textMeasurements"; -import { getLineHeight } from "../fonts"; + +import { getLineHeight } from "../fonts/FontMetadata"; import { Excalidraw } from "../index"; -import { KEYS } from "../keys"; -import { arrayToMap } from "../utils"; import { API } from "./helpers/api"; import { mockMermaidToExcalidraw } from "./helpers/mocks"; diff --git a/packages/excalidraw/tests/contextmenu.test.tsx b/packages/excalidraw/tests/contextmenu.test.tsx index 7de349516..ef36e3d52 100644 --- a/packages/excalidraw/tests/contextmenu.test.tsx +++ b/packages/excalidraw/tests/contextmenu.test.tsx @@ -1,12 +1,13 @@ import React from "react"; import { vi } from "vitest"; +import { KEYS, reseed } from "@excalidraw/common"; + +import { setDateTimeForTests } from "@excalidraw/common"; + import { copiedStyles } from "../actions/actionStyles"; import { Excalidraw } from "../index"; -import { KEYS } from "../keys"; -import { reseed } from "../random"; import * as StaticScene from "../renderer/staticScene"; -import { setDateTimeForTests } from "../utils"; import { API } from "./helpers/api"; import { UI, Pointer, Keyboard } from "./helpers/ui"; diff --git a/packages/excalidraw/tests/cropElement.test.tsx b/packages/excalidraw/tests/cropElement.test.tsx index ddc93e3fe..6473eb566 100644 --- a/packages/excalidraw/tests/cropElement.test.tsx +++ b/packages/excalidraw/tests/cropElement.test.tsx @@ -1,17 +1,22 @@ import React from "react"; import { vi } from "vitest"; +import { KEYS, cloneJSON } from "@excalidraw/common"; + +import { duplicateElement } from "@excalidraw/element/newElement"; + +import type { + ExcalidrawImageElement, + ImageCrop, +} from "@excalidraw/element/types"; + import { Excalidraw, exportToCanvas, exportToSvg } from ".."; import { actionFlipHorizontal, actionFlipVertical } from "../actions"; -import { duplicateElement } from "../element"; -import { KEYS } from "../keys"; -import { cloneJSON } from "../utils"; import { API } from "./helpers/api"; import { Keyboard, Pointer, UI } from "./helpers/ui"; import { act, GlobalTestState, render, unmountComponent } from "./test-utils"; -import type { ExcalidrawImageElement, ImageCrop } from "../element/types"; import type { NormalizedZoomValue } from "../types"; const { h } = window; diff --git a/packages/excalidraw/tests/data/reconcile.test.ts b/packages/excalidraw/tests/data/reconcile.test.ts index fa509c582..1c0bf13db 100644 --- a/packages/excalidraw/tests/data/reconcile.test.ts +++ b/packages/excalidraw/tests/data/reconcile.test.ts @@ -1,14 +1,16 @@ import { syncInvalidIndices } from "@excalidraw/element/fractionalIndex"; -import { reconcileElements } from "../../data/reconcile"; -import { randomInteger } from "../../random"; -import { cloneJSON } from "../../utils"; +import { randomInteger, cloneJSON } from "@excalidraw/common"; -import type { RemoteExcalidrawElement } from "../../data/reconcile"; import type { ExcalidrawElement, OrderedExcalidrawElement, -} from "../../element/types"; +} from "@excalidraw/element/types"; + +import { reconcileElements } from "../../data/reconcile"; + +import type { RemoteExcalidrawElement } from "../../data/reconcile"; + import type { AppState } from "../../types"; type Id = string; diff --git a/packages/excalidraw/tests/dragCreate.test.tsx b/packages/excalidraw/tests/dragCreate.test.tsx index ecdfbcb64..c33da5e7e 100644 --- a/packages/excalidraw/tests/dragCreate.test.tsx +++ b/packages/excalidraw/tests/dragCreate.test.tsx @@ -1,9 +1,11 @@ import React from "react"; import { vi } from "vitest"; +import { KEYS, reseed } from "@excalidraw/common"; + +import type { ExcalidrawLinearElement } from "@excalidraw/element/types"; + import { Excalidraw } from "../index"; -import { KEYS } from "../keys"; -import { reseed } from "../random"; import * as InteractiveScene from "../renderer/interactiveScene"; import * as StaticScene from "../renderer/staticScene"; @@ -15,8 +17,6 @@ import { unmountComponent, } from "./test-utils"; -import type { ExcalidrawLinearElement } from "../element/types"; - unmountComponent(); const renderInteractiveScene = vi.spyOn( diff --git a/packages/excalidraw/tests/elementLocking.test.tsx b/packages/excalidraw/tests/elementLocking.test.tsx index a1ca14683..45e370ed8 100644 --- a/packages/excalidraw/tests/elementLocking.test.tsx +++ b/packages/excalidraw/tests/elementLocking.test.tsx @@ -1,10 +1,13 @@ import React from "react"; +import { mutateElement } from "@excalidraw/element/mutateElement"; + +import { KEYS } from "@excalidraw/common"; + import { actionSelectAll } from "../actions"; -import { mutateElement } from "../element/mutateElement"; import { t } from "../i18n"; import { Excalidraw } from "../index"; -import { KEYS } from "../keys"; + import { API } from "../tests/helpers/api"; import { Keyboard, Pointer, UI } from "../tests/helpers/ui"; import { render, unmountComponent } from "../tests/test-utils"; diff --git a/packages/excalidraw/tests/excalidraw.test.tsx b/packages/excalidraw/tests/excalidraw.test.tsx index 0e33f8167..34135c618 100644 --- a/packages/excalidraw/tests/excalidraw.test.tsx +++ b/packages/excalidraw/tests/excalidraw.test.tsx @@ -2,7 +2,8 @@ import { queryByText, queryByTestId } from "@testing-library/react"; import React from "react"; import { useMemo } from "react"; -import { THEME } from "../constants"; +import { THEME } from "@excalidraw/common"; + import { t } from "../i18n"; import { Excalidraw, Footer, MainMenu } from "../index"; diff --git a/packages/excalidraw/tests/export.test.tsx b/packages/excalidraw/tests/export.test.tsx index c10336271..a42e56b90 100644 --- a/packages/excalidraw/tests/export.test.tsx +++ b/packages/excalidraw/tests/export.test.tsx @@ -1,7 +1,10 @@ import React from "react"; +import { SVG_NS } from "@excalidraw/common"; + +import type { FileId } from "@excalidraw/element/types"; + import { getDefaultAppState } from "../appState"; -import { SVG_NS } from "../constants"; import { getDataURL } from "../data/blob"; import { encodePngMetadata } from "../data/image"; import { serializeAsJSON } from "../data/json"; @@ -15,8 +18,6 @@ import { import { API } from "./helpers/api"; import { render, waitFor } from "./test-utils"; -import type { FileId } from "../element/types"; - const { h } = window; const testElements = [ diff --git a/packages/excalidraw/tests/flip.test.tsx b/packages/excalidraw/tests/flip.test.tsx index 9d9f68611..5a9ba41c7 100644 --- a/packages/excalidraw/tests/flip.test.tsx +++ b/packages/excalidraw/tests/flip.test.tsx @@ -2,17 +2,24 @@ import { pointFrom, type Radians } from "@excalidraw/math"; import React from "react"; import { vi } from "vitest"; +import { ROUNDNESS, KEYS, arrayToMap, cloneJSON } from "@excalidraw/common"; +import { getElementAbsoluteCoords } from "@excalidraw/element"; +import { newLinearElement } from "@excalidraw/element"; +import { getBoundTextElementPosition } from "@excalidraw/element/textElement"; + import type { LocalPoint } from "@excalidraw/math"; +import type { + ExcalidrawElement, + ExcalidrawImageElement, + ExcalidrawLinearElement, + ExcalidrawTextElementWithContainer, + FileId, +} from "@excalidraw/element/types"; + import { actionFlipHorizontal, actionFlipVertical } from "../actions"; import { createPasteEvent } from "../clipboard"; -import { ROUNDNESS } from "../constants"; -import { getElementAbsoluteCoords } from "../element"; -import { newLinearElement } from "../element"; -import { getBoundTextElementPosition } from "../element/textElement"; import { Excalidraw } from "../index"; -import { KEYS } from "../keys"; -import { arrayToMap, cloneJSON } from "../utils"; import { API } from "./helpers/api"; import { UI, Pointer, Keyboard } from "./helpers/ui"; @@ -25,13 +32,6 @@ import { waitFor, } from "./test-utils"; -import type { - ExcalidrawElement, - ExcalidrawImageElement, - ExcalidrawLinearElement, - ExcalidrawTextElementWithContainer, - FileId, -} from "../element/types"; import type { NormalizedZoomValue } from "../types"; const { h } = window; diff --git a/packages/excalidraw/tests/history.test.tsx b/packages/excalidraw/tests/history.test.tsx index 6e7066b90..c26204f3a 100644 --- a/packages/excalidraw/tests/history.test.tsx +++ b/packages/excalidraw/tests/history.test.tsx @@ -8,8 +8,32 @@ import { import { vi } from "vitest"; import { pointFrom } from "@excalidraw/math"; +import { newElementWith } from "@excalidraw/element/mutateElement"; + +import { + EXPORT_DATA_TYPES, + MIME_TYPES, + ORIG_ID, + KEYS, + arrayToMap, + COLOR_PALETTE, + DEFAULT_ELEMENT_BACKGROUND_COLOR_INDEX, + DEFAULT_ELEMENT_STROKE_COLOR_INDEX, +} from "@excalidraw/common"; + import type { LocalPoint, Radians } from "@excalidraw/math"; +import type { + ExcalidrawElbowArrowElement, + ExcalidrawFrameElement, + ExcalidrawGenericElement, + ExcalidrawLinearElement, + ExcalidrawTextElement, + FixedPointBinding, + FractionalIndex, + SceneElementsMap, +} from "@excalidraw/element/types"; + import "../global.d.ts"; import "../../utils/test-utils"; @@ -23,17 +47,8 @@ import { actionToggleViewMode } from "../actions/actionToggleViewMode"; import { getDefaultAppState } from "../appState"; import { HistoryEntry } from "../history"; import { Excalidraw } from "../index"; -import { KEYS } from "../keys"; import * as StaticScene from "../renderer/staticScene"; -import { EXPORT_DATA_TYPES, MIME_TYPES, ORIG_ID } from "../constants"; import { Snapshot, CaptureUpdateAction } from "../store"; -import { arrayToMap } from "../utils"; -import { - COLOR_PALETTE, - DEFAULT_ELEMENT_BACKGROUND_COLOR_INDEX, - DEFAULT_ELEMENT_STROKE_COLOR_INDEX, -} from "../colors"; -import { newElementWith } from "../element/mutateElement"; import { AppStateChange, ElementsChange } from "../change"; import { API } from "./helpers/api"; @@ -47,16 +62,6 @@ import { getCloneByOrigId, } from "./test-utils"; -import type { - ExcalidrawElbowArrowElement, - ExcalidrawFrameElement, - ExcalidrawGenericElement, - ExcalidrawLinearElement, - ExcalidrawTextElement, - FixedPointBinding, - FractionalIndex, - SceneElementsMap, -} from "../element/types"; import type { AppState } from "../types"; const { h } = window; diff --git a/packages/excalidraw/tests/library.test.tsx b/packages/excalidraw/tests/library.test.tsx index b084d835b..d2b6c13c8 100644 --- a/packages/excalidraw/tests/library.test.tsx +++ b/packages/excalidraw/tests/library.test.tsx @@ -2,18 +2,21 @@ import { act, queryByTestId } from "@testing-library/react"; import React from "react"; import { vi } from "vitest"; -import { MIME_TYPES, ORIG_ID } from "../constants"; +import { MIME_TYPES, ORIG_ID } from "@excalidraw/common"; + +import { getCommonBoundingBox } from "@excalidraw/element/bounds"; + +import type { ExcalidrawGenericElement } from "@excalidraw/element/types"; + import { parseLibraryJSON } from "../data/blob"; import { serializeLibraryAsJSON } from "../data/json"; import { distributeLibraryItemsOnSquareGrid } from "../data/library"; -import { getCommonBoundingBox } from "../element/bounds"; import { Excalidraw } from "../index"; import { API } from "./helpers/api"; import { UI } from "./helpers/ui"; import { fireEvent, getCloneByOrigId, render, waitFor } from "./test-utils"; -import type { ExcalidrawGenericElement } from "../element/types"; import type { LibraryItem, LibraryItems } from "../types"; const { h } = window; diff --git a/packages/excalidraw/tests/linearElementEditor.test.tsx b/packages/excalidraw/tests/linearElementEditor.test.tsx index 162dbb3f0..741799d3b 100644 --- a/packages/excalidraw/tests/linearElementEditor.test.tsx +++ b/packages/excalidraw/tests/linearElementEditor.test.tsx @@ -3,23 +3,35 @@ import { act, queryByTestId, queryByText } from "@testing-library/react"; import React from "react"; import { vi } from "vitest"; -import type { GlobalPoint } from "@excalidraw/math"; +import { + ROUNDNESS, + VERTICAL_ALIGN, + KEYS, + reseed, + arrayToMap, +} from "@excalidraw/common"; -import { ROUNDNESS, VERTICAL_ALIGN } from "../constants"; -import { LinearElementEditor } from "../element/linearElementEditor"; +import { LinearElementEditor } from "@excalidraw/element/linearElementEditor"; import { getBoundTextElementPosition, getBoundTextMaxWidth, -} from "../element/textElement"; -import * as textElementUtils from "../element/textElement"; -import { wrapText } from "../element/textWrapping"; +} from "@excalidraw/element/textElement"; +import * as textElementUtils from "@excalidraw/element/textElement"; +import { wrapText } from "@excalidraw/element/textWrapping"; + +import type { GlobalPoint } from "@excalidraw/math"; + +import type { + ExcalidrawElement, + ExcalidrawLinearElement, + ExcalidrawTextElementWithContainer, + FontString, +} from "@excalidraw/element/types"; + import { Excalidraw, mutateElement } from "../index"; -import { KEYS } from "../keys"; -import { reseed } from "../random"; import * as InteractiveCanvas from "../renderer/interactiveScene"; import * as StaticScene from "../renderer/staticScene"; import { API } from "../tests/helpers/api"; -import { arrayToMap } from "../utils"; import { Keyboard, Pointer, UI } from "./helpers/ui"; import { @@ -30,13 +42,6 @@ import { unmountComponent, } from "./test-utils"; -import type { - ExcalidrawElement, - ExcalidrawLinearElement, - ExcalidrawTextElementWithContainer, - FontString, -} from "../element/types"; - const renderInteractiveScene = vi.spyOn( InteractiveCanvas, "renderInteractiveScene", diff --git a/packages/excalidraw/tests/move.test.tsx b/packages/excalidraw/tests/move.test.tsx index 855496f44..f7d41ca44 100644 --- a/packages/excalidraw/tests/move.test.tsx +++ b/packages/excalidraw/tests/move.test.tsx @@ -1,23 +1,24 @@ import React from "react"; import { vi } from "vitest"; -import "../../utils/test-utils"; -import { bindOrUnbindLinearElement } from "../element/binding"; -import { Excalidraw } from "../index"; -import { KEYS } from "../keys"; -import { reseed } from "../random"; -import * as InteractiveCanvas from "../renderer/interactiveScene"; -import * as StaticScene from "../renderer/staticScene"; +import { bindOrUnbindLinearElement } from "@excalidraw/element/binding"; -import { UI, Pointer, Keyboard } from "./helpers/ui"; -import { render, fireEvent, act, unmountComponent } from "./test-utils"; +import { KEYS, reseed } from "@excalidraw/common"; import type { ExcalidrawLinearElement, NonDeleted, ExcalidrawRectangleElement, -} from "../element/types"; -import type Scene from "../scene/Scene"; +} from "@excalidraw/element/types"; + +import type Scene from "@excalidraw/excalidraw/scene/Scene"; + +import { Excalidraw } from "../index"; +import * as InteractiveCanvas from "../renderer/interactiveScene"; +import * as StaticScene from "../renderer/staticScene"; + +import { UI, Pointer, Keyboard } from "./helpers/ui"; +import { render, fireEvent, act, unmountComponent } from "./test-utils"; unmountComponent(); diff --git a/packages/excalidraw/tests/multiPointCreate.test.tsx b/packages/excalidraw/tests/multiPointCreate.test.tsx index 5cbce4966..cde3c7f98 100644 --- a/packages/excalidraw/tests/multiPointCreate.test.tsx +++ b/packages/excalidraw/tests/multiPointCreate.test.tsx @@ -1,9 +1,12 @@ import React from "react"; import { vi } from "vitest"; +import { KEYS, reseed } from "@excalidraw/common"; + +import type { ExcalidrawLinearElement } from "@excalidraw/element/types"; + import { Excalidraw } from "../index"; -import { KEYS } from "../keys"; -import { reseed } from "../random"; + import * as InteractiveCanvas from "../renderer/interactiveScene"; import * as StaticScene from "../renderer/staticScene"; @@ -15,8 +18,6 @@ import { unmountComponent, } from "./test-utils"; -import type { ExcalidrawLinearElement } from "../element/types"; - unmountComponent(); const renderInteractiveScene = vi.spyOn( diff --git a/packages/excalidraw/tests/packages/events.test.tsx b/packages/excalidraw/tests/packages/events.test.tsx index 3e79239c8..bc4441c40 100644 --- a/packages/excalidraw/tests/packages/events.test.tsx +++ b/packages/excalidraw/tests/packages/events.test.tsx @@ -1,8 +1,9 @@ import React from "react"; import { vi } from "vitest"; +import { resolvablePromise } from "@excalidraw/common"; + import { Excalidraw, CaptureUpdateAction } from "../../index"; -import { resolvablePromise } from "../../utils"; import { API } from "../helpers/api"; import { Pointer } from "../helpers/ui"; import { render } from "../test-utils"; diff --git a/packages/excalidraw/tests/regressionTests.test.tsx b/packages/excalidraw/tests/regressionTests.test.tsx index 8407f0766..0eaedc66b 100644 --- a/packages/excalidraw/tests/regressionTests.test.tsx +++ b/packages/excalidraw/tests/regressionTests.test.tsx @@ -1,12 +1,14 @@ import React from "react"; import { vi } from "vitest"; -import { FONT_FAMILY } from "../constants"; +import { FONT_FAMILY, CODES, KEYS, reseed } from "@excalidraw/common"; + +import { setDateTimeForTests } from "@excalidraw/common"; + +import type { ExcalidrawElement } from "@excalidraw/element/types"; + import { Excalidraw } from "../index"; -import { CODES, KEYS } from "../keys"; -import { reseed } from "../random"; import * as StaticScene from "../renderer/staticScene"; -import { setDateTimeForTests } from "../utils"; import { API } from "./helpers/api"; import { Keyboard, Pointer, UI } from "./helpers/ui"; @@ -19,8 +21,6 @@ import { unmountComponent, } from "./test-utils"; -import type { ExcalidrawElement } from "../element/types"; - const { h } = window; const renderStaticScene = vi.spyOn(StaticScene, "renderStaticScene"); diff --git a/packages/excalidraw/tests/rotate.test.tsx b/packages/excalidraw/tests/rotate.test.tsx index 2c678f45b..9687b08f2 100644 --- a/packages/excalidraw/tests/rotate.test.tsx +++ b/packages/excalidraw/tests/rotate.test.tsx @@ -1,8 +1,9 @@ import React from "react"; import { expect } from "vitest"; +import { reseed } from "@excalidraw/common"; + import { Excalidraw } from "../index"; -import { reseed } from "../random"; import { UI } from "./helpers/ui"; import { render, unmountComponent } from "./test-utils"; diff --git a/packages/excalidraw/tests/scene/export.test.ts b/packages/excalidraw/tests/scene/export.test.ts index 43c37eb28..3187e2c40 100644 --- a/packages/excalidraw/tests/scene/export.test.ts +++ b/packages/excalidraw/tests/scene/export.test.ts @@ -1,6 +1,13 @@ import { exportToCanvas, exportToSvg } from "@excalidraw/utils"; -import { FONT_FAMILY, FRAME_STYLE } from "../../constants"; +import { FONT_FAMILY, FRAME_STYLE } from "@excalidraw/common"; + +import type { + ExcalidrawTextElement, + FractionalIndex, + NonDeletedExcalidrawElement, +} from "@excalidraw/element/types"; + import { prepareElementsForExport } from "../../data"; import * as exportUtils from "../../scene/export"; import { @@ -11,12 +18,6 @@ import { } from "../fixtures/elementFixture"; import { API } from "../helpers/api"; -import type { - ExcalidrawTextElement, - FractionalIndex, - NonDeletedExcalidrawElement, -} from "../../element/types"; - describe("exportToSvg", () => { const ELEMENT_HEIGHT = 100; const ELEMENT_WIDTH = 100; diff --git a/packages/excalidraw/tests/scroll.test.tsx b/packages/excalidraw/tests/scroll.test.tsx index 2ccc4546f..ef5eb3dbf 100644 --- a/packages/excalidraw/tests/scroll.test.tsx +++ b/packages/excalidraw/tests/scroll.test.tsx @@ -1,7 +1,8 @@ import React from "react"; +import { KEYS } from "@excalidraw/common"; + import { Excalidraw } from "../index"; -import { KEYS } from "../keys"; import { API } from "./helpers/api"; import { Keyboard } from "./helpers/ui"; diff --git a/packages/excalidraw/tests/search.test.tsx b/packages/excalidraw/tests/search.test.tsx index d3622d4b1..3a42cff62 100644 --- a/packages/excalidraw/tests/search.test.tsx +++ b/packages/excalidraw/tests/search.test.tsx @@ -1,16 +1,21 @@ import React from "react"; -import { CANVAS_SEARCH_TAB, CLASSES, DEFAULT_SIDEBAR } from "../constants"; +import { + CANVAS_SEARCH_TAB, + CLASSES, + DEFAULT_SIDEBAR, + KEYS, +} from "@excalidraw/common"; + +import type { ExcalidrawTextElement } from "@excalidraw/element/types"; + import { Excalidraw } from "../index"; -import { KEYS } from "../keys"; import { API } from "./helpers/api"; import { Keyboard } from "./helpers/ui"; import { updateTextEditor } from "./queries/dom"; import { act, render, waitFor } from "./test-utils"; -import type { ExcalidrawTextElement } from "../element/types"; - const { h } = window; const querySearchInput = async () => { diff --git a/packages/excalidraw/tests/selection.test.tsx b/packages/excalidraw/tests/selection.test.tsx index d93d3eff5..10f4f7ad9 100644 --- a/packages/excalidraw/tests/selection.test.tsx +++ b/packages/excalidraw/tests/selection.test.tsx @@ -1,12 +1,13 @@ import React from "react"; import { vi } from "vitest"; +import { KEYS, reseed } from "@excalidraw/common"; + +import { SHAPES } from "../components/shapes"; + import { Excalidraw } from "../index"; -import { KEYS } from "../keys"; -import { reseed } from "../random"; import * as InteractiveCanvas from "../renderer/interactiveScene"; import * as StaticScene from "../renderer/staticScene"; -import { SHAPES } from "../shapes"; import { API } from "./helpers/api"; import { Keyboard, Pointer, UI } from "./helpers/ui"; diff --git a/packages/excalidraw/tests/shortcuts.test.tsx b/packages/excalidraw/tests/shortcuts.test.tsx index ee2234ecc..d4d1cb0de 100644 --- a/packages/excalidraw/tests/shortcuts.test.tsx +++ b/packages/excalidraw/tests/shortcuts.test.tsx @@ -1,7 +1,8 @@ import React from "react"; +import { KEYS } from "@excalidraw/common"; + import { Excalidraw } from "../index"; -import { KEYS } from "../keys"; import { API } from "./helpers/api"; import { Keyboard } from "./helpers/ui"; diff --git a/packages/excalidraw/tests/tool.test.tsx b/packages/excalidraw/tests/tool.test.tsx index f70d1ccdd..f7c101c1d 100644 --- a/packages/excalidraw/tests/tool.test.tsx +++ b/packages/excalidraw/tests/tool.test.tsx @@ -1,7 +1,8 @@ import React from "react"; +import { resolvablePromise } from "@excalidraw/common"; + import { Excalidraw } from "../index"; -import { resolvablePromise } from "../utils"; import { Pointer } from "./helpers/ui"; import { act, render } from "./test-utils"; diff --git a/packages/excalidraw/tests/utils.test.ts b/packages/excalidraw/tests/utils.test.ts index 34944faaa..2dc8c0097 100644 --- a/packages/excalidraw/tests/utils.test.ts +++ b/packages/excalidraw/tests/utils.test.ts @@ -1,4 +1,4 @@ -import { isTransparent } from "../utils"; +import { isTransparent } from "@excalidraw/common"; describe("Test isTransparent", () => { it("should return true when color is rgb transparent", () => { diff --git a/packages/excalidraw/tests/viewMode.test.tsx b/packages/excalidraw/tests/viewMode.test.tsx index c190ee0e3..0a94055c7 100644 --- a/packages/excalidraw/tests/viewMode.test.tsx +++ b/packages/excalidraw/tests/viewMode.test.tsx @@ -1,8 +1,8 @@ import React from "react"; -import { CURSOR_TYPE } from "../constants"; +import { CURSOR_TYPE, KEYS } from "@excalidraw/common"; + import { Excalidraw } from "../index"; -import { KEYS } from "../keys"; import { API } from "./helpers/api"; import { Keyboard, Pointer, UI } from "./helpers/ui"; diff --git a/packages/excalidraw/tests/zindex.test.tsx b/packages/excalidraw/tests/zindex.test.tsx index c8e166aff..7cccf5abe 100644 --- a/packages/excalidraw/tests/zindex.test.tsx +++ b/packages/excalidraw/tests/zindex.test.tsx @@ -1,5 +1,15 @@ import React from "react"; +import { selectGroupsForSelectedElements } from "@excalidraw/element/groups"; + +import { reseed } from "@excalidraw/common"; + +import type { + ExcalidrawElement, + ExcalidrawFrameElement, + ExcalidrawSelectionElement, +} from "@excalidraw/element/types"; + import { actionSendBackward, actionBringForward, @@ -7,18 +17,12 @@ import { actionSendToBack, actionDuplicateSelection, } from "../actions"; -import { selectGroupsForSelectedElements } from "../groups"; + import { Excalidraw } from "../index"; -import { reseed } from "../random"; import { API } from "./helpers/api"; import { act, getCloneByOrigId, render, unmountComponent } from "./test-utils"; -import type { - ExcalidrawElement, - ExcalidrawFrameElement, - ExcalidrawSelectionElement, -} from "../element/types"; import type { AppState } from "../types"; unmountComponent(); diff --git a/vitest.config.mts b/vitest.config.mts index f9d7d255e..4f230090e 100644 --- a/vitest.config.mts +++ b/vitest.config.mts @@ -5,6 +5,22 @@ import { defineConfig } from "vitest/config"; export default defineConfig({ resolve: { alias: [ + { + find: /^@excalidraw\/common$/, + replacement: path.resolve(__dirname, "./packages/common/src/index.ts"), + }, + { + find: /^@excalidraw\/common\/(.*?)/, + replacement: path.resolve(__dirname, "./packages/common/src/$1"), + }, + { + find: /^@excalidraw\/element$/, + replacement: path.resolve(__dirname, "./packages/element/src/index.ts"), + }, + { + find: /^@excalidraw\/element\/(.*?)/, + replacement: path.resolve(__dirname, "./packages/element/src/$1"), + }, { find: /^@excalidraw\/excalidraw$/, replacement: path.resolve(__dirname, "./packages/excalidraw/index.tsx"), @@ -23,11 +39,11 @@ export default defineConfig({ }, { find: /^@excalidraw\/math$/, - replacement: path.resolve(__dirname, "./packages/math/index.ts"), + replacement: path.resolve(__dirname, "./packages/math/src/index.ts"), }, { find: /^@excalidraw\/math\/(.*?)/, - replacement: path.resolve(__dirname, "./packages/math/$1"), + replacement: path.resolve(__dirname, "./packages/math/src/$1"), }, ], },