nodejs-starter
nodejs-starter copied to clipboard
Components and npm modules are not updated
When you add a new component or npm module and run make
, component install
and npm install
are not executed if components
and node_modules
directories exists.
As a workaround, you have to run make clean && make
, delete the directories manually or run component install
and/or npm install
.
I think it is due to node_modules
and components
Makefile
targets are not PHONY. According to GNU make docs, when targets are executed, make
looks for a file with the target name, and if it exists, the target is not executed unless is PHONY.
In this case, make components
is generating a components
directory, so when this directory exists, components
target is bypassed. Same thing with node_modules
.
+1
@jfresco this was made on purpose since you don't want component install and npm install to be executed every time you run your app. Only when you update your dependencies, and specially on development where you stop and start the process many times.
The Makefile was inteded to be used only for development. So I don't see the harm on leaving it like it is now.
npm install and component install tasks take some time to run. In development on each stop/start you want it to be executed as fast as possible, since you may be executing/drive testing code for the server.