These are chat archives for kmees/MSBuild.NodeTools

23rd
Jul 2015
Kel
@distransient
Jul 23 2015 01:12
Hey I'm running into a bit of an issue with the way nodetools is set up
In my azure deployment, I'm bundling node.js as a nuget dependency, but the node.js nuget package doesn't keep an npm executable in its root directory like node.js normally does, I have to install it as a second nuget dependency
however, nodetools is hardcoded to look for npm in the node.js directory. do you have any advice?
Kel
@distransient
Jul 23 2015 01:17
also, the properties I'm passing to nodetools in my csproj are
    <LocalNodePath>$(MSBuildProjectDirectory)\..\packages\Node.js.0.12.0</LocalNodePath>
    <LocalNodeModulePath>$(MSBuildProjectDirectory)</LocalNodeModulePath>
Kel
@distransient
Jul 23 2015 01:34
I also had tried to use .bin, which is where both node.js and npm.js package's executable cmd files are stored but MSBuild.Node.targets checks to see if !Exists('$(LocalNodePath)') and .bin is already set to a variable (at least that's what I think that conditional does? it errors out at the least with Invalid local node path)
Kel
@distransient
Jul 23 2015 21:35
I fixed it! that was returning that .bin wasn't existing because it wasn't part of the project, so when deployed, it wouldn't be seen on azure (I wasn't including it because it's a build directory for my packages right? that msbuild would handle for me right? WRONG!). So .bin needed to be added to the project and I could use it
but to use MSBuild.NodeTools with local nuget versions of Node, Gulp, and Npm, do
<LocalNodePath>$(MSBuildProjectDirectory)\.bin</LocalNodePath>
<LocalNodeModulePath>$(MSBuildProjectDirectory)\node_modules\.bin</LocalNodeModulePath>
Long Sigh that was really something to figure out. thanks for the tool! hope my troubles might make someone else's life easier in the future