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

Split TypeScript Flag Docs #9231

Merged
merged 3 commits into from
Oct 29, 2019
Merged

Split TypeScript Flag Docs #9231

merged 3 commits into from
Oct 29, 2019

Conversation

Timer
Copy link
Member

@Timer Timer commented Oct 29, 2019

This pull request separates and clarifies the TypeScript flags and their respective functions.

We've added strong discouragement to ignoreBuildErrors because it should almost never be used by a typical Next.js user.

cc @kachkaev

@Timer Timer added this to the 9.1.2 milestone Oct 29, 2019
@ijjk
Copy link
Member

ijjk commented Oct 29, 2019

Stats from current PR

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

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary Timer/next.js typescript-docs Change
buildDuration 18.5s 18.3s -142ms
nodeModulesSize 48.4 MB 48.4 MB ⚠️ +684 B
Client Bundles (main, webpack, commons)
zeit/next.js canary Timer/next.js typescript-docs Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.86 kB 5.86 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..b6ebb586e.js 19.8 kB 19.8 kB
16b1a7225520..586e.js gzip 7.25 kB 7.25 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..9e9c1d310.js 28.6 kB 28.6 kB
de003c3a9d30..d310.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary Timer/next.js typescript-docs Change
main-HASH.module.js 14 kB 14 kB
main-HASH.module.js gzip 5.25 kB 5.25 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..4c.module.js 15.9 kB 15.9 kB
16b1a7225520..dule.js gzip 6.08 kB 6.08 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..c0.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.67 kB 8.67 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary Timer/next.js typescript-docs Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary Timer/next.js typescript-docs Change
_app.module.js 1.53 kB 1.53 kB
_app.module.js gzip 749 B 749 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.47 kB 5.47 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.1 kB 20.1 kB
Client Build Manifests
zeit/next.js canary Timer/next.js typescript-docs Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 200 B 200 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Serverless bundles
zeit/next.js canary Timer/next.js typescript-docs Change
_error.js 241 kB 241 kB
_error.js gzip 64.4 kB 64.4 kB
hooks.html 4.08 kB 4.08 kB
hooks.html gzip 1.03 kB 1.03 kB
index.js 241 kB 241 kB
index.js gzip 64.5 kB 64.5 kB
link.js 274 kB 274 kB
link.js gzip 73.4 kB 73.4 kB
routerDirect.js 267 kB 267 kB
routerDirect.js gzip 71.5 kB 71.5 kB
withRouter.js 267 kB 267 kB
withRouter.js gzip 71.6 kB 71.6 kB
Overall change 1.29 MB 1.29 MB

Commit: 320680c

@ijjk
Copy link
Member

ijjk commented Oct 29, 2019

Stats from current PR

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

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary Timer/next.js typescript-docs Change
buildDuration 16.6s 16.2s -441ms
nodeModulesSize 48.4 MB 48.4 MB ⚠️ +684 B
Client Bundles (main, webpack, commons)
zeit/next.js canary Timer/next.js typescript-docs Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.86 kB 5.86 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..b6ebb586e.js 19.8 kB 19.8 kB
16b1a7225520..586e.js gzip 7.25 kB 7.25 kB
4952ddcd88e7..bfe360fe6.js 10.5 kB 10.5 kB
4952ddcd88e7..0fe6.js gzip 4.06 kB 4.06 kB
commons.HASH.js 11.3 kB 11.3 kB
commons.HASH.js gzip 4.23 kB 4.23 kB
de003c3a9d30..9e9c1d310.js 28.6 kB 28.6 kB
de003c3a9d30..d310.js gzip 10.8 kB 10.8 kB
framework.1b..cdcfe1283.js 125 kB 125 kB
framework.1b..1283.js gzip 39.4 kB 39.4 kB
Overall change 214 kB 214 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary Timer/next.js typescript-docs Change
main-HASH.module.js 14 kB 14 kB
main-HASH.module.js gzip 5.25 kB 5.25 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..4c.module.js 15.9 kB 15.9 kB
16b1a7225520..dule.js gzip 6.08 kB 6.08 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..c0.module.js 22.1 kB 22.1 kB
de003c3a9d30..dule.js gzip 8.67 kB 8.67 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 192 kB 192 kB
Client Pages
zeit/next.js canary Timer/next.js typescript-docs Change
_app.js 1.63 kB 1.63 kB
_app.js gzip 788 B 788 B
_error.js 12.3 kB 12.3 kB
_error.js gzip 4.79 kB 4.79 kB
hooks.js 1.92 kB 1.92 kB
hooks.js gzip 941 B 941 B
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 5.81 kB 5.81 kB
link.js gzip 2.56 kB 2.56 kB
routerDirect.js 413 B 413 B
routerDirect.js gzip 285 B 285 B
withRouter.js 423 B 423 B
withRouter.js gzip 284 B 284 B
Overall change 22.8 kB 22.8 kB
Client Pages Modern
zeit/next.js canary Timer/next.js typescript-docs Change
_app.module.js 1.53 kB 1.53 kB
_app.module.js gzip 749 B 749 B
_error.module.js 10.5 kB 10.5 kB
_error.module.js gzip 4.26 kB 4.26 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 792 B 792 B
index.module.js 292 B 292 B
index.module.js gzip 223 B 223 B
link.module.js 5.47 kB 5.47 kB
link.module.js gzip 2.46 kB 2.46 kB
routerDirect.module.js 399 B 399 B
routerDirect..dule.js gzip 285 B 285 B
withRouter.module.js 409 B 409 B
withRouter.m..dule.js gzip 282 B 282 B
Overall change 20.1 kB 20.1 kB
Client Build Manifests
zeit/next.js canary Timer/next.js typescript-docs Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 200 B 200 B
_buildManifest.module.js 251 B 251 B
_buildManife..dule.js gzip 209 B 209 B
Overall change 495 B 495 B
Serverless bundles
zeit/next.js canary Timer/next.js typescript-docs Change
_error.js 241 kB 241 kB
_error.js gzip 64.4 kB 64.4 kB
hooks.html 4.08 kB 4.08 kB
hooks.html gzip 1.03 kB 1.03 kB
index.js 241 kB 241 kB
index.js gzip 64.5 kB 64.5 kB
link.js 274 kB 274 kB
link.js gzip 73.4 kB 73.4 kB
routerDirect.js 267 kB 267 kB
routerDirect.js gzip 71.5 kB 71.5 kB
withRouter.js 267 kB 267 kB
withRouter.js gzip 71.6 kB 71.6 kB
Overall change 1.29 MB 1.29 MB

Commit: c92440b

@Timer Timer merged commit 4dbd267 into vercel:canary Oct 29, 2019
@Timer Timer deleted the typescript-docs branch October 29, 2019 02:44
> If you don't want to leverage this behavior and prefer to do type checks manually, set the following options in your `next.config.js`:
> TypeScript errors for inactive pages **do not** block the development process.
>
> If you don't want to leverage this behavior and instead, e.g. prefer your editor's integration, you can set the following option in `next.config.js`:
Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks for making the improvements and sorry for being late for the party! Small comment: seems like and instead is redundant in this sentence.

>
> Next.js will still fail your **production build** (`next build`) when TypeScript errors are present in your project.
>
> If you'd like Next.js to dangerously produce production code even when your application is broken, you can set the following option in your `next.config.js`.
Copy link
Contributor

Choose a reason for hiding this comment

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

I'd replace even when your application is broken with even when your application has TypeScript errors. Having TS errors does not always imply a broken app (despite that very likely it will)

Copy link
Member Author

Choose a reason for hiding this comment

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

I'd prefer to drive the point home that disabling it at build is a very bad idea.

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

Successfully merging this pull request may close these issues.

3 participants