UNPKG

@storybook/addon-webpack5-compiler-babel

Version:
34 lines (29 loc) 1.09 kB
import { fileURLToPath } from "node:url"; import type { Options } from "storybook/internal/types"; import type { Configuration } from "webpack"; import { resolvePathInStorybookCache } from "./utils.js"; const virtualModuleFiles = [/storybook-config-entry\.js$/, /storybook-stories\.js$/]; export const webpackFinal = async (config: Configuration, options: Options) => { const babelOptions = await options.presets.apply("babel", {}, options); const typescriptOptions = await options.presets.apply("typescript", {}, options); config.module = { ...(config.module || {}), rules: [ ...(config.module?.rules || []), { test: typescriptOptions.skipCompiler ? /\.((c|m)?jsx?)$/ : /\.((c|m)?(j|t)sx?)$/, use: [ { loader: fileURLToPath(import.meta.resolve("babel-loader")), options: { cacheDirectory: resolvePathInStorybookCache("babel"), ...babelOptions, }, }, ], exclude: [/node_modules/, ...virtualModuleFiles], }, ], }; return config; };