[ci] clean up storybook config

This commit is contained in:
Arjan Singh
2025-09-16 11:26:09 -07:00
committed by Arjan Singh
parent 534ae71faa
commit d36999b9a6
2 changed files with 20 additions and 34 deletions

View File

@@ -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<typeof plugin> & { 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, {

View File

@@ -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: `
<div>
<component :is="storyResult" />
<GlobalDialog />
</div>
`
}
return Story(context.args, context)
}
const preview: Preview = {