@storybook/builder-vite 7.0.0-beta.4 → 7.0.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -2,7 +2,17 @@ import { Builder, Options, StorybookConfig as StorybookConfig$1 } from '@storybo
2
2
  export { TypescriptOptions } from '@storybook/types';
3
3
  import { PluginOption, UserConfig, InlineConfig } from 'vite';
4
4
 
5
- declare const withoutVitePlugins: (plugins: PluginOption[] | undefined, namesToRemove: string[]) => PluginOption[];
5
+ /**
6
+ * Recursively removes all plugins with the names given
7
+ * Resolves async plugins
8
+ */
9
+ declare const withoutVitePlugins: (plugins: PluginOption[] | undefined, namesToRemove: string[]) => Promise<PluginOption[]>;
10
+
11
+ /**
12
+ * Returns true if ANY of the plugins in the array have a name that matches one of the names in the names array.
13
+ * Will resolve any promises in the array.
14
+ */
15
+ declare function hasVitePlugins(plugins: PluginOption[], names: string[]): Promise<boolean>;
6
16
 
7
17
  type ViteStats = {
8
18
  toJson: () => any;
@@ -24,4 +34,4 @@ declare function bail(e?: Error): Promise<void>;
24
34
  declare const start: ViteBuilder['start'];
25
35
  declare const build: ViteBuilder['build'];
26
36
 
27
- export { StorybookConfig, StorybookViteConfig, ViteBuilder, ViteFinal, ViteStats, bail, build, start, withoutVitePlugins };
37
+ export { StorybookConfig, StorybookViteConfig, ViteBuilder, ViteFinal, ViteStats, bail, build, hasVitePlugins, start, withoutVitePlugins };
package/dist/index.js CHANGED
@@ -1,18 +1,18 @@
1
- "use strict";var _e=Object.create;var S=Object.defineProperty;var De=Object.getOwnPropertyDescriptor;var Ie=Object.getOwnPropertyNames;var $e=Object.getPrototypeOf,Te=Object.prototype.hasOwnProperty;var Fe=(e,r)=>{for(var o in r)S(e,o,{get:r[o],enumerable:!0})},B=(e,r,o,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Ie(r))!Te.call(e,n)&&n!==o&&S(e,n,{get:()=>r[n],enumerable:!(t=De(r,n))||t.enumerable});return e};var a=(e,r,o)=>(o=e!=null?_e($e(e)):{},B(r||!e||!e.__esModule?S(o,"default",{value:e,enumerable:!0}):o,e)),Ne=e=>B(S({},"__esModule",{value:!0}),e);var rt={};Fe(rt,{bail:()=>Ae,build:()=>tt,start:()=>et,withoutVitePlugins:()=>H});module.exports=Ne(rt);var F=a(require("fs-extra")),Re=a(require("express")),d=require("path");var M=require("@storybook/core-common");async function C(e,r){let{configType:o,features:t,presets:n,serverChannelUrl:i,title:s}=r,c=await n.apply("frameworkOptions"),m=await n.apply("previewHead"),p=await n.apply("previewBody"),u=await n.apply("logLevel",void 0),f=await n.apply("docs"),E=await n.apply("core"),y=(0,M.normalizeStories)(await r.presets.apply("stories",[],r),{configDir:r.configDir,workingDir:process.cwd()}).map(x=>({...x,importPathMatcher:x.importPathMatcher.source}));return e.replace("<!-- [TITLE HERE] -->",s||"Storybook").replace("[CONFIG_TYPE HERE]",o||"").replace("[LOGLEVEL HERE]",u||"").replace("'[FRAMEWORK_OPTIONS HERE]'",JSON.stringify(c)).replace("'[CHANNEL_OPTIONS HERE]'",JSON.stringify(E&&E.channelOptions?E.channelOptions:{})).replace("'[FEATURES HERE]'",JSON.stringify(t||{})).replace("'[STORIES HERE]'",JSON.stringify(y||{})).replace("'[DOCS_OPTIONS HERE]'",JSON.stringify(f||{})).replace("'[SERVER_CHANNEL_URL HERE]'",JSON.stringify(i)).replace("<!-- [HEAD HTML SNIPPET HERE] -->",m||"").replace("<!-- [BODY HTML SNIPPET HERE] -->",p||"")}var Pe=require("vite");var he=a(require("path")),R=require("vite"),be=a(require("@vitejs/plugin-react")),Ee=a(require("rollup-plugin-external-globals")),A=require("@storybook/core-common"),xe=require("@storybook/preview/globals");var L=require("es-module-lexer"),z=a(require("magic-string")),q=require("vite"),Ve=[/\.stories\.([tj])sx?$/,/(stories|story).mdx$/],He=(0,q.createFilter)(Ve),J={name:"storybook:inject-export-order-plugin",enforce:"post",async transform(e,r){if(!He(r))return;let[,o]=await(0,L.parse)(e);if(o.includes("__namedExportsOrder"))return;let t=new z.default(e),n=o.filter(i=>i!=="default");return t.append(`;export const __namedExportsOrder = ${JSON.stringify(n)};`),{code:t.toString(),map:t.generateMap({hires:!0,source:r})}}};var U=require("vite"),Be=e=>e.endsWith("stories.mdx")||e.endsWith("story.mdx");function Me(e){return`
1
+ "use strict";var De=Object.create;var O=Object.defineProperty;var Ie=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var Fe=Object.getPrototypeOf,Ne=Object.prototype.hasOwnProperty;var $e=(e,r)=>{for(var n in r)O(e,n,{get:r[n],enumerable:!0})},M=(e,r,n,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of Te(r))!Ne.call(e,o)&&o!==n&&O(e,o,{get:()=>r[o],enumerable:!(t=Ie(r,o))||t.enumerable});return e};var s=(e,r,n)=>(n=e!=null?De(Fe(e)):{},M(r||!e||!e.__esModule?O(n,"default",{value:e,enumerable:!0}):n,e)),Ve=e=>M(O({},"__esModule",{value:!0}),e);var nt={};$e(nt,{bail:()=>_e,build:()=>ot,hasVitePlugins:()=>B,start:()=>rt,withoutVitePlugins:()=>H});module.exports=Ve(nt);var T=s(require("fs-extra")),Re=s(require("express")),d=require("path");var L=require("@storybook/core-common");async function x(e,r){let{configType:n,features:t,presets:o,serverChannelUrl:i,title:a}=r,l=await o.apply("frameworkOptions"),c=await o.apply("previewHead"),p=await o.apply("previewBody"),f=await o.apply("logLevel",void 0),y=await o.apply("docs"),u=await o.apply("core"),F=(0,L.normalizeStories)(await r.presets.apply("stories",[],r),{configDir:r.configDir,workingDir:process.cwd()}).map(g=>({...g,importPathMatcher:g.importPathMatcher.source}));return e.replace("<!-- [TITLE HERE] -->",a||"Storybook").replace("[CONFIG_TYPE HERE]",n||"").replace("[LOGLEVEL HERE]",f||"").replace("'[FRAMEWORK_OPTIONS HERE]'",JSON.stringify(l)).replace("'[CHANNEL_OPTIONS HERE]'",JSON.stringify(u&&u.channelOptions?u.channelOptions:{})).replace("'[FEATURES HERE]'",JSON.stringify(t||{})).replace("'[STORIES HERE]'",JSON.stringify(F||{})).replace("'[DOCS_OPTIONS HERE]'",JSON.stringify(y||{})).replace("'[SERVER_CHANNEL_URL HERE]'",JSON.stringify(i)).replace("<!-- [HEAD HTML SNIPPET HERE] -->",c||"").replace("<!-- [BODY HTML SNIPPET HERE] -->",p||"")}var ke=require("vite");var Ee=s(require("path")),k=require("vite"),Oe=s(require("rollup-plugin-external-globals")),A=require("@storybook/core-common"),xe=require("@storybook/preview/globals");var z=require("es-module-lexer"),q=s(require("magic-string")),J=require("vite"),He=[/\.stories\.([tj])sx?$/,/(stories|story).mdx$/],Be=(0,J.createFilter)(He),U={name:"storybook:inject-export-order-plugin",enforce:"post",async transform(e,r){if(!Be(r))return;let[,n]=await(0,z.parse)(e);if(n.includes("__namedExportsOrder"))return;let t=new q.default(e),o=n.filter(i=>i!=="default");return t.append(`;export const __namedExportsOrder = ${JSON.stringify(o)};`),{code:t.toString(),map:t.generateMap({hires:!0,source:r})}}};var G=require("vite"),W=s(require("@vitejs/plugin-react")),Me=e=>e.endsWith("stories.mdx")||e.endsWith("story.mdx");function Le(e){return`
2
2
  import React from 'react';
3
3
  ${e}
4
- `}function G(e){let r,t=(0,U.createFilter)(/\.mdx?$/);return{name:"storybook:mdx-plugin",enforce:"pre",configResolved({plugins:n}){r=n.filter(s=>s.name==="react-refresh"||s.name==="vite:react-babel"||s.name==="vite:react-refresh"||s.name==="vite:react-jsx").find(s=>s.transform)},async transform(n,i,s){if(!t(i))return;let{compile:c}=await import("@storybook/mdx2-csf"),m=await e.presets.apply("mdxLoaderOptions",{mdxCompileOptions:{providerImportSource:"@storybook/addon-docs/mdx-react-shim"}}),p=String(await c(n,{skipCsf:!Be(i),...m})),u=Me(p),f=r==null?void 0:r.transform,y=await(f&&"handler"in f?f.handler:f).call(this,u,`${i}.jsx`,s);if(!y)return u;if(typeof y=="string")return y;let{code:x,map:O}=y;return{code:x,map:!O||typeof O=="string"?O:{...O,sources:[i]}}}}}var W=require("vite"),Y=a(require("magic-string"));function K(){let e=(0,W.createFilter)(/\.stories\.([tj])sx?$/);return{name:"storybook:strip-hmr-boundary-plugin",enforce:"post",async transform(r,o){if(!e(o))return;let t=new Y.default(r);return t.replace(/import\.meta\.hot\.accept\(\);/,""),{code:t.toString(),map:t.generateMap({hires:!0,source:o})}}}}var ue=a(require("fs")),ye=require("vite");var te=require("@storybook/core-common");var h="/virtual:/@storybook/builder-vite/vite-app.js",l="/virtual:/@storybook/builder-vite/storybook-stories.js",g="/virtual:/@storybook/builder-vite/preview-entry.js",v="/virtual:/@storybook/builder-vite/setup-addons.js";var ee=require("path"),N=a(require("slash"));var Q=a(require("path")),X=require("vite");function Z(e){let r=e.split(`node_modules${Q.default.sep}`);return(0,X.normalizePath)(r[r.length-1])}function P(e){if(typeof e=="object")return e.bare;if((e==null?void 0:e.startsWith("./"))||(e==null?void 0:e.startsWith("../")))return(0,N.default)((0,ee.resolve)(e));if(!e)throw new Error("Could not determine path for previewAnnotation");return e.includes("node_modules")?Z(e):(0,N.default)(e)}async function re(e){let{presets:r}=e,o=await(0,te.getRendererName)(e),n=[...await r.apply("previewAnnotations",[],e)].filter(Boolean).map(P),i=(m,p)=>m.map((u,f)=>`import ${p?`* as ${p}_${f} from `:""}'${u}'`).join(`
5
- `),s=(m,p)=>new Array(p).fill(0).map((u,f)=>`${m}_${f}`);return`
4
+ `}var N=(0,W.default)({fastRefresh:!1}).find(e=>e.name==="vite:react-babel");function Y(e){let n=(0,G.createFilter)(/\.mdx?$/);return{name:"storybook:mdx-plugin",enforce:"pre",async transform(t,o,i){if(!n(o))return;let{compile:a}=await import("@storybook/mdx2-csf"),l=await e.presets.apply("mdxLoaderOptions",{mdxCompileOptions:{providerImportSource:"@storybook/addon-docs/mdx-react-shim"}}),c=String(await a(t,{skipCsf:!Me(o),...l})),p=Le(c),f=N==null?void 0:N.transform,u=await(f&&"handler"in f?f.handler:f).call(this,p,`${o}.jsx`,i);if(!u)return p;if(typeof u=="string")return u;let{code:F,map:g}=u;return{code:F,map:!g||typeof g=="string"?g:{...g,sources:[o]}}}}}var K=require("vite"),Q=s(require("magic-string"));function X(){let e=(0,K.createFilter)(/\.stories\.([tj])sx?$/);return{name:"storybook:strip-hmr-boundary-plugin",enforce:"post",async transform(r,n){if(!e(n))return;let t=new Q.default(r);return t.replace(/import\.meta\.hot\.accept\(\);/,""),{code:t.toString(),map:t.generateMap({hires:!0,source:n})}}}}var ye=s(require("fs")),ve=require("vite");var oe=require("@storybook/core-common");var b="/virtual:/@storybook/builder-vite/vite-app.js",m="/virtual:/@storybook/builder-vite/storybook-stories.js",v="/virtual:/@storybook/builder-vite/preview-entry.js",w="/virtual:/@storybook/builder-vite/setup-addons.js";var re=require("path"),$=s(require("slash"));var Z=s(require("path")),ee=require("vite");function te(e){let r=e.split(`node_modules${Z.default.sep}`);return(0,ee.normalizePath)(r[r.length-1])}function S(e){if(typeof e=="object")return e.bare;if((e==null?void 0:e.startsWith("./"))||(e==null?void 0:e.startsWith("../")))return(0,$.default)((0,re.resolve)(e));if(!e)throw new Error("Could not determine path for previewAnnotation");return e.includes("node_modules")?te(e):(0,$.default)(e)}async function ne(e){let{presets:r}=e,n=await(0,oe.getRendererName)(e),o=[...await r.apply("previewAnnotations",[],e)].filter(Boolean).map(S),i=(c,p)=>c.map((f,y)=>`import ${p?`* as ${p}_${y} from `:""}'${f}'`).join(`
5
+ `),a=(c,p)=>new Array(p).fill(0).map((f,y)=>`${c}_${y}`);return`
6
6
  // Ensure that the client API is initialized by the framework before any other iframe code
7
7
  // is loaded. That way our client-apis can assume the existence of the API+store
8
- import { configure } from '${o}';
8
+ import { configure } from '${n}';
9
9
 
10
10
  import { logger } from '@storybook/client-logger';
11
11
  import * as clientApi from "@storybook/preview-api";
12
- ${i(n,"config")}
12
+ ${i(o,"config")}
13
13
 
14
- import * as preview from '${g}';
15
- import { configStories } from '${l}';
14
+ import * as preview from '${v}';
15
+ import { configStories } from '${m}';
16
16
 
17
17
  const {
18
18
  addDecorator,
@@ -26,7 +26,7 @@
26
26
  setGlobalRender,
27
27
  } = previewApi;
28
28
 
29
- const configs = [${s("config",n.length).concat("preview.default").join(",")}].filter(Boolean)
29
+ const configs = [${a("config",o.length).concat("preview.default").join(",")}].filter(Boolean)
30
30
 
31
31
  configs.forEach(config => {
32
32
  Object.keys(config).forEach((key) => {
@@ -86,17 +86,17 @@
86
86
  */
87
87
 
88
88
  configStories(configure);
89
- `.trim()}var k=require("@storybook/core-common");async function oe(e){let{presets:r,configDir:o}=e,t=await(0,k.getFrameworkName)(e),n=(0,k.loadPreviewOrConfigFile)({configDir:o}),s=[...await r.apply("previewAnnotations",[],e),n].filter(Boolean).map(P),c=p=>p==="@storybook/web-components-vite"?`
89
+ `.trim()}var C=require("@storybook/core-common");async function ie(e){let{presets:r,configDir:n}=e,t=await(0,C.getFrameworkName)(e),o=(0,C.loadPreviewOrConfigFile)({configDir:n}),a=[...await r.apply("previewAnnotations",[],e),o].filter(Boolean).map(S),l=p=>p==="@storybook/web-components-vite"?`
90
90
  if (import.meta.hot) {
91
91
  import.meta.hot.decline();
92
92
  }`.trim():`
93
93
  if (import.meta.hot) {
94
- import.meta.hot.accept('${l}', (newModule) => {
94
+ import.meta.hot.accept('${m}', (newModule) => {
95
95
  // importFn has changed so we need to patch the new one in
96
96
  preview.onStoriesChanged({ importFn: newModule.importFn });
97
97
  });
98
98
 
99
- import.meta.hot.accept(${JSON.stringify(s)}, ([...newConfigEntries]) => {
99
+ import.meta.hot.accept(${JSON.stringify(a)}, ([...newConfigEntries]) => {
100
100
  const newGetProjectAnnotations = () => composeConfigs(newConfigEntries);
101
101
 
102
102
  // getProjectAnnotations has changed so we need to patch the new one in
@@ -104,11 +104,11 @@
104
104
  });
105
105
  }`.trim();return`
106
106
  import { composeConfigs, PreviewWeb, ClientApi } from '@storybook/preview-api';
107
- import '${v}';
108
- import { importFn } from '${l}';
107
+ import '${w}';
108
+ import { importFn } from '${m}';
109
109
 
110
110
  const getProjectAnnotations = async () => {
111
- const configs = await Promise.all([${s.map(p=>`import('${p}')`).join(`,
111
+ const configs = await Promise.all([${a.map(p=>`import('${p}')`).join(`,
112
112
  `)}])
113
113
  return composeConfigs(configs);
114
114
  }
@@ -121,34 +121,34 @@
121
121
 
122
122
  preview.initialize({ importFn, getProjectAnnotations });
123
123
 
124
- ${c(t)};
125
- `.trim()}var j=a(require("path")),se=require("vite"),ae=require("@storybook/node-logger");var b=a(require("path")),ne=require("glob-promise"),ie=require("@storybook/core-common");async function w(e){return(await Promise.all((0,ie.normalizeStories)(await e.presets.apply("stories",[],e),{configDir:e.configDir,workingDir:e.configDir}).map(({directory:r,files:o})=>{let t=b.join(r,o);return(0,ne.promise)(b.isAbsolute(t)?t:b.join(e.configDir,t),{follow:!0})}))).reduce((r,o)=>r.concat(o),[])}function Le(e){return e.startsWith("../")?e:`./${e}`}async function ze(e){return`
124
+ ${l(t)};
125
+ `.trim()}var P=s(require("path")),pe=require("vite"),le=require("@storybook/node-logger");var E=s(require("path")),se=require("glob-promise"),ae=require("@storybook/core-common");async function h(e){return(await Promise.all((0,ae.normalizeStories)(await e.presets.apply("stories",[],e),{configDir:e.configDir,workingDir:e.configDir}).map(({directory:r,files:n})=>{let t=E.join(r,n);return(0,se.promise)(E.isAbsolute(t)?t:E.join(e.configDir,t),{follow:!0})}))).reduce((r,n)=>r.concat(n),[])}function ze(e){return e.startsWith("../")?e:`./${e}`}async function qe(e){return`
126
126
  const importers = {
127
- ${e.map(o=>{let t=j.extname(o),n=(0,se.normalizePath)(j.relative(process.cwd(),o));return[".js",".jsx",".ts",".tsx",".mdx"].includes(t)||ae.logger.warn(`Cannot process ${t} file with storyStoreV7: ${n}`),` '${Le(n)}': async () => import('/@fs/${o}')`}).join(`,
127
+ ${e.map(n=>{let t=P.extname(n),o=(0,pe.normalizePath)(P.relative(process.cwd(),n));return[".js",".jsx",".ts",".tsx",".mdx"].includes(t)||le.logger.warn(`Cannot process ${t} file with storyStoreV7: ${o}`),` '${ze(o)}': async () => import('/@fs/${n}')`}).join(`,
128
128
  `)}
129
129
  };
130
130
 
131
131
  export async function importFn(path) {
132
132
  return importers[path]();
133
133
  }
134
- `}async function pe(e){let r=await w(e);return(await ze(r)).trim()}var ce=require("@storybook/core-common"),V=a(require("slash")),me=require("vite");var qe=(e,r)=>e.map((o,t)=>`import ${r?`* as ${r}_${t} from `:""}'/@fs/${(0,me.normalizePath)(o)}'`).join(`
135
- `);async function le(e){let r=await w(e),o=r.reduce((n,i)=>({...n,[i]:i.replace((0,V.default)(process.cwd()),".")}),{}),t=r.map((n,i)=>`${JSON.stringify(n)}: story_${i}`).join(",");return`
136
- ${qe(r,"story")}
134
+ `}async function ce(e){let r=await h(e);return(await qe(r)).trim()}var me=require("@storybook/core-common"),V=s(require("slash")),fe=require("vite");var Je=(e,r)=>e.map((n,t)=>`import ${r?`* as ${r}_${t} from `:""}'/@fs/${(0,fe.normalizePath)(n)}'`).join(`
135
+ `);async function de(e){let r=await h(e),n=r.reduce((o,i)=>({...o,[i]:i.replace((0,V.default)(process.cwd()),".")}),{}),t=r.map((o,i)=>`${JSON.stringify(o)}: story_${i}`).join(",");return`
136
+ ${Je(r,"story")}
137
137
 
138
138
  function loadable(key) {
139
139
  return {${t}}[key];
140
140
  }
141
141
 
142
142
  Object.assign(loadable, {
143
- keys: () => (${JSON.stringify(Object.keys(o))}),
144
- resolve: (key) => (${JSON.stringify(o)}[key])
143
+ keys: () => (${JSON.stringify(Object.keys(n))}),
144
+ resolve: (key) => (${JSON.stringify(n)}[key])
145
145
  });
146
146
 
147
147
  export function configStories(configure) {
148
148
  configure(loadable, { hot: import.meta.hot }, false);
149
149
  }
150
- `.trim()}async function fe({configDir:e}){let r=(0,ce.loadPreviewOrConfigFile)({configDir:e});return r?`import * as preview from '${(0,V.default)(r)}';
151
- export default preview;`:""}async function de(){return`
150
+ `.trim()}async function ue({configDir:e}){let r=(0,me.loadPreviewOrConfigFile)({configDir:e});return r?`import * as preview from '${(0,V.default)(r)}';
151
+ export default preview;`:""}async function ge(){return`
152
152
  import { createChannel as createPostMessageChannel } from '@storybook/channel-postmessage';
153
153
  import { createChannel as createWebSocketChannel } from '@storybook/channel-websocket';
154
154
  import { addons } from '@storybook/preview-api';
@@ -163,4 +163,4 @@
163
163
  addons.setServerChannel(serverChannel);
164
164
  window.__STORYBOOK_SERVER_CHANNEL__ = serverChannel;
165
165
  }
166
- `.trim()}function ge(e){let r=require.resolve("@storybook/builder-vite/input/iframe.html"),o;return{name:"storybook:code-generator-plugin",enforce:"pre",configureServer(t){t.watcher.on("change",()=>{let n=t.moduleGraph.getModuleById(h);n&&t.moduleGraph.invalidateModule(n);let i=t.moduleGraph.getModuleById(l);i&&t.moduleGraph.invalidateModule(i)}),t.watcher.on("add",n=>{(/\.stories\.([tj])sx?$/.test(n)||/\.(story|stories).mdx$/.test(n))&&t.watcher.emit("change",l)})},config(t,{command:n}){n==="build"&&(t.build||(t.build={}),t.build.rollupOptions={...t.build.rollupOptions,input:r});try{require.resolve("react-dom/client",{paths:[t.root||process.cwd()]})}catch(i){Je(i)&&i.code==="MODULE_NOT_FOUND"&&(t.resolve=(0,ye.mergeConfig)(t.resolve??{},{alias:{"react-dom/client":require.resolve("@storybook/builder-vite/input/react-dom-client-placeholder.js")}}))}},configResolved(t){o=`${t.root}/iframe.html`},resolveId(t){if(t===h)return h;if(t===r)return o;if(t===l)return l;if(t===g)return g;if(t===v)return v},async load(t){var i;let n=(i=e.features)==null?void 0:i.storyStoreV7;if(t===l)return n?pe(e):le(e);if(t===v)return de();if(t===g&&!n)return fe(e);if(t===h)return n?oe(e):re(e);if(t===o)return ue.readFileSync(require.resolve("@storybook/builder-vite/input/iframe.html"),"utf-8")},async transformIndexHtml(t,n){if(n.path==="/iframe.html")return C(t,e)}}}var Je=e=>e instanceof Error;var ve=require("@storybook/csf-plugin");async function we(e){var n;let{presets:r}=e,t=((n=(await r.apply("addons",[])).find(i=>[i,i.name].includes("@storybook/addon-docs")))==null?void 0:n.options)??{};return(0,ve.vite)(t==null?void 0:t.csfPluginOptions)}var Ue={mode:"development",command:"serve",ssrBuild:!1},Ge={mode:"production",command:"build",ssrBuild:!1};async function _(e,r){let o=r==="development"?Ue:Ge,{config:{build:t=void 0,...n}={}}=await(0,R.loadConfigFromFile)(o)??{},i={configFile:!1,cacheDir:"node_modules/.cache/.vite-storybook",root:he.resolve(e.configDir,".."),base:"./",plugins:await We(e),resolve:{preserveSymlinks:(0,A.isPreservingSymlinks)(),alias:{assert:require.resolve("browser-assert")}},envPrefix:n.envPrefix?"STORYBOOK_":["VITE_","STORYBOOK_"]};return(0,R.mergeConfig)(n,i)}async function We(e){let r=await(0,A.getFrameworkName)(e),o=[ge(e),await we(e),G(e),J,K(),{name:"storybook:allow-storybook-dir",enforce:"post",config(t){var n,i;(i=(n=t==null?void 0:t.server)==null?void 0:n.fs)!=null&&i.allow&&t.server.fs.allow.push(".storybook")}},(0,Ee.default)(xe.globals)];if(r!=="@storybook/react-vite"&&o.push((0,be.default)({exclude:[/\.stories\.([tj])sx?$/,/node_modules/,/\.([tj])sx?$/]})),r==="@storybook/preact-vite"&&o.push(require("@preact/preset-vite").default()),r==="@storybook/glimmerx-vite"){let t=require("vite-plugin-glimmerx/index.cjs");o.push(t.default())}return o}var Oe=a(require("path")),D=require("vite");var Ye=["@base2/pretty-print-object","@emotion/core","@emotion/is-prop-valid","@emotion/styled","@mdx-js/react","@storybook/addon-docs > acorn-jsx","@storybook/addon-docs","@storybook/channel-postmessage","@storybook/channel-websocket","@storybook/client-api","@storybook/client-logger","@storybook/core/client","@storybook/preview-api","@storybook/preview-web","@storybook/react > acorn-jsx","@storybook/react","@storybook/svelte","@storybook/types","@storybook/vue3","acorn-jsx","acorn-walk","acorn","airbnb-js-shims","ansi-to-html","axe-core","color-convert","deep-object-diff","doctrine","emotion-theming","escodegen","estraverse","fast-deep-equal","global","html-tags","isobject","jest-mock","loader-utils","lodash/cloneDeep","lodash/isFunction","lodash/isPlainObject","lodash/isString","lodash/mapKeys","lodash/mapValues","lodash/pick","lodash/pickBy","lodash/startCase","lodash/throttle","lodash/uniq","markdown-to-jsx","memoizerific","overlayscrollbars","polished","prettier/parser-babel","prettier/parser-flow","prettier/parser-typescript","prop-types","qs","react-dom","react-dom/client","react-fast-compare","react-is","react-textarea-autosize","react","react/jsx-runtime","refractor/core","refractor/lang/bash.js","refractor/lang/css.js","refractor/lang/graphql.js","refractor/lang/js-extras.js","refractor/lang/json.js","refractor/lang/jsx.js","refractor/lang/markdown.js","refractor/lang/markup.js","refractor/lang/tsx.js","refractor/lang/typescript.js","refractor/lang/yaml.js","regenerator-runtime/runtime.js","slash","store2","synchronous-promise","telejson","ts-dedent","unfetch","util-deprecate","uuid-browser/v4","vue","warning"],Ke=async(e,r)=>Promise.all(e.map(r)).then(o=>e.filter((t,n)=>o[n]));async function Se(e,r){let{root:o=process.cwd()}=e,n=(await w(r)).map(p=>(0,D.normalizePath)(Oe.relative(o,p))),s=(await(0,D.resolveConfig)(e,"serve","development")).createResolver({asSrc:!1}),c=await Ke(Ye,async p=>Boolean(await s(p)));return{entries:n,include:c}}var Ce=require("@storybook/core-common"),Qe=["STORYBOOK","BASE_URL","MODE","DEV","PROD","SSR"];function Xe(e,r){let o={},t=Object.entries(e).reduce((n,[i,s])=>((Qe.includes(i)||Array.isArray(r)&&!!r.find(c=>i.startsWith(c))||typeof r=="string"&&i.startsWith(r))&&(n[`import.meta.env.${i}`]=JSON.stringify(s),o[i]=s),n),{});return t["import.meta.env"]=JSON.stringify((0,Ce.stringifyEnvs)(o)),t}async function I(e,r){let{presets:o}=e,t=await o.apply("env"),{define:n}=r;if(Object.keys(t).length){let i=Xe(t,r.envPrefix);n={...n,...i}}return{...r,define:n}}async function ke(e,r){let{presets:o}=e,t=await _(e,"development"),n={...t,server:{middlewareMode:!0,hmr:{port:e.port,server:r},fs:{strict:!0}},appType:"custom",optimizeDeps:await Se(t,e)},i=await o.apply("viteFinal",n,e);return(0,Pe.createServer)(await I(e,i))}var $=require("vite");async function je(e){let{presets:r}=e,o=await _(e,"build");o.build=(0,$.mergeConfig)(o,{build:{outDir:e.outputDir,emptyOutDir:!1,sourcemap:!0,rollupOptions:{external:["/sb-preview/runtime.mjs"]}}}).build;let t=await r.apply("viteFinal",o,e);await(0,$.build)(await I(e,t))}var H=(e=[],r)=>e.map(o=>Array.isArray(o)?H(o,r):o&&"name"in o&&r.includes(o.name)?!1:o);function Ze(e,r){return async(o,t,n)=>{if(!o.url.match(/^\/iframe\.html($|\?)/)){n();return}if(o.query["html-proxy"]!==void 0){n();return}let i=await F.readFile(require.resolve("@storybook/builder-vite/input/iframe.html"),"utf-8"),s=await C(i,e),c=await r.transformIndexHtml("/iframe.html",s);t.setHeader("Content-Type","text/html"),t.status(200).send(c)}}var T;async function Ae(e){try{return await T.close()}catch{console.warn("unable to close vite server")}throw e}var et=async({startTime:e,options:r,router:o,server:t})=>{T=await ke(r,t);let n=(0,d.dirname)(require.resolve("@storybook/preview/package.json")),i=(0,d.join)(n,"dist");return o.use("/sb-preview",Re.default.static(i,{immutable:!0,maxAge:"5m"})),o.use(Ze(r,T)),o.use(T.middlewares),{bail:Ae,stats:{toJson:()=>null},totalTime:process.hrtime(e)}},tt=async({options:e})=>{let r=je(e),o=(0,d.dirname)(require.resolve("@storybook/preview/package.json")),t=(0,d.join)(o,"dist"),n=(0,d.join)(e.outputDir||"","sb-preview"),i=F.copy(t,n,{filter:c=>{let{ext:m}=(0,d.parse)(c);return m?m===".mjs":!0}}),[s]=await Promise.all([r,i]);return s};0&&(module.exports={bail,build,start,withoutVitePlugins});
166
+ `.trim()}function we(e){let r=require.resolve("@storybook/builder-vite/input/iframe.html"),n;return{name:"storybook:code-generator-plugin",enforce:"pre",configureServer(t){t.watcher.on("change",()=>{let o=t.moduleGraph.getModuleById(b);o&&t.moduleGraph.invalidateModule(o);let i=t.moduleGraph.getModuleById(m);i&&t.moduleGraph.invalidateModule(i)}),t.watcher.on("add",o=>{(/\.stories\.([tj])sx?$/.test(o)||/\.(story|stories).mdx$/.test(o))&&t.watcher.emit("change",m)})},config(t,{command:o}){o==="build"&&(t.build||(t.build={}),t.build.rollupOptions={...t.build.rollupOptions,input:r});try{require.resolve("react-dom/client",{paths:[t.root||process.cwd()]})}catch(i){Ue(i)&&i.code==="MODULE_NOT_FOUND"&&(t.resolve=(0,ve.mergeConfig)(t.resolve??{},{alias:{"react-dom/client":require.resolve("@storybook/builder-vite/input/react-dom-client-placeholder.js")}}))}},configResolved(t){n=`${t.root}/iframe.html`},resolveId(t){if(t===b)return b;if(t===r)return n;if(t===m)return m;if(t===v)return v;if(t===w)return w},async load(t){var i;let o=(i=e.features)==null?void 0:i.storyStoreV7;if(t===m)return o?ce(e):de(e);if(t===w)return ge();if(t===v&&!o)return ue(e);if(t===b)return o?ie(e):ne(e);if(t===n)return ye.readFileSync(require.resolve("@storybook/builder-vite/input/iframe.html"),"utf-8")},async transformIndexHtml(t,o){if(o.path==="/iframe.html")return x(t,e)}}}var Ue=e=>e instanceof Error;var he=require("@storybook/csf-plugin");async function be(e){var o;let{presets:r}=e,t=((o=(await r.apply("addons",[])).find(i=>[i,i.name].includes("@storybook/addon-docs")))==null?void 0:o.options)??{};return(0,he.vite)(t==null?void 0:t.csfPluginOptions)}var Ge={mode:"development",command:"serve",ssrBuild:!1},We={mode:"production",command:"build",ssrBuild:!1};async function j(e,r){let n=r==="development"?Ge:We,{config:{build:t=void 0,...o}={}}=await(0,k.loadConfigFromFile)(n)??{},i={configFile:!1,cacheDir:"node_modules/.cache/.vite-storybook",root:Ee.resolve(e.configDir,".."),base:"./",plugins:await Ye(e),resolve:{preserveSymlinks:(0,A.isPreservingSymlinks)(),alias:{assert:require.resolve("browser-assert")}},envPrefix:o.envPrefix?"STORYBOOK_":["VITE_","STORYBOOK_"]};return(0,k.mergeConfig)(o,i)}async function Ye(e){let r=await(0,A.getFrameworkName)(e),n=[we(e),await be(e),Y(e),U,X(),{name:"storybook:allow-storybook-dir",enforce:"post",config(t){var o,i;(i=(o=t==null?void 0:t.server)==null?void 0:o.fs)!=null&&i.allow&&t.server.fs.allow.push(".storybook")}},(0,Oe.default)(xe.globals)];if(r==="@storybook/preact-vite"&&n.push(require("@preact/preset-vite").default()),r==="@storybook/glimmerx-vite"){let t=require("vite-plugin-glimmerx/index.cjs");n.push(t.default())}return n}var Se=s(require("path")),R=require("vite");var Ke=["@base2/pretty-print-object","@emotion/core","@emotion/is-prop-valid","@emotion/styled","@mdx-js/react","@storybook/addon-docs > acorn-jsx","@storybook/addon-docs","@storybook/channel-postmessage","@storybook/channel-websocket","@storybook/client-api","@storybook/client-logger","@storybook/core/client","@storybook/preview-api","@storybook/preview-web","@storybook/react > acorn-jsx","@storybook/react","@storybook/svelte","@storybook/types","@storybook/vue3","acorn-jsx","acorn-walk","acorn","airbnb-js-shims","ansi-to-html","axe-core","color-convert","deep-object-diff","doctrine","emotion-theming","escodegen","estraverse","fast-deep-equal","global","html-tags","isobject","jest-mock","loader-utils","lodash/cloneDeep","lodash/isFunction","lodash/isPlainObject","lodash/isString","lodash/mapKeys","lodash/mapValues","lodash/pick","lodash/pickBy","lodash/startCase","lodash/throttle","lodash/uniq","markdown-to-jsx","memoizerific","overlayscrollbars","polished","prettier/parser-babel","prettier/parser-flow","prettier/parser-typescript","prop-types","qs","react-dom","react-dom/client","react-fast-compare","react-is","react-textarea-autosize","react","react/jsx-runtime","refractor/core","refractor/lang/bash.js","refractor/lang/css.js","refractor/lang/graphql.js","refractor/lang/js-extras.js","refractor/lang/json.js","refractor/lang/jsx.js","refractor/lang/markdown.js","refractor/lang/markup.js","refractor/lang/tsx.js","refractor/lang/typescript.js","refractor/lang/yaml.js","regenerator-runtime/runtime.js","slash","store2","synchronous-promise","telejson","ts-dedent","unfetch","util-deprecate","uuid-browser/v4","vue","warning"],Qe=async(e,r)=>Promise.all(e.map(r)).then(n=>e.filter((t,o)=>n[o]));async function Ce(e,r){let{root:n=process.cwd()}=e,o=(await h(r)).map(p=>(0,R.normalizePath)(Se.relative(n,p))),a=(await(0,R.resolveConfig)(e,"serve","development")).createResolver({asSrc:!1}),l=await Qe(Ke,async p=>Boolean(await a(p)));return{entries:o,include:l}}var Pe=require("@storybook/core-common"),Xe=["STORYBOOK","BASE_URL","MODE","DEV","PROD","SSR"];function Ze(e,r){let n={},t=Object.entries(e).reduce((o,[i,a])=>((Xe.includes(i)||Array.isArray(r)&&!!r.find(l=>i.startsWith(l))||typeof r=="string"&&i.startsWith(r))&&(o[`import.meta.env.${i}`]=JSON.stringify(a),n[i]=a),o),{});return t["import.meta.env"]=JSON.stringify((0,Pe.stringifyEnvs)(n)),t}async function _(e,r){let{presets:n}=e,t=await n.apply("env"),{define:o}=r;if(Object.keys(t).length){let i=Ze(t,r.envPrefix);o={...o,...i}}return{...r,define:o}}async function Ae(e,r){let{presets:n}=e,t=await j(e,"development"),o={...t,server:{middlewareMode:!0,hmr:{port:e.port,server:r},fs:{strict:!0}},appType:"custom",optimizeDeps:await Ce(t,e)},i=await n.apply("viteFinal",o,e);return(0,ke.createServer)(await _(e,i))}var D=require("vite");async function je(e){let{presets:r}=e,n=await j(e,"build");n.build=(0,D.mergeConfig)(n,{build:{outDir:e.outputDir,emptyOutDir:!1,sourcemap:!0,rollupOptions:{external:["/sb-preview/runtime.mjs"]}}}).build;let t=await r.apply("viteFinal",n,e);await(0,D.build)(await _(e,t))}var H=async(e=[],r)=>{let n=[],t=await Promise.all(e);for(let o of t)Array.isArray(o)&&n.push(await H(o,r)),o&&"name"in o&&!r.includes(o.name)&&n.push(o);return n};function et(e,r){return e!==null&&typeof e=="object"&&"name"in e&&r.includes(e.name)}async function B(e,r){let n=await Promise.all(e);for(let t of n)if(Array.isArray(t)&&Boolean(await B(t,r))||et(t,r))return!0;return!1}function tt(e,r){return async(n,t,o)=>{if(!n.url.match(/^\/iframe\.html($|\?)/)){o();return}if(n.query["html-proxy"]!==void 0){o();return}let i=await T.readFile(require.resolve("@storybook/builder-vite/input/iframe.html"),"utf-8"),a=await x(i,e),l=await r.transformIndexHtml("/iframe.html",a);t.setHeader("Content-Type","text/html"),t.status(200).send(l)}}var I;async function _e(e){try{return await I.close()}catch{console.warn("unable to close vite server")}throw e}var rt=async({startTime:e,options:r,router:n,server:t})=>{I=await Ae(r,t);let o=(0,d.dirname)(require.resolve("@storybook/preview/package.json")),i=(0,d.join)(o,"dist");return n.use("/sb-preview",Re.default.static(i,{immutable:!0,maxAge:"5m"})),n.use(tt(r,I)),n.use(I.middlewares),{bail:_e,stats:{toJson:()=>null},totalTime:process.hrtime(e)}},ot=async({options:e})=>{let r=je(e),n=(0,d.dirname)(require.resolve("@storybook/preview/package.json")),t=(0,d.join)(n,"dist"),o=(0,d.join)(e.outputDir||"","sb-preview"),i=T.copy(t,o,{filter:l=>{let{ext:c}=(0,d.parse)(l);return c?c===".mjs":!0}}),[a]=await Promise.all([r,i]);return a};0&&(module.exports={bail,build,hasVitePlugins,start,withoutVitePlugins});
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
- var __require=(x=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(x,{get:(a,b)=>(typeof require!="undefined"?require:a)[b]}):x)(function(x){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+x+'" is not supported')});import*as fs2 from"fs-extra";import express from"express";import{dirname,join as join2,parse as parse2}from"path";import{normalizeStories}from"@storybook/core-common";async function transformIframeHtml(html,options){let{configType,features,presets,serverChannelUrl,title}=options,frameworkOptions=await presets.apply("frameworkOptions"),headHtmlSnippet=await presets.apply("previewHead"),bodyHtmlSnippet=await presets.apply("previewBody"),logLevel=await presets.apply("logLevel",void 0),docsOptions=await presets.apply("docs"),coreOptions=await presets.apply("core"),stories=normalizeStories(await options.presets.apply("stories",[],options),{configDir:options.configDir,workingDir:process.cwd()}).map(specifier=>({...specifier,importPathMatcher:specifier.importPathMatcher.source}));return html.replace("<!-- [TITLE HERE] -->",title||"Storybook").replace("[CONFIG_TYPE HERE]",configType||"").replace("[LOGLEVEL HERE]",logLevel||"").replace("'[FRAMEWORK_OPTIONS HERE]'",JSON.stringify(frameworkOptions)).replace("'[CHANNEL_OPTIONS HERE]'",JSON.stringify(coreOptions&&coreOptions.channelOptions?coreOptions.channelOptions:{})).replace("'[FEATURES HERE]'",JSON.stringify(features||{})).replace("'[STORIES HERE]'",JSON.stringify(stories||{})).replace("'[DOCS_OPTIONS HERE]'",JSON.stringify(docsOptions||{})).replace("'[SERVER_CHANNEL_URL HERE]'",JSON.stringify(serverChannelUrl)).replace("<!-- [HEAD HTML SNIPPET HERE] -->",headHtmlSnippet||"").replace("<!-- [BODY HTML SNIPPET HERE] -->",bodyHtmlSnippet||"")}import{createServer}from"vite";import*as path4 from"path";import{loadConfigFromFile,mergeConfig as mergeConfig2}from"vite";import viteReact from"@vitejs/plugin-react";import externalGlobals from"rollup-plugin-external-globals";import{isPreservingSymlinks,getFrameworkName as getFrameworkName2}from"@storybook/core-common";import{globals}from"@storybook/preview/globals";import{parse}from"es-module-lexer";import MagicString from"magic-string";import{createFilter}from"vite";var include=[/\.stories\.([tj])sx?$/,/(stories|story).mdx$/],filter=createFilter(include),injectExportOrderPlugin={name:"storybook:inject-export-order-plugin",enforce:"post",async transform(code,id){if(!filter(id))return;let[,exports]=await parse(code);if(exports.includes("__namedExportsOrder"))return;let s=new MagicString(code),orderedExports=exports.filter(e=>e!=="default");return s.append(`;export const __namedExportsOrder = ${JSON.stringify(orderedExports)};`),{code:s.toString(),map:s.generateMap({hires:!0,source:id})}}};import{createFilter as createFilter2}from"vite";var isStorybookMdx=id=>id.endsWith("stories.mdx")||id.endsWith("story.mdx");function injectRenderer(code){return`
1
+ var __require=(x=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof require<"u"?require:a)[b]}):x)(function(x){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+x+'" is not supported')});import*as fs2 from"fs-extra";import express from"express";import{dirname,join as join2,parse as parse2}from"path";import{normalizeStories}from"@storybook/core-common";async function transformIframeHtml(html,options){let{configType,features,presets,serverChannelUrl,title}=options,frameworkOptions=await presets.apply("frameworkOptions"),headHtmlSnippet=await presets.apply("previewHead"),bodyHtmlSnippet=await presets.apply("previewBody"),logLevel=await presets.apply("logLevel",void 0),docsOptions=await presets.apply("docs"),coreOptions=await presets.apply("core"),stories=normalizeStories(await options.presets.apply("stories",[],options),{configDir:options.configDir,workingDir:process.cwd()}).map(specifier=>({...specifier,importPathMatcher:specifier.importPathMatcher.source}));return html.replace("<!-- [TITLE HERE] -->",title||"Storybook").replace("[CONFIG_TYPE HERE]",configType||"").replace("[LOGLEVEL HERE]",logLevel||"").replace("'[FRAMEWORK_OPTIONS HERE]'",JSON.stringify(frameworkOptions)).replace("'[CHANNEL_OPTIONS HERE]'",JSON.stringify(coreOptions&&coreOptions.channelOptions?coreOptions.channelOptions:{})).replace("'[FEATURES HERE]'",JSON.stringify(features||{})).replace("'[STORIES HERE]'",JSON.stringify(stories||{})).replace("'[DOCS_OPTIONS HERE]'",JSON.stringify(docsOptions||{})).replace("'[SERVER_CHANNEL_URL HERE]'",JSON.stringify(serverChannelUrl)).replace("<!-- [HEAD HTML SNIPPET HERE] -->",headHtmlSnippet||"").replace("<!-- [BODY HTML SNIPPET HERE] -->",bodyHtmlSnippet||"")}import{createServer}from"vite";import*as path4 from"path";import{loadConfigFromFile,mergeConfig as mergeConfig2}from"vite";import externalGlobals from"rollup-plugin-external-globals";import{isPreservingSymlinks,getFrameworkName as getFrameworkName2}from"@storybook/core-common";import{globals}from"@storybook/preview/globals";import{parse}from"es-module-lexer";import MagicString from"magic-string";import{createFilter}from"vite";var include=[/\.stories\.([tj])sx?$/,/(stories|story).mdx$/],filter=createFilter(include),injectExportOrderPlugin={name:"storybook:inject-export-order-plugin",enforce:"post",async transform(code,id){if(!filter(id))return;let[,exports]=await parse(code);if(exports.includes("__namedExportsOrder"))return;let s=new MagicString(code),orderedExports=exports.filter(e=>e!=="default");return s.append(`;export const __namedExportsOrder = ${JSON.stringify(orderedExports)};`),{code:s.toString(),map:s.generateMap({hires:!0,source:id})}}};import{createFilter as createFilter2}from"vite";import reactVite from"@vitejs/plugin-react";var isStorybookMdx=id=>id.endsWith("stories.mdx")||id.endsWith("story.mdx");function injectRenderer(code){return`
2
2
  import React from 'react';
3
3
  ${code}
4
- `}function mdxPlugin(options){let reactRefresh,filter2=createFilter2(/\.mdx?$/);return{name:"storybook:mdx-plugin",enforce:"pre",configResolved({plugins}){reactRefresh=plugins.filter(p=>p.name==="react-refresh"||p.name==="vite:react-babel"||p.name==="vite:react-refresh"||p.name==="vite:react-jsx").find(p=>p.transform)},async transform(src,id,transformOptions){if(!filter2(id))return;let{compile}=await import("@storybook/mdx2-csf"),mdxLoaderOptions=await options.presets.apply("mdxLoaderOptions",{mdxCompileOptions:{providerImportSource:"@storybook/addon-docs/mdx-react-shim"}}),mdxCode=String(await compile(src,{skipCsf:!isStorybookMdx(id),...mdxLoaderOptions})),modifiedCode=injectRenderer(mdxCode),rTransform=reactRefresh?.transform,result=await(rTransform&&"handler"in rTransform?rTransform.handler:rTransform).call(this,modifiedCode,`${id}.jsx`,transformOptions);if(!result)return modifiedCode;if(typeof result=="string")return result;let{code,map:resultMap}=result;return{code,map:!resultMap||typeof resultMap=="string"?resultMap:{...resultMap,sources:[id]}}}}}import{createFilter as createFilter3}from"vite";import MagicString2 from"magic-string";function stripStoryHMRBoundary(){let filter2=createFilter3(/\.stories\.([tj])sx?$/);return{name:"storybook:strip-hmr-boundary-plugin",enforce:"post",async transform(src,id){if(!filter2(id))return;let s=new MagicString2(src);return s.replace(/import\.meta\.hot\.accept\(\);/,""),{code:s.toString(),map:s.generateMap({hires:!0,source:id})}}}}import*as fs from"fs";import{mergeConfig}from"vite";import{getRendererName}from"@storybook/core-common";var virtualFileId="/virtual:/@storybook/builder-vite/vite-app.js",virtualStoriesFile="/virtual:/@storybook/builder-vite/storybook-stories.js",virtualPreviewFile="/virtual:/@storybook/builder-vite/preview-entry.js",virtualAddonSetupFile="/virtual:/@storybook/builder-vite/setup-addons.js";import{resolve}from"path";import slash from"slash";import path from"path";import{normalizePath}from"vite";function transformAbsPath(absPath){let splits=absPath.split(`node_modules${path.sep}`);return normalizePath(splits[splits.length-1])}function processPreviewAnnotation(path6){if(typeof path6=="object")return path6.bare;if(path6?.startsWith("./")||path6?.startsWith("../"))return slash(resolve(path6));if(!path6)throw new Error("Could not determine path for previewAnnotation");return path6.includes("node_modules")?transformAbsPath(path6):slash(path6)}async function generateIframeScriptCode(options){let{presets}=options,rendererName=await getRendererName(options),configEntries=[...await presets.apply("previewAnnotations",[],options)].filter(Boolean).map(processPreviewAnnotation),filesToImport=(files,name)=>files.map((el,i)=>`import ${name?`* as ${name}_${i} from `:""}'${el}'`).join(`
4
+ `}var viteBabel=reactVite({fastRefresh:!1}).find(p=>p.name==="vite:react-babel");function mdxPlugin(options){let filter2=createFilter2(/\.mdx?$/);return{name:"storybook:mdx-plugin",enforce:"pre",async transform(src,id,transformOptions){if(!filter2(id))return;let{compile}=await import("@storybook/mdx2-csf"),mdxLoaderOptions=await options.presets.apply("mdxLoaderOptions",{mdxCompileOptions:{providerImportSource:"@storybook/addon-docs/mdx-react-shim"}}),mdxCode=String(await compile(src,{skipCsf:!isStorybookMdx(id),...mdxLoaderOptions})),modifiedCode=injectRenderer(mdxCode),rTransform=viteBabel?.transform,result=await(rTransform&&"handler"in rTransform?rTransform.handler:rTransform).call(this,modifiedCode,`${id}.jsx`,transformOptions);if(!result)return modifiedCode;if(typeof result=="string")return result;let{code,map:resultMap}=result;return{code,map:!resultMap||typeof resultMap=="string"?resultMap:{...resultMap,sources:[id]}}}}}import{createFilter as createFilter3}from"vite";import MagicString2 from"magic-string";function stripStoryHMRBoundary(){let filter2=createFilter3(/\.stories\.([tj])sx?$/);return{name:"storybook:strip-hmr-boundary-plugin",enforce:"post",async transform(src,id){if(!filter2(id))return;let s=new MagicString2(src);return s.replace(/import\.meta\.hot\.accept\(\);/,""),{code:s.toString(),map:s.generateMap({hires:!0,source:id})}}}}import*as fs from"fs";import{mergeConfig}from"vite";import{getRendererName}from"@storybook/core-common";var virtualFileId="/virtual:/@storybook/builder-vite/vite-app.js",virtualStoriesFile="/virtual:/@storybook/builder-vite/storybook-stories.js",virtualPreviewFile="/virtual:/@storybook/builder-vite/preview-entry.js",virtualAddonSetupFile="/virtual:/@storybook/builder-vite/setup-addons.js";import{resolve}from"path";import slash from"slash";import path from"path";import{normalizePath}from"vite";function transformAbsPath(absPath){let splits=absPath.split(`node_modules${path.sep}`);return normalizePath(splits[splits.length-1])}function processPreviewAnnotation(path6){if(typeof path6=="object")return path6.bare;if(path6?.startsWith("./")||path6?.startsWith("../"))return slash(resolve(path6));if(!path6)throw new Error("Could not determine path for previewAnnotation");return path6.includes("node_modules")?transformAbsPath(path6):slash(path6)}async function generateIframeScriptCode(options){let{presets}=options,rendererName=await getRendererName(options),configEntries=[...await presets.apply("previewAnnotations",[],options)].filter(Boolean).map(processPreviewAnnotation),filesToImport=(files,name)=>files.map((el,i)=>`import ${name?`* as ${name}_${i} from `:""}'${el}'`).join(`
5
5
  `),importArray=(name,length)=>new Array(length).fill(0).map((_,i)=>`${name}_${i}`);return`
6
6
  // Ensure that the client API is initialized by the framework before any other iframe code
7
7
  // is loaded. That way our client-apis can assume the existence of the API+store
@@ -163,4 +163,4 @@ var __require=(x=>typeof require!="undefined"?require:typeof Proxy!="undefined"?
163
163
  addons.setServerChannel(serverChannel);
164
164
  window.__STORYBOOK_SERVER_CHANNEL__ = serverChannel;
165
165
  }
166
- `.trim()}function codeGeneratorPlugin(options){let iframePath=__require.resolve("@storybook/builder-vite/input/iframe.html"),iframeId;return{name:"storybook:code-generator-plugin",enforce:"pre",configureServer(server2){server2.watcher.on("change",()=>{let appModule=server2.moduleGraph.getModuleById(virtualFileId);appModule&&server2.moduleGraph.invalidateModule(appModule);let storiesModule=server2.moduleGraph.getModuleById(virtualStoriesFile);storiesModule&&server2.moduleGraph.invalidateModule(storiesModule)}),server2.watcher.on("add",path6=>{(/\.stories\.([tj])sx?$/.test(path6)||/\.(story|stories).mdx$/.test(path6))&&server2.watcher.emit("change",virtualStoriesFile)})},config(config,{command}){command==="build"&&(config.build||(config.build={}),config.build.rollupOptions={...config.build.rollupOptions,input:iframePath});try{__require.resolve("react-dom/client",{paths:[config.root||process.cwd()]})}catch(e){isNodeError(e)&&e.code==="MODULE_NOT_FOUND"&&(config.resolve=mergeConfig(config.resolve??{},{alias:{"react-dom/client":__require.resolve("@storybook/builder-vite/input/react-dom-client-placeholder.js")}}))}},configResolved(config){iframeId=`${config.root}/iframe.html`},resolveId(source){if(source===virtualFileId)return virtualFileId;if(source===iframePath)return iframeId;if(source===virtualStoriesFile)return virtualStoriesFile;if(source===virtualPreviewFile)return virtualPreviewFile;if(source===virtualAddonSetupFile)return virtualAddonSetupFile},async load(id){let storyStoreV7=options.features?.storyStoreV7;if(id===virtualStoriesFile)return storyStoreV7?generateImportFnScriptCode(options):generateVirtualStoryEntryCode(options);if(id===virtualAddonSetupFile)return generateAddonSetupCode();if(id===virtualPreviewFile&&!storyStoreV7)return generatePreviewEntryCode(options);if(id===virtualFileId)return storyStoreV7?generateModernIframeScriptCode(options):generateIframeScriptCode(options);if(id===iframeId)return fs.readFileSync(__require.resolve("@storybook/builder-vite/input/iframe.html"),"utf-8")},async transformIndexHtml(html,ctx){if(ctx.path==="/iframe.html")return transformIframeHtml(html,options)}}}var isNodeError=error=>error instanceof Error;import{vite}from"@storybook/csf-plugin";async function csfPlugin(config){let{presets}=config,docsOptions=(await presets.apply("addons",[])).find(a=>[a,a.name].includes("@storybook/addon-docs"))?.options??{};return vite(docsOptions?.csfPluginOptions)}var configEnvServe={mode:"development",command:"serve",ssrBuild:!1},configEnvBuild={mode:"production",command:"build",ssrBuild:!1};async function commonConfig(options,_type){let configEnv=_type==="development"?configEnvServe:configEnvBuild,{config:{build:buildProperty=void 0,...userConfig}={}}=await loadConfigFromFile(configEnv)??{},sbConfig={configFile:!1,cacheDir:"node_modules/.cache/.vite-storybook",root:path4.resolve(options.configDir,".."),base:"./",plugins:await pluginConfig(options),resolve:{preserveSymlinks:isPreservingSymlinks(),alias:{assert:__require.resolve("browser-assert")}},envPrefix:userConfig.envPrefix?"STORYBOOK_":["VITE_","STORYBOOK_"]};return mergeConfig2(userConfig,sbConfig)}async function pluginConfig(options){let frameworkName=await getFrameworkName2(options),plugins=[codeGeneratorPlugin(options),await csfPlugin(options),mdxPlugin(options),injectExportOrderPlugin,stripStoryHMRBoundary(),{name:"storybook:allow-storybook-dir",enforce:"post",config(config){config?.server?.fs?.allow&&config.server.fs.allow.push(".storybook")}},externalGlobals(globals)];if(frameworkName!=="@storybook/react-vite"&&plugins.push(viteReact({exclude:[/\.stories\.([tj])sx?$/,/node_modules/,/\.([tj])sx?$/]})),frameworkName==="@storybook/preact-vite"&&plugins.push(__require("@preact/preset-vite").default()),frameworkName==="@storybook/glimmerx-vite"){let plugin=__require("vite-plugin-glimmerx/index.cjs");plugins.push(plugin.default())}return plugins}import*as path5 from"path";import{normalizePath as normalizePath4,resolveConfig}from"vite";var INCLUDE_CANDIDATES=["@base2/pretty-print-object","@emotion/core","@emotion/is-prop-valid","@emotion/styled","@mdx-js/react","@storybook/addon-docs > acorn-jsx","@storybook/addon-docs","@storybook/channel-postmessage","@storybook/channel-websocket","@storybook/client-api","@storybook/client-logger","@storybook/core/client","@storybook/preview-api","@storybook/preview-web","@storybook/react > acorn-jsx","@storybook/react","@storybook/svelte","@storybook/types","@storybook/vue3","acorn-jsx","acorn-walk","acorn","airbnb-js-shims","ansi-to-html","axe-core","color-convert","deep-object-diff","doctrine","emotion-theming","escodegen","estraverse","fast-deep-equal","global","html-tags","isobject","jest-mock","loader-utils","lodash/cloneDeep","lodash/isFunction","lodash/isPlainObject","lodash/isString","lodash/mapKeys","lodash/mapValues","lodash/pick","lodash/pickBy","lodash/startCase","lodash/throttle","lodash/uniq","markdown-to-jsx","memoizerific","overlayscrollbars","polished","prettier/parser-babel","prettier/parser-flow","prettier/parser-typescript","prop-types","qs","react-dom","react-dom/client","react-fast-compare","react-is","react-textarea-autosize","react","react/jsx-runtime","refractor/core","refractor/lang/bash.js","refractor/lang/css.js","refractor/lang/graphql.js","refractor/lang/js-extras.js","refractor/lang/json.js","refractor/lang/jsx.js","refractor/lang/markdown.js","refractor/lang/markup.js","refractor/lang/tsx.js","refractor/lang/typescript.js","refractor/lang/yaml.js","regenerator-runtime/runtime.js","slash","store2","synchronous-promise","telejson","ts-dedent","unfetch","util-deprecate","uuid-browser/v4","vue","warning"],asyncFilter=async(arr,predicate)=>Promise.all(arr.map(predicate)).then(results=>arr.filter((_v,index)=>results[index]));async function getOptimizeDeps(config,options){let{root=process.cwd()}=config,stories=(await listStories(options)).map(storyPath=>normalizePath4(path5.relative(root,storyPath))),resolve3=(await resolveConfig(config,"serve","development")).createResolver({asSrc:!1}),include2=await asyncFilter(INCLUDE_CANDIDATES,async id=>Boolean(await resolve3(id)));return{entries:stories,include:include2}}import{stringifyEnvs}from"@storybook/core-common";var allowedEnvVariables=["STORYBOOK","BASE_URL","MODE","DEV","PROD","SSR"];function stringifyProcessEnvs(raw,envPrefix){let updatedRaw={},envs=Object.entries(raw).reduce((acc,[key,value])=>((allowedEnvVariables.includes(key)||Array.isArray(envPrefix)&&!!envPrefix.find(prefix=>key.startsWith(prefix))||typeof envPrefix=="string"&&key.startsWith(envPrefix))&&(acc[`import.meta.env.${key}`]=JSON.stringify(value),updatedRaw[key]=value),acc),{});return envs["import.meta.env"]=JSON.stringify(stringifyEnvs(updatedRaw)),envs}async function sanitizeEnvVars(options,config){let{presets}=options,envsRaw=await presets.apply("env"),{define}=config;if(Object.keys(envsRaw).length){let envs=stringifyProcessEnvs(envsRaw,config.envPrefix);define={...define,...envs}}return{...config,define}}async function createViteServer(options,devServer){let{presets}=options,commonCfg=await commonConfig(options,"development"),config={...commonCfg,server:{middlewareMode:!0,hmr:{port:options.port,server:devServer},fs:{strict:!0}},appType:"custom",optimizeDeps:await getOptimizeDeps(commonCfg,options)},finalConfig=await presets.apply("viteFinal",config,options);return createServer(await sanitizeEnvVars(options,finalConfig))}import{build as viteBuild,mergeConfig as mergeConfig3}from"vite";async function build(options){let{presets}=options,config=await commonConfig(options,"build");config.build=mergeConfig3(config,{build:{outDir:options.outputDir,emptyOutDir:!1,sourcemap:!0,rollupOptions:{external:["/sb-preview/runtime.mjs"]}}}).build;let finalConfig=await presets.apply("viteFinal",config,options);await viteBuild(await sanitizeEnvVars(options,finalConfig))}var withoutVitePlugins=(plugins=[],namesToRemove)=>plugins.map(plugin=>Array.isArray(plugin)?withoutVitePlugins(plugin,namesToRemove):plugin&&"name"in plugin&&namesToRemove.includes(plugin.name)?!1:plugin);function iframeMiddleware(options,server2){return async(req,res,next)=>{if(!req.url.match(/^\/iframe\.html($|\?)/)){next();return}if(req.query["html-proxy"]!==void 0){next();return}let indexHtml=await fs2.readFile(__require.resolve("@storybook/builder-vite/input/iframe.html"),"utf-8"),generated=await transformIframeHtml(indexHtml,options),transformed=await server2.transformIndexHtml("/iframe.html",generated);res.setHeader("Content-Type","text/html"),res.status(200).send(transformed)}}var server;async function bail(e){try{return await server.close()}catch{console.warn("unable to close vite server")}throw e}var start=async({startTime,options,router,server:devServer})=>{server=await createViteServer(options,devServer);let previewResolvedDir=dirname(__require.resolve("@storybook/preview/package.json")),previewDirOrigin=join2(previewResolvedDir,"dist");return router.use("/sb-preview",express.static(previewDirOrigin,{immutable:!0,maxAge:"5m"})),router.use(iframeMiddleware(options,server)),router.use(server.middlewares),{bail,stats:{toJson:()=>null},totalTime:process.hrtime(startTime)}},build2=async({options})=>{let viteCompilation=build(options),previewResolvedDir=dirname(__require.resolve("@storybook/preview/package.json")),previewDirOrigin=join2(previewResolvedDir,"dist"),previewDirTarget=join2(options.outputDir||"","sb-preview"),previewFiles=fs2.copy(previewDirOrigin,previewDirTarget,{filter:src=>{let{ext}=parse2(src);return ext?ext===".mjs":!0}}),[out]=await Promise.all([viteCompilation,previewFiles]);return out};export{bail,build2 as build,start,withoutVitePlugins};
166
+ `.trim()}function codeGeneratorPlugin(options){let iframePath=__require.resolve("@storybook/builder-vite/input/iframe.html"),iframeId;return{name:"storybook:code-generator-plugin",enforce:"pre",configureServer(server2){server2.watcher.on("change",()=>{let appModule=server2.moduleGraph.getModuleById(virtualFileId);appModule&&server2.moduleGraph.invalidateModule(appModule);let storiesModule=server2.moduleGraph.getModuleById(virtualStoriesFile);storiesModule&&server2.moduleGraph.invalidateModule(storiesModule)}),server2.watcher.on("add",path6=>{(/\.stories\.([tj])sx?$/.test(path6)||/\.(story|stories).mdx$/.test(path6))&&server2.watcher.emit("change",virtualStoriesFile)})},config(config,{command}){command==="build"&&(config.build||(config.build={}),config.build.rollupOptions={...config.build.rollupOptions,input:iframePath});try{__require.resolve("react-dom/client",{paths:[config.root||process.cwd()]})}catch(e){isNodeError(e)&&e.code==="MODULE_NOT_FOUND"&&(config.resolve=mergeConfig(config.resolve??{},{alias:{"react-dom/client":__require.resolve("@storybook/builder-vite/input/react-dom-client-placeholder.js")}}))}},configResolved(config){iframeId=`${config.root}/iframe.html`},resolveId(source){if(source===virtualFileId)return virtualFileId;if(source===iframePath)return iframeId;if(source===virtualStoriesFile)return virtualStoriesFile;if(source===virtualPreviewFile)return virtualPreviewFile;if(source===virtualAddonSetupFile)return virtualAddonSetupFile},async load(id){let storyStoreV7=options.features?.storyStoreV7;if(id===virtualStoriesFile)return storyStoreV7?generateImportFnScriptCode(options):generateVirtualStoryEntryCode(options);if(id===virtualAddonSetupFile)return generateAddonSetupCode();if(id===virtualPreviewFile&&!storyStoreV7)return generatePreviewEntryCode(options);if(id===virtualFileId)return storyStoreV7?generateModernIframeScriptCode(options):generateIframeScriptCode(options);if(id===iframeId)return fs.readFileSync(__require.resolve("@storybook/builder-vite/input/iframe.html"),"utf-8")},async transformIndexHtml(html,ctx){if(ctx.path==="/iframe.html")return transformIframeHtml(html,options)}}}var isNodeError=error=>error instanceof Error;import{vite}from"@storybook/csf-plugin";async function csfPlugin(config){let{presets}=config,docsOptions=(await presets.apply("addons",[])).find(a=>[a,a.name].includes("@storybook/addon-docs"))?.options??{};return vite(docsOptions?.csfPluginOptions)}var configEnvServe={mode:"development",command:"serve",ssrBuild:!1},configEnvBuild={mode:"production",command:"build",ssrBuild:!1};async function commonConfig(options,_type){let configEnv=_type==="development"?configEnvServe:configEnvBuild,{config:{build:buildProperty=void 0,...userConfig}={}}=await loadConfigFromFile(configEnv)??{},sbConfig={configFile:!1,cacheDir:"node_modules/.cache/.vite-storybook",root:path4.resolve(options.configDir,".."),base:"./",plugins:await pluginConfig(options),resolve:{preserveSymlinks:isPreservingSymlinks(),alias:{assert:__require.resolve("browser-assert")}},envPrefix:userConfig.envPrefix?"STORYBOOK_":["VITE_","STORYBOOK_"]};return mergeConfig2(userConfig,sbConfig)}async function pluginConfig(options){let frameworkName=await getFrameworkName2(options),plugins=[codeGeneratorPlugin(options),await csfPlugin(options),mdxPlugin(options),injectExportOrderPlugin,stripStoryHMRBoundary(),{name:"storybook:allow-storybook-dir",enforce:"post",config(config){config?.server?.fs?.allow&&config.server.fs.allow.push(".storybook")}},externalGlobals(globals)];if(frameworkName==="@storybook/preact-vite"&&plugins.push(__require("@preact/preset-vite").default()),frameworkName==="@storybook/glimmerx-vite"){let plugin=__require("vite-plugin-glimmerx/index.cjs");plugins.push(plugin.default())}return plugins}import*as path5 from"path";import{normalizePath as normalizePath4,resolveConfig}from"vite";var INCLUDE_CANDIDATES=["@base2/pretty-print-object","@emotion/core","@emotion/is-prop-valid","@emotion/styled","@mdx-js/react","@storybook/addon-docs > acorn-jsx","@storybook/addon-docs","@storybook/channel-postmessage","@storybook/channel-websocket","@storybook/client-api","@storybook/client-logger","@storybook/core/client","@storybook/preview-api","@storybook/preview-web","@storybook/react > acorn-jsx","@storybook/react","@storybook/svelte","@storybook/types","@storybook/vue3","acorn-jsx","acorn-walk","acorn","airbnb-js-shims","ansi-to-html","axe-core","color-convert","deep-object-diff","doctrine","emotion-theming","escodegen","estraverse","fast-deep-equal","global","html-tags","isobject","jest-mock","loader-utils","lodash/cloneDeep","lodash/isFunction","lodash/isPlainObject","lodash/isString","lodash/mapKeys","lodash/mapValues","lodash/pick","lodash/pickBy","lodash/startCase","lodash/throttle","lodash/uniq","markdown-to-jsx","memoizerific","overlayscrollbars","polished","prettier/parser-babel","prettier/parser-flow","prettier/parser-typescript","prop-types","qs","react-dom","react-dom/client","react-fast-compare","react-is","react-textarea-autosize","react","react/jsx-runtime","refractor/core","refractor/lang/bash.js","refractor/lang/css.js","refractor/lang/graphql.js","refractor/lang/js-extras.js","refractor/lang/json.js","refractor/lang/jsx.js","refractor/lang/markdown.js","refractor/lang/markup.js","refractor/lang/tsx.js","refractor/lang/typescript.js","refractor/lang/yaml.js","regenerator-runtime/runtime.js","slash","store2","synchronous-promise","telejson","ts-dedent","unfetch","util-deprecate","uuid-browser/v4","vue","warning"],asyncFilter=async(arr,predicate)=>Promise.all(arr.map(predicate)).then(results=>arr.filter((_v,index)=>results[index]));async function getOptimizeDeps(config,options){let{root=process.cwd()}=config,stories=(await listStories(options)).map(storyPath=>normalizePath4(path5.relative(root,storyPath))),resolve3=(await resolveConfig(config,"serve","development")).createResolver({asSrc:!1}),include2=await asyncFilter(INCLUDE_CANDIDATES,async id=>Boolean(await resolve3(id)));return{entries:stories,include:include2}}import{stringifyEnvs}from"@storybook/core-common";var allowedEnvVariables=["STORYBOOK","BASE_URL","MODE","DEV","PROD","SSR"];function stringifyProcessEnvs(raw,envPrefix){let updatedRaw={},envs=Object.entries(raw).reduce((acc,[key,value])=>((allowedEnvVariables.includes(key)||Array.isArray(envPrefix)&&!!envPrefix.find(prefix=>key.startsWith(prefix))||typeof envPrefix=="string"&&key.startsWith(envPrefix))&&(acc[`import.meta.env.${key}`]=JSON.stringify(value),updatedRaw[key]=value),acc),{});return envs["import.meta.env"]=JSON.stringify(stringifyEnvs(updatedRaw)),envs}async function sanitizeEnvVars(options,config){let{presets}=options,envsRaw=await presets.apply("env"),{define}=config;if(Object.keys(envsRaw).length){let envs=stringifyProcessEnvs(envsRaw,config.envPrefix);define={...define,...envs}}return{...config,define}}async function createViteServer(options,devServer){let{presets}=options,commonCfg=await commonConfig(options,"development"),config={...commonCfg,server:{middlewareMode:!0,hmr:{port:options.port,server:devServer},fs:{strict:!0}},appType:"custom",optimizeDeps:await getOptimizeDeps(commonCfg,options)},finalConfig=await presets.apply("viteFinal",config,options);return createServer(await sanitizeEnvVars(options,finalConfig))}import{build as viteBuild,mergeConfig as mergeConfig3}from"vite";async function build(options){let{presets}=options,config=await commonConfig(options,"build");config.build=mergeConfig3(config,{build:{outDir:options.outputDir,emptyOutDir:!1,sourcemap:!0,rollupOptions:{external:["/sb-preview/runtime.mjs"]}}}).build;let finalConfig=await presets.apply("viteFinal",config,options);await viteBuild(await sanitizeEnvVars(options,finalConfig))}var withoutVitePlugins=async(plugins=[],namesToRemove)=>{let result=[],resolvedPlugins=await Promise.all(plugins);for(let plugin of resolvedPlugins)Array.isArray(plugin)&&result.push(await withoutVitePlugins(plugin,namesToRemove)),plugin&&"name"in plugin&&!namesToRemove.includes(plugin.name)&&result.push(plugin);return result};function checkName(plugin,names){return plugin!==null&&typeof plugin=="object"&&"name"in plugin&&names.includes(plugin.name)}async function hasVitePlugins(plugins,names){let resolvedPlugins=await Promise.all(plugins);for(let plugin of resolvedPlugins)if(Array.isArray(plugin)&&Boolean(await hasVitePlugins(plugin,names))||checkName(plugin,names))return!0;return!1}function iframeMiddleware(options,server2){return async(req,res,next)=>{if(!req.url.match(/^\/iframe\.html($|\?)/)){next();return}if(req.query["html-proxy"]!==void 0){next();return}let indexHtml=await fs2.readFile(__require.resolve("@storybook/builder-vite/input/iframe.html"),"utf-8"),generated=await transformIframeHtml(indexHtml,options),transformed=await server2.transformIndexHtml("/iframe.html",generated);res.setHeader("Content-Type","text/html"),res.status(200).send(transformed)}}var server;async function bail(e){try{return await server.close()}catch{console.warn("unable to close vite server")}throw e}var start=async({startTime,options,router,server:devServer})=>{server=await createViteServer(options,devServer);let previewResolvedDir=dirname(__require.resolve("@storybook/preview/package.json")),previewDirOrigin=join2(previewResolvedDir,"dist");return router.use("/sb-preview",express.static(previewDirOrigin,{immutable:!0,maxAge:"5m"})),router.use(iframeMiddleware(options,server)),router.use(server.middlewares),{bail,stats:{toJson:()=>null},totalTime:process.hrtime(startTime)}},build2=async({options})=>{let viteCompilation=build(options),previewResolvedDir=dirname(__require.resolve("@storybook/preview/package.json")),previewDirOrigin=join2(previewResolvedDir,"dist"),previewDirTarget=join2(options.outputDir||"","sb-preview"),previewFiles=fs2.copy(previewDirOrigin,previewDirTarget,{filter:src=>{let{ext}=parse2(src);return ext?ext===".mjs":!0}}),[out]=await Promise.all([viteCompilation,previewFiles]);return out};export{bail,build2 as build,hasVitePlugins,start,withoutVitePlugins};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/builder-vite",
3
- "version": "7.0.0-beta.4",
3
+ "version": "7.0.0-beta.6",
4
4
  "description": "A plugin to run and build Storybooks with Vite",
5
5
  "homepage": "https://github.com/storybookjs/storybook/tree/main/code/lib/builder-vite/#readme",
6
6
  "bugs": {
@@ -42,14 +42,14 @@
42
42
  },
43
43
  "dependencies": {
44
44
  "@joshwooding/vite-plugin-react-docgen-typescript": "0.0.5",
45
- "@storybook/client-logger": "7.0.0-beta.4",
46
- "@storybook/core-common": "7.0.0-beta.4",
47
- "@storybook/csf-plugin": "7.0.0-beta.4",
45
+ "@storybook/client-logger": "7.0.0-beta.6",
46
+ "@storybook/core-common": "7.0.0-beta.6",
47
+ "@storybook/csf-plugin": "7.0.0-beta.6",
48
48
  "@storybook/mdx2-csf": "next",
49
- "@storybook/node-logger": "7.0.0-beta.4",
50
- "@storybook/preview": "7.0.0-beta.4",
51
- "@storybook/preview-api": "7.0.0-beta.4",
52
- "@storybook/types": "7.0.0-beta.4",
49
+ "@storybook/node-logger": "7.0.0-beta.6",
50
+ "@storybook/preview": "7.0.0-beta.6",
51
+ "@storybook/preview-api": "7.0.0-beta.6",
52
+ "@storybook/types": "7.0.0-beta.6",
53
53
  "@vitejs/plugin-react": "^2.0.0",
54
54
  "browser-assert": "^1.2.1",
55
55
  "es-module-lexer": "^0.9.3",
@@ -61,14 +61,13 @@
61
61
  "rollup": "^2.25.0 || ^3.3.0",
62
62
  "rollup-plugin-external-globals": "^0.7.1",
63
63
  "slash": "^3.0.0",
64
- "vite": "^3.0.0||^4.0.0"
64
+ "vite": "^3.0.0"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@types/express": "^4.17.13",
68
68
  "@types/node": "^16.0.0",
69
69
  "rollup": "^3.0.0",
70
- "typescript": "~4.9.3",
71
- "vite": "^4.0.0-beta.2"
70
+ "typescript": "~4.9.3"
72
71
  },
73
72
  "peerDependencies": {
74
73
  "@preact/preset-vite": "*",
@@ -91,5 +90,5 @@
91
90
  ],
92
91
  "platform": "node"
93
92
  },
94
- "gitHead": "4d869ed6f7166e0d06f2bef5a1b872fa77a0cf2d"
93
+ "gitHead": "edcda9c064bcb77c903263fafcaee2bd369f429a"
95
94
  }