ember-cli-coffeescript icon indicating copy to clipboard operation
ember-cli-coffeescript copied to clipboard

Conflicts with other addons with blueprints, like emblem

Open dchersey opened this issue 8 years ago • 15 comments

I've just installed the plugin to an existing ember-cli 1.13.13 app, and when I generate a pod or a component I am getting javascript blueprints for the pod itself, but coffeescript for the tests.

I tried adding

ENV.coffeeOptions = {
  blueprints: true
}

to try to force it but it is still not happening. Is there anything else I was supposed to do besides ember install ember-cli-emberscript ?

dchersey avatar Nov 24 '15 21:11 dchersey

That's curious, no - just installing it should be quite sufficient.

You can try running this command to see your blueprints - it sounds like something else is providing blueprints and they are getting higher priority:

ember generate --help

(I think that's the command, on my phone so can't check)

kimroen avatar Nov 24 '15 21:11 kimroen

By the way:

to try to force it but it is still not happening. Is there anything else I was supposed to do besides ember install ember-cli-emberscript?

Just to be sure, you mean ember install ember-cli-coffeescript here, right?

kimroen avatar Nov 24 '15 21:11 kimroen

Ok will do (on my phone too). Might be emblem-cli; If that's the case is there anything I can configure to resolve the dependency?

On Nov 24, 2015, at 4:25 PM, Kim Røen [email protected] wrote:

That's curious, no - just installing it should be quite sufficient.

You can try running this command to see your blueprints - it sounds like something else is providing blueprints and they are getting higher priority:

ember generate --help (I think that's the command, on my phone so can't check)

— Reply to this email directly or view it on GitHub.

dchersey avatar Nov 24 '15 21:11 dchersey

Not that I can think of right now. I think adding that to this would solve it: https://github.com/kimroen/ember-cli-coffeescript/blob/master/package.json#L38

kimroen avatar Nov 24 '15 21:11 kimroen

Yes!! Was playing with ember script first and still had it on the brain. I uninstalled that one as it seems out of date.

On Nov 24, 2015, at 4:27 PM, Kim Røen [email protected] wrote:

By the way:

to try to force it but it is still not happening. Is there anythingl else I was supposed to do besides ember install ember-cli-emberscript?

Just to be sure, you mean ember install ember-cli-coffeescript here, right?

— Reply to this email directly or view it on GitHub.

dchersey avatar Nov 24 '15 21:11 dchersey

Ok, will try that and let you know.

On Nov 24, 2015, at 4:31 PM, Kim Røen [email protected] wrote:

Not that I can think of right now. I think adding that to this would solve it: https://github.com/kimroen/ember-cli-coffeescript/blob/master/package.json#L38

— Reply to this email directly or view it on GitHub.

dchersey avatar Nov 24 '15 21:11 dchersey

I tried this myself, doesn't appear to resolve the issue.

from ember g --help

   ember-cli-coffeescript:
      acceptance-test <name>
        Generates an acceptance test for a feature.
      adapter <name> <options...>
        Generates an ember-data adapter.
        --base-class
      adapter-test <name>
        Generates an ember-data adapter unit test.
      addon-import <name>
        Generates an import wrapper
      component-addon <name>
        Generates a component. Name must contain a hyphen.
      component-test <name> <options...>
        Generates a component integration or unit test.
        --test-type (Default: integration)
          aliases: -i (--test-type=integration), -u (--test-type=unit), -integration (--test-type=integration), -unit (--test-type=unit)
      controller <name>
        Generates a controller.
      controller-test <name>
        Generates a controller unit test.
      helper <name>
        Generates a helper function.
      helper-addon <name>
        Generates an import wrapper
      helper-test <name>
        Generates a helper unit test.
      initializer <name>
        Generates an initializer.
      initializer-addon <name>
        Generates an import wrapper
      initializer-test <name>
        Generates an initializer unit test.
      mixin <name>
        Generates a mixin.
      mixin-test <name>
        Generates a mixin unit test.
      model <name> <attr:type>
        Generates an ember-data model.
      model-test <name>
        Generates a model unit test.
      resource <name>
        Generates a model and route.
      route-addon <name>
        Generates import wrappers for a route and its template.
      route-test <name>
        Generates a route unit test.
      serializer <name>
        Generates an ember-data serializer.
      serializer-test <name>
        Generates a serializer unit test.
      service <name>
        Generates a service.
      service-test <name>
      ...

looks like the component generator isn't showing up?

zkwentz avatar Dec 01 '15 18:12 zkwentz

looks like the component generator isn't showing up?

No, but it should show up in the section of the addon that is also providing a component blueprint and overwriting the one from this addon.

kimroen avatar Dec 22 '15 20:12 kimroen

I'm having an issue here as well. The route generator seems to be defaulting to the ember-cli blueprint. Despite the fact I have ember-cli-coffeescript installed. Other generators are working fine.

$ ember g route register
version: 1.13.14
installing route
  create app/routes/register.js
  create app/templates/register.emblem
ENOENT: no such file or directory, open '/Users/dave/code/ide/app/router.js'
Error: ENOENT: no such file or directory, open '/Users/dave/code/ide/app/router.js'
  at Error (native)
  at Object.fs.openSync (fs.js:549:18)
  at Object.fs.readFileSync (fs.js:397:15)
  at writeRoute (/Users/dave/code/ide/node_modules/ember-cli/blueprints/route/index.js:116:19)
  at Class.updateRouter (/Users/dave/code/ide/node_modules/ember-cli/blueprints/route/index.js:95:5)
  at Class.module.exports.afterInstall (/Users/dave/code/ide/node_modules/ember-cli/blueprints/route/index.js:78:18)
  at Class.module.exports.afterInstall (/Users/dave/code/ide/node_modules/ember-cli-emblem/blueprints/route/index.js:42:40)
  at Class.module.exports.afterInstall (/Users/dave/code/ide/node_modules/ember-cli-emblem/blueprints/route/index.js:42:40)
  at lib$rsvp$$internal$$tryCatch (/Users/dave/code/ide/node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:493:16)
  at lib$rsvp$$internal$$invokeCallback (/Users/dave/code/ide/node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:505:17)
  at lib$rsvp$$internal$$publish (/Users/dave/code/ide/node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:476:11)
  at lib$rsvp$asap$$flush (/Users/dave/code/ide/node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:1198:9)
  at doNTCallback0 (node.js:417:9)
  at process._tickCallback (node.js:346:13)

davearel avatar Jan 25 '16 15:01 davearel

It's a conflict between emblem and coffeescript. They both override the same generator, and it depends on which is defined lower in package.json, for which takes precedence.

On Mon, Jan 25, 2016 at 7:39 AM, Dave Arel [email protected] wrote:

I'm having an issue here as well. The route generator seems to be defaulting to the ember-cli blueprint. Despite the fact I have ember-cli-coffeescript installed. Other generators are working fine.

$ ember g route register version: 1.13.14 installing route create app/routes/register.js create app/templates/register.emblem ENOENT: no such file or directory, open '/Users/dave/code/ide/app/router.js' Error: ENOENT: no such file or directory, open '/Users/dave/code/ide/app/router.js' at Error (native) at Object.fs.openSync (fs.js:549:18) at Object.fs.readFileSync (fs.js:397:15) at writeRoute (/Users/dave/code/ide/node_modules/ember-cli/blueprints/route/index.js:116:19) at Class.updateRouter (/Users/dave/code/ide/node_modules/ember-cli/blueprints/route/index.js:95:5) at Class.module.exports.afterInstall (/Users/dave/code/ide/node_modules/ember-cli/blueprints/route/index.js:78:18) at Class.module.exports.afterInstall (/Users/dave/code/ide/node_modules/ember-cli-emblem/blueprints/route/index.js:42:40) at Class.module.exports.afterInstall (/Users/dave/code/ide/node_modules/ember-cli-emblem/blueprints/route/index.js:42:40) at lib$rsvp$$internal$$tryCatch (/Users/dave/code/ide/node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:493:16) at lib$rsvp$$internal$$invokeCallback (/Users/dave/code/ide/node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:505:17) at lib$rsvp$$internal$$publish (/Users/dave/code/ide/node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:476:11) at lib$rsvp$asap$$flush (/Users/dave/code/ide/node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:1198:9) at doNTCallback0 (node.js:417:9) at process._tickCallback (node.js:346:13)

— Reply to this email directly or view it on GitHub https://github.com/kimroen/ember-cli-coffeescript/issues/97#issuecomment-174546788 .

zkwentz avatar Jan 25 '16 16:01 zkwentz

It's a conflict between emblem and coffeescript. They both override the same generator, and it depends on which is defined lower in package.json, for which takes precedence.

Thanks, that's very helpful information.

kimroen avatar Jan 25 '16 16:01 kimroen

Sure thing, I haven't found a workaround myself, but then again I haven't looked hard either, at the moment I just run mv ....{hbs,emblem}, after each generate command.

zkwentz avatar Jan 25 '16 17:01 zkwentz

This might be something that should be addressed in Ember-CLI, or even Emblem. I opened a ticket in Emblem to make them aware of the issue.

davearel avatar Jan 25 '16 17:01 davearel

As you suggest, this is more of a fundemental ember-CLI problem, also related to https://github.com/kimroen/ember-cli-coffeescript/issues/87

I'm excited to see if the proposed module changes will make this better - something needs to change with blueprints to accommodate those changes.

kimroen avatar Jun 05 '16 15:06 kimroen

We were running into this issue, and found a simple workaround: delete the blueprints folder in ember-cli-emblem. This means you will have rename the .hbs files to .emblem and remove the double curly braces inside the files, but it is easier than having to refactor .js files to .coffee.

This is, of course, unsustainable in the long term, since updates may bring the blueprints folder back. But if you just need to move on with development, it is the best option among many unattractive ones.

ralmidani avatar Jun 13 '16 10:06 ralmidani