From b0cf56277fa54f905939dc90178fa7cd8ed853f5 Mon Sep 17 00:00:00 2001 From: Mark Chigrin Date: Tue, 10 Mar 2026 10:50:20 +0000 Subject: [PATCH] fix(Block): remove lodash dependency and update noop usage --- .eslintrc | 15 +++++++++++++-- src/react-components/Block.tsx | 4 +--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/.eslintrc b/.eslintrc index c4cbc9db..587a36e9 100644 --- a/.eslintrc +++ b/.eslintrc @@ -34,8 +34,8 @@ "constructors": "no-public", "methods": "explicit", "properties": "off", - "parameterProperties": "explicit", - }, + "parameterProperties": "explicit" + } } ], "no-bitwise": [ @@ -76,6 +76,17 @@ "import/consistent-type-specifier-style": [ "error", "prefer-top-level" + ], + "no-restricted-imports": [ + "error", + { + "paths": [ + { + "name": "lodash", + "message": "Import from lodash leads to bundle pollute. Use import from submodules, for example 'lodash/isEqual'." + } + ] + } ] } } \ No newline at end of file diff --git a/src/react-components/Block.tsx b/src/react-components/Block.tsx index b491f111..b3a5b5ba 100644 --- a/src/react-components/Block.tsx +++ b/src/react-components/Block.tsx @@ -1,7 +1,5 @@ import React, { ForwardedRef, forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react"; -import { noop } from "lodash"; - import { TBlock } from "../components/canvas/blocks/Block"; import { Graph } from "../graph"; import { ESchedulerPriority } from "../lib/Scheduler"; @@ -168,7 +166,7 @@ function GraphBlockInner( * So to handle update this props we use onChange callback from view state. */ useEffect(() => { - if (!viewState) return noop; + if (!viewState) return; setInteractive(viewState.isInteractive()); return viewState.onChange(() => { setInteractive(viewState.isInteractive());