-
Notifications
You must be signed in to change notification settings - Fork 26.3k
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 dynamic APIs with query params #8386
Conversation
Stats from current PRDefault Server Mode (Increase detected
|
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
buildDuration | 25.5s | 25.1s | -436ms |
nodeModulesSize | 41.3 MB | 41.3 MB |
Client Bundles (main, webpack, commons) Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.js | 17.9 kB | 17.9 kB | ✓ |
main-HASH.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-HASH.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
commons.HASH.js | 190 kB | 190 kB | |
commons.HASH.js gzip | 61.6 kB | 61.6 kB | |
Overall change |
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.module.js | 16.2 kB | 16.2 kB | ✓ |
main-HASH.module.js gzip | 6.28 kB | 6.28 kB | ✓ |
webpack-HASH.module.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.module.js gzip | 746 B | 746 B | ✓ |
commons.HASH.module.js | 171 kB | 171 kB | |
commons.HASH.module.js gzip | 55.4 kB | 55.4 kB | |
Overall change |
Client Pages
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.js | 1.9 kB | 1.9 kB | ✓ |
_app.js gzip | 905 B | 905 B | ✓ |
_error.js | 12.1 kB | 12.1 kB | ✓ |
_error.js gzip | 4.76 kB | 4.76 kB | ✓ |
hooks.js | 1.06 kB | 1.06 kB | ✓ |
hooks.js gzip | 600 B | 600 B | ✓ |
index.js | 343 B | 343 B | ✓ |
index.js gzip | 237 B | 237 B | ✓ |
link.js | 8.13 kB | 8.13 kB | ✓ |
link.js gzip | 3.49 kB | 3.49 kB | ✓ |
routerDirect.js | 429 B | 429 B | ✓ |
routerDirect.js gzip | 292 B | 292 B | ✓ |
withRouter.js | 439 B | 439 B | ✓ |
withRouter.js gzip | 290 B | 290 B | ✓ |
Overall change | ✓ |
Client Pages Modern
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.module.js | 1.79 kB | 1.79 kB | ✓ |
_app.module.js gzip | 865 B | 865 B | ✓ |
_error.module.js | 10.6 kB | 10.6 kB | ✓ |
_error.module.js gzip | 4.31 kB | 4.31 kB | ✓ |
hooks.module.js | 596 B | 596 B | ✓ |
hooks.module.js gzip | 354 B | 354 B | ✓ |
index.module.js | 319 B | 319 B | ✓ |
index.module.js gzip | 238 B | 238 B | ✓ |
link.module.js | 8.52 kB | 8.52 kB | ✓ |
link.module.js gzip | 3.67 kB | 3.67 kB | ✓ |
routerDirect.module.js | 417 B | 417 B | ✓ |
routerDirect.module.js gzip | 292 B | 292 B | ✓ |
withRouter.module.js | 427 B | 427 B | ✓ |
withRouter.module.js gzip | 291 B | 291 B | ✓ |
Overall change | ✓ |
Fetched pages
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
link | 2.8 kB | 2.8 kB | ✓ |
link gzip | 850 B | 850 B | ✓ |
index | 2.75 kB | 2.75 kB | ✓ |
index gzip | 838 B | 839 B | |
withRouter | 2.81 kB | 2.81 kB | ✓ |
withRouter gzip | 837 B | 838 B | |
Overall change | ✓ |
Diffs
Diff for commons.HASH.js
@@ -722,10 +722,10 @@ function getRouteRegex(normalizedRoute) {
var groupIndex = 1;
var parameterizedRoute = escapedRoute.replace(/\/\\\[([^\/]+?)\\\](?=\/|$)/g, function (_, $1) {
return groups[$1 // Un-escape key
- .replace(/\\([|\\{}()[\]^$+*?.-])/g, '$1')] = groupIndex++, '/([^/]+?)';
+ .replace(/\\([|\\{}()[\]^$+*?.-])/g, '$1')] = groupIndex++, '/([^/?]+?)';
});
return {
- re: new RegExp('^' + parameterizedRoute + '(?:/)?$', 'i'),
+ re: new RegExp('^' + parameterizedRoute + '(?:/)?(?:\\?.*)?$', 'i'),
groups: groups
};
}
Diff for commons.HASH.module.js
@@ -501,9 +501,9 @@ function getRouteRegex(normalizedRoute) {
const groups = {};
let groupIndex = 1;
const parameterizedRoute = escapedRoute.replace(/\/\\\[([^\/]+?)\\\](?=\/|$)/g, (_, $1) => (groups[$1 // Un-escape key
- .replace(/\\([|\\{}()[\]^$+*?.-])/g, '$1')] = groupIndex++, '/([^/]+?)'));
+ .replace(/\\([|\\{}()[\]^$+*?.-])/g, '$1')] = groupIndex++, '/([^/?]+?)'));
return {
- re: new RegExp('^' + parameterizedRoute + '(?:/)?$', 'i'),
+ re: new RegExp('^' + parameterizedRoute + '(?:/)?(?:\\?.*)?$', 'i'),
groups
};
}
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
buildDuration | 26s | 26.6s | |
nodeModulesSize | 41.3 MB | 41.3 MB |
Client Bundles (main, webpack, commons) Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.js | 17.9 kB | 17.9 kB | ✓ |
main-HASH.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-HASH.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
commons.HASH.js | 190 kB | 190 kB | |
commons.HASH.js gzip | 61.6 kB | 61.6 kB | |
Overall change |
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.module.js | 16.2 kB | 16.2 kB | ✓ |
main-HASH.module.js gzip | 6.28 kB | 6.28 kB | ✓ |
webpack-HASH.module.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.module.js gzip | 746 B | 746 B | ✓ |
commons.HASH.module.js | 171 kB | 171 kB | |
commons.HASH.module.js gzip | 55.4 kB | 55.4 kB | |
Overall change |
Client Pages
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.js | 1.9 kB | 1.9 kB | ✓ |
_app.js gzip | 905 B | 905 B | ✓ |
_error.js | 12.1 kB | 12.1 kB | ✓ |
_error.js gzip | 4.76 kB | 4.76 kB | ✓ |
hooks.js | 1.06 kB | 1.06 kB | ✓ |
hooks.js gzip | 600 B | 600 B | ✓ |
index.js | 343 B | 343 B | ✓ |
index.js gzip | 237 B | 237 B | ✓ |
link.js | 8.13 kB | 8.13 kB | ✓ |
link.js gzip | 3.49 kB | 3.49 kB | ✓ |
routerDirect.js | 429 B | 429 B | ✓ |
routerDirect.js gzip | 292 B | 292 B | ✓ |
withRouter.js | 439 B | 439 B | ✓ |
withRouter.js gzip | 290 B | 290 B | ✓ |
Overall change | ✓ |
Client Pages Modern
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.module.js | 1.79 kB | 1.79 kB | ✓ |
_app.module.js gzip | 865 B | 865 B | ✓ |
_error.module.js | 10.6 kB | 10.6 kB | ✓ |
_error.module.js gzip | 4.31 kB | 4.31 kB | ✓ |
hooks.module.js | 596 B | 596 B | ✓ |
hooks.module.js gzip | 354 B | 354 B | ✓ |
index.module.js | 319 B | 319 B | ✓ |
index.module.js gzip | 238 B | 238 B | ✓ |
link.module.js | 8.52 kB | 8.52 kB | ✓ |
link.module.js gzip | 3.67 kB | 3.67 kB | ✓ |
routerDirect.module.js | 417 B | 417 B | ✓ |
routerDirect.module.js gzip | 292 B | 292 B | ✓ |
withRouter.module.js | 427 B | 427 B | ✓ |
withRouter.module.js gzip | 291 B | 291 B | ✓ |
Overall change | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_error.js | 247 kB | 247 kB | |
_error.js gzip | 66.3 kB | 66.3 kB | |
hooks.html | 2.87 kB | 2.87 kB | ✓ |
hooks.html gzip | 867 B | 863 B | -4 B |
index.js | 248 kB | 248 kB | |
index.js gzip | 66.6 kB | 66.6 kB | |
link.js | 255 kB | 255 kB | |
link.js gzip | 68.8 kB | 68.8 kB | |
routerDirect.js | 248 kB | 248 kB | |
routerDirect.js gzip | 66.5 kB | 66.5 kB | |
withRouter.js | 248 kB | 248 kB | |
withRouter.js gzip | 66.6 kB | 66.6 kB | |
Overall change |
Stats from current PRDefault Server Mode (Increase detected
|
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
buildDuration | 27s | 27.2s | |
nodeModulesSize | 41.3 MB | 41.3 MB |
Client Bundles (main, webpack, commons) Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.js | 17.9 kB | 17.9 kB | ✓ |
main-HASH.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-HASH.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
commons.HASH.js | 190 kB | 190 kB | |
commons.HASH.js gzip | 61.6 kB | 61.6 kB | |
Overall change |
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.module.js | 16.2 kB | 16.2 kB | ✓ |
main-HASH.module.js gzip | 6.28 kB | 6.28 kB | ✓ |
webpack-HASH.module.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.module.js gzip | 746 B | 746 B | ✓ |
commons.HASH.module.js | 171 kB | 171 kB | |
commons.HASH.module.js gzip | 55.4 kB | 55.4 kB | |
Overall change |
Client Pages
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.js | 1.9 kB | 1.9 kB | ✓ |
_app.js gzip | 905 B | 905 B | ✓ |
_error.js | 12.1 kB | 12.1 kB | ✓ |
_error.js gzip | 4.76 kB | 4.76 kB | ✓ |
hooks.js | 1.06 kB | 1.06 kB | ✓ |
hooks.js gzip | 600 B | 600 B | ✓ |
index.js | 343 B | 343 B | ✓ |
index.js gzip | 237 B | 237 B | ✓ |
link.js | 8.13 kB | 8.13 kB | ✓ |
link.js gzip | 3.49 kB | 3.49 kB | ✓ |
routerDirect.js | 429 B | 429 B | ✓ |
routerDirect.js gzip | 292 B | 292 B | ✓ |
withRouter.js | 439 B | 439 B | ✓ |
withRouter.js gzip | 290 B | 290 B | ✓ |
Overall change | ✓ |
Client Pages Modern
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.module.js | 1.79 kB | 1.79 kB | ✓ |
_app.module.js gzip | 865 B | 865 B | ✓ |
_error.module.js | 10.6 kB | 10.6 kB | ✓ |
_error.module.js gzip | 4.31 kB | 4.31 kB | ✓ |
hooks.module.js | 596 B | 596 B | ✓ |
hooks.module.js gzip | 354 B | 354 B | ✓ |
index.module.js | 319 B | 319 B | ✓ |
index.module.js gzip | 238 B | 238 B | ✓ |
link.module.js | 8.52 kB | 8.52 kB | ✓ |
link.module.js gzip | 3.67 kB | 3.67 kB | ✓ |
routerDirect.module.js | 417 B | 417 B | ✓ |
routerDirect.module.js gzip | 292 B | 292 B | ✓ |
withRouter.module.js | 427 B | 427 B | ✓ |
withRouter.module.js gzip | 291 B | 291 B | ✓ |
Overall change | ✓ |
Fetched pages
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
link | 2.8 kB | 2.8 kB | ✓ |
link gzip | 849 B | 850 B | |
index | 2.75 kB | 2.75 kB | ✓ |
index gzip | 839 B | 841 B | |
withRouter | 2.81 kB | 2.81 kB | ✓ |
withRouter gzip | 837 B | 839 B | |
Overall change | ✓ |
Diffs
Diff for commons.HASH.js
@@ -722,10 +722,10 @@ function getRouteRegex(normalizedRoute) {
var groupIndex = 1;
var parameterizedRoute = escapedRoute.replace(/\/\\\[([^\/]+?)\\\](?=\/|$)/g, function (_, $1) {
return groups[$1 // Un-escape key
- .replace(/\\([|\\{}()[\]^$+*?.-])/g, '$1')] = groupIndex++, '/([^/]+?)';
+ .replace(/\\([|\\{}()[\]^$+*?.-])/g, '$1')] = groupIndex++, '/([^/?]+?)';
});
return {
- re: new RegExp('^' + parameterizedRoute + '(?:/)?$', 'i'),
+ re: new RegExp('^' + parameterizedRoute + '(?:/)?(?:\\?.*)?$', 'i'),
groups: groups
};
}
Diff for commons.HASH.module.js
@@ -501,9 +501,9 @@ function getRouteRegex(normalizedRoute) {
const groups = {};
let groupIndex = 1;
const parameterizedRoute = escapedRoute.replace(/\/\\\[([^\/]+?)\\\](?=\/|$)/g, (_, $1) => (groups[$1 // Un-escape key
- .replace(/\\([|\\{}()[\]^$+*?.-])/g, '$1')] = groupIndex++, '/([^/]+?)'));
+ .replace(/\\([|\\{}()[\]^$+*?.-])/g, '$1')] = groupIndex++, '/([^/?]+?)'));
return {
- re: new RegExp('^' + parameterizedRoute + '(?:/)?$', 'i'),
+ re: new RegExp('^' + parameterizedRoute + '(?:/)?(?:\\?.*)?$', 'i'),
groups
};
}
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
buildDuration | 28s | 28.4s | |
nodeModulesSize | 41.3 MB | 41.3 MB |
Client Bundles (main, webpack, commons) Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.js | 17.9 kB | 17.9 kB | ✓ |
main-HASH.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-HASH.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
commons.HASH.js | 190 kB | 190 kB | |
commons.HASH.js gzip | 61.6 kB | 61.6 kB | |
Overall change |
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.module.js | 16.2 kB | 16.2 kB | ✓ |
main-HASH.module.js gzip | 6.28 kB | 6.28 kB | ✓ |
webpack-HASH.module.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.module.js gzip | 746 B | 746 B | ✓ |
commons.HASH.module.js | 171 kB | 171 kB | |
commons.HASH.module.js gzip | 55.4 kB | 55.4 kB | |
Overall change |
Client Pages
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.js | 1.9 kB | 1.9 kB | ✓ |
_app.js gzip | 905 B | 905 B | ✓ |
_error.js | 12.1 kB | 12.1 kB | ✓ |
_error.js gzip | 4.76 kB | 4.76 kB | ✓ |
hooks.js | 1.06 kB | 1.06 kB | ✓ |
hooks.js gzip | 600 B | 600 B | ✓ |
index.js | 343 B | 343 B | ✓ |
index.js gzip | 237 B | 237 B | ✓ |
link.js | 8.13 kB | 8.13 kB | ✓ |
link.js gzip | 3.49 kB | 3.49 kB | ✓ |
routerDirect.js | 429 B | 429 B | ✓ |
routerDirect.js gzip | 292 B | 292 B | ✓ |
withRouter.js | 439 B | 439 B | ✓ |
withRouter.js gzip | 290 B | 290 B | ✓ |
Overall change | ✓ |
Client Pages Modern
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.module.js | 1.79 kB | 1.79 kB | ✓ |
_app.module.js gzip | 865 B | 865 B | ✓ |
_error.module.js | 10.6 kB | 10.6 kB | ✓ |
_error.module.js gzip | 4.31 kB | 4.31 kB | ✓ |
hooks.module.js | 596 B | 596 B | ✓ |
hooks.module.js gzip | 354 B | 354 B | ✓ |
index.module.js | 319 B | 319 B | ✓ |
index.module.js gzip | 238 B | 238 B | ✓ |
link.module.js | 8.52 kB | 8.52 kB | ✓ |
link.module.js gzip | 3.67 kB | 3.67 kB | ✓ |
routerDirect.module.js | 417 B | 417 B | ✓ |
routerDirect.module.js gzip | 292 B | 292 B | ✓ |
withRouter.module.js | 427 B | 427 B | ✓ |
withRouter.module.js gzip | 291 B | 291 B | ✓ |
Overall change | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_error.js | 247 kB | 247 kB | |
_error.js gzip | 66.3 kB | 66.3 kB | |
hooks.html | 2.87 kB | 2.87 kB | ✓ |
hooks.html gzip | 867 B | 864 B | -3 B |
index.js | 248 kB | 248 kB | |
index.js gzip | 66.6 kB | 66.6 kB | |
link.js | 255 kB | 255 kB | |
link.js gzip | 68.8 kB | 68.8 kB | |
routerDirect.js | 248 kB | 248 kB | |
routerDirect.js gzip | 66.5 kB | 66.5 kB | |
withRouter.js | 248 kB | 248 kB | |
withRouter.js gzip | 66.6 kB | 66.6 kB | |
Overall change |
Thank you @Deadleg, great catch :) |
Thanks for this fix @Deadleg! I desperately need this as it's blocking some work I want to release (without a workaround). When can we get this out? |
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.
This is not the correct fix -- the route regex needs to remain untouched.
The URL needs to be parsed in the routing/render layer similar to the way a normal page is handled.
I'm on my phone so I cannot provide a link, but I wanted to make sure this wasn't merged as-is.
If you define a dynamic API such as ``` pages/ api/ [id].js ``` This api becomes available at `/api/[id]`. If you send a request with a query parameter the value of `req.query.id` will include the query string as well as the path parameter. E.g. the request to `/api/2?test=123` will result in `req.query` being ```javascript { id: "2?test=123", test: "123", } ``` instead of ```javascript { id: "2", test: "123", } ```
Stats from current PRDefault Server Mode (Increase detected
|
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
buildDuration | 26s | 26.2s | |
nodeModulesSize | 41.3 MB | 41.3 MB |
Client Bundles (main, webpack, commons) Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.js | 17.9 kB | 17.9 kB | ✓ |
main-HASH.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-HASH.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
commons.HASH.js | 190 kB | 190 kB | |
commons.HASH.js gzip | 61.6 kB | 61.6 kB | |
Overall change |
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.module.js | 16.2 kB | 16.2 kB | ✓ |
main-HASH.module.js gzip | 6.28 kB | 6.28 kB | ✓ |
webpack-HASH.module.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.module.js gzip | 746 B | 746 B | ✓ |
commons.HASH.module.js | 171 kB | 171 kB | |
commons.HASH.module.js gzip | 55.4 kB | 55.4 kB | |
Overall change |
Client Pages
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.js | 1.9 kB | 1.9 kB | ✓ |
_app.js gzip | 905 B | 905 B | ✓ |
_error.js | 12.1 kB | 12.1 kB | ✓ |
_error.js gzip | 4.76 kB | 4.76 kB | ✓ |
hooks.js | 1.06 kB | 1.06 kB | ✓ |
hooks.js gzip | 600 B | 600 B | ✓ |
index.js | 343 B | 343 B | ✓ |
index.js gzip | 237 B | 237 B | ✓ |
link.js | 8.13 kB | 8.13 kB | ✓ |
link.js gzip | 3.49 kB | 3.49 kB | ✓ |
routerDirect.js | 429 B | 429 B | ✓ |
routerDirect.js gzip | 292 B | 292 B | ✓ |
withRouter.js | 439 B | 439 B | ✓ |
withRouter.js gzip | 290 B | 290 B | ✓ |
Overall change | ✓ |
Client Pages Modern
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.module.js | 1.79 kB | 1.79 kB | ✓ |
_app.module.js gzip | 865 B | 865 B | ✓ |
_error.module.js | 10.6 kB | 10.6 kB | ✓ |
_error.module.js gzip | 4.31 kB | 4.31 kB | ✓ |
hooks.module.js | 596 B | 596 B | ✓ |
hooks.module.js gzip | 354 B | 354 B | ✓ |
index.module.js | 319 B | 319 B | ✓ |
index.module.js gzip | 238 B | 238 B | ✓ |
link.module.js | 8.52 kB | 8.52 kB | ✓ |
link.module.js gzip | 3.67 kB | 3.67 kB | ✓ |
routerDirect.module.js | 417 B | 417 B | ✓ |
routerDirect.module.js gzip | 292 B | 292 B | ✓ |
withRouter.module.js | 427 B | 427 B | ✓ |
withRouter.module.js gzip | 291 B | 291 B | ✓ |
Overall change | ✓ |
Fetched pages
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
link | 2.8 kB | 2.8 kB | ✓ |
link gzip | 849 B | 848 B | -1 B |
index | 2.75 kB | 2.75 kB | ✓ |
index gzip | 842 B | 841 B | -1 B |
withRouter | 2.81 kB | 2.81 kB | ✓ |
withRouter gzip | 837 B | 836 B | -1 B |
Overall change | ✓ |
Diffs
Diff for commons.HASH.js
@@ -722,10 +722,10 @@ function getRouteRegex(normalizedRoute) {
var groupIndex = 1;
var parameterizedRoute = escapedRoute.replace(/\/\\\[([^\/]+?)\\\](?=\/|$)/g, function (_, $1) {
return groups[$1 // Un-escape key
- .replace(/\\([|\\{}()[\]^$+*?.-])/g, '$1')] = groupIndex++, '/([^/]+?)';
+ .replace(/\\([|\\{}()[\]^$+*?.-])/g, '$1')] = groupIndex++, '/([^/?]+?)';
});
return {
- re: new RegExp('^' + parameterizedRoute + '(?:/)?$', 'i'),
+ re: new RegExp('^' + parameterizedRoute + '(?:/)?(?:\\?.*)?$', 'i'),
groups: groups
};
}
Diff for commons.HASH.module.js
@@ -501,9 +501,9 @@ function getRouteRegex(normalizedRoute) {
const groups = {};
let groupIndex = 1;
const parameterizedRoute = escapedRoute.replace(/\/\\\[([^\/]+?)\\\](?=\/|$)/g, (_, $1) => (groups[$1 // Un-escape key
- .replace(/\\([|\\{}()[\]^$+*?.-])/g, '$1')] = groupIndex++, '/([^/]+?)'));
+ .replace(/\\([|\\{}()[\]^$+*?.-])/g, '$1')] = groupIndex++, '/([^/?]+?)'));
return {
- re: new RegExp('^' + parameterizedRoute + '(?:/)?$', 'i'),
+ re: new RegExp('^' + parameterizedRoute + '(?:/)?(?:\\?.*)?$', 'i'),
groups
};
}
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
buildDuration | 27.4s | 27.8s | |
nodeModulesSize | 41.3 MB | 41.3 MB |
Client Bundles (main, webpack, commons) Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.js | 17.9 kB | 17.9 kB | ✓ |
main-HASH.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-HASH.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
commons.HASH.js | 190 kB | 190 kB | |
commons.HASH.js gzip | 61.6 kB | 61.6 kB | |
Overall change |
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.module.js | 16.2 kB | 16.2 kB | ✓ |
main-HASH.module.js gzip | 6.28 kB | 6.28 kB | |
webpack-HASH.module.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.module.js gzip | 746 B | 746 B | ✓ |
commons.HASH.module.js | 171 kB | 171 kB | |
commons.HASH.module.js gzip | 55.4 kB | 55.4 kB | |
Overall change |
Client Pages
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.js | 1.9 kB | 1.9 kB | ✓ |
_app.js gzip | 905 B | 905 B | ✓ |
_error.js | 12.1 kB | 12.1 kB | ✓ |
_error.js gzip | 4.76 kB | 4.76 kB | ✓ |
hooks.js | 1.06 kB | 1.06 kB | ✓ |
hooks.js gzip | 601 B | 600 B | -1 B |
index.js | 343 B | 343 B | ✓ |
index.js gzip | 237 B | 237 B | ✓ |
link.js | 8.13 kB | 8.13 kB | ✓ |
link.js gzip | 3.49 kB | 3.49 kB | |
routerDirect.js | 429 B | 429 B | ✓ |
routerDirect.js gzip | 292 B | 292 B | ✓ |
withRouter.js | 439 B | 439 B | ✓ |
withRouter.js gzip | 289 B | 290 B | |
Overall change | ✓ |
Client Pages Modern
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.module.js | 1.79 kB | 1.79 kB | ✓ |
_app.module.js gzip | 865 B | 865 B | ✓ |
_error.module.js | 10.6 kB | 10.6 kB | ✓ |
_error.module.js gzip | 4.31 kB | 4.31 kB | ✓ |
hooks.module.js | 596 B | 596 B | ✓ |
hooks.module.js gzip | 354 B | 354 B | ✓ |
index.module.js | 319 B | 319 B | ✓ |
index.module.js gzip | 238 B | 238 B | ✓ |
link.module.js | 8.52 kB | 8.52 kB | ✓ |
link.module.js gzip | 3.67 kB | 3.67 kB | ✓ |
routerDirect.module.js | 417 B | 417 B | ✓ |
routerDirect.module.js gzip | 292 B | 292 B | ✓ |
withRouter.module.js | 427 B | 427 B | ✓ |
withRouter.module.js gzip | 291 B | 291 B | ✓ |
Overall change | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_error.js | 247 kB | 247 kB | |
_error.js gzip | 66.3 kB | 66.3 kB | |
hooks.html | 2.87 kB | 2.87 kB | ✓ |
hooks.html gzip | 866 B | 864 B | -2 B |
index.js | 248 kB | 248 kB | |
index.js gzip | 66.6 kB | 66.6 kB | |
link.js | 255 kB | 255 kB | |
link.js gzip | 68.8 kB | 68.8 kB | |
routerDirect.js | 248 kB | 248 kB | |
routerDirect.js gzip | 66.5 kB | 66.5 kB | |
withRouter.js | 248 kB | 248 kB | |
withRouter.js gzip | 66.6 kB | 66.6 kB | |
Overall change |
@Timer From what I can see the entry point is defined in Isn't this regex broken anyway? Matching with the query parameters gives unexpected results which is what resulted in this issue. |
Query parameters should never make it to that regex, so yeah, we should parse via |
Hey @Deadleg, I updated your PR to reflect wanted changes. |
Stats from current PRDefault Server Mode (Increase detected
|
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
buildDuration | 24.5s | 23.7s | -708ms |
nodeModulesSize | 41.3 MB | 41.3 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.js | 17.9 kB | 17.9 kB | ✓ |
main-HASH.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-HASH.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
commons.HASH.js | 190 kB | 190 kB | ✓ |
commons.HASH.js gzip | 61.6 kB | 61.6 kB | ✓ |
Overall change | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.module.js | 16.2 kB | 16.2 kB | ✓ |
main-HASH.module.js gzip | 6.28 kB | 6.28 kB | ✓ |
webpack-HASH.module.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.module.js gzip | 746 B | 746 B | ✓ |
commons.HASH.module.js | 171 kB | 171 kB | ✓ |
commons.HASH.module.js gzip | 55.4 kB | 55.4 kB | ✓ |
Overall change | ✓ |
Client Pages
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.js | 1.9 kB | 1.9 kB | ✓ |
_app.js gzip | 905 B | 905 B | ✓ |
_error.js | 12.1 kB | 12.1 kB | ✓ |
_error.js gzip | 4.76 kB | 4.76 kB | ✓ |
hooks.js | 1.06 kB | 1.06 kB | ✓ |
hooks.js gzip | 600 B | 600 B | ✓ |
index.js | 343 B | 343 B | ✓ |
index.js gzip | 237 B | 237 B | ✓ |
link.js | 8.13 kB | 8.13 kB | ✓ |
link.js gzip | 3.49 kB | 3.49 kB | ✓ |
routerDirect.js | 429 B | 429 B | ✓ |
routerDirect.js gzip | 292 B | 292 B | ✓ |
withRouter.js | 439 B | 439 B | ✓ |
withRouter.js gzip | 290 B | 290 B | ✓ |
Overall change | ✓ |
Client Pages Modern
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.module.js | 1.79 kB | 1.79 kB | ✓ |
_app.module.js gzip | 865 B | 865 B | ✓ |
_error.module.js | 10.6 kB | 10.6 kB | ✓ |
_error.module.js gzip | 4.31 kB | 4.31 kB | ✓ |
hooks.module.js | 596 B | 596 B | ✓ |
hooks.module.js gzip | 354 B | 354 B | ✓ |
index.module.js | 319 B | 319 B | ✓ |
index.module.js gzip | 238 B | 238 B | ✓ |
link.module.js | 8.52 kB | 8.52 kB | ✓ |
link.module.js gzip | 3.67 kB | 3.67 kB | ✓ |
routerDirect.module.js | 417 B | 417 B | ✓ |
routerDirect.module.js gzip | 292 B | 292 B | ✓ |
withRouter.module.js | 427 B | 427 B | ✓ |
withRouter.module.js gzip | 291 B | 291 B | ✓ |
Overall change | ✓ |
Fetched pages
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
link | 2.8 kB | 2.8 kB | ✓ |
link gzip | 850 B | 851 B | |
index | 2.75 kB | 2.75 kB | ✓ |
index gzip | 842 B | 843 B | |
withRouter | 2.81 kB | 2.81 kB | ✓ |
withRouter gzip | 839 B | 839 B | ✓ |
Overall change | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
buildDuration | 25.2s | 25.7s | |
nodeModulesSize | 41.3 MB | 41.3 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.js | 17.9 kB | 17.9 kB | ✓ |
main-HASH.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-HASH.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
commons.HASH.js | 190 kB | 190 kB | ✓ |
commons.HASH.js gzip | 61.6 kB | 61.6 kB | ✓ |
Overall change | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.module.js | 16.2 kB | 16.2 kB | ✓ |
main-HASH.module.js gzip | 6.28 kB | 6.28 kB | ✓ |
webpack-HASH.module.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.module.js gzip | 746 B | 746 B | ✓ |
commons.HASH.module.js | 171 kB | 171 kB | ✓ |
commons.HASH.module.js gzip | 55.4 kB | 55.4 kB | ✓ |
Overall change | ✓ |
Client Pages
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.js | 1.9 kB | 1.9 kB | ✓ |
_app.js gzip | 905 B | 905 B | ✓ |
_error.js | 12.1 kB | 12.1 kB | ✓ |
_error.js gzip | 4.76 kB | 4.76 kB | ✓ |
hooks.js | 1.06 kB | 1.06 kB | ✓ |
hooks.js gzip | 600 B | 600 B | ✓ |
index.js | 343 B | 343 B | ✓ |
index.js gzip | 237 B | 237 B | ✓ |
link.js | 8.13 kB | 8.13 kB | ✓ |
link.js gzip | 3.49 kB | 3.49 kB | ✓ |
routerDirect.js | 429 B | 429 B | ✓ |
routerDirect.js gzip | 292 B | 292 B | ✓ |
withRouter.js | 439 B | 439 B | ✓ |
withRouter.js gzip | 290 B | 290 B | ✓ |
Overall change | ✓ |
Client Pages Modern
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.module.js | 1.79 kB | 1.79 kB | ✓ |
_app.module.js gzip | 865 B | 865 B | ✓ |
_error.module.js | 10.6 kB | 10.6 kB | ✓ |
_error.module.js gzip | 4.31 kB | 4.31 kB | ✓ |
hooks.module.js | 596 B | 596 B | ✓ |
hooks.module.js gzip | 354 B | 354 B | ✓ |
index.module.js | 319 B | 319 B | ✓ |
index.module.js gzip | 238 B | 238 B | ✓ |
link.module.js | 8.52 kB | 8.52 kB | ✓ |
link.module.js gzip | 3.67 kB | 3.67 kB | ✓ |
routerDirect.module.js | 417 B | 417 B | ✓ |
routerDirect.module.js gzip | 292 B | 292 B | ✓ |
withRouter.module.js | 427 B | 427 B | ✓ |
withRouter.module.js gzip | 291 B | 291 B | ✓ |
Overall change | ✓ |
Serverless bundles
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_error.js | 247 kB | 247 kB | ✓ |
_error.js gzip | 66.3 kB | 66.3 kB | |
hooks.html | 2.87 kB | 2.87 kB | ✓ |
hooks.html gzip | 865 B | 864 B | -1 B |
index.js | 248 kB | 248 kB | ✓ |
index.js gzip | 66.6 kB | 66.6 kB | ✓ |
link.js | 255 kB | 255 kB | ✓ |
link.js gzip | 68.8 kB | 68.8 kB | ✓ |
routerDirect.js | 248 kB | 248 kB | ✓ |
routerDirect.js gzip | 66.5 kB | 66.5 kB | |
withRouter.js | 248 kB | 248 kB | ✓ |
withRouter.js gzip | 66.6 kB | 66.6 kB | ✓ |
Overall change | ✓ |
Thanks everyone! |
Stats from current PRDefault Server Mode (Increase detected
|
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
buildDuration | 24.6s | 25.5s | |
nodeModulesSize | 41.3 MB | 41.3 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.js | 17.9 kB | 17.9 kB | ✓ |
main-HASH.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-HASH.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
commons.HASH.js | 190 kB | 190 kB | ✓ |
commons.HASH.js gzip | 61.6 kB | 61.6 kB | ✓ |
Overall change | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.module.js | 16.2 kB | 16.2 kB | ✓ |
main-HASH.module.js gzip | 6.28 kB | 6.28 kB | |
webpack-HASH.module.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.module.js gzip | 746 B | 746 B | ✓ |
commons.HASH.module.js | 171 kB | 171 kB | ✓ |
commons.HASH.module.js gzip | 55.4 kB | 55.4 kB | ✓ |
Overall change | ✓ |
Client Pages
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.js | 1.9 kB | 1.9 kB | ✓ |
_app.js gzip | 905 B | 905 B | ✓ |
_error.js | 12.1 kB | 12.1 kB | ✓ |
_error.js gzip | 4.76 kB | 4.76 kB | ✓ |
hooks.js | 1.06 kB | 1.06 kB | ✓ |
hooks.js gzip | 601 B | 600 B | -1 B |
index.js | 343 B | 343 B | ✓ |
index.js gzip | 237 B | 237 B | ✓ |
link.js | 8.13 kB | 8.13 kB | ✓ |
link.js gzip | 3.49 kB | 3.49 kB | |
routerDirect.js | 429 B | 429 B | ✓ |
routerDirect.js gzip | 292 B | 292 B | ✓ |
withRouter.js | 439 B | 439 B | ✓ |
withRouter.js gzip | 289 B | 290 B | |
Overall change | ✓ |
Client Pages Modern
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.module.js | 1.79 kB | 1.79 kB | ✓ |
_app.module.js gzip | 865 B | 865 B | ✓ |
_error.module.js | 10.6 kB | 10.6 kB | ✓ |
_error.module.js gzip | 4.31 kB | 4.31 kB | ✓ |
hooks.module.js | 596 B | 596 B | ✓ |
hooks.module.js gzip | 354 B | 354 B | ✓ |
index.module.js | 319 B | 319 B | ✓ |
index.module.js gzip | 238 B | 238 B | ✓ |
link.module.js | 8.52 kB | 8.52 kB | ✓ |
link.module.js gzip | 3.67 kB | 3.67 kB | ✓ |
routerDirect.module.js | 417 B | 417 B | ✓ |
routerDirect.module.js gzip | 292 B | 292 B | ✓ |
withRouter.module.js | 427 B | 427 B | ✓ |
withRouter.module.js gzip | 291 B | 291 B | ✓ |
Overall change | ✓ |
Fetched pages
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
link | 2.8 kB | 2.8 kB | ✓ |
link gzip | 849 B | 849 B | ✓ |
index | 2.75 kB | 2.75 kB | ✓ |
index gzip | 837 B | 842 B | |
withRouter | 2.81 kB | 2.81 kB | ✓ |
withRouter gzip | 836 B | 836 B | ✓ |
Overall change | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
buildDuration | 26.9s | 26.6s | -232ms |
nodeModulesSize | 41.3 MB | 41.3 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.js | 17.9 kB | 17.9 kB | ✓ |
main-HASH.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-HASH.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
commons.HASH.js | 190 kB | 190 kB | ✓ |
commons.HASH.js gzip | 61.6 kB | 61.6 kB | ✓ |
Overall change | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.module.js | 16.2 kB | 16.2 kB | ✓ |
main-HASH.module.js gzip | 6.28 kB | 6.28 kB | ✓ |
webpack-HASH.module.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.module.js gzip | 746 B | 746 B | ✓ |
commons.HASH.module.js | 171 kB | 171 kB | ✓ |
commons.HASH.module.js gzip | 55.4 kB | 55.4 kB | ✓ |
Overall change | ✓ |
Client Pages
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.js | 1.9 kB | 1.9 kB | ✓ |
_app.js gzip | 905 B | 905 B | ✓ |
_error.js | 12.1 kB | 12.1 kB | ✓ |
_error.js gzip | 4.76 kB | 4.76 kB | ✓ |
hooks.js | 1.06 kB | 1.06 kB | ✓ |
hooks.js gzip | 600 B | 600 B | ✓ |
index.js | 343 B | 343 B | ✓ |
index.js gzip | 237 B | 237 B | ✓ |
link.js | 8.13 kB | 8.13 kB | ✓ |
link.js gzip | 3.49 kB | 3.49 kB | ✓ |
routerDirect.js | 429 B | 429 B | ✓ |
routerDirect.js gzip | 292 B | 292 B | ✓ |
withRouter.js | 439 B | 439 B | ✓ |
withRouter.js gzip | 290 B | 290 B | ✓ |
Overall change | ✓ |
Client Pages Modern
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.module.js | 1.79 kB | 1.79 kB | ✓ |
_app.module.js gzip | 865 B | 865 B | ✓ |
_error.module.js | 10.6 kB | 10.6 kB | ✓ |
_error.module.js gzip | 4.31 kB | 4.31 kB | ✓ |
hooks.module.js | 596 B | 596 B | ✓ |
hooks.module.js gzip | 354 B | 354 B | ✓ |
index.module.js | 319 B | 319 B | ✓ |
index.module.js gzip | 238 B | 238 B | ✓ |
link.module.js | 8.52 kB | 8.52 kB | ✓ |
link.module.js gzip | 3.67 kB | 3.67 kB | ✓ |
routerDirect.module.js | 417 B | 417 B | ✓ |
routerDirect.module.js gzip | 292 B | 292 B | ✓ |
withRouter.module.js | 427 B | 427 B | ✓ |
withRouter.module.js gzip | 291 B | 291 B | ✓ |
Overall change | ✓ |
Serverless bundles
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_error.js | 247 kB | 247 kB | ✓ |
_error.js gzip | 66.3 kB | 66.3 kB | |
hooks.html | 2.87 kB | 2.87 kB | ✓ |
hooks.html gzip | 862 B | 866 B | |
index.js | 248 kB | 248 kB | ✓ |
index.js gzip | 66.6 kB | 66.6 kB | |
link.js | 255 kB | 255 kB | ✓ |
link.js gzip | 68.8 kB | 68.8 kB | |
routerDirect.js | 248 kB | 248 kB | ✓ |
routerDirect.js gzip | 66.5 kB | 66.5 kB | |
withRouter.js | 248 kB | 248 kB | ✓ |
withRouter.js gzip | 66.6 kB | 66.6 kB | |
Overall change | ✓ |
Stats from current PRDefault Server Mode (Increase detected
|
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
buildDuration | 26.8s | 26.7s | -117ms |
nodeModulesSize | 41.3 MB | 41.3 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.js | 17.9 kB | 17.9 kB | ✓ |
main-HASH.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-HASH.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
commons.HASH.js | 190 kB | 190 kB | ✓ |
commons.HASH.js gzip | 61.6 kB | 61.6 kB | ✓ |
Overall change | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.module.js | 16.2 kB | 16.2 kB | ✓ |
main-HASH.module.js gzip | 6.28 kB | 6.28 kB | ✓ |
webpack-HASH.module.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.module.js gzip | 746 B | 746 B | ✓ |
commons.HASH.module.js | 171 kB | 171 kB | ✓ |
commons.HASH.module.js gzip | 55.4 kB | 55.4 kB | ✓ |
Overall change | ✓ |
Client Pages
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.js | 1.9 kB | 1.9 kB | ✓ |
_app.js gzip | 905 B | 905 B | ✓ |
_error.js | 12.1 kB | 12.1 kB | ✓ |
_error.js gzip | 4.76 kB | 4.76 kB | ✓ |
hooks.js | 1.06 kB | 1.06 kB | ✓ |
hooks.js gzip | 600 B | 600 B | ✓ |
index.js | 343 B | 343 B | ✓ |
index.js gzip | 237 B | 237 B | ✓ |
link.js | 8.13 kB | 8.13 kB | ✓ |
link.js gzip | 3.49 kB | 3.49 kB | ✓ |
routerDirect.js | 429 B | 429 B | ✓ |
routerDirect.js gzip | 292 B | 292 B | ✓ |
withRouter.js | 439 B | 439 B | ✓ |
withRouter.js gzip | 290 B | 290 B | ✓ |
Overall change | ✓ |
Client Pages Modern
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.module.js | 1.79 kB | 1.79 kB | ✓ |
_app.module.js gzip | 865 B | 865 B | ✓ |
_error.module.js | 10.6 kB | 10.6 kB | ✓ |
_error.module.js gzip | 4.31 kB | 4.31 kB | ✓ |
hooks.module.js | 596 B | 596 B | ✓ |
hooks.module.js gzip | 354 B | 354 B | ✓ |
index.module.js | 319 B | 319 B | ✓ |
index.module.js gzip | 238 B | 238 B | ✓ |
link.module.js | 8.52 kB | 8.52 kB | ✓ |
link.module.js gzip | 3.67 kB | 3.67 kB | ✓ |
routerDirect.module.js | 417 B | 417 B | ✓ |
routerDirect.module.js gzip | 292 B | 292 B | ✓ |
withRouter.module.js | 427 B | 427 B | ✓ |
withRouter.module.js gzip | 291 B | 291 B | ✓ |
Overall change | ✓ |
Fetched pages
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
link | 2.8 kB | 2.8 kB | ✓ |
link gzip | 850 B | 849 B | -1 B |
index | 2.75 kB | 2.75 kB | ✓ |
index gzip | 842 B | 842 B | ✓ |
withRouter | 2.81 kB | 2.81 kB | ✓ |
withRouter gzip | 838 B | 834 B | -4 B |
Overall change | ✓ |
Serverless Mode (Increase detected ⚠️ )
General Overall increase ⚠️
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
buildDuration | 27.1s | 28.3s | |
nodeModulesSize | 41.3 MB | 41.3 MB |
Client Bundles (main, webpack, commons)
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.js | 17.9 kB | 17.9 kB | ✓ |
main-HASH.js gzip | 6.56 kB | 6.56 kB | ✓ |
webpack-HASH.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
commons.HASH.js | 190 kB | 190 kB | ✓ |
commons.HASH.js gzip | 61.6 kB | 61.6 kB | ✓ |
Overall change | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
main-HASH.module.js | 16.2 kB | 16.2 kB | ✓ |
main-HASH.module.js gzip | 6.28 kB | 6.28 kB | -1 B |
webpack-HASH.module.js | 1.53 kB | 1.53 kB | ✓ |
webpack-HASH.module.js gzip | 746 B | 746 B | ✓ |
commons.HASH.module.js | 171 kB | 171 kB | ✓ |
commons.HASH.module.js gzip | 55.4 kB | 55.4 kB | ✓ |
Overall change | ✓ |
Client Pages
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.js | 1.9 kB | 1.9 kB | ✓ |
_app.js gzip | 905 B | 905 B | ✓ |
_error.js | 12.1 kB | 12.1 kB | ✓ |
_error.js gzip | 4.76 kB | 4.76 kB | ✓ |
hooks.js | 1.06 kB | 1.06 kB | ✓ |
hooks.js gzip | 600 B | 601 B | |
index.js | 343 B | 343 B | ✓ |
index.js gzip | 237 B | 237 B | ✓ |
link.js | 8.13 kB | 8.13 kB | ✓ |
link.js gzip | 3.49 kB | 3.49 kB | -1 B |
routerDirect.js | 429 B | 429 B | ✓ |
routerDirect.js gzip | 292 B | 292 B | ✓ |
withRouter.js | 439 B | 439 B | ✓ |
withRouter.js gzip | 290 B | 289 B | -1 B |
Overall change | ✓ |
Client Pages Modern
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_app.module.js | 1.79 kB | 1.79 kB | ✓ |
_app.module.js gzip | 865 B | 865 B | ✓ |
_error.module.js | 10.6 kB | 10.6 kB | ✓ |
_error.module.js gzip | 4.31 kB | 4.31 kB | ✓ |
hooks.module.js | 596 B | 596 B | ✓ |
hooks.module.js gzip | 354 B | 354 B | ✓ |
index.module.js | 319 B | 319 B | ✓ |
index.module.js gzip | 238 B | 238 B | ✓ |
link.module.js | 8.52 kB | 8.52 kB | ✓ |
link.module.js gzip | 3.67 kB | 3.67 kB | ✓ |
routerDirect.module.js | 417 B | 417 B | ✓ |
routerDirect.module.js gzip | 292 B | 292 B | ✓ |
withRouter.module.js | 427 B | 427 B | ✓ |
withRouter.module.js gzip | 291 B | 291 B | ✓ |
Overall change | ✓ |
Serverless bundles
zeit/next.js canary | Deadleg/next.js fix/serverless-dynamic-api-path | Change | |
---|---|---|---|
_error.js | 247 kB | 247 kB | ✓ |
_error.js gzip | 66.3 kB | 66.3 kB | |
hooks.html | 2.87 kB | 2.87 kB | ✓ |
hooks.html gzip | 866 B | 867 B | |
index.js | 248 kB | 248 kB | ✓ |
index.js gzip | 66.6 kB | 66.6 kB | |
link.js | 255 kB | 255 kB | ✓ |
link.js gzip | 68.8 kB | 68.8 kB | |
routerDirect.js | 248 kB | 248 kB | ✓ |
routerDirect.js gzip | 66.5 kB | 66.5 kB | |
withRouter.js | 248 kB | 248 kB | ✓ |
withRouter.js gzip | 66.6 kB | 66.6 kB | |
Overall change | ✓ |
Thanks guys! |
This change has been released as |
If you define a dynamic API such as
This api becomes available at
/api/[id]
. If you send a request witha query parameter the value of
req.query.id
will include the querystring as well as the path parameter.
E.g. the request to
/api/2?test=123
will result inreq.query
being
instead of