From a5104be77c516e1d0445cd4ce88a28f57a43bc01 Mon Sep 17 00:00:00 2001 From: yuemori Date: Wed, 17 Apr 2024 14:07:15 +0900 Subject: [PATCH 1/2] Fix vite-builder prevent override of assetsInclude field by merging existing values --- code/builders/builder-vite/src/assetsInclude.ts | 15 +++++++++++++++ code/builders/builder-vite/src/vite-server.ts | 3 ++- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 code/builders/builder-vite/src/assetsInclude.ts diff --git a/code/builders/builder-vite/src/assetsInclude.ts b/code/builders/builder-vite/src/assetsInclude.ts new file mode 100644 index 000000000000..67373d8552d8 --- /dev/null +++ b/code/builders/builder-vite/src/assetsInclude.ts @@ -0,0 +1,15 @@ +import { InlineConfig as ViteInlineConfig } from 'vite'; + +export function getAssetsInclude(config: ViteInlineConfig, newPath: string[]): (string | RegExp)[] { + const { assetsInclude } = config; + + if (!assetsInclude) { + return newPath; + } + + if (Array.isArray(assetsInclude)) { + return [...assetsInclude, ...newPath]; + } else { + return [assetsInclude, ...newPath]; + } +} diff --git a/code/builders/builder-vite/src/vite-server.ts b/code/builders/builder-vite/src/vite-server.ts index 0b1e80435027..cfd3c4051a3e 100644 --- a/code/builders/builder-vite/src/vite-server.ts +++ b/code/builders/builder-vite/src/vite-server.ts @@ -3,6 +3,7 @@ import type { Options } from '@storybook/types'; import { commonConfig } from './vite-config'; import { getOptimizeDeps } from './optimizeDeps'; import { sanitizeEnvVars } from './envs'; +import { getAssetsInclude } from './assetsInclude'; export async function createViteServer(options: Options, devServer: Server) { const { presets } = options; @@ -12,7 +13,7 @@ export async function createViteServer(options: Options, devServer: Server) { const config = { ...commonCfg, // Needed in Vite 5: https://github.com/storybookjs/storybook/issues/25256 - assetsInclude: ['/sb-preview/**'], + assetsInclude: getAssetsInclude(commonCfg, ['/sb-preview/**']), // Set up dev server server: { middlewareMode: true, From 6d5ce326684b861b6292818b5d9cf3a017944ddc Mon Sep 17 00:00:00 2001 From: Norbert de Langen Date: Mon, 29 Apr 2024 15:25:29 +0200 Subject: [PATCH 2/2] fix linting --- code/builders/builder-vite/src/assetsInclude.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/builders/builder-vite/src/assetsInclude.ts b/code/builders/builder-vite/src/assetsInclude.ts index 67373d8552d8..b71388ea2d17 100644 --- a/code/builders/builder-vite/src/assetsInclude.ts +++ b/code/builders/builder-vite/src/assetsInclude.ts @@ -1,4 +1,4 @@ -import { InlineConfig as ViteInlineConfig } from 'vite'; +import type { InlineConfig as ViteInlineConfig } from 'vite'; export function getAssetsInclude(config: ViteInlineConfig, newPath: string[]): (string | RegExp)[] { const { assetsInclude } = config;