Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Bind operator: unexpected token #266

Closed
jonaswindey opened this issue Nov 16, 2016 · 13 comments
Closed

Bind operator: unexpected token #266

jonaswindey opened this issue Nov 16, 2016 · 13 comments

Comments

@jonaswindey
Copy link
Contributor

Getting Module build failed: SyntaxError: Unexpected token when using the bind operator:

<Button onClick={::this.handleSubmit}>

Any reason this isn't configured in babel?

@nkzawa
Copy link
Contributor

nkzawa commented Nov 16, 2016

Actually we just picked up some plugins which we thought fundamental. It might be better to enable only es2015 and preset-stage-2. Easy to understand our policy of babel @rauchg

@rauchg
Copy link
Member

rauchg commented Nov 16, 2016

My take on this policy is that "whatever v8 has" is the best idea for us. Moving forward Node.js and Chrome seem to be in sync as far as v8 goes pretty aggressively. Otherwise we run the big risk of making the Next community use a feature that's never going to land and consider it a standard.

@rauchg
Copy link
Member

rauchg commented Nov 16, 2016

And obviously everyone will be able to add whatever they want to babel (#26 and #222)

@nkzawa
Copy link
Contributor

nkzawa commented Nov 18, 2016

@rauchg I agree the policy, but the problem is maybe V8 doesn't support what we already do (class properties, object-rest-spread). I assumed V8 will support or has supported all ES2015 features eventually.

@nkzawa
Copy link
Contributor

nkzawa commented Nov 18, 2016

It looks V8 basically doesn't implement proposals and still does't support some adopted features (es2017) ?
If we assumed that adopted features are eventually supported on V8, only babel-preset-latest (+ babel-preset-react) would be required.

@rauchg
Copy link
Member

rauchg commented Nov 21, 2016

Those two presets sound great. We need to document what we support on the
README asap

On Fri, Nov 18, 2016 at 12:49 PM Naoyuki Kanezawa notifications@github.com
wrote:

It looks V8 basically doesn't implement proposals and still does't support
some adopted features (es2017) ?
If we assumed that adopted features are eventually supported on V8, only
babel-preset-latest (+ babel-preset-react) would be required.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#266 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAy8ZD5ixk9oCThw9GOaUj5XDy3vh_aks5q_cjugaJpZM4Kz22B
.

@nkzawa
Copy link
Contributor

nkzawa commented Nov 21, 2016

@rauchg the problem is those two presets don't include class-properties and object-rest-spread which we already support and are stage2-3 yet.

@arunoda
Copy link
Contributor

arunoda commented Nov 21, 2016

@nkzawa @rauchg how about this: https://www.npmjs.com/package/babel-preset-react-app

It got object-rest-spread and class-properties

@jonaswindey
Copy link
Contributor Author

@arunoda
Copy link
Contributor

arunoda commented Nov 21, 2016

@jonaswindey yep it does. I changed my comment. I got it confused with static class methods.

@hzoo
Copy link

hzoo commented Nov 30, 2016

If you want to do any tracking I suggest you try using https://github.com/babel/babel-preset-env/ which I've been working on (preset-latest is just es2015, 16, 17)

@impronunciable
Copy link
Contributor

impronunciable commented Jan 16, 2017

You can add this through the custom babel feature https://github.com/zeit/next.js#customizing-babel-config

@lock lock bot locked as resolved and limited conversation to collaborators May 12, 2018
@ijjk
Copy link
Member

ijjk commented Oct 3, 2019

Stats from current PR

Default Server Mode
General
zeit/next.js canary zeit/next.js canary Change
buildDuration 16.8s 17s ⚠️ +241ms
nodeModulesSize 48.3 MB 48.3 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary zeit/next.js canary 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 zeit/next.js canary 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 zeit/next.js canary 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 zeit/next.js canary 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 zeit/next.js canary 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 zeit/next.js canary 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 942 B 942 B
Overall change 10.9 kB 10.9 kB

Serverless Mode
General
zeit/next.js canary zeit/next.js canary Change
buildDuration 16.5s 16.8s ⚠️ +314ms
nodeModulesSize 48.3 MB 48.3 MB
Client Bundles (main, webpack, commons)
zeit/next.js canary zeit/next.js canary 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 zeit/next.js canary 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 zeit/next.js canary 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 zeit/next.js canary 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 zeit/next.js canary 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 zeit/next.js canary 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: 3762e75

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

No branches or pull requests

7 participants