MSBuild

In the following we use after targets:

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

    <PropertyGroup>
        <WebProj>frontend</WebProj>
    </PropertyGroup>

    <Target Name="w" DependsOnTargets="">
        <Exec Command="npm run build" WorkingDirectory="$(WebProj)"/>
    </Target>

    <Target Name="w-c" AfterTargets="w">
        <ItemGroup>
            <devFiles Include="$(WebProj)\build\dev\*"/>
        </ItemGroup>
        <Copy SourceFiles="@(devFiles)" DestinationFolder="\\hostname\c$\inetpub\wwwroot\proj_name\" />
    </Target>

</Project>