framework-preset-react.js 3.5 KB

1
  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 framework_preset_react_exports={};__export(framework_preset_react_exports,{babel:()=>babel,babelDefault:()=>babelDefault,swc:()=>swc,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(framework_preset_react_exports);var import_path=require("path"),import_react_refresh_webpack_plugin=__toESM(require("@pmmmwh/react-refresh-webpack-plugin")),import_node_logger=require("@storybook/node-logger"),getAbsolutePath=input=>(0,import_path.dirname)(require.resolve((0,import_path.join)(input,"package.json"))),applyFastRefresh=async options=>{let isDevelopment=options.configType==="DEVELOPMENT",framework=await options.presets.apply("framework"),reactOptions=typeof framework=="object"?framework.options:{};return isDevelopment&&(reactOptions.fastRefresh||process.env.FAST_REFRESH==="true")},babel=async(config,options)=>await applyFastRefresh(options)?{...config,plugins:[[require.resolve("react-refresh/babel"),{},"storybook-react-refresh"],...config.plugins||[]]}:config,storybookReactDirName=getAbsolutePath("@storybook/preset-react-webpack"),context=storybookReactDirName.includes("node_modules")?(0,import_path.join)(storybookReactDirName,"../../"):(0,import_path.join)(storybookReactDirName,"../../node_modules"),hasJsxRuntime=()=>{try{return require.resolve("react/jsx-runtime",{paths:[context]}),!0}catch{return!1}},babelDefault=async config=>{let presetReactOptions=hasJsxRuntime()?{runtime:"automatic"}:{};return{...config,presets:[...(config==null?void 0:config.presets)||[],[require.resolve("@babel/preset-react"),presetReactOptions]],plugins:[...(config==null?void 0:config.plugins)||[],require.resolve("babel-plugin-add-react-displayname")]}},webpackFinal=async(config,options)=>{var _a;return await applyFastRefresh(options)?(_a=config.plugins)!=null&&_a.find(p=>p.constructor.name==="ReactRefreshPlugin")?(import_node_logger.logger.warn("=> React refresh is already set. You don't need to set the option"),config):(import_node_logger.logger.info("=> Using React fast refresh"),{...config,plugins:[...config.plugins||[],new import_react_refresh_webpack_plugin.default({overlay:{sockIntegration:"whm"}})]}):config},swc=async(config,options)=>{var _a,_b,_c;let isDevelopment=options.configType!=="PRODUCTION";return await applyFastRefresh(options)?{...config,jsc:{...(config==null?void 0:config.jsc)??{},transform:{...((_a=config==null?void 0:config.jsc)==null?void 0:_a.transform)??{},react:{...((_c=(_b=config==null?void 0:config.jsc)==null?void 0:_b.transform)==null?void 0:_c.react)??{},development:isDevelopment,refresh:isDevelopment}}}}:config};0&&(module.exports={babel,babelDefault,swc,webpackFinal});