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

Initializers causing build error on v0.0.32 #947

Closed
amokan opened this issue Jun 9, 2014 · 7 comments · Fixed by #949
Closed

Initializers causing build error on v0.0.32 #947

amokan opened this issue Jun 9, 2014 · 7 comments · Fixed by #949

Comments

@amokan
Copy link

amokan commented Jun 9, 2014

I did a manual upgrade to v0.0.32 on a project that I've been using with ember-cli since v0.0.28 and hit a bit of a wall, but narrowed it down to a couple initializers I have in my app.

I was able to reproduce with a newly scaffolded project using ember new and posted a gist with some details https://gist.github.com/amokan/3814f364cd9751e8b665

The error is caused during ember server and ember build and outputs Error: Line 3: Unexpected token : with info pointing to the es3-safe-recast modules.

Maybe the docs just need to be updated for initializers or anything else that used to just export default {}.

Either way, hope this info helps.

@chnn
Copy link
Contributor

chnn commented Jun 9, 2014

I'm also having this same issue, and can provide more info if needed.

@stefanpenner
Copy link
Contributor

confirmed this is an issue.

workaround for now is as follows.

var initializer = {
  name: 'foo',
  initializer: function(container, application) {
     // something
  }
};

export default initializer;

@chnn
Copy link
Contributor

chnn commented Jun 9, 2014

Rad thanks.

@amokan
Copy link
Author

amokan commented Jun 9, 2014

Thanks @stefanpenner !

@williamli
Copy link

i also have this problem after going from 0.0.28 to 0.0.29 so I guess the problem was introduced sometime between the two releases

@stefanpenner
Copy link
Contributor

likely recast's version of esprima is unsafe with some forms of es6 module syntax.

With some over due (but time consuming) refactoring we may be able to move it after the es6 module transpile step. Ideally recast's version of esprima would just support this.

@brandonparsons
Copy link

Is this a problem with initializers only?

I am trying to upgrade from 0.0.28 to 0.0.32, swapped all my initializers over to @stefanpenner's version:

var initializer = {
  name: 'foo',
  initializer: function(container, application) {
     // something
  }
};

export default initializer;

But I am still getting build errors:

$ ember server
version: 0.0.32
Livereload server on port 35729
Serving on http://0.0.0.0:4200
Line 4: Unexpected token (
Error: Line 4: Unexpected token (
  at throwError (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/broccoli-es3-safe-recast/node_modules/es3-safe-recast/node_modules/recast/node_modules/esprima/esprima.js:2073:21)
  at throwUnexpected (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/broccoli-es3-safe-recast/node_modules/es3-safe-recast/node_modules/recast/node_modules/esprima/esprima.js:2135:9)
  at parseVariableIdentifier (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/broccoli-es3-safe-recast/node_modules/es3-safe-recast/node_modules/recast/node_modules/esprima/esprima.js:3259:13)
  at parseFunctionDeclaration (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/broccoli-es3-safe-recast/node_modules/es3-safe-recast/node_modules/recast/node_modules/esprima/esprima.js:4259:14)
  at parseSourceElement (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/broccoli-es3-safe-recast/node_modules/es3-safe-recast/node_modules/recast/node_modules/esprima/esprima.js:4569:24)
  at parseProgramElement (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/broccoli-es3-safe-recast/node_modules/es3-safe-recast/node_modules/recast/node_modules/esprima/esprima.js:4602:16)
  at parseProgramElements (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/broccoli-es3-safe-recast/node_modules/es3-safe-recast/node_modules/recast/node_modules/esprima/esprima.js:4634:29)
  at parseProgram (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/broccoli-es3-safe-recast/node_modules/es3-safe-recast/node_modules/recast/node_modules/esprima/esprima.js:4681:16)
  at Object.parse (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/broccoli-es3-safe-recast/node_modules/es3-safe-recast/node_modules/recast/node_modules/esprima/esprima.js:5145:23)
  at Object.exports.parse (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/broccoli-es3-safe-recast/node_modules/es3-safe-recast/node_modules/recast/lib/parser.js:18:32)
  at Object.module.exports.compile (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/broccoli-es3-safe-recast/node_modules/es3-safe-recast/index.js:44:18)
  at ES3SafeFilter.processString (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/broccoli-es3-safe-recast/index.js:22:18)
  at ES3SafeFilter.Filter.processFile (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/broccoli-es3-safe-recast/node_modules/broccoli-filter/index.js:135:31)
  at Promise.resolve.then.catch.err.file (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/broccoli-es3-safe-recast/node_modules/broccoli-filter/index.js:83:21)
  at tryCatch (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/rsvp/dist/commonjs/rsvp/-internal.js:163:16)
  at invokeCallback (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/rsvp/dist/commonjs/rsvp/-internal.js:172:17)
  at /Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/rsvp/dist/commonjs/rsvp/promise.js:186:17
  at flush (/Users/brandon/projects/erp/ember/new-version-ember-app/node_modules/ember-cli/node_modules/rsvp/dist/commonjs/rsvp/asap.js:51:9)
  at process._tickCallback (node.js:419:13)

It's not immediately obvious to me if this is the same thing, but it does mention that esprima library, and none of my userland code is in the stack trace.

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

Successfully merging a pull request may close this issue.

5 participants