load-components.js 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.loadDefaultErrorComponents = loadDefaultErrorComponents;
  6. exports.loadComponents = loadComponents;
  7. var _constants = require("../shared/lib/constants");
  8. var _path = require("path");
  9. var _require = require("./require");
  10. var _interopDefault = require("../lib/interop-default");
  11. async function loadDefaultErrorComponents(distDir) {
  12. const Document = (0, _interopDefault).interopDefault(require("next/dist/pages/_document"));
  13. const AppMod = require("next/dist/pages/_app");
  14. const App = (0, _interopDefault).interopDefault(AppMod);
  15. const ComponentMod = require("next/dist/pages/_error");
  16. const Component = (0, _interopDefault).interopDefault(ComponentMod);
  17. return {
  18. App,
  19. Document,
  20. Component,
  21. pageConfig: {},
  22. buildManifest: require((0, _path).join(distDir, `fallback-${_constants.BUILD_MANIFEST}`)),
  23. reactLoadableManifest: {},
  24. ComponentMod,
  25. pathname: "/_error"
  26. };
  27. }
  28. async function loadComponents({ distDir , pathname , serverless , hasServerComponents , isAppPath }) {
  29. if (serverless) {
  30. const ComponentMod = await (0, _require).requirePage(pathname, distDir, serverless);
  31. if (typeof ComponentMod === "string") {
  32. return {
  33. Component: ComponentMod,
  34. pageConfig: {},
  35. ComponentMod
  36. };
  37. }
  38. let { default: Component , getStaticProps , getStaticPaths , getServerSideProps , } = ComponentMod;
  39. Component = await Component;
  40. getStaticProps = await getStaticProps;
  41. getStaticPaths = await getStaticPaths;
  42. getServerSideProps = await getServerSideProps;
  43. const pageConfig = await ComponentMod.config || {};
  44. return {
  45. Component,
  46. pageConfig,
  47. getStaticProps,
  48. getStaticPaths,
  49. getServerSideProps,
  50. ComponentMod
  51. };
  52. }
  53. let DocumentMod = {};
  54. let AppMod = {};
  55. if (!isAppPath) {
  56. [DocumentMod, AppMod] = await Promise.all([
  57. Promise.resolve().then(()=>(0, _require).requirePage("/_document", distDir, serverless, false)),
  58. Promise.resolve().then(()=>(0, _require).requirePage("/_app", distDir, serverless, false)),
  59. ]);
  60. }
  61. const ComponentMod = await Promise.resolve().then(()=>(0, _require).requirePage(pathname, distDir, serverless, isAppPath));
  62. const [buildManifest, reactLoadableManifest, serverComponentManifest] = await Promise.all([
  63. require((0, _path).join(distDir, _constants.BUILD_MANIFEST)),
  64. require((0, _path).join(distDir, _constants.REACT_LOADABLE_MANIFEST)),
  65. hasServerComponents ? require((0, _path).join(distDir, "server", _constants.FLIGHT_MANIFEST + ".json")) : null,
  66. ]);
  67. const Component = (0, _interopDefault).interopDefault(ComponentMod);
  68. const Document = (0, _interopDefault).interopDefault(DocumentMod);
  69. const App = (0, _interopDefault).interopDefault(AppMod);
  70. const { getServerSideProps , getStaticProps , getStaticPaths } = ComponentMod;
  71. return {
  72. App,
  73. Document,
  74. Component,
  75. buildManifest,
  76. reactLoadableManifest,
  77. pageConfig: ComponentMod.config || {},
  78. ComponentMod,
  79. getServerSideProps,
  80. getStaticProps,
  81. getStaticPaths,
  82. serverComponentManifest,
  83. isAppPath,
  84. pathname
  85. };
  86. }
  87. //# sourceMappingURL=load-components.js.map