Modifying client files restarts server


#1

I have a Meteor 1.4.1 app, it’s fully build with meteor packages, each of them having a main module for both client and server.

If I edit any client file, the entire server restarts (instead of just updating the client). So I’m suspecting this is either a meteor bug (but I can’t seem to create a small reproduction) or somewhere in the import tree I’m importing a client file on my server, and this causes the entire server to restart.

Since I can’t seem to create a small reproduction, I’m suspecting it’s the latter problem. However, I can’t seem to locate where the wrong import would be.
Is there a way to know why a file change causes a server restart? I mean, I could probably debug meteor-tool to find out this information, but meteor-tool is quite complex and I don’t know where to start looking…

Anyone has any ideas?


#2

What does your application structure look like? Is it like the one proposed in the guide? If so, you could try to change /ui to /client.


#3

Nope, it’s completely package based.
So it’s like:

.meteor
packages
  package1
     client
        main.js
        ...
     server
        main.js
        ...
     shared
       ...
     package.js
  package 2 
  ...

With the package.js files having just main modules specified, like:

 api.mainModule('client/main.js', 'client');
 api.mainModule('server/main.js', 'server');

So I suspect that somewhere in the import path of a server/main.js file, there is an import of a top-level client file which causes any client file change to trigger a server restart.
But then again, my entire client is written in angular 1, which would give errors if I imported it on the server (like window is not defined or something like that).


#4

Okay, nevermind. This line: https://github.com/meteor/meteor/blob/devel/tools/runners/run-app.js#L655 made me realize I had forgotten to include the autoupdate package, which is required for client-side refreshes.