-
Notifications
You must be signed in to change notification settings - Fork 27k
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
Pre-compile more dependencies #32627
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
"browserslist": "4.18.1", | ||
"buffer": "5.6.0", | ||
"caniuse-lite": "^1.0.30001283", | ||
"chalk": "2.4.2", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In a future PR, we should bump chalk
since it got much smaller https://packagephobia.com/result?p=chalk
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Without knowing what we use chalk
for, what about picocolors
which claims to be 2 times faster and is ~7kb compared to ~41.
https://github.com/alexeyraspopov/picocolors#replacing-chalk
Seems to be easy to migrate.
Tell me if it's worth looking into and I can open a PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
chalk
is used by a bunch of our other dependencies so using the same package de-dupes what is already needed. If picocolors
has the same API guarantee and we can swap it for sub-dependencies we could look at that
@@ -14148,7 +14128,7 @@ node-int64@^0.4.0: | |||
version "0.4.0" | |||
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" | |||
|
|||
node-libs-browser@2.2.1, node-libs-browser@^2.2.1: | |||
node-libs-browser@^2.2.1: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like something else depends on node-libs-browser
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We still install webpack 4 in the monorepo for it's types which has this as a dependency. It shouldn't be being installed with next
though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work, thanks!
This comment has been minimized.
This comment has been minimized.
Stats from current PRDefault Build (Increase detected
|
vercel/next.js canary | ijjk/next.js update/compiled-deps | Change | |
---|---|---|---|
buildDuration | 18.5s | 17.9s | -591ms |
buildDurationCached | 3.5s | 3.4s | -101ms |
nodeModulesSize | 356 MB | 350 MB | -6.46 MB |
Page Load Tests Overall decrease ⚠️
vercel/next.js canary | ijjk/next.js update/compiled-deps | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.968 | 2.917 | -0.05 |
/ avg req/sec | 842.4 | 857.18 | +14.78 |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.357 | 1.409 | |
/error-in-render avg req/sec | 1841.63 | 1774.01 |
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary | ijjk/next.js update/compiled-deps | Change | |
---|---|---|---|
450.HASH.js gzip | 179 B | 179 B | ✓ |
framework-HASH.js gzip | 42.2 kB | 42.2 kB | ✓ |
main-HASH.js gzip | 30.2 kB | 30.3 kB | |
webpack-HASH.js gzip | 1.45 kB | 1.45 kB | ✓ |
Overall change | 74 kB | 74.1 kB |
Legacy Client Bundles (polyfills)
vercel/next.js canary | ijjk/next.js update/compiled-deps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | ijjk/next.js update/compiled-deps | Change | |
---|---|---|---|
_app-HASH.js gzip | 1.37 kB | 1.37 kB | ✓ |
_error-HASH.js gzip | 194 B | 194 B | ✓ |
amp-HASH.js gzip | 312 B | 312 B | ✓ |
css-HASH.js gzip | 326 B | 326 B | ✓ |
dynamic-HASH.js gzip | 2.37 kB | 2.37 kB | ✓ |
head-HASH.js gzip | 350 B | 350 B | ✓ |
hooks-HASH.js gzip | 919 B | 919 B | ✓ |
image-HASH.js gzip | 4.73 kB | 4.73 kB | ✓ |
index-HASH.js gzip | 263 B | 263 B | ✓ |
link-HASH.js gzip | 2.13 kB | 2.13 kB | ✓ |
routerDirect..HASH.js gzip | 321 B | 321 B | ✓ |
script-HASH.js gzip | 383 B | 383 B | ✓ |
withRouter-HASH.js gzip | 318 B | 318 B | ✓ |
85e02e95b279..7e3.css gzip | 107 B | 107 B | ✓ |
Overall change | 14.1 kB | 14.1 kB | ✓ |
Client Build Manifests
vercel/next.js canary | ijjk/next.js update/compiled-deps | Change | |
---|---|---|---|
_buildManifest.js gzip | 460 B | 460 B | ✓ |
Overall change | 460 B | 460 B | ✓ |
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary | ijjk/next.js update/compiled-deps | Change | |
---|---|---|---|
index.html gzip | 533 B | 531 B | -2 B |
link.html gzip | 547 B | 544 B | -3 B |
withRouter.html gzip | 527 B | 525 B | -2 B |
Overall change | 1.61 kB | 1.6 kB | -7 B |
Diffs
Diff for main-HASH.js
@@ -7964,6 +7964,193 @@
/***/
},
+ /***/ 7663: /***/ function(module) {
+ var __dirname = "/";
+ (function() {
+ var e = {
+ 162: function(e) {
+ var t = (e.exports = {});
+ var r;
+ var n;
+ function defaultSetTimout() {
+ throw new Error("setTimeout has not been defined");
+ }
+ function defaultClearTimeout() {
+ throw new Error("clearTimeout has not been defined");
+ }
+ (function() {
+ try {
+ if (typeof setTimeout === "function") {
+ r = setTimeout;
+ } else {
+ r = defaultSetTimout;
+ }
+ } catch (e) {
+ r = defaultSetTimout;
+ }
+ try {
+ if (typeof clearTimeout === "function") {
+ n = clearTimeout;
+ } else {
+ n = defaultClearTimeout;
+ }
+ } catch (e) {
+ n = defaultClearTimeout;
+ }
+ })();
+ function runTimeout(e) {
+ if (r === setTimeout) {
+ return setTimeout(e, 0);
+ }
+ if ((r === defaultSetTimout || !r) && setTimeout) {
+ r = setTimeout;
+ return setTimeout(e, 0);
+ }
+ try {
+ return r(e, 0);
+ } catch (t) {
+ try {
+ return r.call(null, e, 0);
+ } catch (t) {
+ return r.call(this, e, 0);
+ }
+ }
+ }
+ function runClearTimeout(e) {
+ if (n === clearTimeout) {
+ return clearTimeout(e);
+ }
+ if ((n === defaultClearTimeout || !n) && clearTimeout) {
+ n = clearTimeout;
+ return clearTimeout(e);
+ }
+ try {
+ return n(e);
+ } catch (t) {
+ try {
+ return n.call(null, e);
+ } catch (t) {
+ return n.call(this, e);
+ }
+ }
+ }
+ var i = [];
+ var o = false;
+ var u;
+ var a = -1;
+ function cleanUpNextTick() {
+ if (!o || !u) {
+ return;
+ }
+ o = false;
+ if (u.length) {
+ i = u.concat(i);
+ } else {
+ a = -1;
+ }
+ if (i.length) {
+ drainQueue();
+ }
+ }
+ function drainQueue() {
+ if (o) {
+ return;
+ }
+ var e = runTimeout(cleanUpNextTick);
+ o = true;
+ var t = i.length;
+ while (t) {
+ u = i;
+ i = [];
+ while (++a < t) {
+ if (u) {
+ u[a].run();
+ }
+ }
+ a = -1;
+ t = i.length;
+ }
+ u = null;
+ o = false;
+ runClearTimeout(e);
+ }
+ t.nextTick = function(e) {
+ var t = new Array(arguments.length - 1);
+ if (arguments.length > 1) {
+ for (var r = 1; r < arguments.length; r++) {
+ t[r - 1] = arguments[r];
+ }
+ }
+ i.push(new Item(e, t));
+ if (i.length === 1 && !o) {
+ runTimeout(drainQueue);
+ }
+ };
+ function Item(e, t) {
+ this.fun = e;
+ this.array = t;
+ }
+ Item.prototype.run = function() {
+ this.fun.apply(null, this.array);
+ };
+ t.title = "browser";
+ t.browser = true;
+ t.env = {};
+ t.argv = [];
+ t.version = "";
+ t.versions = {};
+ function noop() {}
+ t.on = noop;
+ t.addListener = noop;
+ t.once = noop;
+ t.off = noop;
+ t.removeListener = noop;
+ t.removeAllListeners = noop;
+ t.emit = noop;
+ t.prependListener = noop;
+ t.prependOnceListener = noop;
+ t.listeners = function(e) {
+ return [];
+ };
+ t.binding = function(e) {
+ throw new Error("process.binding is not supported");
+ };
+ t.cwd = function() {
+ return "/";
+ };
+ t.chdir = function(e) {
+ throw new Error("process.chdir is not supported");
+ };
+ t.umask = function() {
+ return 0;
+ };
+ }
+ };
+ var t = {};
+ function __nccwpck_require__(r) {
+ var n = t[r];
+ if (n !== undefined) {
+ return n.exports;
+ }
+ var i = (t[r] = { exports: {} });
+ var o = true;
+ try {
+ e[r](i, i.exports, __nccwpck_require__);
+ o = false;
+ } finally {
+ if (o) delete t[r];
+ }
+ return i.exports;
+ }
+ if (typeof __nccwpck_require__ !== "undefined")
+ __nccwpck_require__.ab = __dirname + "/";
+ var r = __nccwpck_require__(162);
+ module.exports = r;
+ })();
+
+ /***/
+ },
+
/***/ 8745: /***/ function(module) {
var __dirname = "/";
(function() {
@@ -8340,202 +8527,6 @@
/***/
},
- /***/ 4155: /***/ function(module) {
- // shim for using process in browser
- var process = (module.exports = {});
-
- // cached from whatever global is present so that test runners that stub it
- // don't break things. But we need to wrap it in a try catch in case it is
- // wrapped in strict mode code which doesn't define any globals. It's inside a
- // function because try/catches deoptimize in certain engines.
-
- var cachedSetTimeout;
- var cachedClearTimeout;
-
- function defaultSetTimout() {
- throw new Error("setTimeout has not been defined");
- }
- function defaultClearTimeout() {
- throw new Error("clearTimeout has not been defined");
- }
- (function() {
- try {
- if (typeof setTimeout === "function") {
- cachedSetTimeout = setTimeout;
- } else {
- cachedSetTimeout = defaultSetTimout;
- }
- } catch (e) {
- cachedSetTimeout = defaultSetTimout;
- }
- try {
- if (typeof clearTimeout === "function") {
- cachedClearTimeout = clearTimeout;
- } else {
- cachedClearTimeout = defaultClearTimeout;
- }
- } catch (e) {
- cachedClearTimeout = defaultClearTimeout;
- }
- })();
- function runTimeout(fun) {
- if (cachedSetTimeout === setTimeout) {
- //normal enviroments in sane situations
- return setTimeout(fun, 0);
- }
- // if setTimeout wasn't available but was latter defined
- if (
- (cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) &&
- setTimeout
- ) {
- cachedSetTimeout = setTimeout;
- return setTimeout(fun, 0);
- }
- try {
- // when when somebody has screwed with setTimeout but no I.E. maddness
- return cachedSetTimeout(fun, 0);
- } catch (e) {
- try {
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
- return cachedSetTimeout.call(null, fun, 0);
- } catch (e) {
- // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
- return cachedSetTimeout.call(this, fun, 0);
- }
- }
- }
- function runClearTimeout(marker) {
- if (cachedClearTimeout === clearTimeout) {
- //normal enviroments in sane situations
- return clearTimeout(marker);
- }
- // if clearTimeout wasn't available but was latter defined
- if (
- (cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) &&
- clearTimeout
- ) {
- cachedClearTimeout = clearTimeout;
- return clearTimeout(marker);
- }
- try {
- // when when somebody has screwed with setTimeout but no I.E. maddness
- return cachedClearTimeout(marker);
- } catch (e) {
- try {
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
- return cachedClearTimeout.call(null, marker);
- } catch (e) {
- // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
- // Some versions of I.E. have different rules for clearTimeout vs setTimeout
- return cachedClearTimeout.call(this, marker);
- }
- }
- }
- var queue = [];
- var draining = false;
- var currentQueue;
- var queueIndex = -1;
-
- function cleanUpNextTick() {
- if (!draining || !currentQueue) {
- return;
- }
- draining = false;
- if (currentQueue.length) {
- queue = currentQueue.concat(queue);
- } else {
- queueIndex = -1;
- }
- if (queue.length) {
- drainQueue();
- }
- }
-
- function drainQueue() {
- if (draining) {
- return;
- }
- var timeout = runTimeout(cleanUpNextTick);
- draining = true;
-
- var len = queue.length;
- while (len) {
- currentQueue = queue;
- queue = [];
- while (++queueIndex < len) {
- if (currentQueue) {
- currentQueue[queueIndex].run();
- }
- }
- queueIndex = -1;
- len = queue.length;
- }
- currentQueue = null;
- draining = false;
- runClearTimeout(timeout);
- }
-
- process.nextTick = function(fun) {
- var args = new Array(arguments.length - 1);
- if (arguments.length > 1) {
- for (var i = 1; i < arguments.length; i++) {
- args[i - 1] = arguments[i];
- }
- }
- queue.push(new Item(fun, args));
- if (queue.length === 1 && !draining) {
- runTimeout(drainQueue);
- }
- };
-
- // v8 likes predictible objects
- function Item(fun, array) {
- this.fun = fun;
- this.array = array;
- }
- Item.prototype.run = function() {
- this.fun.apply(null, this.array);
- };
- process.title = "browser";
- process.browser = true;
- process.env = {};
- process.argv = [];
- process.version = ""; // empty string to avoid regexp issues
- process.versions = {};
-
- function noop() {}
-
- process.on = noop;
- process.addListener = noop;
- process.once = noop;
- process.off = noop;
- process.removeListener = noop;
- process.removeAllListeners = noop;
- process.emit = noop;
- process.prependListener = noop;
- process.prependOnceListener = noop;
-
- process.listeners = function(name) {
- return [];
- };
-
- process.binding = function(name) {
- throw new Error("process.binding is not supported");
- };
-
- process.cwd = function() {
- return "/";
- };
- process.chdir = function(dir) {
- throw new Error("process.chdir is not supported");
- };
- process.umask = function() {
- return 0;
- };
-
- /***/
- },
-
/***/ 5666: /***/ function(module) {
/**
* Copyright (c) 2014-present, Facebook, Inc.
@@ -9409,7 +9400,7 @@
__webpack_require__
) {
"use strict";
- /* provided dependency */ var process = __webpack_require__(4155);
+ /* provided dependency */ var process = __webpack_require__(7663);
exports.__esModule = true;
exports["default"] = void 0;
Diff for index.html
@@ -19,7 +19,7 @@
defer=""
></script>
<script
- src="/_next/static/chunks/main-860d1e6ea49e6b7a.js"
+ src="/_next/static/chunks/main-663fd8163ce9a21b.js"
defer=""
></script>
<script
Diff for link.html
@@ -19,7 +19,7 @@
defer=""
></script>
<script
- src="/_next/static/chunks/main-860d1e6ea49e6b7a.js"
+ src="/_next/static/chunks/main-663fd8163ce9a21b.js"
defer=""
></script>
<script
Diff for withRouter.html
@@ -19,7 +19,7 @@
defer=""
></script>
<script
- src="/_next/static/chunks/main-860d1e6ea49e6b7a.js"
+ src="/_next/static/chunks/main-663fd8163ce9a21b.js"
defer=""
></script>
<script
Default Build with SWC (Increase detected ⚠️ )
General Overall decrease ✓
vercel/next.js canary | ijjk/next.js update/compiled-deps | Change | |
---|---|---|---|
buildDuration | 20s | 19.1s | -915ms |
buildDurationCached | 3.5s | 3.4s | -83ms |
nodeModulesSize | 356 MB | 350 MB | -6.46 MB |
Page Load Tests Overall decrease ⚠️
vercel/next.js canary | ijjk/next.js update/compiled-deps | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.938 | 2.971 | |
/ avg req/sec | 850.98 | 841.59 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.371 | 1.402 | |
/error-in-render avg req/sec | 1823.56 | 1783 |
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary | ijjk/next.js update/compiled-deps | Change | |
---|---|---|---|
450.HASH.js gzip | 179 B | 179 B | ✓ |
framework-HASH.js gzip | 42.3 kB | 42.3 kB | ✓ |
main-HASH.js gzip | 30.3 kB | 30.4 kB | |
webpack-HASH.js gzip | 1.44 kB | 1.44 kB | ✓ |
Overall change | 74.3 kB | 74.3 kB |
Legacy Client Bundles (polyfills)
vercel/next.js canary | ijjk/next.js update/compiled-deps | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | ijjk/next.js update/compiled-deps | Change | |
---|---|---|---|
_app-HASH.js gzip | 1.35 kB | 1.35 kB | ✓ |
_error-HASH.js gzip | 180 B | 180 B | ✓ |
amp-HASH.js gzip | 305 B | 305 B | ✓ |
css-HASH.js gzip | 321 B | 321 B | ✓ |
dynamic-HASH.js gzip | 2.36 kB | 2.36 kB | ✓ |
head-HASH.js gzip | 342 B | 342 B | ✓ |
hooks-HASH.js gzip | 906 B | 906 B | ✓ |
image-HASH.js gzip | 4.75 kB | 4.75 kB | ✓ |
index-HASH.js gzip | 256 B | 256 B | ✓ |
link-HASH.js gzip | 2.19 kB | 2.19 kB | ✓ |
routerDirect..HASH.js gzip | 314 B | 314 B | ✓ |
script-HASH.js gzip | 375 B | 375 B | ✓ |
withRouter-HASH.js gzip | 309 B | 309 B | ✓ |
85e02e95b279..7e3.css gzip | 107 B | 107 B | ✓ |
Overall change | 14.1 kB | 14.1 kB | ✓ |
Client Build Manifests
vercel/next.js canary | ijjk/next.js update/compiled-deps | Change | |
---|---|---|---|
_buildManifest.js gzip | 459 B | 459 B | ✓ |
Overall change | 459 B | 459 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | ijjk/next.js update/compiled-deps | Change | |
---|---|---|---|
index.html gzip | 532 B | 533 B | |
link.html gzip | 546 B | 545 B | -1 B |
withRouter.html gzip | 526 B | 526 B | ✓ |
Overall change | 1.6 kB | 1.6 kB | ✓ |
Diffs
Diff for main-HASH.js
@@ -7964,6 +7964,193 @@
/***/
},
+ /***/ 7663: /***/ function(module) {
+ var __dirname = "/";
+ (function() {
+ var e = {
+ 162: function(e) {
+ var t = (e.exports = {});
+ var r;
+ var n;
+ function defaultSetTimout() {
+ throw new Error("setTimeout has not been defined");
+ }
+ function defaultClearTimeout() {
+ throw new Error("clearTimeout has not been defined");
+ }
+ (function() {
+ try {
+ if (typeof setTimeout === "function") {
+ r = setTimeout;
+ } else {
+ r = defaultSetTimout;
+ }
+ } catch (e) {
+ r = defaultSetTimout;
+ }
+ try {
+ if (typeof clearTimeout === "function") {
+ n = clearTimeout;
+ } else {
+ n = defaultClearTimeout;
+ }
+ } catch (e) {
+ n = defaultClearTimeout;
+ }
+ })();
+ function runTimeout(e) {
+ if (r === setTimeout) {
+ return setTimeout(e, 0);
+ }
+ if ((r === defaultSetTimout || !r) && setTimeout) {
+ r = setTimeout;
+ return setTimeout(e, 0);
+ }
+ try {
+ return r(e, 0);
+ } catch (t) {
+ try {
+ return r.call(null, e, 0);
+ } catch (t) {
+ return r.call(this, e, 0);
+ }
+ }
+ }
+ function runClearTimeout(e) {
+ if (n === clearTimeout) {
+ return clearTimeout(e);
+ }
+ if ((n === defaultClearTimeout || !n) && clearTimeout) {
+ n = clearTimeout;
+ return clearTimeout(e);
+ }
+ try {
+ return n(e);
+ } catch (t) {
+ try {
+ return n.call(null, e);
+ } catch (t) {
+ return n.call(this, e);
+ }
+ }
+ }
+ var i = [];
+ var o = false;
+ var u;
+ var a = -1;
+ function cleanUpNextTick() {
+ if (!o || !u) {
+ return;
+ }
+ o = false;
+ if (u.length) {
+ i = u.concat(i);
+ } else {
+ a = -1;
+ }
+ if (i.length) {
+ drainQueue();
+ }
+ }
+ function drainQueue() {
+ if (o) {
+ return;
+ }
+ var e = runTimeout(cleanUpNextTick);
+ o = true;
+ var t = i.length;
+ while (t) {
+ u = i;
+ i = [];
+ while (++a < t) {
+ if (u) {
+ u[a].run();
+ }
+ }
+ a = -1;
+ t = i.length;
+ }
+ u = null;
+ o = false;
+ runClearTimeout(e);
+ }
+ t.nextTick = function(e) {
+ var t = new Array(arguments.length - 1);
+ if (arguments.length > 1) {
+ for (var r = 1; r < arguments.length; r++) {
+ t[r - 1] = arguments[r];
+ }
+ }
+ i.push(new Item(e, t));
+ if (i.length === 1 && !o) {
+ runTimeout(drainQueue);
+ }
+ };
+ function Item(e, t) {
+ this.fun = e;
+ this.array = t;
+ }
+ Item.prototype.run = function() {
+ this.fun.apply(null, this.array);
+ };
+ t.title = "browser";
+ t.browser = true;
+ t.env = {};
+ t.argv = [];
+ t.version = "";
+ t.versions = {};
+ function noop() {}
+ t.on = noop;
+ t.addListener = noop;
+ t.once = noop;
+ t.off = noop;
+ t.removeListener = noop;
+ t.removeAllListeners = noop;
+ t.emit = noop;
+ t.prependListener = noop;
+ t.prependOnceListener = noop;
+ t.listeners = function(e) {
+ return [];
+ };
+ t.binding = function(e) {
+ throw new Error("process.binding is not supported");
+ };
+ t.cwd = function() {
+ return "/";
+ };
+ t.chdir = function(e) {
+ throw new Error("process.chdir is not supported");
+ };
+ t.umask = function() {
+ return 0;
+ };
+ }
+ };
+ var t = {};
+ function __nccwpck_require__(r) {
+ var n = t[r];
+ if (n !== undefined) {
+ return n.exports;
+ }
+ var i = (t[r] = { exports: {} });
+ var o = true;
+ try {
+ e[r](i, i.exports, __nccwpck_require__);
+ o = false;
+ } finally {
+ if (o) delete t[r];
+ }
+ return i.exports;
+ }
+ if (typeof __nccwpck_require__ !== "undefined")
+ __nccwpck_require__.ab = __dirname + "/";
+ var r = __nccwpck_require__(162);
+ module.exports = r;
+ })();
+
+ /***/
+ },
+
/***/ 8745: /***/ function(module) {
var __dirname = "/";
(function() {
@@ -8340,202 +8527,6 @@
/***/
},
- /***/ 4155: /***/ function(module) {
- // shim for using process in browser
- var process = (module.exports = {});
-
- // cached from whatever global is present so that test runners that stub it
- // don't break things. But we need to wrap it in a try catch in case it is
- // wrapped in strict mode code which doesn't define any globals. It's inside a
- // function because try/catches deoptimize in certain engines.
-
- var cachedSetTimeout;
- var cachedClearTimeout;
-
- function defaultSetTimout() {
- throw new Error("setTimeout has not been defined");
- }
- function defaultClearTimeout() {
- throw new Error("clearTimeout has not been defined");
- }
- (function() {
- try {
- if (typeof setTimeout === "function") {
- cachedSetTimeout = setTimeout;
- } else {
- cachedSetTimeout = defaultSetTimout;
- }
- } catch (e) {
- cachedSetTimeout = defaultSetTimout;
- }
- try {
- if (typeof clearTimeout === "function") {
- cachedClearTimeout = clearTimeout;
- } else {
- cachedClearTimeout = defaultClearTimeout;
- }
- } catch (e) {
- cachedClearTimeout = defaultClearTimeout;
- }
- })();
- function runTimeout(fun) {
- if (cachedSetTimeout === setTimeout) {
- //normal enviroments in sane situations
- return setTimeout(fun, 0);
- }
- // if setTimeout wasn't available but was latter defined
- if (
- (cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) &&
- setTimeout
- ) {
- cachedSetTimeout = setTimeout;
- return setTimeout(fun, 0);
- }
- try {
- // when when somebody has screwed with setTimeout but no I.E. maddness
- return cachedSetTimeout(fun, 0);
- } catch (e) {
- try {
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
- return cachedSetTimeout.call(null, fun, 0);
- } catch (e) {
- // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
- return cachedSetTimeout.call(this, fun, 0);
- }
- }
- }
- function runClearTimeout(marker) {
- if (cachedClearTimeout === clearTimeout) {
- //normal enviroments in sane situations
- return clearTimeout(marker);
- }
- // if clearTimeout wasn't available but was latter defined
- if (
- (cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) &&
- clearTimeout
- ) {
- cachedClearTimeout = clearTimeout;
- return clearTimeout(marker);
- }
- try {
- // when when somebody has screwed with setTimeout but no I.E. maddness
- return cachedClearTimeout(marker);
- } catch (e) {
- try {
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
- return cachedClearTimeout.call(null, marker);
- } catch (e) {
- // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
- // Some versions of I.E. have different rules for clearTimeout vs setTimeout
- return cachedClearTimeout.call(this, marker);
- }
- }
- }
- var queue = [];
- var draining = false;
- var currentQueue;
- var queueIndex = -1;
-
- function cleanUpNextTick() {
- if (!draining || !currentQueue) {
- return;
- }
- draining = false;
- if (currentQueue.length) {
- queue = currentQueue.concat(queue);
- } else {
- queueIndex = -1;
- }
- if (queue.length) {
- drainQueue();
- }
- }
-
- function drainQueue() {
- if (draining) {
- return;
- }
- var timeout = runTimeout(cleanUpNextTick);
- draining = true;
-
- var len = queue.length;
- while (len) {
- currentQueue = queue;
- queue = [];
- while (++queueIndex < len) {
- if (currentQueue) {
- currentQueue[queueIndex].run();
- }
- }
- queueIndex = -1;
- len = queue.length;
- }
- currentQueue = null;
- draining = false;
- runClearTimeout(timeout);
- }
-
- process.nextTick = function(fun) {
- var args = new Array(arguments.length - 1);
- if (arguments.length > 1) {
- for (var i = 1; i < arguments.length; i++) {
- args[i - 1] = arguments[i];
- }
- }
- queue.push(new Item(fun, args));
- if (queue.length === 1 && !draining) {
- runTimeout(drainQueue);
- }
- };
-
- // v8 likes predictible objects
- function Item(fun, array) {
- this.fun = fun;
- this.array = array;
- }
- Item.prototype.run = function() {
- this.fun.apply(null, this.array);
- };
- process.title = "browser";
- process.browser = true;
- process.env = {};
- process.argv = [];
- process.version = ""; // empty string to avoid regexp issues
- process.versions = {};
-
- function noop() {}
-
- process.on = noop;
- process.addListener = noop;
- process.once = noop;
- process.off = noop;
- process.removeListener = noop;
- process.removeAllListeners = noop;
- process.emit = noop;
- process.prependListener = noop;
- process.prependOnceListener = noop;
-
- process.listeners = function(name) {
- return [];
- };
-
- process.binding = function(name) {
- throw new Error("process.binding is not supported");
- };
-
- process.cwd = function() {
- return "/";
- };
- process.chdir = function(dir) {
- throw new Error("process.chdir is not supported");
- };
- process.umask = function() {
- return 0;
- };
-
- /***/
- },
-
/***/ 5666: /***/ function(module) {
/**
* Copyright (c) 2014-present, Facebook, Inc.
@@ -9409,7 +9400,7 @@
__webpack_require__
) {
"use strict";
- /* provided dependency */ var process = __webpack_require__(4155);
+ /* provided dependency */ var process = __webpack_require__(7663);
exports.__esModule = true;
exports["default"] = void 0;
Diff for index.html
@@ -19,7 +19,7 @@
defer=""
></script>
<script
- src="/_next/static/chunks/main-860d1e6ea49e6b7a.js"
+ src="/_next/static/chunks/main-663fd8163ce9a21b.js"
defer=""
></script>
<script
Diff for link.html
@@ -19,7 +19,7 @@
defer=""
></script>
<script
- src="/_next/static/chunks/main-860d1e6ea49e6b7a.js"
+ src="/_next/static/chunks/main-663fd8163ce9a21b.js"
defer=""
></script>
<script
Diff for withRouter.html
@@ -19,7 +19,7 @@
defer=""
></script>
<script
- src="/_next/static/chunks/main-860d1e6ea49e6b7a.js"
+ src="/_next/static/chunks/main-663fd8163ce9a21b.js"
defer=""
></script>
<script
This ncc's some remaining dependencies bringing us under 20 install time dependencies (including nested dependencies), this also reduces install size by another `2.75 MB`. A follow-up PR will investigate a custom install script for our swc packages to allow us to remove the `optionalDependencies` which is slowing down install time as well. x-ref: #32679 x-ref: #32627 x-ref: #31887 x-ref: vercel/styled-jsx#770
This aims to reduce the number of dependencies needed for
next
on install by pre-compiling more dependencies and removing left over dependencies that are no longer being used likenode-lib-browser
.This is an initial PR, follow-up PRs will be made to reduce dependencies further.
Relies on vercel/ncc#832