Lint: Add eslint import plugin (#5955)

## Summary

Adds the linter, turns on the recommended and a few extra rules, fixes
existing violations.

Doesn't prohibit `../../...` imports yet, that'll be it's own PR.

## Changes

- **What**: Consistent and fixable imports
- **Dependencies**: The plugin and parser

## Review Focus

How do you feel about the recommended rules?
What about the extra ones?
[Any
more](https://github.com/un-ts/eslint-plugin-import-x?tab=readme-ov-file#rules)
you'd want to turn on?

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-5955-Lint-Add-eslint-import-plugin-2856d73d3650819985c0fb9ca3fa94b0)
by [Unito](https://www.unito.io)
This commit is contained in:
Alexander Brown
2025-10-07 20:31:00 -07:00
committed by GitHub
parent 45ebc59033
commit 874ef3ba0c
149 changed files with 1754 additions and 482 deletions

View File

@@ -1,6 +1,7 @@
import { useEventListener, whenever } from '@vueuse/core'
import { defineStore } from 'pinia'
import { type Raw, computed, markRaw, ref, shallowRef } from 'vue'
import { computed, markRaw, ref, shallowRef } from 'vue'
import type { Raw } from 'vue'
import type { Point, Positionable } from '@/lib/litegraph/src/interfaces'
import type {

View File

@@ -15,14 +15,14 @@ import {
LinkMarkerShape,
LinkRenderType
} from '@/lib/litegraph/src/types/globalEnums'
import {
type ArrowShape,
CanvasPathRenderer,
type Direction,
type LinkRenderData,
type RenderContext as PathRenderContext,
type Point as PointObj,
type RenderMode
import { CanvasPathRenderer } from '@/renderer/core/canvas/pathRenderer'
import type {
ArrowShape,
Direction,
LinkRenderData,
RenderContext as PathRenderContext,
Point as PointObj,
RenderMode
} from '@/renderer/core/canvas/pathRenderer'
import { layoutStore } from '@/renderer/core/layout/store/layoutStore'
import type { Bounds } from '@/renderer/core/layout/types'

View File

@@ -8,8 +8,8 @@ import log from 'loglevel'
import type { NodeId } from '@/lib/litegraph/src/LGraphNode'
import { layoutStore } from '@/renderer/core/layout/store/layoutStore'
import type { LayoutSource } from '@/renderer/core/layout/types'
import type {
LayoutSource,
LinkId,
NodeLayout,
Point,

View File

@@ -8,10 +8,10 @@
import type { Point } from '@/lib/litegraph/src/interfaces'
import { LiteGraph } from '@/lib/litegraph/src/litegraph'
import {
type SlotPositionContext,
calculateInputSlotPos,
calculateOutputSlotPos
} from '@/renderer/core/canvas/litegraph/slotCalculations'
import type { SlotPositionContext } from '@/renderer/core/canvas/litegraph/slotCalculations'
import { layoutStore } from '@/renderer/core/layout/store/layoutStore'
import type { SlotLayout } from '@/renderer/core/layout/types'

View File

@@ -5,38 +5,37 @@
* CRDT ensures conflict-free operations for both single and multi-user scenarios.
*/
import log from 'loglevel'
import { type ComputedRef, type Ref, computed, customRef, ref } from 'vue'
import { computed, customRef, ref } from 'vue'
import type { ComputedRef, Ref } from 'vue'
import * as Y from 'yjs'
import { ACTOR_CONFIG } from '@/renderer/core/layout/constants'
import { LayoutSource } from '@/renderer/core/layout/types'
import type {
Bounds,
CreateLinkOperation,
CreateNodeOperation,
CreateRerouteOperation,
DeleteLinkOperation,
DeleteNodeOperation,
DeleteRerouteOperation,
LayoutChange,
LayoutOperation,
LayoutStore,
LinkId,
LinkLayout,
LinkSegmentLayout,
MoveNodeOperation,
MoveRerouteOperation,
NodeBoundsUpdate,
NodeId,
NodeLayout,
Point,
RerouteId,
RerouteLayout,
ResizeNodeOperation,
SetNodeZIndexOperation
} from '@/renderer/core/layout/types'
import {
type Bounds,
type LayoutChange,
LayoutSource,
type LayoutStore,
type LinkId,
type LinkLayout,
type LinkSegmentLayout,
type NodeId,
type NodeLayout,
type Point,
type RerouteId,
type RerouteLayout,
type SlotLayout
SetNodeZIndexOperation,
SlotLayout
} from '@/renderer/core/layout/types'
import {
isBoundsEqual,
@@ -49,10 +48,10 @@ import {
} from '@/renderer/core/layout/utils/layoutMath'
import { makeLinkSegmentKey } from '@/renderer/core/layout/utils/layoutUtils'
import {
type NodeLayoutMap,
layoutToYNode,
yNodeToLayout
} from '@/renderer/core/layout/utils/mappers'
import type { NodeLayoutMap } from '@/renderer/core/layout/utils/mappers'
import { SpatialIndexManager } from '@/renderer/core/spatial/SpatialIndex'
type YEventChange = {

View File

@@ -4,8 +4,7 @@
* Implements one-way sync from Layout Store to LiteGraph.
* The layout store is the single source of truth.
*/
import { onUnmounted } from 'vue'
import { ref } from 'vue'
import { onUnmounted, ref } from 'vue'
import type { useCanvasStore } from '@/renderer/core/canvas/canvasStore'
import { layoutStore } from '@/renderer/core/layout/store/layoutStore'