From d36999b9a6009cab088e287ee9602748eb5392bf Mon Sep 17 00:00:00 2001 From: Arjan Singh Date: Tue, 16 Sep 2025 11:26:09 -0700 Subject: [PATCH] [ci] clean up storybook config --- .storybook/main.ts | 29 ++++++++++++++++------------- .storybook/preview.ts | 25 ++++--------------------- 2 files changed, 20 insertions(+), 34 deletions(-) diff --git a/.storybook/main.ts b/.storybook/main.ts index 3869df31c..ec5f70319 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -3,7 +3,7 @@ import { FileSystemIconLoader } from 'unplugin-icons/loaders' import IconsResolver from 'unplugin-icons/resolver' import Icons from 'unplugin-icons/vite' import Components from 'unplugin-vue-components/vite' -import type { InlineConfig, Plugin } from 'vite' +import type { InlineConfig } from 'vite' const config: StorybookConfig = { stories: ['../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'], @@ -18,18 +18,21 @@ const config: StorybookConfig = { // Filter out any plugins that might generate import maps if (config.plugins) { - config.plugins = (config.plugins as Plugin[]).filter((plugin: Plugin) => { - if ( - plugin && - typeof plugin === 'object' && - 'name' in plugin && - typeof plugin.name === 'string' && - plugin.name.includes('import-map') - ) { - return false - } - return true - }) + config.plugins = config.plugins + // Type guard: ensure we have valid plugin objects with names + .filter( + (plugin): plugin is NonNullable & { name: string } => { + return ( + plugin !== null && + plugin !== undefined && + typeof plugin === 'object' && + 'name' in plugin && + typeof plugin.name === 'string' + ) + } + ) + // Business logic: filter out import-map plugins + .filter((plugin) => !plugin.name.includes('import-map')) } return mergeConfig(config, { diff --git a/.storybook/preview.ts b/.storybook/preview.ts index ad8e61d99..bfe81f431 100644 --- a/.storybook/preview.ts +++ b/.storybook/preview.ts @@ -9,10 +9,9 @@ import ConfirmationService from 'primevue/confirmationservice' import ToastService from 'primevue/toastservice' import Tooltip from 'primevue/tooltip' -import '../src/assets/css/style.css' -import GlobalDialog from '../src/components/dialog/GlobalDialog.vue' -import { i18n } from '../src/i18n' -import '../src/lib/litegraph/public/css/litegraph.css' +import '@/assets/css/style.css' +import { i18n } from '@/i18n' +import '@/lib/litegraph/public/css/litegraph.css' const ComfyUIPreset = definePreset(Aura, { semantic: { @@ -29,10 +28,6 @@ setup((app) => { const pinia = createPinia() app.use(pinia) - - // Register global components for dialogs - app.component('GlobalDialog', GlobalDialog) - app.use(i18n) app.use(PrimeVue, { theme: { @@ -64,19 +59,7 @@ export const withTheme = (Story: StoryFn, context: StoryContext) => { document.body.classList.remove('dark-theme') } - // Return story with GlobalDialog included - return { - components: { GlobalDialog }, - setup() { - return { storyResult: Story(context.args, context) } - }, - template: ` -
- - -
- ` - } + return Story(context.args, context) } const preview: Preview = {