UNPKG

2.58 kBJavaScriptView Raw
1"use strict";exports.__esModule=true;exports.install=install;exports.shouldLoadWithWebpack5=shouldLoadWithWebpack5;var _env=require("@next/env");var _findUp=_interopRequireDefault(require("next/dist/compiled/find-up"));var _webpack=require("next/dist/compiled/webpack/webpack");var _constants=require("../lib/constants");var _configShared=require("./config-shared");var Log=_interopRequireWildcard(require("../../build/output/log"));function _getRequireWildcardCache(){if(typeof WeakMap!=="function")return null;var cache=new WeakMap();_getRequireWildcardCache=function(){return cache;};return cache;}function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache();if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}let installed=false;function install(useWebpack5){if(installed){return;}installed=true;(0,_webpack.init)(useWebpack5);// hook the Node.js require so that webpack requires are
2// routed to the bundled and now initialized webpack version
3require('../../build/webpack/require-hook');}async function shouldLoadWithWebpack5(phase,dir){var _userConfig$future;await(0,_env.loadEnvConfig)(dir,phase===_constants.PHASE_DEVELOPMENT_SERVER,Log);const path=await(0,_findUp.default)(_constants.CONFIG_FILE,{cwd:dir});if(Number(process.env.NEXT_PRIVATE_TEST_WEBPACK4_MODE)>0){return{enabled:false,reason:'test-mode'};}// Use webpack 5 by default in apps that do not have next.config.js
4if(!(path!=null&&path.length)){return{enabled:true,reason:'default'};}// Default to webpack 4 for backwards compatibility on boot:
5install(false);const userConfigModule=require(path);const userConfig=(0,_configShared.normalizeConfig)(phase,userConfigModule.default||userConfigModule);if((_userConfig$future=userConfig.future)!=null&&_userConfig$future.webpack5){return{enabled:false,reason:'future-flag'};}if(userConfig.webpack5===false){return{enabled:false,reason:'flag-disabled'};}return{enabled:true,reason:'default'};}
6//# sourceMappingURL=config-utils-worker.js.map
\No newline at end of file