refactor: dynamic imports for sidebar tab components

- Convert static imports to defineAsyncComponent

- Breaks ~100 circular dependency cycles through sidebar tabs

- Sidebar tabs load lazily on first access

Amp-Thread-ID: https://ampcode.com/threads/T-019bfe73-6a29-7638-8160-8de515af8707
Co-authored-by: Amp <amp@ampcode.com>
This commit is contained in:
Alexander Brown
2026-01-27 00:37:18 -08:00
parent 440e25e232
commit 1bc7bb7544
4 changed files with 24 additions and 12 deletions

View File

@@ -1,8 +1,11 @@
import { markRaw } from 'vue'
import { defineAsyncComponent } from 'vue'
import NodeLibrarySidebarTab from '@/components/sidebar/tabs/NodeLibrarySidebarTab.vue'
import type { SidebarTabExtension } from '@/types/extensionTypes'
const NodeLibrarySidebarTab = defineAsyncComponent(
() => import('@/components/sidebar/tabs/NodeLibrarySidebarTab.vue')
)
export const useNodeLibrarySidebarTab = (): SidebarTabExtension => {
return {
id: 'node-library',
@@ -10,7 +13,7 @@ export const useNodeLibrarySidebarTab = (): SidebarTabExtension => {
title: 'sideToolbar.nodeLibrary',
tooltip: 'sideToolbar.nodeLibrary',
label: 'sideToolbar.labels.nodes',
component: markRaw(NodeLibrarySidebarTab),
component: NodeLibrarySidebarTab,
type: 'vue'
}
}