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 basePath and public folder check ending routes early #16356

Merged
merged 4 commits into from Aug 19, 2020

Conversation

ijjk
Copy link
Member

@ijjk ijjk commented Aug 19, 2020

This corrects the basePath being required check for filesystem routes to not consider the public folder catch-all route since it always matches even if the public file isn't present and instead moves the basePath check inside of the public-folder catch-all. Tests already exist that catch this by adding a public folder to the existing basepath test suite

Fixes: #16332
Closes: #16350

@ijjk
Copy link
Member Author

ijjk commented Aug 19, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
buildDuration 11.3s 11.1s -229ms
nodeModulesSize 57.7 MB 57.7 MB ⚠️ +1.01 kB
Page Load Tests Overall increase ✓
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
/ failed reqs 0 0
/ total time (seconds) 2.042 2.012 -0.03
/ avg req/sec 1224.33 1242.74 +18.41
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.192 1.14 -0.05
/error-in-render avg req/sec 2096.62 2192.92 +96.3
Client Bundles (main, webpack, commons)
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
677f882d2ed8..4e55.js gzip 10.2 kB 10.2 kB
framework.HASH.js gzip 39 kB 39 kB
main-512d5b9..081a.js gzip 7.2 kB 7.2 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.2 kB 57.2 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
677f882d2ed8..dule.js gzip 6.11 kB 6.11 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-1203ff1..dule.js gzip 6.21 kB 6.21 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52 kB 52 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-1464c..a26f.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-000f151..65d4.js gzip 1.29 kB 1.29 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.69 kB 7.69 kB
Client Pages Modern
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-e550f..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-4cfda7a..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.35 kB 5.35 kB
Client Build Manifests
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Rendered Page Sizes
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
index.html gzip 949 B 949 B
link.html gzip 955 B 955 B
withRouter.html gzip 940 B 940 B
Overall change 2.84 kB 2.84 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
buildDuration 12.8s 12.7s -103ms
nodeModulesSize 57.7 MB 57.7 MB ⚠️ +1.01 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
677f882d2ed8..4e55.js gzip 10.2 kB 10.2 kB
framework.HASH.js gzip 39 kB 39 kB
main-512d5b9..081a.js gzip 7.2 kB 7.2 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.2 kB 57.2 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
677f882d2ed8..dule.js gzip 6.11 kB 6.11 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-1203ff1..dule.js gzip 6.21 kB 6.21 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52 kB 52 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-1464c..a26f.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-000f151..65d4.js gzip 1.29 kB 1.29 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.69 kB 7.69 kB
Client Pages Modern
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-e550f..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-4cfda7a..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.35 kB 5.35 kB
Client Build Manifests
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Serverless bundles
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_error.js 1.03 MB 1.03 MB
404.html 4.18 kB 4.18 kB
hooks.html 3.82 kB 3.82 kB
index.js 1.03 MB 1.03 MB
link.js 1.07 MB 1.07 MB
routerDirect.js 1.07 MB 1.07 MB
withRouter.js 1.07 MB 1.07 MB
Overall change 5.27 MB 5.27 MB
Commit: a4876ae

Copy link
Member

@Timer Timer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems to be missing test that fetches data.txt.

@ijjk ijjk requested a review from Timer August 19, 2020 16:56
@ijjk
Copy link
Member Author

ijjk commented Aug 19, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
buildDuration 13.1s 13.3s ⚠️ +209ms
nodeModulesSize 57.7 MB 57.7 MB ⚠️ +1.06 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
/ failed reqs 0 0
/ total time (seconds) 2.509 2.466 -0.04
/ avg req/sec 996.35 1013.73 +17.38
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.469 1.512 ⚠️ +0.04
/error-in-render avg req/sec 1701.95 1653.45 ⚠️ -48.5
Client Bundles (main, webpack, commons)
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
677f882d2ed8..4e55.js gzip 10.2 kB 10.2 kB
framework.HASH.js gzip 39 kB 39 kB
main-512d5b9..081a.js gzip 7.2 kB 7.2 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.2 kB 57.2 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
677f882d2ed8..dule.js gzip 6.11 kB 6.11 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-1203ff1..dule.js gzip 6.21 kB 6.21 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52 kB 52 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-1464c..a26f.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-000f151..65d4.js gzip 1.29 kB 1.29 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.69 kB 7.69 kB
Client Pages Modern
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-e550f..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-4cfda7a..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.35 kB 5.35 kB
Client Build Manifests
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Rendered Page Sizes
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
index.html gzip 949 B 949 B
link.html gzip 955 B 955 B
withRouter.html gzip 940 B 940 B
Overall change 2.84 kB 2.84 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
buildDuration 15.5s 15.4s -85ms
nodeModulesSize 57.7 MB 57.7 MB ⚠️ +1.06 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
677f882d2ed8..4e55.js gzip 10.2 kB 10.2 kB
framework.HASH.js gzip 39 kB 39 kB
main-512d5b9..081a.js gzip 7.2 kB 7.2 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.2 kB 57.2 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
677f882d2ed8..dule.js gzip 6.11 kB 6.11 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-1203ff1..dule.js gzip 6.21 kB 6.21 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52 kB 52 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-1464c..a26f.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-000f151..65d4.js gzip 1.29 kB 1.29 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.69 kB 7.69 kB
Client Pages Modern
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-e550f..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-4cfda7a..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.35 kB 5.35 kB
Client Build Manifests
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Serverless bundles
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_error.js 1.03 MB 1.03 MB
404.html 4.18 kB 4.18 kB
hooks.html 3.82 kB 3.82 kB
index.js 1.03 MB 1.03 MB
link.js 1.07 MB 1.07 MB
routerDirect.js 1.07 MB 1.07 MB
withRouter.js 1.07 MB 1.07 MB
Overall change 5.27 MB 5.27 MB
Commit: 6f0b0be

@ijjk
Copy link
Member Author

ijjk commented Aug 19, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
buildDuration 13s 13.1s ⚠️ +107ms
nodeModulesSize 57.7 MB 57.7 MB ⚠️ +1.06 kB
Page Load Tests Overall increase ✓
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
/ failed reqs 0 0
/ total time (seconds) 2.51 2.481 -0.03
/ avg req/sec 995.9 1007.49 +11.59
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.624 1.494 -0.13
/error-in-render avg req/sec 1539.59 1672.98 +133.39
Client Bundles (main, webpack, commons)
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
677f882d2ed8..4e55.js gzip 10.2 kB 10.2 kB
framework.HASH.js gzip 39 kB 39 kB
main-512d5b9..081a.js gzip 7.2 kB 7.2 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.2 kB 57.2 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
677f882d2ed8..dule.js gzip 6.11 kB 6.11 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-1203ff1..dule.js gzip 6.21 kB 6.21 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52 kB 52 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-1464c..a26f.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-000f151..65d4.js gzip 1.29 kB 1.29 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.69 kB 7.69 kB
Client Pages Modern
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-e550f..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-4cfda7a..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.35 kB 5.35 kB
Client Build Manifests
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Rendered Page Sizes
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
index.html gzip 949 B 949 B
link.html gzip 955 B 955 B
withRouter.html gzip 940 B 940 B
Overall change 2.84 kB 2.84 kB

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
buildDuration 15.2s 14.9s -306ms
nodeModulesSize 57.7 MB 57.7 MB ⚠️ +1.06 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
677f882d2ed8..4e55.js gzip 10.2 kB 10.2 kB
framework.HASH.js gzip 39 kB 39 kB
main-512d5b9..081a.js gzip 7.2 kB 7.2 kB
webpack-e067..f178.js gzip 751 B 751 B
Overall change 57.2 kB 57.2 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
677f882d2ed8..dule.js gzip 6.11 kB 6.11 kB
framework.HA..dule.js gzip 39 kB 39 kB
main-1203ff1..dule.js gzip 6.21 kB 6.21 kB
webpack-07c5..dule.js gzip 751 B 751 B
Overall change 52 kB 52 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
polyfills-4b..e242.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_app-9a0b9e1..b37e.js gzip 1.28 kB 1.28 kB
_error-1464c..a26f.js gzip 3.44 kB 3.44 kB
hooks-89731c..c609.js gzip 887 B 887 B
index-17468f..5d83.js gzip 227 B 227 B
link-000f151..65d4.js gzip 1.29 kB 1.29 kB
routerDirect..924c.js gzip 284 B 284 B
withRouter-7..c13d.js gzip 284 B 284 B
Overall change 7.69 kB 7.69 kB
Client Pages Modern
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_app-75d3a82..dule.js gzip 625 B 625 B
_error-e550f..dule.js gzip 2.29 kB 2.29 kB
hooks-cbf13f..dule.js gzip 387 B 387 B
index-b9a643..dule.js gzip 226 B 226 B
link-4cfda7a..dule.js gzip 1.26 kB 1.26 kB
routerDirect..dule.js gzip 284 B 284 B
withRouter-f..dule.js gzip 282 B 282 B
Overall change 5.35 kB 5.35 kB
Client Build Manifests
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_buildManifest.js gzip 322 B 322 B
_buildManife..dule.js gzip 329 B 329 B
Overall change 651 B 651 B
Serverless bundles
vercel/next.js canary ijjk/next.js fix/basepath-public-folder-rewrite Change
_error.js 1.03 MB 1.03 MB
404.html 4.18 kB 4.18 kB
hooks.html 3.82 kB 3.82 kB
index.js 1.03 MB 1.03 MB
link.js 1.07 MB 1.07 MB
routerDirect.js 1.07 MB 1.07 MB
withRouter.js 1.07 MB 1.07 MB
Overall change 5.27 MB 5.27 MB
Commit: 3eefe58

@kodiakhq kodiakhq bot merged commit 681fbbd into vercel:canary Aug 19, 2020
@ijjk ijjk deleted the fix/basepath-public-folder-rewrite branch August 19, 2020 17:36
m-lautenbach pushed a commit to m-lautenbach/next.js that referenced this pull request Aug 20, 2020
This corrects the basePath being required check for filesystem routes to not consider the public folder catch-all route since it always matches even if the public file isn't present and instead moves the basePath check inside of the public-folder catch-all. Tests already exist that catch this by adding a public folder to the existing `basepath` test suite

Fixes: vercel#16332
Closes: vercel#16350
@vercel vercel locked as resolved and limited conversation to collaborators Jan 30, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Rewrites bug when using with basePath and public directory
2 participants