@storybook/builder-webpack5 7.0.0-beta.6 → 7.0.0-beta.61
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/README.md +2 -2
- package/dist/{index.d-b9fea616.d.ts → index.d-a14c8849.d.ts} +18 -19
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/presets/custom-webpack-preset.d.ts +1 -1
- package/dist/presets/custom-webpack-preset.js +2 -2
- package/dist/presets/custom-webpack-preset.mjs +1 -1
- package/dist/presets/preview-preset.d.ts +1 -2
- package/dist/presets/preview-preset.js +6 -1
- package/dist/presets/preview-preset.mjs +6 -1
- package/package.json +28 -23
- package/templates/preview.ejs +6 -0
- package/templates/virtualModuleEntry.template.js +5 -3
- package/templates/virtualModuleModernEntry.js.handlebars +1 -1
- package/typings.d.ts +0 -1
package/README.md
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
Builder implemented with `webpack5` and `webpack5`-compatible loaders/plugins/config, used by `@storybook/core-server` to build the preview iframe.
|
|
4
4
|
|
|
5
5
|
```js
|
|
6
|
-
|
|
6
|
+
export default {
|
|
7
7
|
core: {
|
|
8
|
-
builder: 'webpack5',
|
|
8
|
+
builder: '@storybook/builder-webpack5',
|
|
9
9
|
},
|
|
10
10
|
};
|
|
11
11
|
```
|
|
@@ -718,7 +718,7 @@ PackageJson$1.NonStandardEntryPoints &
|
|
|
718
718
|
PackageJson$1.TypeScriptConfiguration &
|
|
719
719
|
PackageJson$1.YarnConfiguration &
|
|
720
720
|
PackageJson$1.JSPMConfiguration;
|
|
721
|
-
|
|
721
|
+
type Tag = string;
|
|
722
722
|
interface Parameters {
|
|
723
723
|
[name: string]: any;
|
|
724
724
|
}
|
|
@@ -880,20 +880,18 @@ interface CLIOptions {
|
|
|
880
880
|
quiet?: boolean;
|
|
881
881
|
versionUpdates?: boolean;
|
|
882
882
|
releaseNotes?: boolean;
|
|
883
|
-
dll?: boolean;
|
|
884
883
|
docs?: boolean;
|
|
885
|
-
docsDll?: boolean;
|
|
886
|
-
uiDll?: boolean;
|
|
887
884
|
debugWebpack?: boolean;
|
|
888
885
|
webpackStatsJson?: string | boolean;
|
|
889
886
|
outputDir?: string;
|
|
890
887
|
}
|
|
891
888
|
interface BuilderOptions {
|
|
892
889
|
configType?: 'DEVELOPMENT' | 'PRODUCTION';
|
|
893
|
-
ignorePreview
|
|
894
|
-
cache
|
|
890
|
+
ignorePreview?: boolean;
|
|
891
|
+
cache?: FileSystemCache;
|
|
895
892
|
configDir: string;
|
|
896
|
-
docsMode
|
|
893
|
+
docsMode?: boolean;
|
|
894
|
+
env?: (envs: Record<string, string>) => Record<string, string>;
|
|
897
895
|
features?: StorybookConfig['features'];
|
|
898
896
|
versionCheck?: VersionCheck;
|
|
899
897
|
releaseNotesData?: ReleaseNotesData;
|
|
@@ -959,19 +957,16 @@ type CoreCommon_StorybookRefs = Record<string, {
|
|
|
959
957
|
disable: boolean;
|
|
960
958
|
}>;
|
|
961
959
|
type DocsOptions = {
|
|
962
|
-
/**
|
|
963
|
-
* Should we generate docs entries at all under any circumstances? (i.e. can they be rendered)
|
|
964
|
-
*/
|
|
965
|
-
enabled?: boolean;
|
|
966
960
|
/**
|
|
967
961
|
* What should we call the generated docs entries?
|
|
968
962
|
*/
|
|
969
963
|
defaultName?: string;
|
|
970
964
|
/**
|
|
971
|
-
* Should we generate a docs entry per CSF file
|
|
972
|
-
* Set to '
|
|
965
|
+
* Should we generate a docs entry per CSF file?
|
|
966
|
+
* Set to 'tag' (the default) to generate an entry for every CSF file with the
|
|
967
|
+
* 'autodocs' tag.
|
|
973
968
|
*/
|
|
974
|
-
|
|
969
|
+
autodocs?: boolean | 'tag';
|
|
975
970
|
/**
|
|
976
971
|
* Only show doc entries in the side bar (usually set with the `--docs` CLI flag)
|
|
977
972
|
*/
|
|
@@ -1014,10 +1009,6 @@ interface StorybookConfig {
|
|
|
1014
1009
|
* Enable a set of planned breaking changes for SB7.0
|
|
1015
1010
|
*/
|
|
1016
1011
|
breakingChangesV7?: boolean;
|
|
1017
|
-
/**
|
|
1018
|
-
* Enable the step debugger functionality in Addon-interactions.
|
|
1019
|
-
*/
|
|
1020
|
-
interactionsDebugger?: boolean;
|
|
1021
1012
|
/**
|
|
1022
1013
|
* Filter args with a "target" on the type from the render function (EXPERIMENTAL)
|
|
1023
1014
|
*/
|
|
@@ -1027,6 +1018,14 @@ interface StorybookConfig {
|
|
|
1027
1018
|
* Will be removed in 7.0.
|
|
1028
1019
|
*/
|
|
1029
1020
|
warnOnLegacyHierarchySeparator?: boolean;
|
|
1021
|
+
/**
|
|
1022
|
+
* Use legacy MDX1, to help smooth migration to 7.0
|
|
1023
|
+
*/
|
|
1024
|
+
legacyMdx1?: boolean;
|
|
1025
|
+
/**
|
|
1026
|
+
* Apply decorators from preview.js before decorators from addons or frameworks
|
|
1027
|
+
*/
|
|
1028
|
+
legacyDecoratorFileOrder?: boolean;
|
|
1030
1029
|
};
|
|
1031
1030
|
/**
|
|
1032
1031
|
* Tells Storybook where to find stories.
|
|
@@ -1035,7 +1034,7 @@ interface StorybookConfig {
|
|
|
1035
1034
|
*/
|
|
1036
1035
|
stories: StoriesEntry[];
|
|
1037
1036
|
/**
|
|
1038
|
-
* Framework, e.g. '@storybook/react', required in v7
|
|
1037
|
+
* Framework, e.g. '@storybook/react-vite', required in v7
|
|
1039
1038
|
*/
|
|
1040
1039
|
framework?: Preset;
|
|
1041
1040
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import webpack__default, { Configuration, Stats } from 'webpack';
|
|
2
|
-
import { O as Options$1, B as Builder } from './index.d-
|
|
2
|
+
import { O as Options$1, B as Builder } from './index.d-a14c8849.js';
|
|
3
3
|
import { StorybookConfig, Options, BuilderResult as BuilderResult$1 } from '@storybook/core-webpack';
|
|
4
4
|
import ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin';
|
|
5
5
|
import 'file-system-cache';
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __commonJS=(cb,mod)=>function(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var require_pretty_hrtime=__commonJS({"../../node_modules/pretty-hrtime/index.js"(exports,module2){"use strict";var minimalDesc=["h","min","s","ms","\u03BCs","ns"],verboseDesc=["hour","minute","second","millisecond","microsecond","nanosecond"],convert=[3600,60,1,1e6,1e3,1];module2.exports=function(source,opts){var verbose,precise,i,spot,sourceAtStep,valAtStep,decimals,strAtStep,results,totalSeconds;if(verbose=!1,precise=!1,opts&&(verbose=opts.verbose||!1,precise=opts.precise||!1),!Array.isArray(source)||source.length!==2||typeof source[0]!="number"||typeof source[1]!="number")return"";for(source[1]<0&&(totalSeconds=source[0]+source[1]/1e9,source[0]=parseInt(totalSeconds),source[1]=parseFloat((totalSeconds%1).toPrecision(9))*1e9),results="",i=0;i<6&&(spot=i<3?0:1,sourceAtStep=source[spot],i!==3&&i!==0&&(sourceAtStep=sourceAtStep%convert[i-1]),i===2&&(sourceAtStep+=source[1]/1e9),valAtStep=sourceAtStep/convert[i],!(valAtStep>=1&&(verbose&&(valAtStep=Math.floor(valAtStep)),precise?strAtStep=valAtStep.toString():(decimals=valAtStep>=10?0:2,strAtStep=valAtStep.toFixed(decimals)),strAtStep.indexOf(".")>-1&&strAtStep[strAtStep.length-1]==="0"&&(strAtStep=strAtStep.replace(/\.?0+$/,"")),results&&(results+=" "),results+=strAtStep,verbose?(results+=" "+verboseDesc[i],strAtStep!=="1"&&(results+="s")):results+=" "+minimalDesc[i],!verbose)));i++);return results}}});var src_exports={};__export(src_exports,{bail:()=>bail,build:()=>build,corePresets:()=>corePresets,executor:()=>executor,getConfig:()=>getConfig,overridePresets:()=>overridePresets,printDuration:()=>printDuration,start:()=>start});module.exports=__toCommonJS(src_exports);var import_webpack=__toESM(require("webpack")),import_webpack_dev_middleware=__toESM(require("webpack-dev-middleware")),import_webpack_hot_middleware=__toESM(require("webpack-hot-middleware")),import_node_logger=require("@storybook/node-logger"),import_core_webpack=require("@storybook/core-webpack"),import_path=require("path"),import_express=__toESM(require("express")),import_fs_extra=__toESM(require("fs-extra")),import_core_events=require("@storybook/core-events"),import_pretty_hrtime=__toESM(require_pretty_hrtime()),printDuration=startTime=>(0,import_pretty_hrtime.default)(process.hrtime(startTime)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes"),compilation,reject,executor={get:async options=>{var _a;let version=await options.presets.apply("webpackVersion")||"5",webpackInstance=((_a=await options.presets.apply("webpackInstance"))==null?void 0:_a.default)||import_webpack.default;return(0,import_core_webpack.checkWebpackVersion)({version},"5","builder-webpack5"),webpackInstance}},getConfig=async options=>{let{presets}=options,typescriptOptions=await presets.apply("typescript",{},options),babelOptions=await presets.apply("babel",{},{...options,typescriptOptions}),frameworkOptions=await presets.apply("frameworkOptions");return presets.apply("webpack",{},{...options,babelOptions,typescriptOptions,frameworkOptions})},asyncIterator,bail=async()=>{if(asyncIterator)try{await asyncIterator.throw(new Error)}catch{}return reject&&reject(),new Promise((res,rej)=>{if(process&&compilation)try{compilation.close(()=>res()),import_node_logger.logger.warn("Force closed preview build")}catch{import_node_logger.logger.warn("Unable to close preview build!"),res()}else res()})},starter=async function*({startTime,options,router,channel}){var _a,_b;let webpackInstance=await executor.get(options);yield;let config=await getConfig(options);yield;let compiler=webpackInstance(config);if(!compiler){let err=`${config.name}: missing webpack compiler at runtime!`;return import_node_logger.logger.error(err),{bail,totalTime:process.hrtime(startTime),stats:{hasErrors:()=>!0,hasWarnings:()=>!1,toJson:()=>({warnings:[],errors:[err]})}}}yield;let modulesCount=await((_a=options.cache)==null?void 0:_a.get("modulesCount").catch(()=>{}))||1e3,totalModules,value=0;new import_webpack.ProgressPlugin({handler:(newValue,message,arg3)=>{value=Math.max(newValue,value);let progress={value,message:message.charAt(0).toUpperCase()+message.slice(1)};if(message==="building"){let counts=arg3&&arg3.match(/(\d+)\/(\d+)/)||[],complete=parseInt(counts[1],10),total=parseInt(counts[2],10);!Number.isNaN(complete)&&!Number.isNaN(total)&&(progress.modules={complete,total},totalModules=total)}value===1&&(options.cache&&options.cache.set("modulesCount",totalModules),progress.message||(progress.message=`Completed in ${printDuration(startTime)}.`)),channel.emit(import_core_events.PREVIEW_BUILDER_PROGRESS,[progress])},modulesCount}).apply(compiler);let middlewareOptions={publicPath:(_b=config.output)==null?void 0:_b.publicPath,writeToDisk:!0};compilation=(0,import_webpack_dev_middleware.default)(compiler,middlewareOptions);let previewResolvedDir=(0,import_path.dirname)(require.resolve("@storybook/preview/package.json")),previewDirOrigin=(0,import_path.join)(previewResolvedDir,"dist");router.use("/sb-preview",import_express.default.static(previewDirOrigin,{immutable:!0,maxAge:"5m"})),router.use(compilation),router.use((0,import_webpack_hot_middleware.default)(compiler,{log:!1}));let stats=await new Promise((ready,stop)=>{compilation==null||compilation.waitUntilValid(ready),reject=stop});if(yield,!stats)throw new Error("no stats after building preview");if(stats.hasErrors())throw stats;return{bail,stats,totalTime:process.hrtime(startTime)}},builder=async function*({startTime,options}){let webpackInstance=await executor.get(options);yield,import_node_logger.logger.info("=> Compiling preview..");let config=await getConfig(options);yield;let compiler=webpackInstance(config);if(!compiler){let err=`${config.name}: missing webpack compiler at runtime!`;return import_node_logger.logger.error(err),{hasErrors:()=>!0,hasWarnings:()=>!1,toJson:()=>({warnings:[],errors:[err]})}}let webpackCompilation=new Promise((succeed,fail)=>{compiler.run((error,stats)=>{if(error||!stats||stats.hasErrors()){if(import_node_logger.logger.error("=> Failed to build the preview"),process.exitCode=1,error){import_node_logger.logger.error(error.message),compiler.close(()=>fail(error));return}if(stats&&(stats.hasErrors()||stats.hasWarnings())){let{warnings=[],errors=[]}=stats.toJson(typeof config.stats=="string"?config.stats:{warnings:!0,errors:!0,...config.stats});errors.forEach(e=>import_node_logger.logger.error(e.message)),warnings.forEach(e=>import_node_logger.logger.error(e.message)),compiler.close(()=>options.debugWebpack?fail(stats):fail(new Error("=> Webpack failed, learn more with --debug-webpack")));return}}import_node_logger.logger.trace({message:"=> Preview built",time:process.hrtime(startTime)}),stats&&stats.hasWarnings()&&stats.toJson({warnings:!0}).warnings.forEach(e=>import_node_logger.logger.warn(e.message)),compiler.close(closeErr=>closeErr?fail(closeErr):succeed(stats))})}),previewResolvedDir=(0,import_path.dirname)(require.resolve("@storybook/preview/package.json")),previewDirOrigin=(0,import_path.join)(previewResolvedDir,"dist"),previewDirTarget=(0,import_path.join)(options.outputDir||"","sb-preview"),previewFiles=import_fs_extra.default.copy(previewDirOrigin,previewDirTarget,{filter:src=>{let{ext}=(0,import_path.parse)(src);return ext?ext===".mjs":!0}}),[webpackCompilationOutput]=await Promise.all([webpackCompilation,previewFiles]);return webpackCompilationOutput},start=async options=>{asyncIterator=starter(options);let result;do result=await asyncIterator.next();while(!result.done);return result.value},build=async options=>{asyncIterator=builder(options);let result;do result=await asyncIterator.next();while(!result.done);return result.value},corePresets=[(0,import_path.join)(__dirname,"presets/preview-preset.js")],overridePresets=[(0,import_path.join)(__dirname,"./presets/custom-webpack-preset.js")];0&&(module.exports={bail,build,corePresets,executor,getConfig,overridePresets,printDuration,start});
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__commonJS,__require,__toESM}from"./chunk-GYZG6JM4.mjs";var require_pretty_hrtime=__commonJS({"../../node_modules/pretty-hrtime/index.js"(exports,module){"use strict";var minimalDesc=["h","min","s","ms","\u03BCs","ns"],verboseDesc=["hour","minute","second","millisecond","microsecond","nanosecond"],convert=[3600,60,1,1e6,1e3,1];module.exports=function(source,opts){var verbose,precise,i,spot,sourceAtStep,valAtStep,decimals,strAtStep,results,totalSeconds;if(verbose=!1,precise=!1,opts&&(verbose=opts.verbose||!1,precise=opts.precise||!1),!Array.isArray(source)||source.length!==2||typeof source[0]!="number"||typeof source[1]!="number")return"";for(source[1]<0&&(totalSeconds=source[0]+source[1]/1e9,source[0]=parseInt(totalSeconds),source[1]=parseFloat((totalSeconds%1).toPrecision(9))*1e9),results="",i=0;i<6&&(spot=i<3?0:1,sourceAtStep=source[spot],i!==3&&i!==0&&(sourceAtStep=sourceAtStep%convert[i-1]),i===2&&(sourceAtStep+=source[1]/1e9),valAtStep=sourceAtStep/convert[i],!(valAtStep>=1&&(verbose&&(valAtStep=Math.floor(valAtStep)),precise?strAtStep=valAtStep.toString():(decimals=valAtStep>=10?0:2,strAtStep=valAtStep.toFixed(decimals)),strAtStep.indexOf(".")>-1&&strAtStep[strAtStep.length-1]==="0"&&(strAtStep=strAtStep.replace(/\.?0+$/,"")),results&&(results+=" "),results+=strAtStep,verbose?(results+=" "+verboseDesc[i],strAtStep!=="1"&&(results+="s")):results+=" "+minimalDesc[i],!verbose)));i++);return results}}});var import_pretty_hrtime=__toESM(require_pretty_hrtime());import webpack,{ProgressPlugin}from"webpack";import webpackDevMiddleware from"webpack-dev-middleware";import webpackHotMiddleware from"webpack-hot-middleware";import{logger}from"@storybook/node-logger";import{checkWebpackVersion}from"@storybook/core-webpack";import{dirname,join,parse}from"path";import express from"express";import fs from"fs-extra";import{PREVIEW_BUILDER_PROGRESS}from"@storybook/core-events";var printDuration=startTime=>(0,import_pretty_hrtime.default)(process.hrtime(startTime)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes"),compilation,reject,executor={get:async options=>{let version=await options.presets.apply("webpackVersion")||"5",webpackInstance=(await options.presets.apply("webpackInstance"))?.default||webpack;return checkWebpackVersion({version},"5","builder-webpack5"),webpackInstance}},getConfig=async options=>{let{presets}=options,typescriptOptions=await presets.apply("typescript",{},options),babelOptions=await presets.apply("babel",{},{...options,typescriptOptions}),frameworkOptions=await presets.apply("frameworkOptions");return presets.apply("webpack",{},{...options,babelOptions,typescriptOptions,frameworkOptions})},asyncIterator,bail=async()=>{if(asyncIterator)try{await asyncIterator.throw(new Error)}catch{}return reject&&reject(),new Promise((res,rej)=>{if(process&&compilation)try{compilation.close(()=>res()),logger.warn("Force closed preview build")}catch{logger.warn("Unable to close preview build!"),res()}else res()})},starter=async function*({startTime,options,router,channel}){let webpackInstance=await executor.get(options);yield;let config=await getConfig(options);yield;let compiler=webpackInstance(config);if(!compiler){let err=`${config.name}: missing webpack compiler at runtime!`;return logger.error(err),{bail,totalTime:process.hrtime(startTime),stats:{hasErrors:()=>!0,hasWarnings:()=>!1,toJson:()=>({warnings:[],errors:[err]})}}}yield;let modulesCount=await options.cache?.get("modulesCount").catch(()=>{})||1e3,totalModules,value=0;new ProgressPlugin({handler:(newValue,message,arg3)=>{value=Math.max(newValue,value);let progress={value,message:message.charAt(0).toUpperCase()+message.slice(1)};if(message==="building"){let counts=arg3&&arg3.match(/(\d+)\/(\d+)/)||[],complete=parseInt(counts[1],10),total=parseInt(counts[2],10);!Number.isNaN(complete)&&!Number.isNaN(total)&&(progress.modules={complete,total},totalModules=total)}value===1&&(options.cache&&options.cache.set("modulesCount",totalModules),progress.message||(progress.message=`Completed in ${printDuration(startTime)}.`)),channel.emit(PREVIEW_BUILDER_PROGRESS,[progress])},modulesCount}).apply(compiler);let middlewareOptions={publicPath:config.output?.publicPath,writeToDisk:!0};compilation=webpackDevMiddleware(compiler,middlewareOptions);let previewResolvedDir=dirname(__require.resolve("@storybook/preview/package.json")),previewDirOrigin=join(previewResolvedDir,"dist");router.use("/sb-preview",express.static(previewDirOrigin,{immutable:!0,maxAge:"5m"})),router.use(compilation),router.use(webpackHotMiddleware(compiler));let stats=await new Promise((ready,stop)=>{compilation?.waitUntilValid(ready),reject=stop});if(yield,!stats)throw new Error("no stats after building preview");if(stats.hasErrors())throw stats;return{bail,stats,totalTime:process.hrtime(startTime)}},builder=async function*({startTime,options}){let webpackInstance=await executor.get(options);yield,logger.info("=> Compiling preview..");let config=await getConfig(options);yield;let compiler=webpackInstance(config);if(!compiler){let err=`${config.name}: missing webpack compiler at runtime!`;return logger.error(err),{hasErrors:()=>!0,hasWarnings:()=>!1,toJson:()=>({warnings:[],errors:[err]})}}let webpackCompilation=new Promise((succeed,fail)=>{compiler.run((error,stats)=>{if(error||!stats||stats.hasErrors()){if(logger.error("=> Failed to build the preview"),process.exitCode=1,error){logger.error(error.message),compiler.close(()=>fail(error));return}if(stats&&(stats.hasErrors()||stats.hasWarnings())){let{warnings=[],errors=[]}=stats.toJson(typeof config.stats=="string"?config.stats:{warnings:!0,errors:!0,...config.stats});errors.forEach(e=>logger.error(e.message)),warnings.forEach(e=>logger.error(e.message)),compiler.close(()=>options.debugWebpack?fail(stats):fail(new Error("=> Webpack failed, learn more with --debug-webpack")));return}}logger.trace({message:"=> Preview built",time:process.hrtime(startTime)}),stats&&stats.hasWarnings()&&stats.toJson({warnings:!0}).warnings.forEach(e=>logger.warn(e.message)),compiler.close(closeErr=>closeErr?fail(closeErr):succeed(stats))})}),previewResolvedDir=dirname(__require.resolve("@storybook/preview/package.json")),previewDirOrigin=join(previewResolvedDir,"dist"),previewDirTarget=join(options.outputDir||"","sb-preview"),previewFiles=fs.copy(previewDirOrigin,previewDirTarget,{filter:src=>{let{ext}=parse(src);return ext?ext===".mjs":!0}}),[webpackCompilationOutput]=await Promise.all([webpackCompilation,previewFiles]);return webpackCompilationOutput},start=async options=>{asyncIterator=starter(options);let result;do result=await asyncIterator.next();while(!result.done);return result.value},build=async options=>{asyncIterator=builder(options);let result;do result=await asyncIterator.next();while(!result.done);return result.value},corePresets=[join(__dirname,"presets/preview-preset.js")],overridePresets=[join(__dirname,"./presets/custom-webpack-preset.js")];export{bail,build,corePresets,executor,getConfig,overridePresets,printDuration,start};
|
|
1
|
+
import{__commonJS,__require,__toESM}from"./chunk-GYZG6JM4.mjs";var require_pretty_hrtime=__commonJS({"../../node_modules/pretty-hrtime/index.js"(exports,module){"use strict";var minimalDesc=["h","min","s","ms","\u03BCs","ns"],verboseDesc=["hour","minute","second","millisecond","microsecond","nanosecond"],convert=[3600,60,1,1e6,1e3,1];module.exports=function(source,opts){var verbose,precise,i,spot,sourceAtStep,valAtStep,decimals,strAtStep,results,totalSeconds;if(verbose=!1,precise=!1,opts&&(verbose=opts.verbose||!1,precise=opts.precise||!1),!Array.isArray(source)||source.length!==2||typeof source[0]!="number"||typeof source[1]!="number")return"";for(source[1]<0&&(totalSeconds=source[0]+source[1]/1e9,source[0]=parseInt(totalSeconds),source[1]=parseFloat((totalSeconds%1).toPrecision(9))*1e9),results="",i=0;i<6&&(spot=i<3?0:1,sourceAtStep=source[spot],i!==3&&i!==0&&(sourceAtStep=sourceAtStep%convert[i-1]),i===2&&(sourceAtStep+=source[1]/1e9),valAtStep=sourceAtStep/convert[i],!(valAtStep>=1&&(verbose&&(valAtStep=Math.floor(valAtStep)),precise?strAtStep=valAtStep.toString():(decimals=valAtStep>=10?0:2,strAtStep=valAtStep.toFixed(decimals)),strAtStep.indexOf(".")>-1&&strAtStep[strAtStep.length-1]==="0"&&(strAtStep=strAtStep.replace(/\.?0+$/,"")),results&&(results+=" "),results+=strAtStep,verbose?(results+=" "+verboseDesc[i],strAtStep!=="1"&&(results+="s")):results+=" "+minimalDesc[i],!verbose)));i++);return results}}});var import_pretty_hrtime=__toESM(require_pretty_hrtime());import webpack,{ProgressPlugin}from"webpack";import webpackDevMiddleware from"webpack-dev-middleware";import webpackHotMiddleware from"webpack-hot-middleware";import{logger}from"@storybook/node-logger";import{checkWebpackVersion}from"@storybook/core-webpack";import{dirname,join,parse}from"path";import express from"express";import fs from"fs-extra";import{PREVIEW_BUILDER_PROGRESS}from"@storybook/core-events";var printDuration=startTime=>(0,import_pretty_hrtime.default)(process.hrtime(startTime)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes"),compilation,reject,executor={get:async options=>{let version=await options.presets.apply("webpackVersion")||"5",webpackInstance=(await options.presets.apply("webpackInstance"))?.default||webpack;return checkWebpackVersion({version},"5","builder-webpack5"),webpackInstance}},getConfig=async options=>{let{presets}=options,typescriptOptions=await presets.apply("typescript",{},options),babelOptions=await presets.apply("babel",{},{...options,typescriptOptions}),frameworkOptions=await presets.apply("frameworkOptions");return presets.apply("webpack",{},{...options,babelOptions,typescriptOptions,frameworkOptions})},asyncIterator,bail=async()=>{if(asyncIterator)try{await asyncIterator.throw(new Error)}catch{}return reject&&reject(),new Promise((res,rej)=>{if(process&&compilation)try{compilation.close(()=>res()),logger.warn("Force closed preview build")}catch{logger.warn("Unable to close preview build!"),res()}else res()})},starter=async function*({startTime,options,router,channel}){let webpackInstance=await executor.get(options);yield;let config=await getConfig(options);yield;let compiler=webpackInstance(config);if(!compiler){let err=`${config.name}: missing webpack compiler at runtime!`;return logger.error(err),{bail,totalTime:process.hrtime(startTime),stats:{hasErrors:()=>!0,hasWarnings:()=>!1,toJson:()=>({warnings:[],errors:[err]})}}}yield;let modulesCount=await options.cache?.get("modulesCount").catch(()=>{})||1e3,totalModules,value=0;new ProgressPlugin({handler:(newValue,message,arg3)=>{value=Math.max(newValue,value);let progress={value,message:message.charAt(0).toUpperCase()+message.slice(1)};if(message==="building"){let counts=arg3&&arg3.match(/(\d+)\/(\d+)/)||[],complete=parseInt(counts[1],10),total=parseInt(counts[2],10);!Number.isNaN(complete)&&!Number.isNaN(total)&&(progress.modules={complete,total},totalModules=total)}value===1&&(options.cache&&options.cache.set("modulesCount",totalModules),progress.message||(progress.message=`Completed in ${printDuration(startTime)}.`)),channel.emit(PREVIEW_BUILDER_PROGRESS,[progress])},modulesCount}).apply(compiler);let middlewareOptions={publicPath:config.output?.publicPath,writeToDisk:!0};compilation=webpackDevMiddleware(compiler,middlewareOptions);let previewResolvedDir=dirname(__require.resolve("@storybook/preview/package.json")),previewDirOrigin=join(previewResolvedDir,"dist");router.use("/sb-preview",express.static(previewDirOrigin,{immutable:!0,maxAge:"5m"})),router.use(compilation),router.use(webpackHotMiddleware(compiler,{log:!1}));let stats=await new Promise((ready,stop)=>{compilation?.waitUntilValid(ready),reject=stop});if(yield,!stats)throw new Error("no stats after building preview");if(stats.hasErrors())throw stats;return{bail,stats,totalTime:process.hrtime(startTime)}},builder=async function*({startTime,options}){let webpackInstance=await executor.get(options);yield,logger.info("=> Compiling preview..");let config=await getConfig(options);yield;let compiler=webpackInstance(config);if(!compiler){let err=`${config.name}: missing webpack compiler at runtime!`;return logger.error(err),{hasErrors:()=>!0,hasWarnings:()=>!1,toJson:()=>({warnings:[],errors:[err]})}}let webpackCompilation=new Promise((succeed,fail)=>{compiler.run((error,stats)=>{if(error||!stats||stats.hasErrors()){if(logger.error("=> Failed to build the preview"),process.exitCode=1,error){logger.error(error.message),compiler.close(()=>fail(error));return}if(stats&&(stats.hasErrors()||stats.hasWarnings())){let{warnings=[],errors=[]}=stats.toJson(typeof config.stats=="string"?config.stats:{warnings:!0,errors:!0,...config.stats});errors.forEach(e=>logger.error(e.message)),warnings.forEach(e=>logger.error(e.message)),compiler.close(()=>options.debugWebpack?fail(stats):fail(new Error("=> Webpack failed, learn more with --debug-webpack")));return}}logger.trace({message:"=> Preview built",time:process.hrtime(startTime)}),stats&&stats.hasWarnings()&&stats.toJson({warnings:!0}).warnings.forEach(e=>logger.warn(e.message)),compiler.close(closeErr=>closeErr?fail(closeErr):succeed(stats))})}),previewResolvedDir=dirname(__require.resolve("@storybook/preview/package.json")),previewDirOrigin=join(previewResolvedDir,"dist"),previewDirTarget=join(options.outputDir||"","sb-preview"),previewFiles=fs.copy(previewDirOrigin,previewDirTarget,{filter:src=>{let{ext}=parse(src);return ext?ext===".mjs":!0}}),[webpackCompilationOutput]=await Promise.all([webpackCompilation,previewFiles]);return webpackCompilationOutput},start=async options=>{asyncIterator=starter(options);let result;do result=await asyncIterator.next();while(!result.done);return result.value},build=async options=>{asyncIterator=builder(options);let result;do result=await asyncIterator.next();while(!result.done);return result.value},corePresets=[join(__dirname,"presets/preview-preset.js")],overridePresets=[join(__dirname,"./presets/custom-webpack-preset.js")];export{bail,build,corePresets,executor,getConfig,overridePresets,printDuration,start};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as webpack$1 from 'webpack';
|
|
2
2
|
import { Configuration } from 'webpack';
|
|
3
|
-
import { O as Options } from '../index.d-
|
|
3
|
+
import { O as Options } from '../index.d-a14c8849.js';
|
|
4
4
|
import 'file-system-cache';
|
|
5
5
|
import '@babel/core';
|
|
6
6
|
import 'express';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var custom_webpack_preset_exports={};__export(custom_webpack_preset_exports,{webpack:()=>webpack,webpackInstance:()=>webpackInstance,webpackVersion:()=>webpackVersion});module.exports=__toCommonJS(custom_webpack_preset_exports);var webpackReal=__toESM(require("webpack")),import_node_logger2=require("@storybook/node-logger"),import_util_deprecate=__toESM(require("util-deprecate")),import_ts_dedent=require("ts-dedent"),import_core_webpack=require("@storybook/core-webpack");var import_node_logger=require("@storybook/node-logger");async function createDefaultWebpackConfig(storybookBaseConfig,options){var _a,_b,_c,_d;if((_a=options.presetsList)!=null&&_a.some(preset=>/@storybook(\/|\\)preset-create-react-app/.test(typeof preset=="string"?preset:preset.name)))return storybookBaseConfig;let hasPostcssAddon=(_b=options.presetsList)==null?void 0:_b.some(preset=>/@storybook(\/|\\)addon-postcss/.test(typeof preset=="string"?preset:preset.name)),cssLoaders={};hasPostcssAddon||(import_node_logger.logger.info("=> Using implicit CSS loaders"),cssLoaders={test:/\.css$/,sideEffects:!0,use:[require.resolve("style-loader"),{loader:require.resolve("css-loader"),options:{importLoaders:1}}]});let isProd=storybookBaseConfig.mode!=="development";return{...storybookBaseConfig,module:{...storybookBaseConfig.module,rules:[...((_c=storybookBaseConfig.module)==null?void 0:_c.rules)||[],cssLoaders,{test:/\.(svg|ico|jpg|jpeg|png|apng|gif|eot|otf|webp|ttf|woff|woff2|cur|ani|pdf)(\?.*)?$/,type:"asset/resource",generator:{filename:isProd?"static/media/[name].[contenthash:8][ext]":"static/media/[path][name][ext]"}},{test:/\.(mp4|webm|wav|mp3|m4a|aac|oga)(\?.*)?$/,type:"asset",parser:{dataUrlCondition:{maxSize:1e4}},generator:{filename:isProd?"static/media/[name].[contenthash:8][ext]":"static/media/[path][name][ext]"}},{resourceQuery:/raw/,type:"asset/source"}]},resolve:{...storybookBaseConfig.resolve,fallback:{crypto:!1,assert:!1,...(_d=storybookBaseConfig.resolve)==null?void 0:_d.fallback}}}}async function webpack(config,options){let{configDir,configType,presets,webpackConfig}=options,coreOptions=await presets.apply("core"),defaultConfig=config;coreOptions!=null&&coreOptions.disableWebpackDefaults||(defaultConfig=await createDefaultWebpackConfig(config,options));let finalDefaultConfig=await presets.apply("webpackFinal",defaultConfig,options);if(webpackConfig)return(0,import_util_deprecate.default)(webpackConfig,import_ts_dedent.dedent`
|
|
2
2
|
You've provided a webpack config directly in CallOptions, this is not recommended. Please use presets instead. This feature will be removed in 7.0
|
|
3
|
-
`)(
|
|
3
|
+
`)(finalDefaultConfig);let customConfig=(0,import_core_webpack.loadCustomWebpackConfig)(configDir);return typeof customConfig=="function"?(import_node_logger2.logger.info("=> Loading custom Webpack config (full-control mode)."),customConfig({config:finalDefaultConfig,mode:configType})):(import_node_logger2.logger.info("=> Using default Webpack5 setup"),finalDefaultConfig)}var webpackInstance=async()=>webpackReal,webpackVersion=async()=>"5";0&&(module.exports={webpack,webpackInstance,webpackVersion});
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{__require}from"../chunk-GYZG6JM4.mjs";import*as webpackReal from"webpack";import{logger as logger2}from"@storybook/node-logger";import deprecate from"util-deprecate";import{dedent}from"ts-dedent";import{loadCustomWebpackConfig}from"@storybook/core-webpack";import{logger}from"@storybook/node-logger";async function createDefaultWebpackConfig(storybookBaseConfig,options){if(options.presetsList?.some(preset=>/@storybook(\/|\\)preset-create-react-app/.test(typeof preset=="string"?preset:preset.name)))return storybookBaseConfig;let hasPostcssAddon=options.presetsList?.some(preset=>/@storybook(\/|\\)addon-postcss/.test(typeof preset=="string"?preset:preset.name)),cssLoaders={};hasPostcssAddon||(logger.info("=> Using implicit CSS loaders"),cssLoaders={test:/\.css$/,sideEffects:!0,use:[__require.resolve("style-loader"),{loader:__require.resolve("css-loader"),options:{importLoaders:1}}]});let isProd=storybookBaseConfig.mode!=="development";return{...storybookBaseConfig,module:{...storybookBaseConfig.module,rules:[...storybookBaseConfig.module?.rules||[],cssLoaders,{test:/\.(svg|ico|jpg|jpeg|png|apng|gif|eot|otf|webp|ttf|woff|woff2|cur|ani|pdf)(\?.*)?$/,type:"asset/resource",generator:{filename:isProd?"static/media/[name].[contenthash:8][ext]":"static/media/[path][name][ext]"}},{test:/\.(mp4|webm|wav|mp3|m4a|aac|oga)(\?.*)?$/,type:"asset",parser:{dataUrlCondition:{maxSize:1e4}},generator:{filename:isProd?"static/media/[name].[contenthash:8][ext]":"static/media/[path][name][ext]"}}]},resolve:{...storybookBaseConfig.resolve,fallback:{crypto:!1,assert:!1,...storybookBaseConfig.resolve?.fallback}}}}async function webpack(config,options){let{configDir,configType,presets,webpackConfig}=options,coreOptions=await presets.apply("core"),defaultConfig=config;coreOptions?.disableWebpackDefaults||(defaultConfig=await createDefaultWebpackConfig(config,options));let finalDefaultConfig=await presets.apply("webpackFinal",defaultConfig,options);if(webpackConfig)return deprecate(webpackConfig,dedent`
|
|
1
|
+
import{__require}from"../chunk-GYZG6JM4.mjs";import*as webpackReal from"webpack";import{logger as logger2}from"@storybook/node-logger";import deprecate from"util-deprecate";import{dedent}from"ts-dedent";import{loadCustomWebpackConfig}from"@storybook/core-webpack";import{logger}from"@storybook/node-logger";async function createDefaultWebpackConfig(storybookBaseConfig,options){if(options.presetsList?.some(preset=>/@storybook(\/|\\)preset-create-react-app/.test(typeof preset=="string"?preset:preset.name)))return storybookBaseConfig;let hasPostcssAddon=options.presetsList?.some(preset=>/@storybook(\/|\\)addon-postcss/.test(typeof preset=="string"?preset:preset.name)),cssLoaders={};hasPostcssAddon||(logger.info("=> Using implicit CSS loaders"),cssLoaders={test:/\.css$/,sideEffects:!0,use:[__require.resolve("style-loader"),{loader:__require.resolve("css-loader"),options:{importLoaders:1}}]});let isProd=storybookBaseConfig.mode!=="development";return{...storybookBaseConfig,module:{...storybookBaseConfig.module,rules:[...storybookBaseConfig.module?.rules||[],cssLoaders,{test:/\.(svg|ico|jpg|jpeg|png|apng|gif|eot|otf|webp|ttf|woff|woff2|cur|ani|pdf)(\?.*)?$/,type:"asset/resource",generator:{filename:isProd?"static/media/[name].[contenthash:8][ext]":"static/media/[path][name][ext]"}},{test:/\.(mp4|webm|wav|mp3|m4a|aac|oga)(\?.*)?$/,type:"asset",parser:{dataUrlCondition:{maxSize:1e4}},generator:{filename:isProd?"static/media/[name].[contenthash:8][ext]":"static/media/[path][name][ext]"}},{resourceQuery:/raw/,type:"asset/source"}]},resolve:{...storybookBaseConfig.resolve,fallback:{crypto:!1,assert:!1,...storybookBaseConfig.resolve?.fallback}}}}async function webpack(config,options){let{configDir,configType,presets,webpackConfig}=options,coreOptions=await presets.apply("core"),defaultConfig=config;coreOptions?.disableWebpackDefaults||(defaultConfig=await createDefaultWebpackConfig(config,options));let finalDefaultConfig=await presets.apply("webpackFinal",defaultConfig,options);if(webpackConfig)return deprecate(webpackConfig,dedent`
|
|
2
2
|
You've provided a webpack config directly in CallOptions, this is not recommended. Please use presets instead. This feature will be removed in 7.0
|
|
3
3
|
`)(finalDefaultConfig);let customConfig=loadCustomWebpackConfig(configDir);return typeof customConfig=="function"?(logger2.info("=> Loading custom Webpack config (full-control mode)."),customConfig({config:finalDefaultConfig,mode:configType})):(logger2.info("=> Using default Webpack5 setup"),finalDefaultConfig)}var webpackInstance=async()=>webpackReal,webpackVersion=async()=>"5";export{webpack,webpackInstance,webpackVersion};
|
|
@@ -3,7 +3,6 @@ import * as webpack$1 from 'webpack';
|
|
|
3
3
|
declare const webpack: (_: unknown, options: any) => Promise<webpack$1.Configuration>;
|
|
4
4
|
declare const entries: (_: unknown, options: any) => Promise<string[]>;
|
|
5
5
|
declare const babel: (config: any, options: any) => Promise<any>;
|
|
6
|
-
declare const babelLoaderRef: () => string;
|
|
7
6
|
declare const previewMainTemplate: () => string;
|
|
8
7
|
|
|
9
|
-
export { babel,
|
|
8
|
+
export { babel, entries, previewMainTemplate, webpack };
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preview_preset_exports={};__export(preview_preset_exports,{babel:()=>babel,entries:()=>entries,previewMainTemplate:()=>previewMainTemplate,webpack:()=>webpack});module.exports=__toCommonJS(preview_preset_exports);var import_path=require("path"),import_webpack=require("webpack"),import_html_webpack_plugin=__toESM(require("html-webpack-plugin")),import_case_sensitive_paths_webpack_plugin=__toESM(require("case-sensitive-paths-webpack-plugin")),import_terser_webpack_plugin=__toESM(require("terser-webpack-plugin")),import_webpack_virtual_modules=__toESM(require("webpack-virtual-modules")),import_fork_ts_checker_webpack_plugin=__toESM(require("fork-ts-checker-webpack-plugin")),import_slash=__toESM(require("slash")),import_globals=require("@storybook/preview/globals"),import_core_common2=require("@storybook/core-common"),import_core_webpack=require("@storybook/core-webpack"),import_ts_dedent=require("ts-dedent");var import_core_common=require("@storybook/core-common"),createBabelLoader=(options,typescriptOptions)=>({test:typescriptOptions.skipBabel?/\.(mjs|jsx?)$/:/\.(mjs|tsx?|jsx?)$/,use:[{loader:require.resolve("babel-loader"),options}],include:[(0,import_core_common.getProjectRoot)()],exclude:/node_modules/});var storybookPaths={global:(0,import_path.dirname)(require.resolve("@storybook/global/package.json")),...["api","components","global","manager-api","router","theming"].reduce((acc,sbPackage)=>({...acc,[`@storybook/${sbPackage}`]:(0,import_path.dirname)(require.resolve(`@storybook/${sbPackage}/package.json`))}),{}),["@storybook/api"]:(0,import_path.dirname)(require.resolve("@storybook/manager-api/package.json"))},iframe_webpack_config_default=async options=>{var _a;let{outputDir=(0,import_path.join)(".","public"),quiet,packageJson,configType,presets,previewUrl,babelOptions,typescriptOptions,features,serverChannelUrl}=options,isProd=configType==="PRODUCTION",workingDir=process.cwd(),[coreOptions,frameworkOptions,envs,logLevel,headHtmlSnippet,bodyHtmlSnippet,template,docsOptions,entries2,nonNormalizedStories,modulesCount=1e3]=await Promise.all([presets.apply("core"),presets.apply("frameworkOptions"),presets.apply("env"),presets.apply("logLevel",void 0),presets.apply("previewHead"),presets.apply("previewBody"),presets.apply("previewMainTemplate"),presets.apply("docs"),presets.apply("entries",[]),presets.apply("stories",[]),(_a=options.cache)==null?void 0:_a.get("modulesCount").catch(()=>{})]),stories=(0,import_core_common2.normalizeStories)(nonNormalizedStories,{configDir:options.configDir,workingDir}),builderOptions=await(0,import_core_common2.getBuilderOptions)(options),previewAnnotations=[...(await presets.apply("previewAnnotations",[],options)).map(entry=>typeof entry=="object"?entry.absolute:(0,import_slash.default)(entry)),(0,import_core_common2.loadPreviewOrConfigFile)(options)].filter(Boolean),virtualModuleMapping={};if(features!=null&&features.storyStoreV7){let storiesFilename="storybook-stories.js",storiesPath=(0,import_path.resolve)((0,import_path.join)(workingDir,storiesFilename)),needPipelinedImport=!!builderOptions.lazyCompilation&&!isProd;virtualModuleMapping[storiesPath]=(0,import_core_webpack.toImportFn)(stories,{needPipelinedImport});let configEntryPath=(0,import_path.resolve)((0,import_path.join)(workingDir,"storybook-config-entry.js"));virtualModuleMapping[configEntryPath]=(0,import_core_common2.handlebars)(await(0,import_core_common2.readTemplate)(require.resolve("@storybook/builder-webpack5/templates/virtualModuleModernEntry.js.handlebars")),{storiesFilename,previewAnnotations}).replace(/\\/g,"\\\\"),entries2.push(configEntryPath)}else{let rendererName=await(0,import_core_common2.getRendererName)(options),rendererInitEntry=(0,import_path.resolve)((0,import_path.join)(workingDir,"storybook-init-renderer-entry.js"));virtualModuleMapping[rendererInitEntry]=`import '${rendererName}';`,entries2.push(rendererInitEntry);let entryTemplate=await(0,import_core_common2.readTemplate)((0,import_path.join)(__dirname,"..","..","templates","virtualModuleEntry.template.js"));if(previewAnnotations.forEach(previewAnnotationFilename=>{if(!previewAnnotationFilename)return;let entryFilename=previewAnnotationFilename.startsWith(".")?`${previewAnnotationFilename.replace(/(\w)(\/|\\)/g,"$1-")}-generated-config-entry.js`:`${previewAnnotationFilename}-generated-config-entry.js`;virtualModuleMapping[entryFilename]=(0,import_core_common2.interpolate)(entryTemplate,{previewAnnotationFilename}),entries2.push(entryFilename)}),stories.length>0){let storyTemplate=await(0,import_core_common2.readTemplate)((0,import_path.join)(__dirname,"..","..","templates","virtualModuleStory.template.js")),storiesFilename=(0,import_path.resolve)((0,import_path.join)(workingDir,"generated-stories-entry.cjs"));virtualModuleMapping[storiesFilename]=(0,import_core_common2.interpolate)(storyTemplate,{rendererName}).replace("'{{stories}}'",stories.map(import_core_webpack.toRequireContextString).join(",")),entries2.push(storiesFilename)}}let shouldCheckTs=typescriptOptions.check&&!typescriptOptions.skipBabel,tsCheckOptions=typescriptOptions.checkOptions||{},cacheConfig=builderOptions.fsCache?{cache:{type:"filesystem"}}:{},lazyCompilationConfig=builderOptions.lazyCompilation&&!isProd?{lazyCompilation:{entries:!1}}:{};if(!template)throw new Error(import_ts_dedent.dedent`
|
|
2
|
+
Storybook's Webpack5 builder requires a template to be specified.
|
|
3
|
+
Somehow you've ended up with a falsy value for the template option.
|
|
4
|
+
|
|
5
|
+
Please file an issue at https://github.com/storybookjs/storybook with a reproduction.
|
|
6
|
+
`);return{name:"preview",mode:isProd?"production":"development",bail:isProd,devtool:"cheap-module-source-map",entry:entries2,output:{path:(0,import_path.resolve)(process.cwd(),outputDir),filename:isProd?"[name].[contenthash:8].iframe.bundle.js":"[name].iframe.bundle.js",publicPath:""},stats:{preset:"none",logging:"error"},watchOptions:{ignored:/node_modules/},externals:import_globals.globals,ignoreWarnings:[{message:/export '\S+' was not found in 'global'/},{message:/export '\S+' was not found in '@storybook\/global'/}],plugins:[Object.keys(virtualModuleMapping).length>0?new import_webpack_virtual_modules.default(virtualModuleMapping):null,new import_html_webpack_plugin.default({filename:"iframe.html",chunksSortMode:"none",alwaysWriteToDisk:!0,inject:!1,template,templateParameters:{version:packageJson.version,globals:{CONFIG_TYPE:configType,LOGLEVEL:logLevel,FRAMEWORK_OPTIONS:frameworkOptions,CHANNEL_OPTIONS:coreOptions.channelOptions,FEATURES:features,PREVIEW_URL:previewUrl,STORIES:stories.map(specifier=>({...specifier,importPathMatcher:specifier.importPathMatcher.source})),DOCS_OPTIONS:docsOptions,SERVER_CHANNEL_URL:serverChannelUrl},headHtmlSnippet,bodyHtmlSnippet},minify:{collapseWhitespace:!0,removeComments:!0,removeRedundantAttributes:!0,removeScriptTypeAttributes:!1,removeStyleLinkTypeAttributes:!0,useShortDoctype:!0}}),new import_webpack.DefinePlugin({...(0,import_core_common2.stringifyProcessEnvs)(envs),NODE_ENV:JSON.stringify(process.env.NODE_ENV)}),new import_webpack.ProvidePlugin({process:require.resolve("process/browser.js")}),isProd?null:new import_webpack.HotModuleReplacementPlugin,new import_case_sensitive_paths_webpack_plugin.default,quiet?null:new import_webpack.ProgressPlugin({modulesCount}),shouldCheckTs?new import_fork_ts_checker_webpack_plugin.default(tsCheckOptions):null].filter(Boolean),module:{rules:[{test:/\.m?js$/,type:"javascript/auto"},{test:/\.m?js$/,resolve:{fullySpecified:!1}},createBabelLoader(babelOptions,typescriptOptions),{test:/\.md$/,type:"asset/source"}]},resolve:{extensions:[".mjs",".js",".jsx",".ts",".tsx",".json",".cjs"],modules:["node_modules"].concat(envs.NODE_PATH||[]),mainFields:["browser","module","main"].filter(Boolean),alias:storybookPaths,fallback:{path:require.resolve("path-browserify"),assert:require.resolve("browser-assert"),util:require.resolve("util")},symlinks:!(0,import_core_common2.isPreservingSymlinks)()},optimization:{splitChunks:{chunks:"all"},runtimeChunk:!0,sideEffects:!0,usedExports:isProd,moduleIds:"named",minimizer:isProd?[new import_terser_webpack_plugin.default({parallel:!0,terserOptions:{sourceMap:!0,mangle:!1,keep_fnames:!0}})]:[]},performance:{hints:isProd?"warning":!1},...cacheConfig,experiments:{...lazyCompilationConfig}}};var webpack=async(_,options)=>iframe_webpack_config_default(options),entries=async(_,options)=>{let result=[];return options.configType==="DEVELOPMENT"&&(result=result.concat(`${require.resolve("webpack-hot-middleware/client")}?reload=true&quiet=false&noInfo=${options.quiet}`)),result},babel=async(config,options)=>({...config,overrides:[...(config==null?void 0:config.overrides)||[],{test:/\.(story|stories).*$/,plugins:[require.resolve("babel-plugin-named-exports-order")]}]}),previewMainTemplate=()=>require.resolve("@storybook/builder-webpack5/templates/preview.ejs");0&&(module.exports={babel,entries,previewMainTemplate,webpack});
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
import{__require}from"../chunk-GYZG6JM4.mjs";import{dirname,join,resolve}from"path";import{DefinePlugin,HotModuleReplacementPlugin,ProgressPlugin,ProvidePlugin}from"webpack";import HtmlWebpackPlugin from"html-webpack-plugin";import CaseSensitivePathsPlugin from"case-sensitive-paths-webpack-plugin";import TerserWebpackPlugin from"terser-webpack-plugin";import VirtualModulePlugin from"webpack-virtual-modules";import ForkTsCheckerWebpackPlugin from"fork-ts-checker-webpack-plugin";import{globals}from"@storybook/preview/globals";import{getRendererName,stringifyProcessEnvs,handlebars,interpolate,normalizeStories,readTemplate,loadPreviewOrConfigFile,isPreservingSymlinks}from"@storybook/core-common";import{toRequireContextString,toImportFn}from"@storybook/core-webpack";import{getProjectRoot}from"@storybook/core-common";var createBabelLoader=(options,typescriptOptions)=>({test:typescriptOptions.skipBabel?/\.(mjs|jsx?)$/:/\.(mjs|tsx?|jsx?)$/,use:[{loader:__require.resolve("babel-loader"),options}],include:[getProjectRoot()],exclude:/node_modules/});var storybookPaths={global:dirname(__require.resolve("global/package.json")),...["api","manager-api","
|
|
1
|
+
import{__require}from"../chunk-GYZG6JM4.mjs";import{dirname,join,resolve}from"path";import{DefinePlugin,HotModuleReplacementPlugin,ProgressPlugin,ProvidePlugin}from"webpack";import HtmlWebpackPlugin from"html-webpack-plugin";import CaseSensitivePathsPlugin from"case-sensitive-paths-webpack-plugin";import TerserWebpackPlugin from"terser-webpack-plugin";import VirtualModulePlugin from"webpack-virtual-modules";import ForkTsCheckerWebpackPlugin from"fork-ts-checker-webpack-plugin";import slash from"slash";import{globals}from"@storybook/preview/globals";import{getBuilderOptions,getRendererName,stringifyProcessEnvs,handlebars,interpolate,normalizeStories,readTemplate,loadPreviewOrConfigFile,isPreservingSymlinks}from"@storybook/core-common";import{toRequireContextString,toImportFn}from"@storybook/core-webpack";import{dedent}from"ts-dedent";import{getProjectRoot}from"@storybook/core-common";var createBabelLoader=(options,typescriptOptions)=>({test:typescriptOptions.skipBabel?/\.(mjs|jsx?)$/:/\.(mjs|tsx?|jsx?)$/,use:[{loader:__require.resolve("babel-loader"),options}],include:[getProjectRoot()],exclude:/node_modules/});var storybookPaths={global:dirname(__require.resolve("@storybook/global/package.json")),...["api","components","global","manager-api","router","theming"].reduce((acc,sbPackage)=>({...acc,[`@storybook/${sbPackage}`]:dirname(__require.resolve(`@storybook/${sbPackage}/package.json`))}),{}),["@storybook/api"]:dirname(__require.resolve("@storybook/manager-api/package.json"))},iframe_webpack_config_default=async options=>{let{outputDir=join(".","public"),quiet,packageJson,configType,presets,previewUrl,babelOptions,typescriptOptions,features,serverChannelUrl}=options,isProd=configType==="PRODUCTION",workingDir=process.cwd(),[coreOptions,frameworkOptions,envs,logLevel,headHtmlSnippet,bodyHtmlSnippet,template,docsOptions,entries2,nonNormalizedStories,modulesCount=1e3]=await Promise.all([presets.apply("core"),presets.apply("frameworkOptions"),presets.apply("env"),presets.apply("logLevel",void 0),presets.apply("previewHead"),presets.apply("previewBody"),presets.apply("previewMainTemplate"),presets.apply("docs"),presets.apply("entries",[]),presets.apply("stories",[]),options.cache?.get("modulesCount").catch(()=>{})]),stories=normalizeStories(nonNormalizedStories,{configDir:options.configDir,workingDir}),builderOptions=await getBuilderOptions(options),previewAnnotations=[...(await presets.apply("previewAnnotations",[],options)).map(entry=>typeof entry=="object"?entry.absolute:slash(entry)),loadPreviewOrConfigFile(options)].filter(Boolean),virtualModuleMapping={};if(features?.storyStoreV7){let storiesFilename="storybook-stories.js",storiesPath=resolve(join(workingDir,storiesFilename)),needPipelinedImport=!!builderOptions.lazyCompilation&&!isProd;virtualModuleMapping[storiesPath]=toImportFn(stories,{needPipelinedImport});let configEntryPath=resolve(join(workingDir,"storybook-config-entry.js"));virtualModuleMapping[configEntryPath]=handlebars(await readTemplate(__require.resolve("@storybook/builder-webpack5/templates/virtualModuleModernEntry.js.handlebars")),{storiesFilename,previewAnnotations}).replace(/\\/g,"\\\\"),entries2.push(configEntryPath)}else{let rendererName=await getRendererName(options),rendererInitEntry=resolve(join(workingDir,"storybook-init-renderer-entry.js"));virtualModuleMapping[rendererInitEntry]=`import '${rendererName}';`,entries2.push(rendererInitEntry);let entryTemplate=await readTemplate(join(__dirname,"..","..","templates","virtualModuleEntry.template.js"));if(previewAnnotations.forEach(previewAnnotationFilename=>{if(!previewAnnotationFilename)return;let entryFilename=previewAnnotationFilename.startsWith(".")?`${previewAnnotationFilename.replace(/(\w)(\/|\\)/g,"$1-")}-generated-config-entry.js`:`${previewAnnotationFilename}-generated-config-entry.js`;virtualModuleMapping[entryFilename]=interpolate(entryTemplate,{previewAnnotationFilename}),entries2.push(entryFilename)}),stories.length>0){let storyTemplate=await readTemplate(join(__dirname,"..","..","templates","virtualModuleStory.template.js")),storiesFilename=resolve(join(workingDir,"generated-stories-entry.cjs"));virtualModuleMapping[storiesFilename]=interpolate(storyTemplate,{rendererName}).replace("'{{stories}}'",stories.map(toRequireContextString).join(",")),entries2.push(storiesFilename)}}let shouldCheckTs=typescriptOptions.check&&!typescriptOptions.skipBabel,tsCheckOptions=typescriptOptions.checkOptions||{},cacheConfig=builderOptions.fsCache?{cache:{type:"filesystem"}}:{},lazyCompilationConfig=builderOptions.lazyCompilation&&!isProd?{lazyCompilation:{entries:!1}}:{};if(!template)throw new Error(dedent`
|
|
2
|
+
Storybook's Webpack5 builder requires a template to be specified.
|
|
3
|
+
Somehow you've ended up with a falsy value for the template option.
|
|
4
|
+
|
|
5
|
+
Please file an issue at https://github.com/storybookjs/storybook with a reproduction.
|
|
6
|
+
`);return{name:"preview",mode:isProd?"production":"development",bail:isProd,devtool:"cheap-module-source-map",entry:entries2,output:{path:resolve(process.cwd(),outputDir),filename:isProd?"[name].[contenthash:8].iframe.bundle.js":"[name].iframe.bundle.js",publicPath:""},stats:{preset:"none",logging:"error"},watchOptions:{ignored:/node_modules/},externals:globals,ignoreWarnings:[{message:/export '\S+' was not found in 'global'/},{message:/export '\S+' was not found in '@storybook\/global'/}],plugins:[Object.keys(virtualModuleMapping).length>0?new VirtualModulePlugin(virtualModuleMapping):null,new HtmlWebpackPlugin({filename:"iframe.html",chunksSortMode:"none",alwaysWriteToDisk:!0,inject:!1,template,templateParameters:{version:packageJson.version,globals:{CONFIG_TYPE:configType,LOGLEVEL:logLevel,FRAMEWORK_OPTIONS:frameworkOptions,CHANNEL_OPTIONS:coreOptions.channelOptions,FEATURES:features,PREVIEW_URL:previewUrl,STORIES:stories.map(specifier=>({...specifier,importPathMatcher:specifier.importPathMatcher.source})),DOCS_OPTIONS:docsOptions,SERVER_CHANNEL_URL:serverChannelUrl},headHtmlSnippet,bodyHtmlSnippet},minify:{collapseWhitespace:!0,removeComments:!0,removeRedundantAttributes:!0,removeScriptTypeAttributes:!1,removeStyleLinkTypeAttributes:!0,useShortDoctype:!0}}),new DefinePlugin({...stringifyProcessEnvs(envs),NODE_ENV:JSON.stringify(process.env.NODE_ENV)}),new ProvidePlugin({process:__require.resolve("process/browser.js")}),isProd?null:new HotModuleReplacementPlugin,new CaseSensitivePathsPlugin,quiet?null:new ProgressPlugin({modulesCount}),shouldCheckTs?new ForkTsCheckerWebpackPlugin(tsCheckOptions):null].filter(Boolean),module:{rules:[{test:/\.m?js$/,type:"javascript/auto"},{test:/\.m?js$/,resolve:{fullySpecified:!1}},createBabelLoader(babelOptions,typescriptOptions),{test:/\.md$/,type:"asset/source"}]},resolve:{extensions:[".mjs",".js",".jsx",".ts",".tsx",".json",".cjs"],modules:["node_modules"].concat(envs.NODE_PATH||[]),mainFields:["browser","module","main"].filter(Boolean),alias:storybookPaths,fallback:{path:__require.resolve("path-browserify"),assert:__require.resolve("browser-assert"),util:__require.resolve("util")},symlinks:!isPreservingSymlinks()},optimization:{splitChunks:{chunks:"all"},runtimeChunk:!0,sideEffects:!0,usedExports:isProd,moduleIds:"named",minimizer:isProd?[new TerserWebpackPlugin({parallel:!0,terserOptions:{sourceMap:!0,mangle:!1,keep_fnames:!0}})]:[]},performance:{hints:isProd?"warning":!1},...cacheConfig,experiments:{...lazyCompilationConfig}}};var webpack=async(_,options)=>iframe_webpack_config_default(options),entries=async(_,options)=>{let result=[];return options.configType==="DEVELOPMENT"&&(result=result.concat(`${__require.resolve("webpack-hot-middleware/client")}?reload=true&quiet=false&noInfo=${options.quiet}`)),result},babel=async(config,options)=>({...config,overrides:[...config?.overrides||[],{test:/\.(story|stories).*$/,plugins:[__require.resolve("babel-plugin-named-exports-order")]}]}),previewMainTemplate=()=>__require.resolve("@storybook/builder-webpack5/templates/preview.ejs");export{babel,entries,previewMainTemplate,webpack};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storybook/builder-webpack5",
|
|
3
|
-
"version": "7.0.0-beta.
|
|
3
|
+
"version": "7.0.0-beta.61",
|
|
4
4
|
"description": "Storybook framework-agnostic API",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"storybook"
|
|
@@ -21,16 +21,19 @@
|
|
|
21
21
|
"license": "MIT",
|
|
22
22
|
"exports": {
|
|
23
23
|
".": {
|
|
24
|
+
"node": "./dist/index.js",
|
|
24
25
|
"require": "./dist/index.js",
|
|
25
26
|
"import": "./dist/index.mjs",
|
|
26
27
|
"types": "./dist/index.d.ts"
|
|
27
28
|
},
|
|
28
29
|
"./presets/custom-webpack-preset": {
|
|
30
|
+
"node": "./dist/presets/custom-webpack-preset.js",
|
|
29
31
|
"require": "./dist/presets/custom-webpack-preset.js",
|
|
30
32
|
"import": "./dist/presets/custom-webpack-preset.mjs",
|
|
31
33
|
"types": "./dist/presets/custom-webpack-preset.d.ts"
|
|
32
34
|
},
|
|
33
35
|
"./presets/preview-preset": {
|
|
36
|
+
"node": "./dist/presets/preview-preset.js",
|
|
34
37
|
"require": "./dist/presets/preview-preset.js",
|
|
35
38
|
"import": "./dist/presets/preview-preset.mjs",
|
|
36
39
|
"types": "./dist/presets/preview-preset.d.ts"
|
|
@@ -45,6 +48,7 @@
|
|
|
45
48
|
"files": [
|
|
46
49
|
"dist/**/*",
|
|
47
50
|
"templates/**/*",
|
|
51
|
+
"README.md",
|
|
48
52
|
"*.js",
|
|
49
53
|
"*.d.ts"
|
|
50
54
|
],
|
|
@@ -54,39 +58,40 @@
|
|
|
54
58
|
},
|
|
55
59
|
"dependencies": {
|
|
56
60
|
"@babel/core": "^7.12.10",
|
|
57
|
-
"@storybook/addons": "7.0.0-beta.
|
|
58
|
-
"@storybook/api": "7.0.0-beta.
|
|
59
|
-
"@storybook/channel-postmessage": "7.0.0-beta.
|
|
60
|
-
"@storybook/channel-websocket": "7.0.0-beta.
|
|
61
|
-
"@storybook/channels": "7.0.0-beta.
|
|
62
|
-
"@storybook/client-api": "7.0.0-beta.
|
|
63
|
-
"@storybook/client-logger": "7.0.0-beta.
|
|
64
|
-
"@storybook/components": "7.0.0-beta.
|
|
65
|
-
"@storybook/core-common": "7.0.0-beta.
|
|
66
|
-
"@storybook/core-events": "7.0.0-beta.
|
|
67
|
-
"@storybook/core-webpack": "7.0.0-beta.
|
|
68
|
-
"@storybook/
|
|
69
|
-
"@storybook/
|
|
70
|
-
"@storybook/
|
|
71
|
-
"@storybook/preview
|
|
72
|
-
"@storybook/
|
|
73
|
-
"@storybook/
|
|
74
|
-
"@storybook/
|
|
61
|
+
"@storybook/addons": "7.0.0-beta.61",
|
|
62
|
+
"@storybook/api": "7.0.0-beta.61",
|
|
63
|
+
"@storybook/channel-postmessage": "7.0.0-beta.61",
|
|
64
|
+
"@storybook/channel-websocket": "7.0.0-beta.61",
|
|
65
|
+
"@storybook/channels": "7.0.0-beta.61",
|
|
66
|
+
"@storybook/client-api": "7.0.0-beta.61",
|
|
67
|
+
"@storybook/client-logger": "7.0.0-beta.61",
|
|
68
|
+
"@storybook/components": "7.0.0-beta.61",
|
|
69
|
+
"@storybook/core-common": "7.0.0-beta.61",
|
|
70
|
+
"@storybook/core-events": "7.0.0-beta.61",
|
|
71
|
+
"@storybook/core-webpack": "7.0.0-beta.61",
|
|
72
|
+
"@storybook/global": "^5.0.0",
|
|
73
|
+
"@storybook/manager-api": "7.0.0-beta.61",
|
|
74
|
+
"@storybook/node-logger": "7.0.0-beta.61",
|
|
75
|
+
"@storybook/preview": "7.0.0-beta.61",
|
|
76
|
+
"@storybook/preview-api": "7.0.0-beta.61",
|
|
77
|
+
"@storybook/router": "7.0.0-beta.61",
|
|
78
|
+
"@storybook/store": "7.0.0-beta.61",
|
|
79
|
+
"@storybook/theming": "7.0.0-beta.61",
|
|
75
80
|
"@types/node": "^16.0.0",
|
|
76
81
|
"@types/semver": "^7.3.4",
|
|
77
|
-
"babel-loader": "^
|
|
82
|
+
"babel-loader": "^9.0.0",
|
|
78
83
|
"babel-plugin-named-exports-order": "^0.0.2",
|
|
79
84
|
"browser-assert": "^1.2.1",
|
|
80
85
|
"case-sensitive-paths-webpack-plugin": "^2.4.0",
|
|
81
86
|
"css-loader": "^6.7.1",
|
|
82
87
|
"express": "^4.17.3",
|
|
83
88
|
"fork-ts-checker-webpack-plugin": "^7.2.8",
|
|
84
|
-
"fs-extra": "^
|
|
85
|
-
"global": "^4.4.0",
|
|
89
|
+
"fs-extra": "^11.1.0",
|
|
86
90
|
"html-webpack-plugin": "^5.5.0",
|
|
87
91
|
"path-browserify": "^1.0.1",
|
|
88
92
|
"process": "^0.11.10",
|
|
89
93
|
"semver": "^7.3.7",
|
|
94
|
+
"slash": "^3.0.0",
|
|
90
95
|
"style-loader": "^3.3.1",
|
|
91
96
|
"terser-webpack-plugin": "^5.3.1",
|
|
92
97
|
"ts-dedent": "^2.0.0",
|
|
@@ -126,5 +131,5 @@
|
|
|
126
131
|
],
|
|
127
132
|
"platform": "node"
|
|
128
133
|
},
|
|
129
|
-
"gitHead": "
|
|
134
|
+
"gitHead": "c4707c66fa1b173da15d232f35e03dd647aa6a42"
|
|
130
135
|
}
|
package/templates/preview.ejs
CHANGED
|
@@ -10,6 +10,12 @@
|
|
|
10
10
|
|
|
11
11
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
12
|
|
|
13
|
+
<link rel="preload" href="./sb-common-assets/nunito-sans-regular.woff2" as="font" type="font/woff2" crossorigin />
|
|
14
|
+
<link rel="preload" href="./sb-common-assets/nunito-sans-italic.woff2" as="font" type="font/woff2" crossorigin />
|
|
15
|
+
<link rel="preload" href="./sb-common-assets/nunito-sans-bold.woff2" as="font" type="font/woff2" crossorigin />
|
|
16
|
+
<link rel="preload" href="./sb-common-assets/nunito-sans-bold-italic.woff2" as="font" type="font/woff2" crossorigin />
|
|
17
|
+
<link rel="stylesheet" href="./sb-common-assets/fonts.css" />
|
|
18
|
+
|
|
13
19
|
<% if (typeof headHtmlSnippet !== 'undefined') { %> <%= headHtmlSnippet %> <% } %> <%
|
|
14
20
|
htmlWebpackPlugin.files.css.forEach(file => { %>
|
|
15
21
|
<link href="<%= file %>" rel="stylesheet" />
|
|
@@ -9,11 +9,13 @@ import {
|
|
|
9
9
|
addArgsEnhancer,
|
|
10
10
|
addArgTypesEnhancer,
|
|
11
11
|
setGlobalRender,
|
|
12
|
-
} from '
|
|
12
|
+
} from '@storybook/preview-api';
|
|
13
13
|
import * as previewAnnotations from '{{previewAnnotationFilename}}';
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
const config = previewAnnotations.default ?? previewAnnotations;
|
|
16
|
+
|
|
17
|
+
Object.keys(config).forEach((key) => {
|
|
18
|
+
const value = config[key];
|
|
17
19
|
switch (key) {
|
|
18
20
|
case 'args': {
|
|
19
21
|
return addArgs(value);
|
package/typings.d.ts
CHANGED