mainmatter / ember-cli-simple-auth-torii

Ember CLI Addon for the Ember Simple Auth Torii package
https://github.com/simplabs/ember-simple-auth/tree/master/packages/ember-simple-auth-torii
MIT License
7 stars 11 forks source link

TypeError: Cannot read property 'writeLine' of undefined #7

Closed adamsrog closed 9 years ago

adamsrog commented 9 years ago

Just upgraded an app to ember-cli 0.2.0 released earlier this evening. Was getting a strange error when attempting to ember install. Tracked it down to the ember-cli-simple-auth-torii addon.

This can be reproduced with these steps: ember new test-app ember install:addon ember-cli-simple-auth-torii

This is the error it throws when it attempts to install the addon (and when using ember serve):

Cannot read property 'writeLine' of undefined
TypeError: Cannot read property 'writeLine' of undefined
    at AddonDiscovery.<anonymous> (/Users/adamsrog/Workspace/rog/test-app/node_modules/ember-cli/lib/models/addon-discovery.js:109:21)
    at Array.map (native)
    at AddonDiscovery.discoverFromDependencies (/Users/adamsrog/Workspace/rog/test-app/node_modules/ember-cli/lib/models/addon-discovery.js:94:68)
    at AddonDiscovery.discoverChildAddons (/Users/adamsrog/Workspace/rog/test-app/node_modules/ember-cli/lib/models/addon-discovery.js:61:31)
    at Class.Addon.discoverAddons (/Users/adamsrog/Workspace/rog/test-app/node_modules/ember-cli/lib/models/addon.js:172:40)
    at Class.Addon.initializeAddons (/Users/adamsrog/Workspace/rog/test-app/node_modules/ember-cli/lib/models/addon.js:188:8)
    at setupRegistryForEachAddon (/Users/adamsrog/Workspace/rog/test-app/node_modules/ember-cli/lib/preprocessors.js:18:10)
    at Object.module.exports.setupRegistry (/Users/adamsrog/Workspace/rog/test-app/node_modules/ember-cli/lib/preprocessors.js:46:3)
    at Class.Addon (/Users/adamsrog/Workspace/rog/test-app/node_modules/ember-cli/lib/models/addon.js:83:5)
    at new Class (/Users/adamsrog/Workspace/rog/test-app/node_modules/ember-cli/node_modules/core-object/core-object.js:16:17)

Out of curiosity, I tested the other ember-cli-simple-auth-* addons (cookie-store, devise, oauth2, testing). None of those threw this error.

My environment is: Ember 1.10.0 ember-cli 0.2.0 node v0.12.0 npm 2.5.1 OS X 10.10.2

zigomir commented 9 years ago

I have same problem. Also running ember-cli 0.2.0

rwjblue commented 9 years ago

Should be fixed by https://github.com/ember-cli/ember-cli/pull/3483 in the next version of Ember CLI, but the error is being thrown because a dep of this package is an invalid formatted package and it is trying to print a warning here: https://github.com/ember-cli/ember-cli/blob/master/lib/models/addon-discovery.js#L109

Once https://github.com/ember-cli/ember-cli/pull/3483 lands, you will still have to track down which addon is causing the warning to be printed...

adamsrog commented 9 years ago

@rwjblue thank you for the information and links.

As it stands, this addon is unusable with ember-cli 0.2.0. Other than falling back to an older version of ember-cli, do you know of a temporary work-around that can be used until https://github.com/ember-cli/ember-cli/pull/3483 lands?

rwjblue commented 9 years ago

@adamsrog - It has landed, and you can use master (or the specific sha) for now. I suspect we will ship 0.2.1 after a few more bugs are straightened out (but within a couple days).

adamsrog commented 9 years ago

@rwjblue thanks again! Going to close this issue.

timini commented 9 years ago

Once ember-cli/ember-cli#3483 lands, you will still have to track down which addon is causing the warning to be printed...

Does this mean any ember addon causing Cannot call method 'writeLine' of undefined needs to be fixed?

this is an example from ember-simple-auth-torri, which I'm trying to get working

Cannot call method 'writeLine' of undefined
TypeError: Cannot call method 'writeLine' of undefined
    at AddonDiscovery.<anonymous> (/Users/tim/Workspace/repositive/api.repositive.io/frontend/node_modules/ember-cli/lib/models/addon-discovery.js:109:22)
    at Array.map (native)
    at AddonDiscovery.discoverFromDependencies (/Users/tim/Workspace/repositive/api.repositive.io/frontend/node_modules/ember-cli/lib/models/addon-discovery.js:94:68)
    at AddonDiscovery.discoverChildAddons (/Users/tim/Workspace/repositive/api.repositive.io/frontend/node_modules/ember-cli/lib/models/addon-discovery.js:61:31)
    at Class.Addon.discoverAddons (/Users/tim/Workspace/repositive/api.repositive.io/frontend/node_modules/ember-cli/lib/models/addon.js:172:40)
    at Class.Addon.initializeAddons (/Users/tim/Workspace/repositive/api.repositive.io/frontend/node_modules/ember-cli/lib/models/addon.js:188:8)
    at setupRegistryForEachAddon (/Users/tim/Workspace/repositive/api.repositive.io/frontend/node_modules/ember-cli/lib/preprocessors.js:18:10)
    at Object.module.exports.setupRegistry (/Users/tim/Workspace/repositive/api.repositive.io/frontend/node_modules/ember-cli/lib/preprocessors.js:46:3)
    at Class.Addon (/Users/tim/Workspace/repositive/api.repositive.io/frontend/node_modules/ember-cli/lib/models/addon.js:83:5)
    at new Class (/Users/tim/Workspace/repositive/api.repositive.io/frontend/node_modules/ember-cli/node_modules/core-object/core-object.js:16:17)
rwjblue commented 9 years ago

@timini - Yes, likely. It or one of its dependencies is invalid (that is why it is calling this.ui.writeLine at that location).

timini commented 9 years ago

@marcoow is there a fix for this?

marcoow commented 9 years ago

@timini: I got that wrong, thought it was only a bug in ember-cli. Will investigate.

Frozenfire92 commented 9 years ago

I don't think this is fixed. I tried npm install --save-dev git+https://github.com/simplabs/ember-cli-simple-auth-torii.git but then when I go to ember generate ember-cli-simple-auth-torii I still get

The package `ember-data` is not a properly formatted package, we have used a fallback lookup to resolve it at `/Users/.../node_modules/ember-data`. This is generally caused by an addon not having a `main` entry point (or `index.js`).
The package `torii` is not a properly formatted package, we have used a fallback lookup to resolve it at `/Users/.../node_modules/torii`. This is generally caused by an addon not having a `main` entry point (or `index.js`).
Cannot call method 'writeLine' of undefined
TypeError: Cannot call method 'writeLine' of undefined
    at AddonDiscovery.<anonymous> (/Users/.../node_modules/ember-cli/lib/models/addon-discovery.js:109:22)
    at Array.map (native)
    at AddonDiscovery.discoverFromDependencies (/Users/.../node_modules/ember-cli/lib/models/addon-discovery.js:94:68)
    at AddonDiscovery.discoverChildAddons (/Users/.../node_modules/ember-cli/lib/models/addon-discovery.js:61:31)
    at Class.Addon.discoverAddons (/Users/.../node_modules/ember-cli/lib/models/addon.js:172:40)
    at Class.Addon.initializeAddons (/Users/.../node_modules/ember-cli/lib/models/addon.js:188:8)
    at setupRegistryForEachAddon (/Users/.../node_modules/ember-cli/lib/preprocessors.js:18:10)
    at Object.module.exports.setupRegistry (/Users/.../node_modules/ember-cli/lib/preprocessors.js:46:3)
    at Class.Addon (/Users/.../node_modules/ember-cli/lib/models/addon.js:83:5)
    at new Class (/Users/.../node_modules/ember-cli/node_modules/core-object/core-object.js:16:17)
rwjblue commented 9 years ago

@Frozenfire92 - It's only fixed on ember-cli master, not in a released version yet.

Frozenfire92 commented 9 years ago

@rwjblue ok so this is a CLI issue, is there a preview build or a nice way of installing it?

rwjblue commented 9 years ago

@Frozenfire92 - Ya, I mentioned it in https://github.com/simplabs/ember-cli-simple-auth-torii/issues/7#issuecomment-77968236, you can specify "ember-cli": "ember-cli/ember-cli" in your package.json.

Frozenfire92 commented 9 years ago

That worked perfectly, thank you @rwjblue

h55nick commented 9 years ago

@rwjblue worked for me as well. thanks.

timini commented 9 years ago

@Frozenfire92 @h55nick what version of ember-cli-simple-auth-torii are you using?

I'm still having trouble getting this to work, I have switched ember-cli to master.

h55nick commented 9 years ago

using 0.7.3

 "ember-cli-simple-auth-torii": "^0.7.3",
Frozenfire92 commented 9 years ago

@timini

├─┬ ember-cli-simple-auth-torii@0.7.3 │ └── torii@0.1.3 └─┬ torii@0.2.3

When I updated to the most recent version of torii it also broke, but likely because of ember-cli-simple-auth-torii not having the most up to date. It looks like it will be fixed https://github.com/simplabs/ember-cli-simple-auth-torii/issues/10

marcoow commented 9 years ago

@Frozenfire92: yes, should be fixed by #10 - pull request would be appreciated!