Closed alexlafroscia closed 9 years ago
Let me try to reproduce this and get back to you.
Sure thing. If it's useful, I can try to distill my app down to just enough to get it to break and put that somewhere public.
Just an update--there seems to be something weird going after upgrading to Ember 1.13.x. I took an existing app that ran well in 1.12, upgraded, and ember nw
continues to work fine. However, ember nw:test
now breaks with this error:
It is using the correct require
function to find the module, so that's not the issue. I know you're having problems with ember nw
as well. Perhaps it is related. I'm still trying to figure out what's causing this.
I figured out the testing issue. Ember 1.13.x does something different if it notices that it is running in Node, by looking for the global process
object. This of course will break the app in NW:
I'll push up a fix/release, and then you can see if that also solves the issue you're running into in your app.
Awesome! Thanks so much for digging into this :grinning:
I believe this should be addressed by #38. The fix is available in the following versions:
I've finally renamed the project (node-webkit
itself had been renamed to NW.js
a while ago), but you should be able to verify whether the issue is still present on whichever version you'd like.
I'll leave this open until you're able to confirm that it works.
Alright, well that got me part of the way there. I updated to ember-cli-nwjs@0.3.6
and checked ember nw
, and the app booted just fine. However, ember nw:test
still failed. Here is a Gist of the output, but the gist (pun somewhat intended) is that it ran the first three tests, followed by 895 occurrences of MISSING TEST
.
What about if you were to run the tests with ember nw:test --server
? Do you get the same errors, and if so, if you open up the console in the browser, do you see any errors being thrown?
Alright, so I updated my Ember CLI version to the latest master for an unrelated reason, and am now seeing different behavior here. The same three tests run, but instead of erroring all those times, it just stops after those three. Not sure if the Ember CLI update was related to the change.
I tried ember nw:test --server
and see basically the same thing that I see with ember nw:test
; the three tests run, and then the NW window closes immediately so I don't have a change to get at the console.
I absolutely want to get to the bottom of this! I just need to find a way to reproduce. How hard would it be for you to trim off any private code that you don't wish to expose and extract into a public repo that I can check out? If that doesn't work, then I'm open to doing a Screenhero or Hangout.
It might be sorta tough to strip out the private stuff; this is our main product so I'm not sure that's an option. Maybe we could schedule a hangout or something, or I could talk to my team about giving you pull access or something to check the code out yourself.
The latter would be ideal, as figuring out what's causing the issue could take some time and having direct access to a repo that's displaying this behavior would be easier. But I can understand if that can't be done. Let me know what you'd rather do. DM me on the Ember Community slack if you want to do the hangout route and we can figure out the details. I'm there as @edeblois
.
Just wanted to capture here, for future reference, that this issue is likely due to the runner hitting the max buffer size when running exec
. I'll see if I can get this working with require('child_process').spawn
instead.
@brzpegasus are the things filling the buffer stuff that's trying to be logged, like the deprecation warnings? Our app triggers a ton of those due to the old Ember Data version we're stuck on.
Yes, exactly. I was able to reproduce the issue by simply doing a mega console.log()
in a loop from within my Ember app.
I have it working now with spawn
. The only thing blocking me from pushing the updates is this one tiny thing left to figure out: For the ember nw:test --server
mode, I have to modify the Testem launcher to run runner.js
as opposed to running nw
directly, because Testem will call nw
using exec
otherwise. So I need to get Testem to exec
the runner, and let the runner spawn
nw. This works, except for killing the NW.js child process when Testem terminates. Right now, if you hit "Q" to end Testem, you still have to Ctrl+C
to exit nw
.
But I'm close!
Can you try with version 0.3.7
and see if that solves the problem on your end? I tested it with my sample app but would like to get your confirmation.
That seemed to do it! A few test are failing that weren't failing with ember test
, but don't think that's related. Thank you so much!
Awesome! Glad we got this figured out.
For some reason, after running
ember nw
I am unable to see the site because some of my dependency's modules can't be found. I see an error like this:But, as far as I can tell, the modules are being included in the build correctly. Here is a screenshot of the dev tools for the Node Webkit window:
The build works totally fine when using
ember serve
orember build
; it only is an issue when runningember nw
.Edit: I tried doing
ember nw:package
and that seems to work fine. It's just the server version that fails to find the files.Edit 2: I tried
ember nw:test
and got a whole bunch ofCannot find module
errors, and then also a bunch of failed tests that just saidUltimately, it looks like the correct number of tests were run, but that most of the real tests were "missing". All of the JSHint and JSCS tests were fine.
Edit 3: It seems to be related to the build environment.
production
is fine,development
andtest
both seem broken.