You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			277 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			JavaScript
		
	
			
		
		
	
	
			277 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			JavaScript
		
	
| "use strict";
 | |
| Object.defineProperty(exports, "__esModule", {
 | |
|     value: true
 | |
| });
 | |
| 0 && (module.exports = {
 | |
|     createWebpackAliases: null,
 | |
|     createServerOnlyClientOnlyAliases: null,
 | |
|     createNextApiEsmAliases: null,
 | |
|     createAppRouterApiAliases: null,
 | |
|     createRSCAliases: null,
 | |
|     getOptimizedModuleAliases: null
 | |
| });
 | |
| function _export(target, all) {
 | |
|     for(var name in all)Object.defineProperty(target, name, {
 | |
|         enumerable: true,
 | |
|         get: all[name]
 | |
|     });
 | |
| }
 | |
| _export(exports, {
 | |
|     createWebpackAliases: function() {
 | |
|         return createWebpackAliases;
 | |
|     },
 | |
|     createServerOnlyClientOnlyAliases: function() {
 | |
|         return createServerOnlyClientOnlyAliases;
 | |
|     },
 | |
|     createNextApiEsmAliases: function() {
 | |
|         return createNextApiEsmAliases;
 | |
|     },
 | |
|     createAppRouterApiAliases: function() {
 | |
|         return createAppRouterApiAliases;
 | |
|     },
 | |
|     createRSCAliases: function() {
 | |
|         return createRSCAliases;
 | |
|     },
 | |
|     getOptimizedModuleAliases: function() {
 | |
|         return getOptimizedModuleAliases;
 | |
|     }
 | |
| });
 | |
| const _path = /*#__PURE__*/ _interop_require_default(require("path"));
 | |
| const _constants = require("../lib/constants");
 | |
| const _requirehook = require("../server/require-hook");
 | |
| const _webpackconfig = require("./webpack-config");
 | |
| function _interop_require_default(obj) {
 | |
|     return obj && obj.__esModule ? obj : {
 | |
|         default: obj
 | |
|     };
 | |
| }
 | |
| function createWebpackAliases({ distDir, isClient, isEdgeServer, isNodeServer, dev, config, pagesDir, appDir, dir, reactProductionProfiling, hasRewrites }) {
 | |
|     const pageExtensions = config.pageExtensions;
 | |
|     const clientResolveRewrites = require.resolve("../shared/lib/router/utils/resolve-rewrites");
 | |
|     const customAppAliases = {};
 | |
|     const customDocumentAliases = {};
 | |
|     // tell webpack where to look for _app and _document
 | |
|     // using aliases to allow falling back to the default
 | |
|     // version when removed or not present
 | |
|     if (dev) {
 | |
|         const nextDistPath = "next/dist/" + (isEdgeServer ? "esm/" : "");
 | |
|         customAppAliases[`${_constants.PAGES_DIR_ALIAS}/_app`] = [
 | |
|             ...pagesDir ? pageExtensions.reduce((prev, ext)=>{
 | |
|                 prev.push(_path.default.join(pagesDir, `_app.${ext}`));
 | |
|                 return prev;
 | |
|             }, []) : [],
 | |
|             `${nextDistPath}pages/_app.js`
 | |
|         ];
 | |
|         customAppAliases[`${_constants.PAGES_DIR_ALIAS}/_error`] = [
 | |
|             ...pagesDir ? pageExtensions.reduce((prev, ext)=>{
 | |
|                 prev.push(_path.default.join(pagesDir, `_error.${ext}`));
 | |
|                 return prev;
 | |
|             }, []) : [],
 | |
|             `${nextDistPath}pages/_error.js`
 | |
|         ];
 | |
|         customDocumentAliases[`${_constants.PAGES_DIR_ALIAS}/_document`] = [
 | |
|             ...pagesDir ? pageExtensions.reduce((prev, ext)=>{
 | |
|                 prev.push(_path.default.join(pagesDir, `_document.${ext}`));
 | |
|                 return prev;
 | |
|             }, []) : [],
 | |
|             `${nextDistPath}pages/_document.js`
 | |
|         ];
 | |
|     }
 | |
|     return {
 | |
|         "@vercel/og$": "next/dist/server/og/image-response",
 | |
|         // Alias next/dist imports to next/dist/esm assets,
 | |
|         // let this alias hit before `next` alias.
 | |
|         ...isEdgeServer ? {
 | |
|             "next/dist/api": "next/dist/esm/api",
 | |
|             "next/dist/build": "next/dist/esm/build",
 | |
|             "next/dist/client": "next/dist/esm/client",
 | |
|             "next/dist/shared": "next/dist/esm/shared",
 | |
|             "next/dist/pages": "next/dist/esm/pages",
 | |
|             "next/dist/lib": "next/dist/esm/lib",
 | |
|             "next/dist/server": "next/dist/esm/server",
 | |
|             ...createNextApiEsmAliases()
 | |
|         } : undefined,
 | |
|         // For RSC server bundle
 | |
|         ...!(0, _webpackconfig.hasExternalOtelApiPackage)() && {
 | |
|             "@opentelemetry/api": "next/dist/compiled/@opentelemetry/api"
 | |
|         },
 | |
|         ...config.images.loaderFile ? {
 | |
|             "next/dist/shared/lib/image-loader": config.images.loaderFile,
 | |
|             ...isEdgeServer && {
 | |
|                 "next/dist/esm/shared/lib/image-loader": config.images.loaderFile
 | |
|             }
 | |
|         } : undefined,
 | |
|         next: _webpackconfig.NEXT_PROJECT_ROOT,
 | |
|         "styled-jsx/style$": _requirehook.defaultOverrides["styled-jsx/style"],
 | |
|         "styled-jsx$": _requirehook.defaultOverrides["styled-jsx"],
 | |
|         ...customAppAliases,
 | |
|         ...customDocumentAliases,
 | |
|         ...pagesDir ? {
 | |
|             [_constants.PAGES_DIR_ALIAS]: pagesDir
 | |
|         } : {},
 | |
|         ...appDir ? {
 | |
|             [_constants.APP_DIR_ALIAS]: appDir
 | |
|         } : {},
 | |
|         [_constants.ROOT_DIR_ALIAS]: dir,
 | |
|         [_constants.DOT_NEXT_ALIAS]: distDir,
 | |
|         ...isClient || isEdgeServer ? getOptimizedModuleAliases() : {},
 | |
|         ...reactProductionProfiling ? getReactProfilingInProduction() : {},
 | |
|         // For Node server, we need to re-alias the package imports to prefer to
 | |
|         // resolve to the ESM export.
 | |
|         ...isNodeServer ? getBarrelOptimizationAliases(config.experimental.optimizePackageImports || []) : {},
 | |
|         [_constants.RSC_ACTION_VALIDATE_ALIAS]: "next/dist/build/webpack/loaders/next-flight-loader/action-validate",
 | |
|         [_constants.RSC_ACTION_CLIENT_WRAPPER_ALIAS]: "next/dist/build/webpack/loaders/next-flight-loader/action-client-wrapper",
 | |
|         [_constants.RSC_ACTION_PROXY_ALIAS]: "next/dist/build/webpack/loaders/next-flight-loader/server-reference",
 | |
|         [_constants.RSC_ACTION_ENCRYPTION_ALIAS]: "next/dist/server/app-render/action-encryption",
 | |
|         ...isClient || isEdgeServer ? {
 | |
|             [clientResolveRewrites]: hasRewrites ? clientResolveRewrites : false
 | |
|         } : {},
 | |
|         "@swc/helpers/_": _path.default.join(_path.default.dirname(require.resolve("@swc/helpers/package.json")), "_"),
 | |
|         setimmediate: "next/dist/compiled/setimmediate"
 | |
|     };
 | |
| }
 | |
| function createServerOnlyClientOnlyAliases(isServer) {
 | |
|     return isServer ? {
 | |
|         "server-only$": "next/dist/compiled/server-only/empty",
 | |
|         "client-only$": "next/dist/compiled/client-only/error",
 | |
|         "next/dist/compiled/server-only$": "next/dist/compiled/server-only/empty",
 | |
|         "next/dist/compiled/client-only$": "next/dist/compiled/client-only/error"
 | |
|     } : {
 | |
|         "server-only$": "next/dist/compiled/server-only/index",
 | |
|         "client-only$": "next/dist/compiled/client-only/index",
 | |
|         "next/dist/compiled/client-only$": "next/dist/compiled/client-only/index",
 | |
|         "next/dist/compiled/server-only": "next/dist/compiled/server-only/index"
 | |
|     };
 | |
| }
 | |
| function createNextApiEsmAliases() {
 | |
|     const mapping = {
 | |
|         head: "next/dist/api/head",
 | |
|         image: "next/dist/api/image",
 | |
|         constants: "next/dist/api/constants",
 | |
|         router: "next/dist/api/router",
 | |
|         dynamic: "next/dist/api/dynamic",
 | |
|         script: "next/dist/api/script",
 | |
|         link: "next/dist/api/link",
 | |
|         navigation: "next/dist/api/navigation",
 | |
|         headers: "next/dist/api/headers",
 | |
|         og: "next/dist/api/og",
 | |
|         server: "next/dist/api/server",
 | |
|         // pages api
 | |
|         document: "next/dist/api/document",
 | |
|         app: "next/dist/api/app"
 | |
|     };
 | |
|     const aliasMap = {};
 | |
|     // Handle fully specified imports like `next/image.js`
 | |
|     for (const [key, value] of Object.entries(mapping)){
 | |
|         const nextApiFilePath = _path.default.join(_webpackconfig.NEXT_PROJECT_ROOT, key);
 | |
|         aliasMap[nextApiFilePath + ".js"] = value;
 | |
|     }
 | |
|     return aliasMap;
 | |
| }
 | |
| function createAppRouterApiAliases() {
 | |
|     const mapping = {
 | |
|         head: "next/dist/client/components/noop-head",
 | |
|         dynamic: "next/dist/api/app-dynamic"
 | |
|     };
 | |
|     const aliasMap = {};
 | |
|     for (const [key, value] of Object.entries(mapping)){
 | |
|         const nextApiFilePath = _path.default.join(_webpackconfig.NEXT_PROJECT_ROOT, key);
 | |
|         aliasMap[nextApiFilePath + ".js"] = value;
 | |
|     }
 | |
|     return aliasMap;
 | |
| }
 | |
| function createRSCAliases(bundledReactChannel, { layer, isEdgeServer, reactProductionProfiling }) {
 | |
|     let alias = {
 | |
|         react$: `next/dist/compiled/react${bundledReactChannel}`,
 | |
|         "react-dom$": `next/dist/compiled/react-dom${bundledReactChannel}`,
 | |
|         "react/jsx-runtime$": `next/dist/compiled/react${bundledReactChannel}/jsx-runtime`,
 | |
|         "react/jsx-dev-runtime$": `next/dist/compiled/react${bundledReactChannel}/jsx-dev-runtime`,
 | |
|         "react-dom/client$": `next/dist/compiled/react-dom${bundledReactChannel}/client`,
 | |
|         "react-dom/server$": `next/dist/compiled/react-dom${bundledReactChannel}/server`,
 | |
|         "react-dom/static$": `next/dist/compiled/react-dom-experimental/static`,
 | |
|         "react-dom/static.edge$": `next/dist/compiled/react-dom-experimental/static.edge`,
 | |
|         "react-dom/static.browser$": `next/dist/compiled/react-dom-experimental/static.browser`,
 | |
|         // optimizations to ignore the legacy build of react-dom/server in `server.browser` build
 | |
|         "react-dom/server.edge$": `next/dist/build/webpack/alias/react-dom-server-edge${bundledReactChannel}.js`,
 | |
|         "react-dom/server.browser$": `next/dist/build/webpack/alias/react-dom-server-browser${bundledReactChannel}.js`,
 | |
|         // react-server-dom-webpack alias
 | |
|         "react-server-dom-webpack/client$": `next/dist/compiled/react-server-dom-webpack${bundledReactChannel}/client`,
 | |
|         "react-server-dom-webpack/client.edge$": `next/dist/compiled/react-server-dom-webpack${bundledReactChannel}/client.edge`,
 | |
|         "react-server-dom-webpack/server.edge$": `next/dist/compiled/react-server-dom-webpack${bundledReactChannel}/server.edge`,
 | |
|         "react-server-dom-webpack/server.node$": `next/dist/compiled/react-server-dom-webpack${bundledReactChannel}/server.node`
 | |
|     };
 | |
|     if (!isEdgeServer) {
 | |
|         if (layer === _constants.WEBPACK_LAYERS.serverSideRendering) {
 | |
|             alias = Object.assign(alias, {
 | |
|                 "react/jsx-runtime$": `next/dist/server/future/route-modules/app-page/vendored/${layer}/react-jsx-runtime`,
 | |
|                 "react/jsx-dev-runtime$": `next/dist/server/future/route-modules/app-page/vendored/${layer}/react-jsx-dev-runtime`,
 | |
|                 react$: `next/dist/server/future/route-modules/app-page/vendored/${layer}/react`,
 | |
|                 "react-dom$": `next/dist/server/future/route-modules/app-page/vendored/${layer}/react-dom`,
 | |
|                 "react-server-dom-webpack/client.edge$": `next/dist/server/future/route-modules/app-page/vendored/${layer}/react-server-dom-webpack-client-edge`
 | |
|             });
 | |
|         } else if (layer === _constants.WEBPACK_LAYERS.reactServerComponents) {
 | |
|             alias = Object.assign(alias, {
 | |
|                 "react/jsx-runtime$": `next/dist/server/future/route-modules/app-page/vendored/${layer}/react-jsx-runtime`,
 | |
|                 "react/jsx-dev-runtime$": `next/dist/server/future/route-modules/app-page/vendored/${layer}/react-jsx-dev-runtime`,
 | |
|                 react$: `next/dist/server/future/route-modules/app-page/vendored/${layer}/react`,
 | |
|                 "react-dom$": `next/dist/server/future/route-modules/app-page/vendored/${layer}/react-dom`,
 | |
|                 "react-server-dom-webpack/server.edge$": `next/dist/server/future/route-modules/app-page/vendored/${layer}/react-server-dom-webpack-server-edge`,
 | |
|                 "react-server-dom-webpack/server.node$": `next/dist/server/future/route-modules/app-page/vendored/${layer}/react-server-dom-webpack-server-node`
 | |
|             });
 | |
|         }
 | |
|     }
 | |
|     if (isEdgeServer) {
 | |
|         if (layer === _constants.WEBPACK_LAYERS.reactServerComponents) {
 | |
|             alias["react$"] = `next/dist/compiled/react${bundledReactChannel}/react.shared-subset`;
 | |
|         }
 | |
|         // Use server rendering stub for RSC and SSR
 | |
|         // x-ref: https://github.com/facebook/react/pull/25436
 | |
|         alias["react-dom$"] = `next/dist/compiled/react-dom${bundledReactChannel}/server-rendering-stub`;
 | |
|     }
 | |
|     if (reactProductionProfiling) {
 | |
|         alias["react-dom$"] = `next/dist/compiled/react-dom${bundledReactChannel}/profiling`;
 | |
|     }
 | |
|     alias["@vercel/turbopack-ecmascript-runtime/dev/client/hmr-client.ts"] = `next/dist/client/dev/noop-turbopack-hmr`;
 | |
|     return alias;
 | |
| }
 | |
| function getOptimizedModuleAliases() {
 | |
|     return {
 | |
|         unfetch: require.resolve("next/dist/build/polyfills/fetch/index.js"),
 | |
|         "isomorphic-unfetch": require.resolve("next/dist/build/polyfills/fetch/index.js"),
 | |
|         "whatwg-fetch": require.resolve("next/dist/build/polyfills/fetch/whatwg-fetch.js"),
 | |
|         "object-assign": require.resolve("next/dist/build/polyfills/object-assign.js"),
 | |
|         "object.assign/auto": require.resolve("next/dist/build/polyfills/object.assign/auto.js"),
 | |
|         "object.assign/implementation": require.resolve("next/dist/build/polyfills/object.assign/implementation.js"),
 | |
|         "object.assign/polyfill": require.resolve("next/dist/build/polyfills/object.assign/polyfill.js"),
 | |
|         "object.assign/shim": require.resolve("next/dist/build/polyfills/object.assign/shim.js"),
 | |
|         url: require.resolve("next/dist/compiled/native-url")
 | |
|     };
 | |
| }
 | |
| // Alias these modules to be resolved with "module" if possible.
 | |
| function getBarrelOptimizationAliases(packages) {
 | |
|     const aliases = {};
 | |
|     const mainFields = [
 | |
|         "module",
 | |
|         "main"
 | |
|     ];
 | |
|     for (const pkg of packages){
 | |
|         try {
 | |
|             const descriptionFileData = require(`${pkg}/package.json`);
 | |
|             const descriptionFilePath = require.resolve(`${pkg}/package.json`);
 | |
|             for (const field of mainFields){
 | |
|                 if (descriptionFileData.hasOwnProperty(field)) {
 | |
|                     aliases[pkg + "$"] = _path.default.join(_path.default.dirname(descriptionFilePath), descriptionFileData[field]);
 | |
|                     break;
 | |
|                 }
 | |
|             }
 | |
|         } catch  {}
 | |
|     }
 | |
|     return aliases;
 | |
| }
 | |
| function getReactProfilingInProduction() {
 | |
|     return {
 | |
|         "react-dom$": "react-dom/profiling"
 | |
|     };
 | |
| }
 | |
| 
 | |
| //# sourceMappingURL=create-compiler-aliases.js.map
 |