@storybook/builder-vite 7.6.6 → 7.6.8
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.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +9 -9
package/dist/index.js
CHANGED
|
@@ -156,4 +156,4 @@ globstar while`,file,fr,pattern,pr,swallowee),this.matchOne(file.slice(fr),patte
|
|
|
156
156
|
if (window.CONFIG_TYPE === 'DEVELOPMENT'){
|
|
157
157
|
window.__STORYBOOK_SERVER_CHANNEL__ = channel;
|
|
158
158
|
}
|
|
159
|
-
`.trim()}function codeGeneratorPlugin(options){let iframePath=require.resolve("@storybook/builder-vite/input/iframe.html"),iframeId,projectRoot;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)||/\.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})},configResolved(config){projectRoot=config.root,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,config){var _a2;let storyStoreV7=(_a2=options.features)==null?void 0:_a2.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,projectRoot):generateIframeScriptCode(options,projectRoot);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 import_csf_plugin=require("@storybook/csf-plugin");async function csfPlugin(config){var _a2;let{presets}=config,docsOptions=((_a2=(await presets.apply("addons",[])).find(a=>[a,a.name].includes("@storybook/addon-docs")))==null?void 0:_a2.options)??{};return(0,import_csf_plugin.vite)(docsOptions==null?void 0:docsOptions.csfPluginOptions)}var import_node_path=require("path"),import_find_cache_dir=__toESM(require("find-cache-dir")),import_es_module_lexer2=require("es-module-lexer"),import_magic_string3=__toESM(require("magic-string")),import_fs_extra=require("fs-extra"),escapeKeys=key=>key.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),defaultImportRegExp="import ([^*{}]+) from",replacementMap=new Map([["import ","const "],["import{","const {"],["* as ",""],[" as ",": "],[" from "," = "],["}from","} ="]]);async function externalGlobalsPlugin(externals){await import_es_module_lexer2.init;let{mergeAlias}=await import("vite");return{name:"storybook:external-globals-plugin",enforce:"post",async config(config,{command}){var _a2;if(command!=="serve")return;let newAlias=mergeAlias([],(_a2=config.resolve)==null?void 0:_a2.alias),cachePath=(0,import_find_cache_dir.default)({name:"sb-vite-plugin-externals",create:!0});return await Promise.all(Object.keys(externals).map(async externalKey=>{let externalCachePath=(0,import_node_path.join)(cachePath,`${externalKey}.js`);newAlias.push({find:new RegExp(`^${externalKey}$`),replacement:externalCachePath}),await(0,import_fs_extra.ensureFile)(externalCachePath),await(0,import_fs_extra.writeFile)(externalCachePath,`module.exports = ${externals[externalKey]};`)})),{resolve:{alias:newAlias}}},async transform(code,id){let globalsList=Object.keys(externals);if(globalsList.every(glob2=>!code.includes(glob2)))return;let[imports]=(0,import_es_module_lexer2.parse)(code),src=new import_magic_string3.default(code);return imports.forEach(({n:path6,ss:startPosition,se:endPosition})=>{let packageName=path6;if(packageName&&globalsList.includes(packageName)){let importStatement=src.slice(startPosition,endPosition),transformedImport=rewriteImport(importStatement,externals,packageName);src.update(startPosition,endPosition,transformedImport)}}),{code:src.toString(),map:src.generateMap({source:id,includeContent:!0,hires:!0})}}}}function getDefaultImportReplacement(match2){let matched=match2.match(defaultImportRegExp);return matched&&`const {default: ${matched[1]}} =`}function getSearchRegExp(packageName){let staticKeys=[...replacementMap.keys()].map(escapeKeys),packageNameLiteral=`.${packageName}.`,dynamicImportExpression=`await import\\(.${packageName}.\\)`,lookup=[defaultImportRegExp,...staticKeys,packageNameLiteral,dynamicImportExpression];return new RegExp(`(${lookup.join("|")})`,"g")}function rewriteImport(importStatement,globs,packageName){let search=getSearchRegExp(packageName);return importStatement.replace(search,match2=>replacementMap.get(match2)??getDefaultImportReplacement(match2)??globs[packageName])}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,{loadConfigFromFile,mergeConfig}=await import("vite"),{viteConfigPath}=await(0,import_core_common7.getBuilderOptions)(options),projectRoot=path4.resolve(options.configDir,".."),{config:{build:buildProperty=void 0,...userConfig}={}}=await loadConfigFromFile(configEnv,viteConfigPath,projectRoot)??{},sbConfig={configFile:!1,cacheDir:(0,import_find_cache_dir2.default)({name:"sb-vite"}),root:projectRoot,base:"./",plugins:await pluginConfig(options),resolve:{preserveSymlinks:(0,import_core_common7.isPreservingSymlinks)(),alias:{assert:require.resolve("browser-assert")}},envPrefix:userConfig.envPrefix?["STORYBOOK_"]:["VITE_","STORYBOOK_"]};return mergeConfig(userConfig,sbConfig)}async function pluginConfig(options){var _a2;let frameworkName=await(0,import_core_common7.getFrameworkName)(options),build3=await options.presets.apply("build"),externals=import_globals.globalsNameReferenceMap;(_a2=build3==null?void 0:build3.test)!=null&&_a2.disableBlocks&&(externals["@storybook/blocks"]="__STORYBOOK_BLOCKS_EMPTY_MODULE__");let plugins=[codeGeneratorPlugin(options),await csfPlugin(options),await injectExportOrderPlugin(),await stripStoryHMRBoundary(),{name:"storybook:allow-storybook-dir",enforce:"post",config(config){var _a3,_b;(_b=(_a3=config==null?void 0:config.server)==null?void 0:_a3.fs)!=null&&_b.allow&&config.server.fs.allow.push(".storybook")}},await externalGlobalsPlugin(externals)];if(frameworkName==="@storybook/glimmerx-vite"){let plugin=require("vite-plugin-glimmerx/index.cjs");plugins.push(plugin.default())}return plugins}var path5=__toESM(require("path"));var INCLUDE_CANDIDATES=["@base2/pretty-print-object","@emotion/core","@emotion/is-prop-valid","@emotion/styled","@storybook/react > acorn-jsx","@storybook/react","@storybook/svelte","@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","html-tags","isobject","jest-mock","loader-utils","lodash/camelCase.js","lodash/camelCase","lodash/cloneDeep.js","lodash/cloneDeep","lodash/countBy.js","lodash/countBy","lodash/debounce.js","lodash/debounce","lodash/isEqual.js","lodash/isEqual","lodash/isFunction.js","lodash/isFunction","lodash/isPlainObject.js","lodash/isPlainObject","lodash/isString.js","lodash/isString","lodash/kebabCase.js","lodash/kebabCase","lodash/mapKeys.js","lodash/mapKeys","lodash/mapValues.js","lodash/mapValues","lodash/merge.js","lodash/merge","lodash/mergeWith.js","lodash/mergeWith","lodash/pick.js","lodash/pick","lodash/pickBy.js","lodash/pickBy","lodash/startCase.js","lodash/startCase","lodash/throttle.js","lodash/throttle","lodash/uniq.js","lodash/uniq","lodash/upperFirst.js","lodash/upperFirst","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","vue","warning"],asyncFilter=async(arr,predicate)=>Promise.all(arr.map(predicate)).then(results=>arr.filter((_v,index)=>results[index]));async function getOptimizeDeps(config,options){var _a2;let extraOptimizeDeps=await options.presets.apply("optimizeViteDeps",[]),{root=process.cwd()}=config,{normalizePath,resolveConfig}=await import("vite"),stories=(await listStories(options)).map(storyPath=>normalizePath(path5.relative(root,storyPath))),resolve3=(await resolveConfig(config,"serve","development")).createResolver({asSrc:!1}),include=await asyncFilter(Array.from(new Set([...INCLUDE_CANDIDATES,...extraOptimizeDeps])),async id=>!!await resolve3(id));return{...config.optimizeDeps,entries:stories,include:[...include,...((_a2=config.optimizeDeps)==null?void 0:_a2.include)||[]]}}var import_core_common8=require("@storybook/core-common"),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((0,import_core_common8.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),{createServer}=await import("vite");return createServer(await sanitizeEnvVars(options,finalConfig))}async function build(options){var _a2,_b,_c,_d;let{build:viteBuild,mergeConfig}=await import("vite"),{presets}=options,config=await commonConfig(options,"build");config.build=mergeConfig(config,{build:{outDir:options.outputDir,emptyOutDir:!1,rollupOptions:{external:["./sb-preview/runtime.js"]},...options.test?{reportCompressedSize:!1,sourcemap:!((_b=(_a2=options.build)==null?void 0:_a2.test)!=null&&_b.disableSourcemaps),target:"esnext",treeshake:!((_d=(_c=options.build)==null?void 0:_c.test)!=null&&_d.disableTreeShaking)}:{}}}).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)&&await hasVitePlugins(plugin,names)||checkName(plugin,names))return!0;return!1}var getAbsolutePath=input=>(0,import_path3.dirname)(require.resolve((0,import_path3.join)(input,"package.json")));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(){return server==null?void 0:server.close()}var start=async({startTime,options,router,server:devServer})=>{server=await createViteServer(options,devServer);let previewResolvedDir=getAbsolutePath("@storybook/preview"),previewDirOrigin=(0,import_path3.join)(previewResolvedDir,"dist");return router.use("/sb-preview",import_express.default.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=getAbsolutePath("@storybook/preview"),previewDirOrigin=(0,import_path3.join)(previewResolvedDir,"dist"),previewDirTarget=(0,import_path3.join)(options.outputDir||"","sb-preview"),previewFiles=fs2.copy(previewDirOrigin,previewDirTarget,{filter:src=>{let{ext:ext2}=(0,import_path3.parse)(src);return ext2?ext2===".js":!0}}),[out]=await Promise.all([viteCompilation,previewFiles]);return out};0&&(module.exports={bail,build,hasVitePlugins,start,withoutVitePlugins});
|
|
159
|
+
`.trim()}function codeGeneratorPlugin(options){let iframePath=require.resolve("@storybook/builder-vite/input/iframe.html"),iframeId,projectRoot;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)||/\.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})},configResolved(config){projectRoot=config.root,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,config){var _a2;let storyStoreV7=(_a2=options.features)==null?void 0:_a2.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,projectRoot):generateIframeScriptCode(options,projectRoot);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 import_csf_plugin=require("@storybook/csf-plugin");async function csfPlugin(config){var _a2;let{presets}=config,docsOptions=((_a2=(await presets.apply("addons",[])).find(a=>[a,a.name].includes("@storybook/addon-docs")))==null?void 0:_a2.options)??{};return(0,import_csf_plugin.vite)(docsOptions==null?void 0:docsOptions.csfPluginOptions)}var import_node_path=require("path"),import_find_cache_dir=__toESM(require("find-cache-dir")),import_es_module_lexer2=require("es-module-lexer"),import_magic_string3=__toESM(require("magic-string")),import_fs_extra=require("fs-extra"),escapeKeys=key=>key.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),defaultImportRegExp="import ([^*{}]+) from",replacementMap=new Map([["import ","const "],["import{","const {"],["* as ",""],[" as ",": "],[" from "," = "],["}from","} ="]]);async function externalGlobalsPlugin(externals){await import_es_module_lexer2.init;let{mergeAlias}=await import("vite");return{name:"storybook:external-globals-plugin",enforce:"post",async config(config,{command}){var _a2;if(command!=="serve")return;let newAlias=mergeAlias([],(_a2=config.resolve)==null?void 0:_a2.alias),cachePath=(0,import_find_cache_dir.default)({name:"sb-vite-plugin-externals",create:!0});return await Promise.all(Object.keys(externals).map(async externalKey=>{let externalCachePath=(0,import_node_path.join)(cachePath,`${externalKey}.js`);newAlias.push({find:new RegExp(`^${externalKey}$`),replacement:externalCachePath}),await(0,import_fs_extra.ensureFile)(externalCachePath),await(0,import_fs_extra.writeFile)(externalCachePath,`module.exports = ${externals[externalKey]};`)})),{resolve:{alias:newAlias}}},async transform(code,id){let globalsList=Object.keys(externals);if(globalsList.every(glob2=>!code.includes(glob2)))return;let[imports]=(0,import_es_module_lexer2.parse)(code),src=new import_magic_string3.default(code);return imports.forEach(({n:path6,ss:startPosition,se:endPosition})=>{let packageName=path6;if(packageName&&globalsList.includes(packageName)){let importStatement=src.slice(startPosition,endPosition),transformedImport=rewriteImport(importStatement,externals,packageName);src.update(startPosition,endPosition,transformedImport)}}),{code:src.toString(),map:src.generateMap({source:id,includeContent:!0,hires:!0})}}}}function getDefaultImportReplacement(match2){let matched=match2.match(defaultImportRegExp);return matched&&`const {default: ${matched[1]}} =`}function getSearchRegExp(packageName){let staticKeys=[...replacementMap.keys()].map(escapeKeys),packageNameLiteral=`.${packageName}.`,dynamicImportExpression=`await import\\(.${packageName}.\\)`,lookup=[defaultImportRegExp,...staticKeys,packageNameLiteral,dynamicImportExpression];return new RegExp(`(${lookup.join("|")})`,"g")}function rewriteImport(importStatement,globs,packageName){let search=getSearchRegExp(packageName);return importStatement.replace(search,match2=>replacementMap.get(match2)??getDefaultImportReplacement(match2)??globs[packageName])}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,{loadConfigFromFile,mergeConfig}=await import("vite"),{viteConfigPath}=await(0,import_core_common7.getBuilderOptions)(options),projectRoot=path4.resolve(options.configDir,".."),{config:{build:buildProperty=void 0,...userConfig}={}}=await loadConfigFromFile(configEnv,viteConfigPath,projectRoot)??{},sbConfig={configFile:!1,cacheDir:(0,import_find_cache_dir2.default)({name:"sb-vite"}),root:projectRoot,base:"./",plugins:await pluginConfig(options),resolve:{preserveSymlinks:(0,import_core_common7.isPreservingSymlinks)(),alias:{assert:require.resolve("browser-assert")}},envPrefix:userConfig.envPrefix?["STORYBOOK_"]:["VITE_","STORYBOOK_"]};return mergeConfig(userConfig,sbConfig)}async function pluginConfig(options){var _a2;let frameworkName=await(0,import_core_common7.getFrameworkName)(options),build3=await options.presets.apply("build"),externals=import_globals.globalsNameReferenceMap;(_a2=build3==null?void 0:build3.test)!=null&&_a2.disableBlocks&&(externals["@storybook/blocks"]="__STORYBOOK_BLOCKS_EMPTY_MODULE__");let plugins=[codeGeneratorPlugin(options),await csfPlugin(options),await injectExportOrderPlugin(),await stripStoryHMRBoundary(),{name:"storybook:allow-storybook-dir",enforce:"post",config(config){var _a3,_b;(_b=(_a3=config==null?void 0:config.server)==null?void 0:_a3.fs)!=null&&_b.allow&&config.server.fs.allow.push(".storybook")}},await externalGlobalsPlugin(externals)];if(frameworkName==="@storybook/glimmerx-vite"){let plugin=require("vite-plugin-glimmerx/index.cjs");plugins.push(plugin.default())}return plugins}var path5=__toESM(require("path"));var INCLUDE_CANDIDATES=["@base2/pretty-print-object","@emotion/core","@emotion/is-prop-valid","@emotion/styled","@storybook/react > acorn-jsx","@storybook/react","@storybook/svelte","@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","html-tags","isobject","jest-mock","loader-utils","lodash/camelCase.js","lodash/camelCase","lodash/cloneDeep.js","lodash/cloneDeep","lodash/countBy.js","lodash/countBy","lodash/debounce.js","lodash/debounce","lodash/isEqual.js","lodash/isEqual","lodash/isFunction.js","lodash/isFunction","lodash/isPlainObject.js","lodash/isPlainObject","lodash/isString.js","lodash/isString","lodash/kebabCase.js","lodash/kebabCase","lodash/mapKeys.js","lodash/mapKeys","lodash/mapValues.js","lodash/mapValues","lodash/merge.js","lodash/merge","lodash/mergeWith.js","lodash/mergeWith","lodash/pick.js","lodash/pick","lodash/pickBy.js","lodash/pickBy","lodash/startCase.js","lodash/startCase","lodash/throttle.js","lodash/throttle","lodash/uniq.js","lodash/uniq","lodash/upperFirst.js","lodash/upperFirst","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","vue","warning"],asyncFilter=async(arr,predicate)=>Promise.all(arr.map(predicate)).then(results=>arr.filter((_v,index)=>results[index]));async function getOptimizeDeps(config,options){var _a2;let extraOptimizeDeps=await options.presets.apply("optimizeViteDeps",[]),{root=process.cwd()}=config,{normalizePath,resolveConfig}=await import("vite"),stories=(await listStories(options)).map(storyPath=>normalizePath(path5.relative(root,storyPath))),resolve3=(await resolveConfig(config,"serve","development")).createResolver({asSrc:!1}),include=await asyncFilter(Array.from(new Set([...INCLUDE_CANDIDATES,...extraOptimizeDeps])),async id=>!!await resolve3(id));return{...config.optimizeDeps,entries:stories,include:[...include,...((_a2=config.optimizeDeps)==null?void 0:_a2.include)||[]]}}var import_core_common8=require("@storybook/core-common"),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((0,import_core_common8.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,assetsInclude:["/sb-preview/**"],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),{createServer}=await import("vite");return createServer(await sanitizeEnvVars(options,finalConfig))}async function build(options){var _a2,_b,_c,_d;let{build:viteBuild,mergeConfig}=await import("vite"),{presets}=options,config=await commonConfig(options,"build");config.build=mergeConfig(config,{build:{outDir:options.outputDir,emptyOutDir:!1,rollupOptions:{external:["./sb-preview/runtime.js"]},...options.test?{reportCompressedSize:!1,sourcemap:!((_b=(_a2=options.build)==null?void 0:_a2.test)!=null&&_b.disableSourcemaps),target:"esnext",treeshake:!((_d=(_c=options.build)==null?void 0:_c.test)!=null&&_d.disableTreeShaking)}:{}}}).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)&&await hasVitePlugins(plugin,names)||checkName(plugin,names))return!0;return!1}var getAbsolutePath=input=>(0,import_path3.dirname)(require.resolve((0,import_path3.join)(input,"package.json")));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(){return server==null?void 0:server.close()}var start=async({startTime,options,router,server:devServer})=>{server=await createViteServer(options,devServer);let previewResolvedDir=getAbsolutePath("@storybook/preview"),previewDirOrigin=(0,import_path3.join)(previewResolvedDir,"dist");return router.use("/sb-preview",import_express.default.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=getAbsolutePath("@storybook/preview"),previewDirOrigin=(0,import_path3.join)(previewResolvedDir,"dist"),previewDirTarget=(0,import_path3.join)(options.outputDir||"","sb-preview"),previewFiles=fs2.copy(previewDirOrigin,previewDirTarget,{filter:src=>{let{ext:ext2}=(0,import_path3.parse)(src);return ext2?ext2===".js":!0}}),[out]=await Promise.all([viteCompilation,previewFiles]);return out};0&&(module.exports={bail,build,hasVitePlugins,start,withoutVitePlugins});
|
package/dist/index.mjs
CHANGED
|
@@ -176,6 +176,6 @@ globstar while`,file,fr,pattern,pr,swallowee),this.matchOne(file.slice(fr),patte
|
|
|
176
176
|
if (window.CONFIG_TYPE === 'DEVELOPMENT'){
|
|
177
177
|
window.__STORYBOOK_SERVER_CHANNEL__ = channel;
|
|
178
178
|
}
|
|
179
|
-
`.trim()}function codeGeneratorPlugin(options){let iframePath=__require.resolve("@storybook/builder-vite/input/iframe.html"),iframeId,projectRoot;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)||/\.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});},configResolved(config){projectRoot=config.root,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,config){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,projectRoot):generateIframeScriptCode(options,projectRoot);if(id===iframeId)return actualFS.readFileSync(__require.resolve("@storybook/builder-vite/input/iframe.html"),"utf-8")},async transformIndexHtml(html,ctx){if(ctx.path==="/iframe.html")return transformIframeHtml(html,options)}}}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 escapeKeys=key=>key.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),defaultImportRegExp="import ([^*{}]+) from",replacementMap=new Map([["import ","const "],["import{","const {"],["* as ",""],[" as ",": "],[" from "," = "],["}from","} ="]]);async function externalGlobalsPlugin(externals){await init;let{mergeAlias}=await import('vite');return {name:"storybook:external-globals-plugin",enforce:"post",async config(config,{command}){if(command!=="serve")return;let newAlias=mergeAlias([],config.resolve?.alias),cachePath=findCacheDirectory({name:"sb-vite-plugin-externals",create:!0});return await Promise.all(Object.keys(externals).map(async externalKey=>{let externalCachePath=join(cachePath,`${externalKey}.js`);newAlias.push({find:new RegExp(`^${externalKey}$`),replacement:externalCachePath}),await ensureFile(externalCachePath),await writeFile(externalCachePath,`module.exports = ${externals[externalKey]};`);})),{resolve:{alias:newAlias}}},async transform(code,id){let globalsList=Object.keys(externals);if(globalsList.every(glob2=>!code.includes(glob2)))return;let[imports]=parse$1(code),src=new MagicString(code);return imports.forEach(({n:path6,ss:startPosition,se:endPosition})=>{let packageName=path6;if(packageName&&globalsList.includes(packageName)){let importStatement=src.slice(startPosition,endPosition),transformedImport=rewriteImport(importStatement,externals,packageName);src.update(startPosition,endPosition,transformedImport);}}),{code:src.toString(),map:src.generateMap({source:id,includeContent:!0,hires:!0})}}}}function getDefaultImportReplacement(match2){let matched=match2.match(defaultImportRegExp);return matched&&`const {default: ${matched[1]}} =`}function getSearchRegExp(packageName){let staticKeys=[...replacementMap.keys()].map(escapeKeys),packageNameLiteral=`.${packageName}.`,dynamicImportExpression=`await import\\(.${packageName}.\\)`,lookup=[defaultImportRegExp,...staticKeys,packageNameLiteral,dynamicImportExpression];return new RegExp(`(${lookup.join("|")})`,"g")}function rewriteImport(importStatement,globs,packageName){let search=getSearchRegExp(packageName);return importStatement.replace(search,match2=>replacementMap.get(match2)??getDefaultImportReplacement(match2)??globs[packageName])}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,{loadConfigFromFile,mergeConfig}=await import('vite'),{viteConfigPath}=await getBuilderOptions(options),projectRoot=path2.resolve(options.configDir,".."),{config:{build:buildProperty=void 0,...userConfig}={}}=await loadConfigFromFile(configEnv,viteConfigPath,projectRoot)??{},sbConfig={configFile:!1,cacheDir:findCacheDirectory({name:"sb-vite"}),root:projectRoot,base:"./",plugins:await pluginConfig(options),resolve:{preserveSymlinks:isPreservingSymlinks(),alias:{assert:__require.resolve("browser-assert")}},envPrefix:userConfig.envPrefix?["STORYBOOK_"]:["VITE_","STORYBOOK_"]};return mergeConfig(userConfig,sbConfig)}async function pluginConfig(options){let frameworkName=await getFrameworkName(options),build3=await options.presets.apply("build"),externals=globalsNameReferenceMap;build3?.test?.disableBlocks&&(externals["@storybook/blocks"]="__STORYBOOK_BLOCKS_EMPTY_MODULE__");let plugins=[codeGeneratorPlugin(options),await csfPlugin(options),await injectExportOrderPlugin(),await stripStoryHMRBoundary(),{name:"storybook:allow-storybook-dir",enforce:"post",config(config){config?.server?.fs?.allow&&config.server.fs.allow.push(".storybook");}},await externalGlobalsPlugin(externals)];if(frameworkName==="@storybook/glimmerx-vite"){let plugin=__require("vite-plugin-glimmerx/index.cjs");plugins.push(plugin.default());}return plugins}var INCLUDE_CANDIDATES=["@base2/pretty-print-object","@emotion/core","@emotion/is-prop-valid","@emotion/styled","@storybook/react > acorn-jsx","@storybook/react","@storybook/svelte","@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","html-tags","isobject","jest-mock","loader-utils","lodash/camelCase.js","lodash/camelCase","lodash/cloneDeep.js","lodash/cloneDeep","lodash/countBy.js","lodash/countBy","lodash/debounce.js","lodash/debounce","lodash/isEqual.js","lodash/isEqual","lodash/isFunction.js","lodash/isFunction","lodash/isPlainObject.js","lodash/isPlainObject","lodash/isString.js","lodash/isString","lodash/kebabCase.js","lodash/kebabCase","lodash/mapKeys.js","lodash/mapKeys","lodash/mapValues.js","lodash/mapValues","lodash/merge.js","lodash/merge","lodash/mergeWith.js","lodash/mergeWith","lodash/pick.js","lodash/pick","lodash/pickBy.js","lodash/pickBy","lodash/startCase.js","lodash/startCase","lodash/throttle.js","lodash/throttle","lodash/uniq.js","lodash/uniq","lodash/upperFirst.js","lodash/upperFirst","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","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 extraOptimizeDeps=await options.presets.apply("optimizeViteDeps",[]),{root=process.cwd()}=config,{normalizePath,resolveConfig}=await import('vite'),stories=(await listStories(options)).map(storyPath=>normalizePath(path2.relative(root,storyPath))),resolve3=(await resolveConfig(config,"serve","development")).createResolver({asSrc:!1}),include=await asyncFilter(Array.from(new Set([...INCLUDE_CANDIDATES,...extraOptimizeDeps])),async id=>!!await resolve3(id));return {...config.optimizeDeps,entries:stories,include:[...include,...config.optimizeDeps?.include||[]]}}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),{createServer}=await import('vite');return createServer(await sanitizeEnvVars(options,finalConfig))}async function build(options){let{build:viteBuild,mergeConfig}=await import('vite'),{presets}=options,config=await commonConfig(options,"build");config.build=mergeConfig(config,{build:{outDir:options.outputDir,emptyOutDir:!1,rollupOptions:{external:["./sb-preview/runtime.js"]},...options.test?{reportCompressedSize:!1,sourcemap:!options.build?.test?.disableSourcemaps,target:"esnext",treeshake:!options.build?.test?.disableTreeShaking}:{}}}).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)&&await hasVitePlugins(plugin,names)||checkName(plugin,names))return !0;return !1}var getAbsolutePath=input=>dirname(__require.resolve(join(input,"package.json")));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(){return server?.close()}var start=async({startTime,options,router,server:devServer})=>{server=await createViteServer(options,devServer);let previewResolvedDir=getAbsolutePath("@storybook/preview"),previewDirOrigin=join(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=getAbsolutePath("@storybook/preview"),previewDirOrigin=join(previewResolvedDir,"dist"),previewDirTarget=join(options.outputDir||"","sb-preview"),previewFiles=fs2.copy(previewDirOrigin,previewDirTarget,{filter:src=>{let{ext:ext2}=parse(src);return ext2?ext2===".js":!0}}),[out]=await Promise.all([viteCompilation,previewFiles]);return out};
|
|
179
|
+
`.trim()}function codeGeneratorPlugin(options){let iframePath=__require.resolve("@storybook/builder-vite/input/iframe.html"),iframeId,projectRoot;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)||/\.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});},configResolved(config){projectRoot=config.root,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,config){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,projectRoot):generateIframeScriptCode(options,projectRoot);if(id===iframeId)return actualFS.readFileSync(__require.resolve("@storybook/builder-vite/input/iframe.html"),"utf-8")},async transformIndexHtml(html,ctx){if(ctx.path==="/iframe.html")return transformIframeHtml(html,options)}}}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 escapeKeys=key=>key.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),defaultImportRegExp="import ([^*{}]+) from",replacementMap=new Map([["import ","const "],["import{","const {"],["* as ",""],[" as ",": "],[" from "," = "],["}from","} ="]]);async function externalGlobalsPlugin(externals){await init;let{mergeAlias}=await import('vite');return {name:"storybook:external-globals-plugin",enforce:"post",async config(config,{command}){if(command!=="serve")return;let newAlias=mergeAlias([],config.resolve?.alias),cachePath=findCacheDirectory({name:"sb-vite-plugin-externals",create:!0});return await Promise.all(Object.keys(externals).map(async externalKey=>{let externalCachePath=join(cachePath,`${externalKey}.js`);newAlias.push({find:new RegExp(`^${externalKey}$`),replacement:externalCachePath}),await ensureFile(externalCachePath),await writeFile(externalCachePath,`module.exports = ${externals[externalKey]};`);})),{resolve:{alias:newAlias}}},async transform(code,id){let globalsList=Object.keys(externals);if(globalsList.every(glob2=>!code.includes(glob2)))return;let[imports]=parse$1(code),src=new MagicString(code);return imports.forEach(({n:path6,ss:startPosition,se:endPosition})=>{let packageName=path6;if(packageName&&globalsList.includes(packageName)){let importStatement=src.slice(startPosition,endPosition),transformedImport=rewriteImport(importStatement,externals,packageName);src.update(startPosition,endPosition,transformedImport);}}),{code:src.toString(),map:src.generateMap({source:id,includeContent:!0,hires:!0})}}}}function getDefaultImportReplacement(match2){let matched=match2.match(defaultImportRegExp);return matched&&`const {default: ${matched[1]}} =`}function getSearchRegExp(packageName){let staticKeys=[...replacementMap.keys()].map(escapeKeys),packageNameLiteral=`.${packageName}.`,dynamicImportExpression=`await import\\(.${packageName}.\\)`,lookup=[defaultImportRegExp,...staticKeys,packageNameLiteral,dynamicImportExpression];return new RegExp(`(${lookup.join("|")})`,"g")}function rewriteImport(importStatement,globs,packageName){let search=getSearchRegExp(packageName);return importStatement.replace(search,match2=>replacementMap.get(match2)??getDefaultImportReplacement(match2)??globs[packageName])}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,{loadConfigFromFile,mergeConfig}=await import('vite'),{viteConfigPath}=await getBuilderOptions(options),projectRoot=path2.resolve(options.configDir,".."),{config:{build:buildProperty=void 0,...userConfig}={}}=await loadConfigFromFile(configEnv,viteConfigPath,projectRoot)??{},sbConfig={configFile:!1,cacheDir:findCacheDirectory({name:"sb-vite"}),root:projectRoot,base:"./",plugins:await pluginConfig(options),resolve:{preserveSymlinks:isPreservingSymlinks(),alias:{assert:__require.resolve("browser-assert")}},envPrefix:userConfig.envPrefix?["STORYBOOK_"]:["VITE_","STORYBOOK_"]};return mergeConfig(userConfig,sbConfig)}async function pluginConfig(options){let frameworkName=await getFrameworkName(options),build3=await options.presets.apply("build"),externals=globalsNameReferenceMap;build3?.test?.disableBlocks&&(externals["@storybook/blocks"]="__STORYBOOK_BLOCKS_EMPTY_MODULE__");let plugins=[codeGeneratorPlugin(options),await csfPlugin(options),await injectExportOrderPlugin(),await stripStoryHMRBoundary(),{name:"storybook:allow-storybook-dir",enforce:"post",config(config){config?.server?.fs?.allow&&config.server.fs.allow.push(".storybook");}},await externalGlobalsPlugin(externals)];if(frameworkName==="@storybook/glimmerx-vite"){let plugin=__require("vite-plugin-glimmerx/index.cjs");plugins.push(plugin.default());}return plugins}var INCLUDE_CANDIDATES=["@base2/pretty-print-object","@emotion/core","@emotion/is-prop-valid","@emotion/styled","@storybook/react > acorn-jsx","@storybook/react","@storybook/svelte","@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","html-tags","isobject","jest-mock","loader-utils","lodash/camelCase.js","lodash/camelCase","lodash/cloneDeep.js","lodash/cloneDeep","lodash/countBy.js","lodash/countBy","lodash/debounce.js","lodash/debounce","lodash/isEqual.js","lodash/isEqual","lodash/isFunction.js","lodash/isFunction","lodash/isPlainObject.js","lodash/isPlainObject","lodash/isString.js","lodash/isString","lodash/kebabCase.js","lodash/kebabCase","lodash/mapKeys.js","lodash/mapKeys","lodash/mapValues.js","lodash/mapValues","lodash/merge.js","lodash/merge","lodash/mergeWith.js","lodash/mergeWith","lodash/pick.js","lodash/pick","lodash/pickBy.js","lodash/pickBy","lodash/startCase.js","lodash/startCase","lodash/throttle.js","lodash/throttle","lodash/uniq.js","lodash/uniq","lodash/upperFirst.js","lodash/upperFirst","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","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 extraOptimizeDeps=await options.presets.apply("optimizeViteDeps",[]),{root=process.cwd()}=config,{normalizePath,resolveConfig}=await import('vite'),stories=(await listStories(options)).map(storyPath=>normalizePath(path2.relative(root,storyPath))),resolve3=(await resolveConfig(config,"serve","development")).createResolver({asSrc:!1}),include=await asyncFilter(Array.from(new Set([...INCLUDE_CANDIDATES,...extraOptimizeDeps])),async id=>!!await resolve3(id));return {...config.optimizeDeps,entries:stories,include:[...include,...config.optimizeDeps?.include||[]]}}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,assetsInclude:["/sb-preview/**"],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),{createServer}=await import('vite');return createServer(await sanitizeEnvVars(options,finalConfig))}async function build(options){let{build:viteBuild,mergeConfig}=await import('vite'),{presets}=options,config=await commonConfig(options,"build");config.build=mergeConfig(config,{build:{outDir:options.outputDir,emptyOutDir:!1,rollupOptions:{external:["./sb-preview/runtime.js"]},...options.test?{reportCompressedSize:!1,sourcemap:!options.build?.test?.disableSourcemaps,target:"esnext",treeshake:!options.build?.test?.disableTreeShaking}:{}}}).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)&&await hasVitePlugins(plugin,names)||checkName(plugin,names))return !0;return !1}var getAbsolutePath=input=>dirname(__require.resolve(join(input,"package.json")));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(){return server?.close()}var start=async({startTime,options,router,server:devServer})=>{server=await createViteServer(options,devServer);let previewResolvedDir=getAbsolutePath("@storybook/preview"),previewDirOrigin=join(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=getAbsolutePath("@storybook/preview"),previewDirOrigin=join(previewResolvedDir,"dist"),previewDirTarget=join(options.outputDir||"","sb-preview"),previewFiles=fs2.copy(previewDirOrigin,previewDirTarget,{filter:src=>{let{ext:ext2}=parse(src);return ext2?ext2===".js":!0}}),[out]=await Promise.all([viteCompilation,previewFiles]);return out};
|
|
180
180
|
|
|
181
181
|
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.6.
|
|
3
|
+
"version": "7.6.8",
|
|
4
4
|
"description": "A plugin to run and build Storybooks with Vite",
|
|
5
5
|
"homepage": "https://github.com/storybookjs/storybook/tree/next/code/builders/builder-vite/#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -43,14 +43,14 @@
|
|
|
43
43
|
"prep": "node --loader ../../../scripts/node_modules/esbuild-register/loader.js -r ../../../scripts/node_modules/esbuild-register/register.js ../../../scripts/prepare/bundle.ts"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@storybook/channels": "7.6.
|
|
47
|
-
"@storybook/client-logger": "7.6.
|
|
48
|
-
"@storybook/core-common": "7.6.
|
|
49
|
-
"@storybook/csf-plugin": "7.6.
|
|
50
|
-
"@storybook/node-logger": "7.6.
|
|
51
|
-
"@storybook/preview": "7.6.
|
|
52
|
-
"@storybook/preview-api": "7.6.
|
|
53
|
-
"@storybook/types": "7.6.
|
|
46
|
+
"@storybook/channels": "7.6.8",
|
|
47
|
+
"@storybook/client-logger": "7.6.8",
|
|
48
|
+
"@storybook/core-common": "7.6.8",
|
|
49
|
+
"@storybook/csf-plugin": "7.6.8",
|
|
50
|
+
"@storybook/node-logger": "7.6.8",
|
|
51
|
+
"@storybook/preview": "7.6.8",
|
|
52
|
+
"@storybook/preview-api": "7.6.8",
|
|
53
|
+
"@storybook/types": "7.6.8",
|
|
54
54
|
"@types/find-cache-dir": "^3.2.1",
|
|
55
55
|
"browser-assert": "^1.2.1",
|
|
56
56
|
"es-module-lexer": "^0.9.3",
|