Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix import next from "next" #9216

Merged
merged 1 commit into from
Oct 31, 2019
Merged

Conversation

Peeja
Copy link
Contributor

@Peeja Peeja commented Oct 27, 2019

Fixes #9208.

I wanted to add a test to demonstrate the problem, but I couldn't find a suitable place for one. Happy to do it with a pointer, if desired. Otherwise ,yarn demonstrate in this repo will demonstrate the issue; you can use yarn link to run against this branch and see the problem fixed.

@Timer Timer modified the milestones: 9.1.2, 9.1.3 Oct 27, 2019
@ijjk
Copy link
Member

ijjk commented Oct 30, 2019

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall decrease ✓
zeit/next.js canary Peeja/next.js fix-import-next Change
buildDuration 15.9s 16s ⚠️ +111ms
nodeModulesSize 48.4 MB 48.4 MB -3.9 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary Peeja/next.js fix-import-next Change
main-HASH.js 16.6 kB 16.6 kB -11 B
main-HASH.js gzip 5.86 kB 5.85 kB -10 B
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..63e75d588.js 19.7 kB N/A N/A
16b1a7225520..d588.js gzip 7.23 kB N/A N/A
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..9e9c1d310.js 28.6 kB 28.6 kB
de003c3a9d30..d310.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
16b1a7225520..b6ebb586e.js N/A 19.8 kB N/A
16b1a7225520..586e.js gzip N/A 7.25 kB N/A
Overall change 214 kB 214 kB -11 B
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary Peeja/next.js fix-import-next Change
main-HASH.module.js 14 kB 14 kB -11 B
main-HASH.module.js gzip 5.26 kB 5.25 kB -10 B
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..51.module.js 15.8 kB N/A N/A
16b1a7225520..dule.js gzip 6.06 kB N/A N/A
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..c0.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.67 kB 8.67 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
16b1a7225520..4c.module.js N/A 15.9 kB N/A
16b1a7225520..dule.js gzip N/A 6.08 kB N/A
Overall change 192 kB 192 kB -11 B
Client Pages
zeit/next.js canary Peeja/next.js fix-import-next Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary Peeja/next.js fix-import-next Change
_app.module.js 1.53 kB 1.53 kB
_app.module.js gzip 749 B 749 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.47 kB 5.47 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.1 kB 20.1 kB
Client Build Manifests
zeit/next.js canary Peeja/next.js fix-import-next Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 199 B 200 B ⚠️ +1 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 210 B 209 B -1 B
Overall change 495 B 495 B
Rendered Page Sizes
zeit/next.js canary Peeja/next.js fix-import-next Change
index.html 3.94 kB 3.94 kB
index.html gzip 1 kB 1 kB -1 B
link.html 4.47 kB 4.47 kB
link.html gzip 1.08 kB 1.08 kB
withRouter.html 4.47 kB 4.47 kB
withRouter.html gzip 1.07 kB 1.07 kB
Overall change 12.9 kB 12.9 kB

Diffs

Diff for main-HASH.js
@@ -340,7 +340,7 @@ if (!window.Promise) {
 
 var data = JSON.parse(document.getElementById('__NEXT_DATA__').textContent);
 window.__NEXT_DATA__ = data;
-var version = "9.1.3-canary.0";
+var version = "9.1.2";
 exports.version = version;
 var props = data.props,
     err = data.err,
@@ -719,23 +719,20 @@ function _renderError() {
 }
 
 var isInitialRender = typeof _reactDom["default"].hydrate === 'function';
-var reactRoot = null;
 
 function renderReactElement(reactEl, domEl) {
   // mark start of hydrate/render
   if (_utils.SUPPORTS_PERFORMANCE_USER_TIMING) {
     performance.mark('beforeRender');
-  }
+  } // The check for `.hydrate` is there to support React alternatives like preact
 
-  if (false) { var opts, callback; } else {
-    // The check for `.hydrate` is there to support React alternatives like preact
-    if (isInitialRender) {
-      _reactDom["default"].hydrate(reactEl, domEl, markHydrateComplete);
 
-      isInitialRender = false;
-    } else {
-      _reactDom["default"].render(reactEl, domEl, markRenderComplete);
-    }
+  if (isInitialRender) {
+    _reactDom["default"].hydrate(reactEl, domEl, markHydrateComplete);
+
+    isInitialRender = false;
+  } else {
+    _reactDom["default"].render(reactEl, domEl, markRenderComplete);
   }
 
   if (onPerfEntry) {
@@ -1456,7 +1453,7 @@ function () {
                   scriptRoute = scriptRoute.replace(/\.js$/, '.module.js');
                 }
 
-                url = _this2.assetPrefix + (isDependency ? route : "/_next/static/" + encodeURIComponent(_this2.buildId) + "/pages" + scriptRoute); // n.b. If preload is not supported, we fall back to `loadPage` which has
+                url = isDependency ? route : _this2.assetPrefix + "/_next/static/" + encodeURIComponent(_this2.buildId) + "/pages" + scriptRoute; // n.b. If preload is not supported, we fall back to `loadPage` which has
                 // its own deduping mechanism.
 
                 if (!document.querySelector("link[rel=\"preload\"][href^=\"" + url + "\"], script[data-next-page=\"" + route + "\"]")) {
Diff for main-HASH.module.js
@@ -339,7 +339,7 @@ if (!window.Promise) {
 
 var data = JSON.parse(document.getElementById('__NEXT_DATA__').textContent);
 window.__NEXT_DATA__ = data;
-var version = "9.1.3-canary.0";
+var version = "9.1.2";
 exports.version = version;
 var {
   props,
@@ -591,23 +591,20 @@ function _renderError() {
 }
 
 var isInitialRender = typeof _reactDom.default.hydrate === 'function';
-var reactRoot = null;
 
 function renderReactElement(reactEl, domEl) {
   // mark start of hydrate/render
   if (_utils.SUPPORTS_PERFORMANCE_USER_TIMING) {
     performance.mark('beforeRender');
-  }
+  } // The check for `.hydrate` is there to support React alternatives like preact
 
-  if (false) { var opts, callback; } else {
-    // The check for `.hydrate` is there to support React alternatives like preact
-    if (isInitialRender) {
-      _reactDom.default.hydrate(reactEl, domEl, markHydrateComplete);
 
-      isInitialRender = false;
-    } else {
-      _reactDom.default.render(reactEl, domEl, markRenderComplete);
-    }
+  if (isInitialRender) {
+    _reactDom.default.hydrate(reactEl, domEl, markHydrateComplete);
+
+    isInitialRender = false;
+  } else {
+    _reactDom.default.render(reactEl, domEl, markRenderComplete);
   }
 
   if (onPerfEntry) {
@@ -1252,7 +1249,7 @@ class PageLoader {
         scriptRoute = scriptRoute.replace(/\.js$/, '.module.js');
       }
 
-      var url = _this2.assetPrefix + (isDependency ? route : "/_next/static/" + encodeURIComponent(_this2.buildId) + "/pages" + scriptRoute); // n.b. If preload is not supported, we fall back to `loadPage` which has
+      var url = isDependency ? route : _this2.assetPrefix + "/_next/static/" + encodeURIComponent(_this2.buildId) + "/pages" + scriptRoute; // n.b. If preload is not supported, we fall back to `loadPage` which has
       // its own deduping mechanism.
 
       if (document.querySelector("link[rel=\"preload\"][href^=\"" + url + "\"], script[data-next-page=\"" + route + "\"]")) {
Diff for _buildManifest.js
@@ -1 +1 @@
-self.__BUILD_MANIFEST = (function(a){return {"/link":[a],"/routerDirect":[a],"/withRouter":[a]}}("static\u002Fchunks\u002F16b1a72255206b7853bf6603dc58ec83de39b142.b45ed1163cffb8de5382.js"));self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()
\ No newline at end of file
+self.__BUILD_MANIFEST = (function(a){return {"/link":[a],"/routerDirect":[a],"/withRouter":[a]}}("static\u002Fchunks\u002F16b1a72255206b7853bf6603dc58ec83de39b142.a1936a21395e34d00ee0.js"));self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()
\ No newline at end of file
Diff for _buildManifest.module.js
@@ -1 +1 @@
-self.__BUILD_MANIFEST = (function(a){return {"/link":[a],"/routerDirect":[a],"/withRouter":[a]}}("static\u002Fchunks\u002F16b1a72255206b7853bf6603dc58ec83de39b142.6676b8996c653de03131.module.js"));self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()
\ No newline at end of file
+self.__BUILD_MANIFEST = (function(a){return {"/link":[a],"/routerDirect":[a],"/withRouter":[a]}}("static\u002Fchunks\u002F16b1a72255206b7853bf6603dc58ec83de39b142.8d1caa0eed52bc802a38.module.js"));self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()
\ No newline at end of file
Diff for index.html
@@ -12,7 +12,7 @@
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-f59e55f2f069a03aa793.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-ae31e9c8523198185767.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
@@ -43,9 +43,9 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-30f56449cfbe7044b21b.js"
+        <script src="/_next/static/runtime/main-8c312b58ba8dc0eeb4e2.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-f59e55f2f069a03aa793.module.js"
+        <script src="/_next/static/runtime/main-ae31e9c8523198185767.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/chunks/framework.219514909c9db8a9ff76.js"
         async="" crossorigin="anonymous" nomodule=""></script>
Diff for link.html
@@ -18,9 +18,9 @@
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.710f68a91537b45d6153.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.6676b8996c653de03131.module.js"
+        <link rel="preload" href="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.8d1caa0eed52bc802a38.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-f59e55f2f069a03aa793.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-ae31e9c8523198185767.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -62,13 +62,13 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.710f68a91537b45d6153.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.b45ed1163cffb8de5382.js"
+        <script src="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.a1936a21395e34d00ee0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.6676b8996c653de03131.module.js"
+        <script src="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.8d1caa0eed52bc802a38.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-30f56449cfbe7044b21b.js"
+        <script src="/_next/static/runtime/main-8c312b58ba8dc0eeb4e2.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-f59e55f2f069a03aa793.module.js"
+        <script src="/_next/static/runtime/main-ae31e9c8523198185767.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/BUILD_ID/_buildManifest.js" async=""
         crossorigin="anonymous" nomodule=""></script>
Diff for withRouter.html
@@ -18,9 +18,9 @@
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.710f68a91537b45d6153.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.6676b8996c653de03131.module.js"
+        <link rel="preload" href="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.8d1caa0eed52bc802a38.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-f59e55f2f069a03aa793.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-ae31e9c8523198185767.module.js"
         as="script" crossorigin="anonymous" />
     </head>
     
@@ -60,13 +60,13 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.710f68a91537b45d6153.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.b45ed1163cffb8de5382.js"
+        <script src="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.a1936a21395e34d00ee0.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.6676b8996c653de03131.module.js"
+        <script src="/_next/static/chunks/16b1a72255206b7853bf6603dc58ec83de39b142.8d1caa0eed52bc802a38.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-30f56449cfbe7044b21b.js"
+        <script src="/_next/static/runtime/main-8c312b58ba8dc0eeb4e2.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-f59e55f2f069a03aa793.module.js"
+        <script src="/_next/static/runtime/main-ae31e9c8523198185767.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/BUILD_ID/_buildManifest.js" async=""
         crossorigin="anonymous" nomodule=""></script>

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
zeit/next.js canary Peeja/next.js fix-import-next Change
buildDuration 16.5s 16.2s -301ms
nodeModulesSize 48.4 MB 48.4 MB -3.9 kB
Client Bundles (main, webpack, commons) Overall decrease ✓
zeit/next.js canary Peeja/next.js fix-import-next Change
main-HASH.js 16.6 kB 16.6 kB -11 B
main-HASH.js gzip 5.86 kB 5.85 kB -10 B
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..63e75d588.js 19.7 kB N/A N/A
16b1a7225520..d588.js gzip 7.23 kB N/A N/A
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..9e9c1d310.js 28.6 kB 28.6 kB
de003c3a9d30..d310.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
16b1a7225520..b6ebb586e.js N/A 19.8 kB N/A
16b1a7225520..586e.js gzip N/A 7.25 kB N/A
Overall change 214 kB 214 kB -11 B
Client Bundles (main, webpack, commons) Modern Overall decrease ✓
zeit/next.js canary Peeja/next.js fix-import-next Change
main-HASH.module.js 14 kB 14 kB -11 B
main-HASH.module.js gzip 5.26 kB 5.25 kB -10 B
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..51.module.js 15.8 kB N/A N/A
16b1a7225520..dule.js gzip 6.06 kB N/A N/A
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..c0.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.67 kB 8.67 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
16b1a7225520..4c.module.js N/A 15.9 kB N/A
16b1a7225520..dule.js gzip N/A 6.08 kB N/A
Overall change 192 kB 192 kB -11 B
Client Pages
zeit/next.js canary Peeja/next.js fix-import-next Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary Peeja/next.js fix-import-next Change
_app.module.js 1.53 kB 1.53 kB
_app.module.js gzip 749 B 749 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.47 kB 5.47 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.1 kB 20.1 kB
Client Build Manifests
zeit/next.js canary Peeja/next.js fix-import-next Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 199 B 200 B ⚠️ +1 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 210 B 209 B -1 B
Overall change 495 B 495 B
Serverless bundles Overall decrease ✓
zeit/next.js canary Peeja/next.js fix-import-next Change
_error.js 241 kB 241 kB
_error.js gzip 64.4 kB 64.4 kB -4 B
hooks.html 4.08 kB 4.08 kB
hooks.html gzip 1.03 kB 1.03 kB -4 B
index.js 241 kB 241 kB
index.js gzip 64.5 kB 64.5 kB -3 B
link.js 274 kB 274 kB -190 B
link.js gzip 73.5 kB 73.4 kB -73 B
routerDirect.js 267 kB 267 kB -190 B
routerDirect.js gzip 71.5 kB 71.5 kB -81 B
withRouter.js 267 kB 267 kB -190 B
withRouter.js gzip 71.6 kB 71.6 kB -78 B
Overall change 1.29 MB 1.29 MB -570 B

Commit: 074e090

@timneutkens timneutkens merged commit 1e94074 into vercel:canary Oct 31, 2019
@timneutkens
Copy link
Member

timneutkens commented Oct 31, 2019

Thank you @Peeja 🎉 Great first PR 🚀

@Peeja Peeja deleted the fix-import-next branch October 31, 2019 17:53
@Peeja
Copy link
Contributor Author

Peeja commented Oct 31, 2019

Thanks, @timneutkens!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

import next from 'next' doesn't work (but types think it does)
4 participants