Repository Analysis

excalidraw/excalidraw

Virtual whiteboard for sketching hand-drawn like diagrams

0.4 Likely human-written View on GitHub
0.4
Adjusted Score
0.4
Raw Score
100%
Time Factor
2026-05-25
Last Push
124,273
Stars
TypeScript
Language
230,164
Lines of Code
836
Files
56
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 2MEDIUM 4LOW 50

Pattern Findings

56 matches across 8 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers22 hits · 22 pts
SeverityFileLineSnippet
LOWpackages/element/tests/frame.test.tsx69 function selectElementAndDuplicate(
LOWpackages/element/src/frame.ts70export function isElementIntersectingFrame(
LOWpackages/element/src/renderElement.ts1074export function getFreedrawOutlineAsSegments(
LOWpackages/element/src/utils.ts125export function deconstructLinearOrFreeDrawElement(
LOWpackages/element/src/utils.ts210export function deconstructRectanguloidElement(
LOWpackages/element/src/utils.ts422export function deconstructDiamondElement(
LOWpackages/element/src/zindex.ts483function shiftElementsAccountingForFrames(
LOWpackages/excalidraw/subset/woff2/woff2-bindings.ts599 function updateGlobalBufferAndViews(buf) {
LOWpackages/excalidraw/subset/woff2/woff2-bindings.ts960 function receiveInstantiatedSource(output) {
LOWpackages/excalidraw/subset/woff2/woff2-bindings.ts1383 function whenDependentTypesAreResolved(
LOWpackages/excalidraw/subset/woff2/woff2-bindings.ts1508 function shallowCopyInternalPointer(o) {
LOWpackages/excalidraw/subset/woff2/woff2-bindings.ts1519 function throwInstanceAlreadyDeleted(obj) {
LOWpackages/excalidraw/subset/woff2/woff2-bindings.ts1708 function constNoSmartPtrRawPointerToWireType(destructors, handle) {
LOWpackages/excalidraw/subset/woff2/woff2-bindings.ts1812 function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) {
LOWpackages/excalidraw/subset/woff2/woff2-bindings.ts1842 function simpleReadValueFromPointer(pointer) {
LOWpackages/excalidraw/subset/woff2/woff2-bindings.ts1874 function getInheritedInstanceCount() {
LOWpackages/excalidraw/subset/woff2/woff2-bindings.ts1877 function getLiveInheritedInstances() {
LOWpackages/excalidraw/subset/woff2/woff2-bindings.ts2566 function floatReadValueFromPointer(name, shift) {
LOWpackages/excalidraw/subset/woff2/woff2-bindings.ts2632 function integerReadValueFromPointer(name, shift, signed) {
LOWpackages/math/src/curve.ts333export function curveCatmullRomQuadraticApproxPoints(
LOWpackages/math/src/curve.ts411export function offsetPointsForQuadraticBezier(
LOWpackages/common/src/constants.ts159export function getGenericFontFamilyFallback(
Over-Commented Block21 hits · 21 pts
SeverityFileLineSnippet
LOWpackages/element/tests/frame.test.tsx581 ["arrow", "text", "frame"],
LOWpackages/element/tests/resize.test.tsx181 // });
LOWpackages/element/tests/resize.test.tsx601 // const boundArrow = UI.createElement("arrow", {
LOWpackages/element/tests/resize.test.tsx801 expect(image.scale).toEqual([1, 1]);
LOWpackages/element/tests/resize.test.tsx1001 // const rectangle = UI.createElement("rectangle", {
LOWpackages/element/tests/resize.test.tsx1021 // const move = [40, 40] as [number, number];
LOWpackages/element/tests/resize.test.tsx1041
LOWpackages/element/tests/resize.test.tsx1061 // );
LOWpackages/element/tests/textWrapping.test.ts601 // 'ち', 'は', '世', '界!',
LOWpackages/element/src/renderElement.ts1001
LOWpackages/excalidraw/charts.test.ts841 const epsilonRatio =
LOWpackages/excalidraw/types.ts881 // The elements the pointer is "hitting", is determined on the initial
LOW…ckages/excalidraw/subset/harfbuzz/harfbuzz-bindings.ts81 hbSubsetWasm.hb_set_invert(layoutFeatures);
LOW…ckages/excalidraw/subset/harfbuzz/harfbuzz-bindings.ts101 const inputUnicodes = hbSubsetWasm.hb_subset_input_unicode_set(input);
LOW…ckages/excalidraw/subset/harfbuzz/harfbuzz-bindings.ts121 // `hb_subset_input_pin_axis_location (harfbuzz) returned zero when pinning ${axisName} to ${value}, indicat
LOW…ckages/excalidraw/subset/harfbuzz/harfbuzz-bindings.ts141 // value.min,
LOWpackages/excalidraw/tests/history.test.tsx1101 // expect(API.getRedoStack().length).toBe(4);
LOWpackages/excalidraw/tests/history.test.tsx1161 ]);
LOWpackages/excalidraw/tests/data/reconcile.test.ts141 // -------------------------------------------------------------------------
LOWpackages/excalidraw/data/library.ts621 }
LOWpackages/common/src/constants.ts381// roundness type (algorithm)
Decorative Section Separators4 hits · 18 pts
SeverityFileLineSnippet
MEDIUMpackages/excalidraw/snapping.ts67 // ┌───────────┐◄───────────────►
MEDIUMpackages/excalidraw/snapping.ts68 // │ │-----------------┌───────────┐
MEDIUMpackages/excalidraw/snapping.ts72 // └───────────┘-----------------│ │
MEDIUMpackages/excalidraw/snapping.ts73 // └───────────┘
Synthetic Comment Markers2 hits · 15 pts
SeverityFileLineSnippet
HIGH…w/components/TTDDialog/utils/mermaidValidation.test.ts167 // Simulates partial AI-generated content during streaming
HIGHpackages/excalidraw/data/blob.ts532 // with AI generated images)
Fake / Example Data3 hits · 3 pts
SeverityFileLineSnippet
LOWpackages/element/tests/resize.test.tsx1082 const topArrowLabel = await UI.editText(topArrow.get(), "lorem ipsum");
LOWpackages/element/tests/resize.test.tsx1153 await UI.editText(topText, "lorem ipsum");
LOWpackages/excalidraw/tests/clients.test.ts9 expect(getNameInitial("John Doe")).toBe("J");
Verbosity Indicators2 hits · 3 pts
SeverityFileLineSnippet
LOWpackages/element/src/delta.ts1629 // as the element was force deleted, we need to check if adding it back results in a visible change
LOWpackages/element/src/elbowArrow.ts1593 // We need to check if the path we have arrived at this neighbor is the shortest one we have seen yet.
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippet
LOWpackages/common/src/utils.ts217 * // Example usage:
Slop Phrases1 hit · 1 pts
SeverityFileLineSnippet
LOWscripts/release.js164 "Skipping commit. Don't forget to commit manually later!",