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

Add src directory support for global CSS #8999

Merged
merged 2 commits into from Oct 8, 2019

Conversation

@ykzts
Copy link
Contributor

commented Oct 8, 2019

Global CSS cannot detect pages/app.js in the src directory. Let pagesDir be specified as the root of the search.

@ykzts ykzts requested review from ijjk, lfades, Timer and timneutkens as code owners Oct 8, 2019
@ijjk

This comment has been minimized.

Copy link
Member

commented Oct 8, 2019

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall decrease ✓
zeit/next.js canary ykzts/next.js srcdir Change
buildDuration 16.2s 16.1s -41ms
nodeModulesSize 47.7 MB 47.7 MB -67 B
Client Bundles (main, webpack, commons)
zeit/next.js canary ykzts/next.js srcdir Change
main-HASH.js 18.9 kB 18.9 kB
main-HASH.js gzip 6.79 kB 6.79 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..2b8407376.js 21.9 kB 21.9 kB
4952ddcd88e7..7376.js gzip 7.81 kB 7.81 kB
de003c3a9d30..6604acae7.js 43.2 kB 43.2 kB
de003c3a9d30..cae7.js gzip 15.5 kB 15.5 kB
framework.5b..dbaff70d3.js 125 kB 125 kB
framework.5b..70d3.js gzip 39.4 kB 39.4 kB
Overall change 211 kB 211 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ykzts/next.js srcdir Change
main-HASH.module.js 17.2 kB 17.2 kB
main-HASH.module.js gzip 6.52 kB 6.52 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..42.module.js 45.6 kB 45.6 kB
de003c3a9d30..dule.js gzip 16.5 kB 16.5 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 190 kB 190 kB
Client Pages
zeit/next.js canary ykzts/next.js srcdir Change
_app.js 1.81 kB 1.81 kB
_app.js gzip 873 B 873 B
_error.js 12 kB 12 kB
_error.js gzip 4.73 kB 4.73 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.79 kB 4.79 kB
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 8.14 kB 8.14 kB
link.js gzip 3.5 kB 3.5 kB
routerDirect.js 408 B 408 B
routerDirect.js gzip 281 B 281 B
withRouter.js 419 B 419 B
withRouter.js gzip 280 B 280 B
Overall change 35.8 kB 35.8 kB
Client Pages Modern
zeit/next.js canary ykzts/next.js srcdir Change
_app.module.js 1.7 kB 1.7 kB
_app.module.js gzip 832 B 832 B
_error.module.js 23.3 kB 23.3 kB
_error.module.js gzip 8.59 kB 8.59 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 793 B 793 B
index.module.js 294 B 294 B
index.module.js gzip 223 B 223 B
link.module.js 8.53 kB 8.53 kB
link.module.js gzip 3.68 kB 3.68 kB
routerDirect.module.js 394 B 394 B
routerDirect..dule.js gzip 281 B 281 B
withRouter.module.js 404 B 404 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 36.1 kB 36.1 kB
Client Build Manifests
zeit/next.js canary ykzts/next.js srcdir Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 162 B 162 B
Rendered Page Sizes
zeit/next.js canary ykzts/next.js srcdir Change
index.html 3.62 kB 3.62 kB
index.html gzip 946 B 946 B
link.html 3.66 kB 3.66 kB
link.html gzip 953 B 953 B
withRouter.html 3.67 kB 3.67 kB
withRouter.html gzip 942 B 942 B
Overall change 10.9 kB 10.9 kB

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
zeit/next.js canary ykzts/next.js srcdir Change
buildDuration 16.5s 16.8s ⚠️ +311ms
nodeModulesSize 47.7 MB 47.7 MB -67 B
Client Bundles (main, webpack, commons)
zeit/next.js canary ykzts/next.js srcdir Change
main-HASH.js 18.9 kB 18.9 kB
main-HASH.js gzip 6.79 kB 6.79 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..2b8407376.js 21.9 kB 21.9 kB
4952ddcd88e7..7376.js gzip 7.81 kB 7.81 kB
de003c3a9d30..6604acae7.js 43.2 kB 43.2 kB
de003c3a9d30..cae7.js gzip 15.5 kB 15.5 kB
framework.5b..dbaff70d3.js 125 kB 125 kB
framework.5b..70d3.js gzip 39.4 kB 39.4 kB
Overall change 211 kB 211 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ykzts/next.js srcdir Change
main-HASH.module.js 17.2 kB 17.2 kB
main-HASH.module.js gzip 6.52 kB 6.52 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..42.module.js 45.6 kB 45.6 kB
de003c3a9d30..dule.js gzip 16.5 kB 16.5 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 190 kB 190 kB
Client Pages
zeit/next.js canary ykzts/next.js srcdir Change
_app.js 1.81 kB 1.81 kB
_app.js gzip 873 B 873 B
_error.js 12 kB 12 kB
_error.js gzip 4.73 kB 4.73 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.79 kB 4.79 kB
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 8.14 kB 8.14 kB
link.js gzip 3.5 kB 3.5 kB
routerDirect.js 408 B 408 B
routerDirect.js gzip 281 B 281 B
withRouter.js 419 B 419 B
withRouter.js gzip 280 B 280 B
Overall change 35.8 kB 35.8 kB
Client Pages Modern
zeit/next.js canary ykzts/next.js srcdir Change
_app.module.js 1.7 kB 1.7 kB
_app.module.js gzip 832 B 832 B
_error.module.js 23.3 kB 23.3 kB
_error.module.js gzip 8.59 kB 8.59 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 793 B 793 B
index.module.js 294 B 294 B
index.module.js gzip 223 B 223 B
link.module.js 8.53 kB 8.53 kB
link.module.js gzip 3.68 kB 3.68 kB
routerDirect.module.js 394 B 394 B
routerDirect..dule.js gzip 281 B 281 B
withRouter.module.js 404 B 404 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 36.1 kB 36.1 kB
Client Build Manifests
zeit/next.js canary ykzts/next.js srcdir Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 162 B 162 B
Serverless bundles
zeit/next.js canary ykzts/next.js srcdir Change
_error.js 253 kB 253 kB
_error.js gzip 67.9 kB 67.9 kB
hooks.html 3.75 kB 3.75 kB
hooks.html gzip 979 B 979 B
index.js 254 kB 254 kB
index.js gzip 68.2 kB 68.2 kB
link.js 261 kB 261 kB
link.js gzip 70.3 kB 70.3 kB
routerDirect.js 255 kB 255 kB
routerDirect.js gzip 68.3 kB 68.3 kB
withRouter.js 254 kB 254 kB
withRouter.js gzip 68.4 kB 68.4 kB
Overall change 1.28 MB 1.28 MB

Commit: 74aad4e

@ijjk
ijjk approved these changes Oct 8, 2019
Copy link
Member

left a comment

Looks good 👍 Thanks for the PR!

@ijjk

This comment has been minimized.

Copy link
Member

commented Oct 8, 2019

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall decrease ✓
zeit/next.js canary ykzts/next.js srcdir Change
buildDuration 16.6s 16.6s ⚠️ +12ms
nodeModulesSize 47.7 MB 47.7 MB -67 B
Client Bundles (main, webpack, commons)
zeit/next.js canary ykzts/next.js srcdir Change
main-HASH.js 18.9 kB 18.9 kB
main-HASH.js gzip 6.79 kB 6.79 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..2b8407376.js 21.9 kB 21.9 kB
4952ddcd88e7..7376.js gzip 7.81 kB 7.81 kB
de003c3a9d30..6604acae7.js 43.2 kB 43.2 kB
de003c3a9d30..cae7.js gzip 15.5 kB 15.5 kB
framework.5b..dbaff70d3.js 125 kB 125 kB
framework.5b..70d3.js gzip 39.4 kB 39.4 kB
Overall change 211 kB 211 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ykzts/next.js srcdir Change
main-HASH.module.js 17.2 kB 17.2 kB
main-HASH.module.js gzip 6.52 kB 6.52 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..42.module.js 45.6 kB 45.6 kB
de003c3a9d30..dule.js gzip 16.5 kB 16.5 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 190 kB 190 kB
Client Pages
zeit/next.js canary ykzts/next.js srcdir Change
_app.js 1.81 kB 1.81 kB
_app.js gzip 873 B 873 B
_error.js 12 kB 12 kB
_error.js gzip 4.73 kB 4.73 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.79 kB 4.79 kB
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 8.14 kB 8.14 kB
link.js gzip 3.5 kB 3.5 kB
routerDirect.js 408 B 408 B
routerDirect.js gzip 281 B 281 B
withRouter.js 419 B 419 B
withRouter.js gzip 280 B 280 B
Overall change 35.8 kB 35.8 kB
Client Pages Modern
zeit/next.js canary ykzts/next.js srcdir Change
_app.module.js 1.7 kB 1.7 kB
_app.module.js gzip 832 B 832 B
_error.module.js 23.3 kB 23.3 kB
_error.module.js gzip 8.59 kB 8.59 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 793 B 793 B
index.module.js 294 B 294 B
index.module.js gzip 223 B 223 B
link.module.js 8.53 kB 8.53 kB
link.module.js gzip 3.68 kB 3.68 kB
routerDirect.module.js 394 B 394 B
routerDirect..dule.js gzip 281 B 281 B
withRouter.module.js 404 B 404 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 36.1 kB 36.1 kB
Client Build Manifests
zeit/next.js canary ykzts/next.js srcdir Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 162 B 162 B
Rendered Page Sizes
zeit/next.js canary ykzts/next.js srcdir Change
index.html 3.62 kB 3.62 kB
index.html gzip 947 B 947 B
link.html 3.66 kB 3.66 kB
link.html gzip 955 B 955 B
withRouter.html 3.67 kB 3.67 kB
withRouter.html gzip 943 B 943 B
Overall change 10.9 kB 10.9 kB

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
zeit/next.js canary ykzts/next.js srcdir Change
buildDuration 17.3s 17.2s -47ms
nodeModulesSize 47.7 MB 47.7 MB -67 B
Client Bundles (main, webpack, commons)
zeit/next.js canary ykzts/next.js srcdir Change
main-HASH.js 18.9 kB 18.9 kB
main-HASH.js gzip 6.79 kB 6.79 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..2b8407376.js 21.9 kB 21.9 kB
4952ddcd88e7..7376.js gzip 7.81 kB 7.81 kB
de003c3a9d30..6604acae7.js 43.2 kB 43.2 kB
de003c3a9d30..cae7.js gzip 15.5 kB 15.5 kB
framework.5b..dbaff70d3.js 125 kB 125 kB
framework.5b..70d3.js gzip 39.4 kB 39.4 kB
Overall change 211 kB 211 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ykzts/next.js srcdir Change
main-HASH.module.js 17.2 kB 17.2 kB
main-HASH.module.js gzip 6.52 kB 6.52 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..42.module.js 45.6 kB 45.6 kB
de003c3a9d30..dule.js gzip 16.5 kB 16.5 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 190 kB 190 kB
Client Pages
zeit/next.js canary ykzts/next.js srcdir Change
_app.js 1.81 kB 1.81 kB
_app.js gzip 873 B 873 B
_error.js 12 kB 12 kB
_error.js gzip 4.73 kB 4.73 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.79 kB 4.79 kB
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 8.14 kB 8.14 kB
link.js gzip 3.5 kB 3.5 kB
routerDirect.js 408 B 408 B
routerDirect.js gzip 281 B 281 B
withRouter.js 419 B 419 B
withRouter.js gzip 280 B 280 B
Overall change 35.8 kB 35.8 kB
Client Pages Modern
zeit/next.js canary ykzts/next.js srcdir Change
_app.module.js 1.7 kB 1.7 kB
_app.module.js gzip 832 B 832 B
_error.module.js 23.3 kB 23.3 kB
_error.module.js gzip 8.59 kB 8.59 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 793 B 793 B
index.module.js 294 B 294 B
index.module.js gzip 223 B 223 B
link.module.js 8.53 kB 8.53 kB
link.module.js gzip 3.68 kB 3.68 kB
routerDirect.module.js 394 B 394 B
routerDirect..dule.js gzip 281 B 281 B
withRouter.module.js 404 B 404 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 36.1 kB 36.1 kB
Client Build Manifests
zeit/next.js canary ykzts/next.js srcdir Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 162 B 162 B
Serverless bundles
zeit/next.js canary ykzts/next.js srcdir Change
_error.js 253 kB 253 kB
_error.js gzip 67.9 kB 67.9 kB
hooks.html 3.75 kB 3.75 kB
hooks.html gzip 980 B 980 B
index.js 254 kB 254 kB
index.js gzip 68.2 kB 68.2 kB
link.js 261 kB 261 kB
link.js gzip 70.3 kB 70.3 kB
routerDirect.js 255 kB 255 kB
routerDirect.js gzip 68.3 kB 68.3 kB
withRouter.js 254 kB 254 kB
withRouter.js gzip 68.4 kB 68.4 kB
Overall change 1.28 MB 1.28 MB

Commit: 3077501

@ijjk ijjk merged commit 32633c8 into zeit:canary Oct 8, 2019
3 of 4 checks passed
3 of 4 checks passed
PR Stats
Details
zeit.next.js in progress
Details
ci/circleci: build Your tests passed on CircleCI!
Details
ci/circleci: test Your tests passed on CircleCI!
Details
@ykzts ykzts deleted the ykzts:srcdir branch Oct 9, 2019
Copy link
Member

left a comment

We need a test for this, and one path is incorrect now!

@@ -668,7 +664,7 @@ export default async function getBaseWebpackConfig(
'Custom <App>'
)}. Please move all global CSS imports to ${chalk.cyan(
customAppFile
? path.relative(dir, customAppFile)
? path.relative(pagesDir, customAppFile)

This comment has been minimized.

Copy link
@Timer

Timer Oct 9, 2019

Member

This should still be dir.

This comment has been minimized.

Copy link
@ykzts

ykzts Oct 9, 2019

Author Contributor

I think if you leave this line as dir you will see the path to unused files that are not used.

This comment has been minimized.

Copy link
@Timer

Timer Oct 9, 2019

Member

Using dir is so the path printed is displayed as:

pages/app.ts
// or
src/pages/app.ts

When set to pagesDir, it'll always emit app.ts (and we may as well use path.basename) -- this is not the intended behavior. The path should be where the app.ts file is located relative to the project root.

This comment has been minimized.

Copy link
@ykzts

ykzts Oct 9, 2019

Author Contributor

You're right. This is my mistake.

This comment has been minimized.

Copy link
@Timer

Timer Oct 9, 2019

Member

No worries, thank you very much for sending this fix!

@ijjk ijjk referenced this pull request Oct 9, 2019
@Timer Timer added this to the 9.1.2 milestone Oct 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.