diff --git a/eng/targets/Npm.Common.targets b/eng/targets/Npm.Common.targets index 062a9d3a8f76de24f32aa1dfcceb448e563e47a1..7695ed7039d409f265cc4a2a7d7b2083bb2d6eb1 100644 --- a/eng/targets/Npm.Common.targets +++ b/eng/targets/Npm.Common.targets @@ -20,16 +20,20 @@ </PropertyGroup> <ItemGroup> - <TSFiles Include="$(MSBuildProjectDirectory)\*\*.ts" /> - <TSFiles Include="$(MSBuildProjectDirectory)\package.json" /> - <TSFiles Include="$(MSBuildProjectDirectory)\*.npmproj" /> + <TSFiles Include="src\**\*.ts" /> + <TSFiles Include="test\**\*.ts" /> + <TSFiles Include="package.json" /> + <TSFiles Include="*.npmproj" /> + + <BuildOutputFiles Include="$(BaseIntermediateOutputPath)\build-sentinel" /> + <BuildOutputFiles Include="dist\**\*.js" /> </ItemGroup> <Target Name="_CheckForInvalidConfiguration"> <Error Text="Missing expected property: PackageId" Condition="'$(IsPackable)' != 'false' and '$(PackageId)' == ''" /> - <Exec ContinueOnError="true" Command="node -v"> - <Output TaskParameter="ExitCode" PropertyName="ErrorCode"/> + <Exec ContinueOnError="true" Command="node -v" StandardOutputImportance="Low"> + <Output TaskParameter="ExitCode" PropertyName="ErrorCode"/> </Exec> <Error Text="Building *.npmproj but NodeJS was not detected on path. Ensure NodeJS is on path or disable building NodeJS projects with /p:BuildNodeJs=false. Skipping NodeJS projects will also skip managed projects depending on them, including Components, Mvc and Analysers." Condition="'$(ErrorCode)' != '0'"/> @@ -53,12 +57,25 @@ <CallTarget Targets="_Pack" Condition="'$(PackOnBuild)' == 'true'" /> </Target> + <Target Name="GetBuildInputCacheFile"> + <Hash ItemsToHash="@(TSFiles)"> + <Output TaskParameter="HashResult" PropertyName="_TSFileHash" /> + </Hash> + + <WriteLinesToFile + Lines="$(_TSFileHash)" + File="$(BaseIntermediateOutputPath)tsfiles.cache" + Overwrite="True" + WriteOnlyWhenDifferent="True" /> + </Target> + <Target Name="_Build" Condition="'$(IsBuildable)' != 'false'" - Inputs="@(TSFiles)" - Outputs="$(BaseIntermediateOutputPath)\build-sentinel" > + DependsOnTargets="GetBuildInputCacheFile" + Inputs="@(TSFiles);$(BaseIntermediateOutputPath)tsfiles.cache" + Outputs="@(BuildOutputFiles)"> <Yarn Command="$(NpmBuildArgs)" StandardOutputImportance="High" StandardErrorImportance="High" /> - <WriteLinesToFile Overwrite="true" File="$(BaseIntermediateOutputPath)\build-sentinel" /> + <WriteLinesToFile Overwrite="true" File="$(BaseIntermediateOutputPath)build-sentinel" /> </Target> <PropertyGroup> @@ -73,7 +90,10 @@ </PackDependsOn> </PropertyGroup> - <Target Name="_Pack" Condition="'$(IsPackable)' == 'true'" > + <Target Name="_Pack" Condition="'$(IsPackable)' == 'true'" + Inputs="@(TSFiles)" + Outputs="$(PackageOutputPath)\$(PackageFileName)"> + <PropertyGroup> <_PackageTargetPath>$(MSBuildProjectDirectory)\$(PackageFileName)</_PackageTargetPath> </PropertyGroup> diff --git a/src/Components/Web.JS/Microsoft.AspNetCore.Components.Web.JS.npmproj b/src/Components/Web.JS/Microsoft.AspNetCore.Components.Web.JS.npmproj index 8e0a17ece09e028f65c0c3b72079527d981d10c4..cb890a62b8796bfde12e3b550e26a0782ff3e7ae 100644 --- a/src/Components/Web.JS/Microsoft.AspNetCore.Components.Web.JS.npmproj +++ b/src/Components/Web.JS/Microsoft.AspNetCore.Components.Web.JS.npmproj @@ -6,6 +6,11 @@ <IsPackable>false</IsPackable> </PropertyGroup> + <ItemGroup> + <BuildOutputFiles Include="dist\release\blazor.server.js" /> + <BuildOutputFiles Include="dist\release\blazor.webassembly.js" /> + </ItemGroup> + <ItemGroup> <ProjectReference Include="..\..\SignalR\clients\ts\signalr\signalr.npmproj" diff --git a/src/Components/Web.JS/dist/Release/blazor.server.js b/src/Components/Web.JS/dist/Release/blazor.server.js index 3d73bad3e0e1e2f84b9b4ded620fadb212c7b1de..79e87de6695d06841cc2032f0bb3351456d7c1fd 100644 Binary files a/src/Components/Web.JS/dist/Release/blazor.server.js and b/src/Components/Web.JS/dist/Release/blazor.server.js differ diff --git a/src/SignalR/clients/ts/signalr-protocol-msgpack/signalr-protocol-msgpack.npmproj b/src/SignalR/clients/ts/signalr-protocol-msgpack/signalr-protocol-msgpack.npmproj index 72978faa2decd4a5c7a566f4786ed82fcf22a787..1a2b2deac3db3f1be917356756320c8bfa8962a8 100644 --- a/src/SignalR/clients/ts/signalr-protocol-msgpack/signalr-protocol-msgpack.npmproj +++ b/src/SignalR/clients/ts/signalr-protocol-msgpack/signalr-protocol-msgpack.npmproj @@ -13,5 +13,9 @@ <ProjectReference Include="..\signalr\signalr.npmproj" /> </ItemGroup> + <ItemGroup> + <BuildOutputFiles Include="dist\browser\signalr-protocol-msgpack.js" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.targets))\Directory.Build.targets" /> </Project> diff --git a/src/SignalR/clients/ts/signalr/signalr.npmproj b/src/SignalR/clients/ts/signalr/signalr.npmproj index e6a6c1d99305df325b30d2f26a86e44fb5195c21..dbd62e31c645516cb4a31f4518d440d68625cb90 100644 --- a/src/SignalR/clients/ts/signalr/signalr.npmproj +++ b/src/SignalR/clients/ts/signalr/signalr.npmproj @@ -8,5 +8,10 @@ <IsShippingPackage>true</IsShippingPackage> </PropertyGroup> + <ItemGroup> + <BuildOutputFiles Include="dist\browser\signalr.js" /> + <BuildOutputFiles Include="dist\webworker\signalr.js" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.targets))\Directory.Build.targets" /> </Project>