feat: enable verbatimModuleSyntax in TypeScript config (#5533)

## Summary
- Enable `verbatimModuleSyntax` compiler option in TypeScript
configuration
- Update all type imports to use explicit `import type` syntax
- This change will Improve tree-shaking and bundler compatibility

## Motivation
The `verbatimModuleSyntax` option ensures that type-only imports are
explicitly marked with the `type` keyword. This:
- Makes import/export intentions clearer
- Improves tree-shaking by helping bundlers identify what can be safely
removed
- Ensures better compatibility with modern bundlers
- Follows TypeScript best practices for module syntax

## Changes
- Added `"verbatimModuleSyntax": true` to `tsconfig.json`
- Updated another 48+ files to use explicit `import type` syntax for
type-only imports
- No functional changes, only import/export syntax improvements

## Test Plan
- [x] TypeScript compilation passes
- [x] Build completes successfully  
- [x] Tests pass
- [ ] No runtime behavior changes

🤖 Generated with [Claude Code](https://claude.ai/code)

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-5533-feat-enable-verbatimModuleSyntax-in-TypeScript-config-26d6d73d36508190b424ef9b379b5130)
by [Unito](https://www.unito.io)
This commit is contained in:
snomiao
2025-09-19 13:05:56 +09:00
committed by GitHub
parent 726a2fbbc9
commit cbb0f765b8
37 changed files with 96 additions and 80 deletions

View File

@@ -7,7 +7,7 @@ import type {
ModelFolderInfo
} from '@/platform/assets/schemas/assetSchema'
import { useToastStore } from '@/platform/updates/common/toastStore'
import { WorkflowTemplates } from '@/platform/workflow/templates/types/template'
import { type WorkflowTemplates } from '@/platform/workflow/templates/types/template'
import type {
ComfyApiWorkflow,
ComfyWorkflowJSON,

View File

@@ -19,7 +19,7 @@ import { useWorkflowService } from '@/platform/workflow/core/services/workflowSe
import { ComfyWorkflow } from '@/platform/workflow/management/stores/workflowStore'
import { useWorkflowValidation } from '@/platform/workflow/validation/composables/useWorkflowValidation'
import {
ComfyApiWorkflow,
type ComfyApiWorkflow,
type ComfyWorkflowJSON,
type ModelFile,
type NodeId,
@@ -61,9 +61,9 @@ import { useWidgetStore } from '@/stores/widgetStore'
import { useColorPaletteStore } from '@/stores/workspace/colorPaletteStore'
import { useWorkspaceStore } from '@/stores/workspaceStore'
import type { ComfyExtension, MissingNodeType } from '@/types/comfy'
import { ExtensionManager } from '@/types/extensionTypes'
import { type ExtensionManager } from '@/types/extensionTypes'
import type { NodeExecutionId } from '@/types/nodeIdentification'
import { ColorAdjustOptions, adjustColor } from '@/utils/colorUtil'
import { type ColorAdjustOptions, adjustColor } from '@/utils/colorUtil'
import { graphToPrompt } from '@/utils/executionUtil'
import { forEachNode } from '@/utils/graphTraversalUtil'
import {

View File

@@ -2,7 +2,7 @@ import {
type AvifIinfBox,
type AvifIlocBox,
type AvifInfeBox,
ComfyMetadata,
type ComfyMetadata,
ComfyMetadataTags,
type IsobmffBoxContentRange
} from '@/types/metadataTypes'

View File

@@ -3,12 +3,12 @@ import {
type ComfyWorkflowJSON
} from '@/platform/workflow/validation/schemas/workflowSchema'
import {
ComfyMetadata,
type ComfyMetadata,
ComfyMetadataTags,
EbmlElementRange,
EbmlTagPosition,
TextRange,
VInt
type EbmlElementRange,
type EbmlTagPosition,
type TextRange,
type VInt
} from '@/types/metadataTypes'
const WEBM_SIGNATURE = [0x1a, 0x45, 0xdf, 0xa3]

View File

@@ -1,14 +1,14 @@
import {
ComfyApiWorkflow,
ComfyWorkflowJSON
type ComfyApiWorkflow,
type ComfyWorkflowJSON
} from '@/platform/workflow/validation/schemas/workflowSchema'
import {
ASCII,
ComfyMetadata,
type ComfyMetadata,
ComfyMetadataTags,
GltfChunkHeader,
GltfHeader,
GltfJsonData,
type GltfChunkHeader,
type GltfHeader,
type GltfJsonData,
GltfSizeBytes
} from '@/types/metadataTypes'

View File

@@ -1,12 +1,12 @@
import {
ComfyApiWorkflow,
ComfyWorkflowJSON
type ComfyApiWorkflow,
type ComfyWorkflowJSON
} from '@/platform/workflow/validation/schemas/workflowSchema'
import {
ASCII,
ComfyMetadata,
type ComfyMetadata,
ComfyMetadataTags,
IsobmffBoxContentRange
type IsobmffBoxContentRange
} from '@/types/metadataTypes'
// Set max read high, as atoms are stored near end of file

View File

@@ -1,4 +1,4 @@
import { ComfyMetadata } from '@/types/metadataTypes'
import { type ComfyMetadata } from '@/types/metadataTypes'
export async function getSvgMetadata(file: File): Promise<ComfyMetadata> {
const text = await file.text()

View File

@@ -1,6 +1,6 @@
import { useSettingStore } from '@/platform/settings/settingStore'
import { WORKFLOW_ACCEPT_STRING } from '@/platform/workflow/core/types/formats'
import { type StatusWsMessageStatus, TaskItem } from '@/schemas/apiSchema'
import { type StatusWsMessageStatus, type TaskItem } from '@/schemas/apiSchema'
import { useDialogService } from '@/services/dialogService'
import { useLitegraphService } from '@/services/litegraphService'
import { useCommandStore } from '@/stores/commandStore'

View File

@@ -1,10 +1,10 @@
import { Settings } from '@/schemas/apiSchema'
import { type Settings } from '@/schemas/apiSchema'
import type { ComfyApp } from '@/scripts/app'
import type { ComfyComponent } from '.'
import { $el } from '../../ui'
import { prop } from '../../utils'
import { ClassList, applyClasses, toggleElement } from '../utils'
import { type ClassList, applyClasses, toggleElement } from '../utils'
import type { ComfyPopup } from './popup'
type ComfyButtonProps = {

View File

@@ -1,6 +1,6 @@
import { $el } from '../../ui'
import { prop } from '../../utils'
import { ClassList, applyClasses } from '../utils'
import { type ClassList, applyClasses } from '../utils'
export class ComfyPopup extends EventTarget {
element = $el('div.comfyui-popup')