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

Allow TypeScript Namespaces #9308

Merged
merged 1 commit into from
Nov 4, 2019
Merged

Allow TypeScript Namespaces #9308

merged 1 commit into from
Nov 4, 2019

Conversation

Timer
Copy link
Member

@Timer Timer commented Nov 4, 2019

This enables Babel's partial namespace support.

Without this flag, the usage will simply emit an error. This error also urges users to turn on this option when it's a case Babel can handle.

For this reason, we should just turn it on. Babel plans on making this option on-by-default very soon, so we should just do it now!


Closes #9255
Fixes #8900

@Timer Timer added this to the 9.1.3 milestone Nov 4, 2019
@ijjk
Copy link
Member

ijjk commented Nov 4, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary Timer/next.js allow-namespaces Change
buildDuration 15.3s 15.2s -114ms
nodeModulesSize 48.5 MB 48.5 MB ⚠️ +54 B
Client Bundles (main, webpack, commons)
zeit/next.js canary Timer/next.js allow-namespaces Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.87 kB 5.87 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..7459734ec.js 20.1 kB 20.1 kB
16b1a7225520..34ec.js gzip 7.38 kB 7.38 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..254ddadd9.js 28.7 kB 28.7 kB
de003c3a9d30..add9.js gzip 10.9 kB 10.9 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 allow-namespaces Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.29 kB 5.29 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..0d.module.js 16.2 kB 16.2 kB
16b1a7225520..dule.js gzip 6.22 kB 6.22 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..36.module.js 22.2 kB 22.2 kB
de003c3a9d30..dule.js gzip 8.71 kB 8.71 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 allow-namespaces 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 allow-namespaces Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 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.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 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.2 kB 20.2 kB
Client Build Manifests
zeit/next.js canary Timer/next.js allow-namespaces Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 201 B 201 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 allow-namespaces Change
index.html 4.06 kB 4.06 kB
index.html gzip 1.03 kB 1.03 kB
link.html 4.58 kB 4.58 kB
link.html gzip 1.11 kB 1.11 kB
withRouter.html 4.59 kB 4.59 kB
withRouter.html gzip 1.1 kB 1.1 kB
Overall change 13.2 kB 13.2 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary Timer/next.js allow-namespaces Change
buildDuration 15.8s 15.8s -17ms
nodeModulesSize 48.5 MB 48.5 MB ⚠️ +54 B
Client Bundles (main, webpack, commons)
zeit/next.js canary Timer/next.js allow-namespaces Change
main-HASH.js 16.6 kB 16.6 kB
main-HASH.js gzip 5.87 kB 5.87 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
16b1a7225520..7459734ec.js 20.1 kB 20.1 kB
16b1a7225520..34ec.js gzip 7.38 kB 7.38 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..254ddadd9.js 28.7 kB 28.7 kB
de003c3a9d30..add9.js gzip 10.9 kB 10.9 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 allow-namespaces Change
main-HASH.module.js 14.1 kB 14.1 kB
main-HASH.module.js gzip 5.29 kB 5.29 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
16b1a7225520..0d.module.js 16.2 kB 16.2 kB
16b1a7225520..dule.js gzip 6.22 kB 6.22 kB
4952ddcd88e7..4a.module.js 12.8 kB 12.8 kB
4952ddcd88e7..dule.js gzip 4.75 kB 4.75 kB
de003c3a9d30..36.module.js 22.2 kB 22.2 kB
de003c3a9d30..dule.js gzip 8.71 kB 8.71 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 allow-namespaces 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 allow-namespaces Change
_app.module.js 1.54 kB 1.54 kB
_app.module.js gzip 759 B 759 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.49 kB 5.49 kB
link.module.js gzip 2.47 kB 2.47 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.2 kB 20.2 kB
Client Build Manifests
zeit/next.js canary Timer/next.js allow-namespaces Change
_buildManifest.js 244 B 244 B
_buildManifest.js gzip 201 B 201 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 allow-namespaces Change
_error.js 248 kB 248 kB
_error.js gzip 65.6 kB 65.6 kB
hooks.html 4.19 kB 4.19 kB
hooks.html gzip 1.07 kB 1.07 kB
index.js 248 kB 248 kB
index.js gzip 65.8 kB 65.8 kB
link.js 280 kB 280 kB
link.js gzip 74.7 kB 74.7 kB
routerDirect.js 273 kB 273 kB
routerDirect.js gzip 72.8 kB 72.8 kB
withRouter.js 273 kB 273 kB
withRouter.js gzip 72.9 kB 72.9 kB
Overall change 1.33 MB 1.33 MB

Commit: 80b8bf7

@Timer Timer merged commit dee2888 into vercel:canary Nov 4, 2019
@Timer Timer deleted the allow-namespaces branch November 4, 2019 20:26
@@ -116,7 +116,7 @@ module.exports = (
...options['preset-react'],
},
],
require('@babel/preset-typescript'),
[require('@babel/preset-typescript'), { allowNamespaces: true }],
Copy link

Choose a reason for hiding this comment

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

may I have a question? why there no provide options by next.config? Is seem like next takes full control of @babel/preset-typescript.

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.

Namespaces not supported in next/babel for preset-typescript: 7.3.3
3 participants