Auto-restore NPM dependencies on build

This commit is contained in:
Steve Sanderson 2017-12-08 10:27:46 +00:00
parent 82b2128bd9
commit 5b5b3892d3
1 changed files with 11 additions and 2 deletions

View File

@ -15,9 +15,18 @@
<WebpackInputs Include="**\*.ts" Exclude="node_modules\**" />
</ItemGroup>
<Target Name="RunWebpack" BeforeTargets="PreBuildEvent" Inputs="@(WebpackInputs)" Outputs="dist\blazor.js">
<Target Name="EnsureNpmRestored" Condition="!Exists('node_modules')">
<Exec Command="node --version" ContinueOnError="true">
<Output TaskParameter="ExitCode" PropertyName="ErrorCode" />
</Exec>
<Error Condition="'$(ErrorCode)' != '0'" Text="Node.js is required to build and run this project. To continue, please install Node.js from https://nodejs.org/, and then restart your command prompt or IDE." />
<Message Importance="high" Text="Restoring dependencies using 'npm'. This may take several minutes..." />
<Exec Command="npm install" />
</Target>
<Target Name="RunWebpack" BeforeTargets="PreBuildEvent" Inputs="@(WebpackInputs)" Outputs="dist\blazor.js" DependsOnTargets="EnsureNpmRestored">
<RemoveDir Directories="dist" />
<Exec Command="npm run build" WorkingDirectory="$(MSBuildThisFileDirectory)" />
<Exec Command="npm run build" />
<ItemGroup>
<EmbeddedResource Include="dist\blazor.js" LogicalName="blazor.$blazor.js" />
</ItemGroup>