What is the best way to specify that a loader should compile a dependency from npm and have that working with npm link? I see that there are some issues with path.join and path.resolve with the resolve and resolveLoader settings.
I cannot give a good advice here. It's an issue that will be tackled with concord, but that's not done.
You can try to resolve the paths with enhanced-resolve like this:
var resolve = require("enhanced-resolve").create.sync({
...resolvingOptions, // same as webpack
resolveToContext: true
}).bind(null, __dirname);
include: [
resolve("some-module"),
resolve("another-module")
]
never tried this, but it's an idea.
Could you give us a small gist that demonstrates the problem? I think it depends on the use case because npm link is not a problem in general (in fact, I use it every day in my projects with webpack)
I am using a repo that has React components as a dependency for another React project (let's call this the parent_repo), both of which use ES6 and 7 syntax. So I would like to use webpack with parent_repo and tell the babel loader to compile my child_repo, instead of the usual ignoring of node_modules. I'm trying to be able to develop fast locally by being able to npm link the child_repo and have webpack recompile both the parent and child, seeing changes with HMR. Perhaps even my setup is blasphemous.
When I use npm-link though, a lot of the resolving goes haywire. I have a number of plugins for the parent_repo and they cannot be found when the child_repo is compiling. Similar problems for loaders.