Created
February 13, 2024 20:20
-
-
Save nishanc/16f6ba22146dcde8311ea56a6f9cafda to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<Project Sdk="Microsoft.NET.Sdk.Web"> | |
<PropertyGroup> | |
<TargetFramework>net7.0</TargetFramework> | |
<ImplicitUsings>enable</ImplicitUsings> | |
<Nullable>enable</Nullable> | |
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked> | |
<TypeScriptToolsVersion>Latest</TypeScriptToolsVersion> | |
<IsPackable>false</IsPackable> | |
<SpaRoot>ClientApp\</SpaRoot> | |
<SpaProxyServerUrl>https://localhost:44414</SpaProxyServerUrl> | |
<SpaProxyLaunchCommand>npm start</SpaProxyLaunchCommand> | |
<SpaConfiguration>production</SpaConfiguration> | |
<ImplicitUsings>enable</ImplicitUsings> | |
<!-- Set this to true if you enable server-side prerendering --> | |
<BuildServerSideRenderer>false</BuildServerSideRenderer> | |
</PropertyGroup> | |
<ItemGroup> | |
<PackageReference Include="Microsoft.AspNetCore.SpaProxy" Version="7.0.14" /> | |
</ItemGroup> | |
<ItemGroup> | |
<!-- Don't publish the SPA source files, but do show them in the project files list --> | |
<Content Remove="$(SpaRoot)**" /> | |
<None Remove="$(SpaRoot)**" /> | |
<None Include="$(SpaRoot)**" Exclude="$(SpaRoot)node_modules\**" /> | |
</ItemGroup> | |
<ItemGroup> | |
<Folder Include="Controllers\" /> | |
</ItemGroup> | |
<Target Name="DebugEnsureNodeEnv" BeforeTargets="Build" Condition=" '$(Configuration)' == 'Debug' And !Exists('$(SpaRoot)node_modules') "> | |
<!-- Ensure Node.js is installed --> | |
<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 WorkingDirectory="$(SpaRoot)" Command="npm install" /> | |
</Target> | |
<Target Name="PublishRunWebpack" AfterTargets="ComputeFilesToPublish"> | |
<!-- As part of publishing, ensure the JS resources are freshly built in production mode --> | |
<Exec WorkingDirectory="$(SpaRoot)" Command="npm install --force" /> | |
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build -- --configuration $(SpaConfiguration)" /> | |
<!-- Include the newly-built files in the publish output --> | |
<ItemGroup> | |
<DistFiles Include="$(SpaRoot)dist\**; $(SpaRoot)dist-server\**" /> | |
<ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)"> | |
<RelativePath>wwwroot\%(RecursiveDir)%(FileName)%(Extension)</RelativePath> | |
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> | |
<ExcludeFromSingleFile>true</ExcludeFromSingleFile> | |
</ResolvedFileToPublish> | |
</ItemGroup> | |
</Target> | |
</Project> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment