timoxley / linklocal

Install local dependencies as symlinks.
MIT License
348 stars 14 forks source link

Does this support hot reloading of dependencies? [Question] #30

Closed prasann closed 6 years ago

prasann commented 7 years ago

I have a BaseModule and Submodule. BaseModule is dependent on Submodule.

So, if I run BaseModule's webpack-dev-server will it refresh whenever my Submodule code change?

timoxley commented 7 years ago

Sure will.

prasann commented 7 years ago

Thanks for the reply.

Currently i have to run npm run prepublish in my submodule after every change. This updates my lib folder in my submodule. Since BaseModule's DevServer listens to submodule's app.js , my app refreshes.

Is this the approach?

Or is it possible to run my DevServer in submodule which automatically triggers refresh in my app? Basically i don't want to run npm run prepublish every time.

timoxley commented 7 years ago

Ideally your main app can build your sub dependencies directly. I usually have a single build config and it will require and build sub-dependency source directly. What are you using to build/bundle?

prasann commented 7 years ago

Sorry for missing this. Sure I guess the approach most follow.

I am using Webpack without gulp/grunt. For now, I managed to get it work with webpack --watch I run my bundling command on my submodule whenever any JS file changes. And my base module picks it up automatically.

carson-alveo commented 7 years ago

Hi, I have the following issue:

Say I have a symlink on directory B (A is parent module, B is submodule). I grunt watch with the following options in my directory A:

'node_modules/@linklocal-b/**/*.js',
'node_modules/@linklocal-b/**/*.html',

The grunt is able to catch any changes done in directory B provided that it is in the root level. If the files are in a subdirectory of B, the changes are not caught. Is there any way for grunt to catch the changes?

timoxley commented 6 years ago

@carson-alveo IIUC that's more of a issue for grunt watching symlinks than linklocal. Please reopen if you think I can help further.