base.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.base = void 0;
  6. var _lodashCurry = _interopRequireDefault(require("next/dist/compiled/lodash.curry"));
  7. var _constants = require("../../../../shared/lib/constants");
  8. function _interopRequireDefault(obj) {
  9. return obj && obj.__esModule ? obj : {
  10. default: obj
  11. };
  12. }
  13. const base = (0, _lodashCurry).default(function base(ctx, config) {
  14. config.mode = ctx.isDevelopment ? "development" : "production";
  15. config.name = ctx.isServer ? ctx.isEdgeRuntime ? _constants.COMPILER_NAMES.edgeServer : _constants.COMPILER_NAMES.server : _constants.COMPILER_NAMES.client;
  16. // @ts-ignore TODO webpack 5 typings
  17. config.target = !ctx.targetWeb ? "node12.22" : ctx.isEdgeRuntime ? [
  18. "web",
  19. "es6"
  20. ] : [
  21. "web",
  22. "es5"
  23. ];
  24. // https://webpack.js.org/configuration/devtool/#development
  25. if (ctx.isDevelopment) {
  26. if (process.env.__NEXT_TEST_MODE && !process.env.__NEXT_TEST_WITH_DEVTOOL) {
  27. config.devtool = false;
  28. } else {
  29. // `eval-source-map` provides full-fidelity source maps for the
  30. // original source, including columns and original variable names.
  31. // This is desirable so the in-browser debugger can correctly pause
  32. // and show scoped variables with their original names.
  33. config.devtool = "eval-source-map";
  34. }
  35. } else {
  36. if (ctx.isEdgeRuntime || // Enable browser sourcemaps:
  37. (ctx.productionBrowserSourceMaps && ctx.isClient)) {
  38. config.devtool = "source-map";
  39. } else {
  40. config.devtool = false;
  41. }
  42. }
  43. if (!config.module) {
  44. config.module = {
  45. rules: []
  46. };
  47. }
  48. // TODO: add codemod for "Should not import the named export" with JSON files
  49. // config.module.strictExportPresence = !isWebpack5
  50. return config;
  51. });
  52. exports.base = base;
  53. //# sourceMappingURL=base.js.map