From 80e31a27b1ec030a8709e109dcd6c54751e0a7c9 Mon Sep 17 00:00:00 2001 From: Christian Byrne Date: Wed, 4 Mar 2026 16:59:05 -0800 Subject: [PATCH] refactor: remove redundant `= false` defaults on boolean props (#9155) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Remove redundant `= false` defaults from destructured `defineProps` on boolean props, since Vue's [Boolean casting](https://vuejs.org/guide/components/props.html#boolean-casting) already defaults absent boolean props to `false`. ## Changes - **What**: Remove 10 unnecessary `= false` default values across 8 components ## Review Focus Vue compiles `defineProps<{ myBool?: boolean }>()` to `{ myBool: { type: Boolean, required: false } }`. Boolean casting means absent boolean props are already `false` — the explicit `= false` in JS destructuring defaults never triggers. Follow-up to #9150. ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-9155-refactor-remove-redundant-false-defaults-on-boolean-props-3116d73d36508196af0bcba53257720a) by [Unito](https://www.unito.io) --- src/components/breadcrumb/SubgraphBreadcrumbItem.vue | 2 +- src/components/queue/QueueProgressOverlay.vue | 2 +- src/components/topbar/CloudBadge.vue | 4 ++-- src/components/topbar/TopbarBadge.vue | 4 ++-- src/components/topbar/TopbarBadges.vue | 2 +- src/platform/workspace/components/PricingTableWorkspace.vue | 2 +- .../vueNodes/widgets/components/form/FormSelectButton.vue | 2 +- .../widgets/components/form/dropdown/FormDropdownInput.vue | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/components/breadcrumb/SubgraphBreadcrumbItem.vue b/src/components/breadcrumb/SubgraphBreadcrumbItem.vue index d7b88b4a08..31d730150a 100644 --- a/src/components/breadcrumb/SubgraphBreadcrumbItem.vue +++ b/src/components/breadcrumb/SubgraphBreadcrumbItem.vue @@ -78,7 +78,7 @@ interface Props { isActive?: boolean } -const { item, isActive = false } = defineProps() +const { item, isActive } = defineProps() const nodeDefStore = useNodeDefStore() const hasMissingNodes = computed(() => diff --git a/src/components/queue/QueueProgressOverlay.vue b/src/components/queue/QueueProgressOverlay.vue index ee0dddaf7b..92ca04f2ee 100644 --- a/src/components/queue/QueueProgressOverlay.vue +++ b/src/components/queue/QueueProgressOverlay.vue @@ -75,7 +75,7 @@ import { useSidebarTabStore } from '@/stores/workspace/sidebarTabStore' type OverlayState = 'hidden' | 'active' | 'expanded' -const { expanded, menuHovered = false } = defineProps<{ +const { expanded, menuHovered } = defineProps<{ expanded?: boolean menuHovered?: boolean }>() diff --git a/src/components/topbar/CloudBadge.vue b/src/components/topbar/CloudBadge.vue index 70f3434e3f..d7f8b0c6e4 100644 --- a/src/components/topbar/CloudBadge.vue +++ b/src/components/topbar/CloudBadge.vue @@ -17,8 +17,8 @@ import TopbarBadge from './TopbarBadge.vue' const { displayMode = 'full', - reverseOrder = false, - noPadding = false, + reverseOrder, + noPadding, backgroundColor = 'var(--comfy-menu-bg)' } = defineProps<{ displayMode?: 'full' | 'compact' | 'icon-only' diff --git a/src/components/topbar/TopbarBadge.vue b/src/components/topbar/TopbarBadge.vue index 8d9ae84444..3f8df46038 100644 --- a/src/components/topbar/TopbarBadge.vue +++ b/src/components/topbar/TopbarBadge.vue @@ -132,8 +132,8 @@ import { cn } from '@/utils/tailwindUtil' const { badge, displayMode = 'full', - reverseOrder = false, - noPadding = false, + reverseOrder, + noPadding, backgroundColor = 'var(--comfy-menu-bg)' } = defineProps<{ badge: TopbarBadge diff --git a/src/components/topbar/TopbarBadges.vue b/src/components/topbar/TopbarBadges.vue index 36cc5eae10..27235df2c6 100644 --- a/src/components/topbar/TopbarBadges.vue +++ b/src/components/topbar/TopbarBadges.vue @@ -19,7 +19,7 @@ import { useTopbarBadgeStore } from '@/stores/topbarBadgeStore' import TopbarBadge from './TopbarBadge.vue' -const { reverseOrder = false, noPadding = false } = defineProps<{ +const { reverseOrder, noPadding } = defineProps<{ reverseOrder?: boolean noPadding?: boolean }>() diff --git a/src/platform/workspace/components/PricingTableWorkspace.vue b/src/platform/workspace/components/PricingTableWorkspace.vue index 49a0f0890e..305faac517 100644 --- a/src/platform/workspace/components/PricingTableWorkspace.vue +++ b/src/platform/workspace/components/PricingTableWorkspace.vue @@ -305,7 +305,7 @@ interface Props { loadingTier?: CheckoutTierKey | null } -const { isLoading = false, loadingTier = null } = defineProps() +const { isLoading, loadingTier = null } = defineProps() const emit = defineEmits<{ subscribe: [payload: { tierKey: CheckoutTierKey; billingCycle: BillingCycle }] diff --git a/src/renderer/extensions/vueNodes/widgets/components/form/FormSelectButton.vue b/src/renderer/extensions/vueNodes/widgets/components/form/FormSelectButton.vue index 233a776703..2a669164d1 100644 --- a/src/renderer/extensions/vueNodes/widgets/components/form/FormSelectButton.vue +++ b/src/renderer/extensions/vueNodes/widgets/components/form/FormSelectButton.vue @@ -63,7 +63,7 @@ const { options, optionLabel = 'label', optionValue = 'value', - disabled = false + disabled } = defineProps() const emit = defineEmits() diff --git a/src/renderer/extensions/vueNodes/widgets/components/form/dropdown/FormDropdownInput.vue b/src/renderer/extensions/vueNodes/widgets/components/form/dropdown/FormDropdownInput.vue index e195213a85..ae9900ec6f 100644 --- a/src/renderer/extensions/vueNodes/widgets/components/form/dropdown/FormDropdownInput.vue +++ b/src/renderer/extensions/vueNodes/widgets/components/form/dropdown/FormDropdownInput.vue @@ -20,7 +20,7 @@ interface Props { } const { - isOpen = false, + isOpen, placeholder = 'Select...', items, displayItems,