UNPKG

storybook-builder-rsbuild

Version:
341 lines (334 loc) 11.8 kB
import { createRequire as __WEBPACK_EXTERNAL_createRequire } from "module"; import * as __WEBPACK_EXTERNAL_MODULE_storybook_internal_common_7991bda6__ from "storybook/internal/common"; import * as __WEBPACK_EXTERNAL_MODULE_storybook_internal_node_logger_87de4309__ from "storybook/internal/node-logger"; var __webpack_modules__ = { 980: (__unused_webpack_module, exports) => { var __webpack_unused_export__; __webpack_unused_export__ = { value: true }; exports.TW = void 0; function dedent(templ) { var values = []; for (var _i = 1; _i < arguments.length; _i++) { values[_i - 1] = arguments[_i]; } var strings = Array.from(typeof templ === "string" ? [templ] : templ); strings[strings.length - 1] = strings[strings.length - 1].replace( /\r?\n([\t ]*)$/, "", ); var indentLengths = strings.reduce(function (arr, str) { var matches = str.match(/\n([\t ]+|(?!\s).)/g); if (matches) { return arr.concat( matches.map(function (match) { var _a, _b; return (_b = (_a = match.match(/[\t ]/g)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0; }), ); } return arr; }, []); if (indentLengths.length) { var pattern_1 = new RegExp( "\n[\t ]{" + Math.min.apply(Math, indentLengths) + "}", "g", ); strings = strings.map(function (str) { return str.replace(pattern_1, "\n"); }); } strings[0] = strings[0].replace(/^\r?\n/, ""); var string = strings[0]; values.forEach(function (value, i) { var endentations = string.match(/(?:^|\n)( *)$/); var endentation = endentations ? endentations[1] : ""; var indentedValue = value; if (typeof value === "string" && value.includes("\n")) { indentedValue = String(value) .split("\n") .map(function (str, i) { return i === 0 ? str : "" + endentation + str; }) .join("\n"); } string += indentedValue + strings[i + 1]; }); return string; } exports.TW = dedent; __webpack_unused_export__ = dedent; }, }; var __webpack_module_cache__ = {}; function __nccwpck_require__(moduleId) { var cachedModule = __webpack_module_cache__[moduleId]; if (cachedModule !== undefined) { return cachedModule.exports; } var module = (__webpack_module_cache__[moduleId] = { exports: {} }); var threw = true; try { __webpack_modules__[moduleId](module, module.exports, __nccwpck_require__); threw = false; } finally { if (threw) delete __webpack_module_cache__[moduleId]; } return module.exports; } (() => { __nccwpck_require__.d = (exports, definition) => { for (var key in definition) { if ( __nccwpck_require__.o(definition, key) && !__nccwpck_require__.o(exports, key) ) { Object.defineProperty(exports, key, { enumerable: true, get: definition[key], }); } } }; })(); (() => { __nccwpck_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); })(); if (typeof __nccwpck_require__ !== "undefined") __nccwpck_require__.ab = new URL(".", import.meta.url).pathname.slice( import.meta.url.match(/^file:\/\/\/\w:/) ? 1 : 0, -1, ) + "/"; var __webpack_exports__ = {}; __nccwpck_require__.d(__webpack_exports__, { il: () => checkWebpackVersion, Tu: () => loadCustomWebpackConfig, SV: () => mergeConfigs, T1: () => toImportFn, i8: () => toImportFnPart, sg: () => toRequireContext, HO: () => toRequireContextString, hO: () => webpackIncludeRegexp, }); const external_node_url_namespaceObject = __WEBPACK_EXTERNAL_createRequire( import.meta.url, )("node:url"); const external_node_path_namespaceObject = __WEBPACK_EXTERNAL_createRequire( import.meta.url, )("node:path"); const external_node_module_namespaceObject = __WEBPACK_EXTERNAL_createRequire( import.meta.url, )("node:module"); var x = (y) => { var x = {}; __nccwpck_require__.d(x, y); return x; }; var y = (x) => () => x; const common_namespaceObject = x({ ["globToRegexp"]: () => __WEBPACK_EXTERNAL_MODULE_storybook_internal_common_7991bda6__.globToRegexp, ["serverRequire"]: () => __WEBPACK_EXTERNAL_MODULE_storybook_internal_common_7991bda6__.serverRequire, }); var node_logger_x = (y) => { var x = {}; __nccwpck_require__.d(x, y); return x; }; var node_logger_y = (x) => () => x; const node_logger_namespaceObject = node_logger_x({ ["logger"]: () => __WEBPACK_EXTERNAL_MODULE_storybook_internal_node_logger_87de4309__.logger, }); var dist = __nccwpck_require__(980); var dist_filename = external_node_url_namespaceObject.fileURLToPath( import.meta.url, ); var dist_dirname = external_node_path_namespaceObject.dirname(dist_filename); var dist_require = external_node_module_namespaceObject.createRequire( import.meta.url, ); var webpackConfigs = ["webpack.config", "webpackfile"], loadCustomWebpackConfig = async (configDir) => (0, common_namespaceObject.serverRequire)( webpackConfigs.map((configName) => (0, external_node_path_namespaceObject.resolve)(configDir, configName), ), ); var checkWebpackVersion = (webpack, specifier, caption) => { if (!webpack.version) { node_logger_namespaceObject.logger.info( "Skipping webpack version check, no version available", ); return; } webpack.version !== specifier && node_logger_namespaceObject.logger.warn((0, dist.TW)` Unexpected webpack version in ${caption}: - Received '${webpack.version}' - Expected '${specifier}' If you're using Webpack 5 in SB6.2 and upgrading, consider: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#webpack-5-manager-build For more info about Webpack 5 support: https://gist.github.com/shilman/8856ea1786dcd247139b47b270912324#troubleshooting `); }; function mergePluginsField(defaultPlugins = [], customPlugins = []) { return [...defaultPlugins, ...customPlugins]; } function mergeRulesField(defaultRules = [], customRules = []) { return [...defaultRules, ...customRules]; } function mergeExtensionsField( { extensions: defaultExtensions = [] }, { extensions: customExtensions = [] }, ) { return [...defaultExtensions, ...customExtensions]; } function mergeAliasField( { alias: defaultAlias = {} }, { alias: customAlias = {} }, ) { return { ...defaultAlias, ...customAlias }; } function mergeModuleField(a, b) { return { ...a, ...b, rules: mergeRulesField(a.rules || [], b.rules || []) }; } function mergeResolveField( { resolve: defaultResolve = {} }, { resolve: customResolve = {} }, ) { return { ...defaultResolve, ...customResolve, alias: mergeAliasField(defaultResolve, customResolve), extensions: mergeExtensionsField(defaultResolve, customResolve), }; } function mergeOptimizationField( { optimization: defaultOptimization = {} }, { optimization: customOptimization = {} }, ) { return { ...defaultOptimization, ...customOptimization }; } function mergeConfigs(config, customConfig) { return { ...customConfig, ...config, devtool: customConfig.devtool || config.devtool, plugins: mergePluginsField(config.plugins, customConfig.plugins), module: mergeModuleField(config.module || {}, customConfig.module || {}), resolve: mergeResolveField(config, customConfig), optimization: mergeOptimizationField(config, customConfig), }; } function importPipeline() { let importGate = Promise.resolve(); return async (importFn) => { await importGate; let moduleExportsPromise = importFn(); return ( (importGate = importGate.then(async () => { await moduleExportsPromise; })), moduleExportsPromise ); }; } function adjustRegexToExcludeNodeModules(originalRegex) { let originalRegexString = originalRegex.source, startsWithCaret = originalRegexString.startsWith("^"), excludeNodeModulesPattern = startsWithCaret ? "(?!.*node_modules)" : "^(?!.*node_modules)", adjustedRegexString = startsWithCaret ? `^${excludeNodeModulesPattern}${originalRegexString.substring(1)}` : excludeNodeModulesPattern + originalRegexString; return new RegExp(adjustedRegexString); } function webpackIncludeRegexp(specifier) { let { directory, files } = specifier, directoryWithoutLeadingDots = directory.replace(/^(\.+\/)+/, "/"), webpackIncludeGlob = [".", ".."].includes(directory) ? files : `${directoryWithoutLeadingDots}/${files}`, webpackIncludeRegexpWithCaret = webpackIncludeGlob.includes("node_modules") ? (0, common_namespaceObject.globToRegexp)(webpackIncludeGlob) : adjustRegexToExcludeNodeModules( (0, common_namespaceObject.globToRegexp)(webpackIncludeGlob), ); return new RegExp(webpackIncludeRegexpWithCaret.source.replace(/^\^/, "")); } function toImportFnPart(specifier) { let { directory, importPathMatcher } = specifier; return (0, dist.TW)` async (path) => { if (!${importPathMatcher}.exec(path)) { return; } const pathRemainder = path.substring(${directory.length + 1}); return import( /* webpackChunkName: "[request]" */ /* webpackInclude: ${webpackIncludeRegexp(specifier)} */ '${directory}/' + pathRemainder ); } `; } function toImportFn(stories, { needPipelinedImport } = {}) { let pipelinedImport = "const pipeline = (x) => x();"; return ( needPipelinedImport && (pipelinedImport = `\n const importPipeline = ${importPipeline};\n const pipeline = importPipeline();\n `), (0, dist.TW)` ${pipelinedImport} const importers = [ ${stories.map(toImportFnPart).join(`,\n`)} ]; export async function importFn(path) { for (let i = 0; i < importers.length; i++) { const moduleExports = await pipeline(() => importers[i](path)); if (moduleExports) { return moduleExports; } } } ` ); } var toRequireContext = (specifier) => { let { directory, files } = specifier, match = (0, common_namespaceObject.globToRegexp)(`./${files}`); return { path: directory, recursive: files.includes("**") || files.split("/").length > 1, match, }; }, toRequireContextString = (specifier) => { let { path: p, recursive: r, match: m } = toRequireContext(specifier); return `require.context('${p}', ${r}, ${m})`; }; var __webpack_exports__checkWebpackVersion = __webpack_exports__.il; var __webpack_exports__loadCustomWebpackConfig = __webpack_exports__.Tu; var __webpack_exports__mergeConfigs = __webpack_exports__.SV; var __webpack_exports__toImportFn = __webpack_exports__.T1; var __webpack_exports__toImportFnPart = __webpack_exports__.i8; var __webpack_exports__toRequireContext = __webpack_exports__.sg; var __webpack_exports__toRequireContextString = __webpack_exports__.HO; var __webpack_exports__webpackIncludeRegexp = __webpack_exports__.hO; export { __webpack_exports__checkWebpackVersion as checkWebpackVersion, __webpack_exports__loadCustomWebpackConfig as loadCustomWebpackConfig, __webpack_exports__mergeConfigs as mergeConfigs, __webpack_exports__toImportFn as toImportFn, __webpack_exports__toImportFnPart as toImportFnPart, __webpack_exports__toRequireContext as toRequireContext, __webpack_exports__toRequireContextString as toRequireContextString, __webpack_exports__webpackIncludeRegexp as webpackIncludeRegexp, };