# I think I found a bug: Miniracer crashes with valid ES6 syntax

**URL:** https://meta.discourse.org/t/i-think-i-found-a-bug-miniracer-crashes-with-valid-es6-syntax/78075
**Category:** Development
**Created:** [15.Январь.2018 16:32:34 UTC](https://meta.discourse.org/t/i-think-i-found-a-bug-miniracer-crashes-with-valid-es6-syntax/78075 "2018-01-15T16:32:34Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![sukima](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sukima/32/120437_2.png) [@sukima](https://meta.discourse.org/u/sukima)
#### Post date: [15.Январь.2018 16:32:34 UTC](https://meta.discourse.org/t/i-think-i-found-a-bug-miniracer-crashes-with-valid-es6-syntax/78075/1 "2018-01-15T16:32:34Z")

</div>

This is quite frustrating and I’d love to understand how historically this has happened.

If I write the following **valid** ES6 code into `discourse/services/foo.js.es6` and add it to the asset pipeline in Discourse it will fail to compile:

```javascript
const FOO = 'foo';
export default Ember.Service.extend({
  [FOO]() {
    console.log('This should work');
  }
});

```

But alas I get:

```plaintext
Bundling assets
** Execute assets:precompile
rake aborted!
MiniRacer::RuntimeError: Error: Line 3: Unexpected token [
JavaScript at throwError (<anonymous>:2581:21)
JavaScript at throwUnexpected (<anonymous>:2643:9)
JavaScript at parseObjectProperty (<anonymous>:2914:17)
JavaScript at <anonymous>:5663:38
JavaScript at parseObjectInitialiser (<anonymous>:2943:24)
JavaScript at parsePrimaryExpression (<anonymous>:3082:20)
JavaScript at <anonymous>:5663:38
JavaScript at trackLeftHandSideExpressionAllowCall (<anonymous>:5565:61)
JavaScript at parsePostfixExpression (<anonymous>:3216:20)
JavaScript at <anonymous>:5663:38
/opt/bitnami/apps/discourse/htdocs/vendor/bundle/ruby/2.3.0/gems/mini_racer-0.1.9/lib/mini_racer.rb:168:in `eval_unsafe'
/opt/bitnami/apps/discourse/htdocs/vendor/bundle/ruby/2.3.0/gems/mini_racer-0.1.9/lib/mini_racer.rb:168:in `block (2 levels) in eval'
/opt/bitnami/apps/discourse/htdocs/vendor/bundle/ruby/2.3.0/gems/mini_racer-0.1.9/lib/mini_racer.rb:239:in `timeout'
/opt/bitnami/apps/discourse/htdocs/vendor/bundle/ruby/2.3.0/gems/mini_racer-0.1.9/lib/mini_racer.rb:167:in `block in eval'
/opt/bitnami/apps/discourse/htdocs/vendor/bundle/ruby/2.3.0/gems/mini_racer-0.1.9/lib/mini_racer.rb:64:in `block in with_lock'
/opt/bitnami/apps/discourse/htdocs/vendor/bundle/ruby/2.3.0/gems/mini_racer-0.1.9/lib/mini_racer.rb:64:in `synchronize'
/opt/bitnami/apps/discourse/htdocs/vendor/bundle/ruby/2.3.0/gems/mini_racer-0.1.9/lib/mini_racer.rb:64:in `with_lock'
/opt/bitnami/apps/discourse/htdocs/vendor/bundle/ruby/2.3.0/gems/mini_racer-0.1.9/lib/mini_racer.rb:165:in `eval'

```

I know this is valid syntax as babel and ember-cli handle this just fine. The [ES2015 specs (§12.2.6) even discuss it](https://www.ecma-international.org/ecma-262/6.0/#sec-object-initializer).

I have also tried this syntax:

```javascript
{
  [dynamicMethodName]: function() {}
}

```

And it too has the same error.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [16.Январь.2018 00:17:47 UTC](https://meta.discourse.org/t/i-think-i-found-a-bug-miniracer-crashes-with-valid-es6-syntax/78075/2 "2018-01-16T00:17:47Z")

</div>

Well we appear not to be traspiling it, miniracer gets transpiled js from Babel
