I have been trying to deploy my rails/browserify application via Heroku, Nginx and Apache and I keep running into the same error. When the assets get precompiled via bundle exec rake assets:precompile db:migrate RAILS_ENV=production
one of my JS classes produces a syntax error. I found a similar issue here: ES6 Classes: Unexpected token in script?
but I do not have any variable declarations outside of my constructor or methods.
The error:
rake aborted!
ExecJS::RuntimeError: SyntaxError: Unexpected token: name (Game)
JS_Parse_Error.get ((execjs):3538:621)
(execjs):4060:47
(execjs):1:102
Object.<anonymous> ((execjs):1:120)
Module._compile (module.js:571:32)
Object.Module._extensions..js (module.js:580:10)
Module.load (module.js:488:32)
tryModuleLoad (module.js:447:12)
Function.Module._load (module.js:439:3)
Module.runMain (module.js:605:10)
The Javascript class that is producing the syntax error:
class Game {
constructor(attributes) {
this.id = attributes.id;
this.characters = attributes.characters;
this.quotes = attributes.game_quotes;
this.state = attributes.state;
this.completed = attributes.completed;
}
score() {
if (this.completed == true) {
var score = 0;
for (var i = 0; i < this.state.length; i++) {
if (this.state[i] == true) {
score++;
}
}
return score;
} else {
return "Game Incomplete";
}
}
percentageScore() {
if (this.score() >= 0) {
return (this.score() * 10 + "%");
} else {
return "Game Incomplete";
}
}
}
Where is the syntax error?
Here is a link to the repository of my application if you need some context: Repository
Any help from the community would be greatly appreciated. Thanks in advance if you can offer any advice.