Npm.Workspace.nodeproj 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <Project>
  2. <!-- Import Directory.Build.Props -->
  3. <Import Project="$(MSBuildThisFileDirectory)..\Directory.Build.props" />
  4. <PropertyGroup>
  5. <IsShippingPackage>true</IsShippingPackage>
  6. <!-- This explicitly includes this project even though it's a test project, unit test project,
  7. etc. which would be excluded by default. -->
  8. <ExcludeFromDotNetBuild>false</ExcludeFromDotNetBuild>
  9. <IsTestProject>true</IsTestProject>
  10. <IsUnitTestProject>true</IsUnitTestProject>
  11. <TestDependsOnAspNetPackages>false</TestDependsOnAspNetPackages>
  12. <TestDependsOnAspNetAppPackages>false</TestDependsOnAspNetAppPackages>
  13. <TestDependsOnAspNetRuntime>false</TestDependsOnAspNetRuntime>
  14. <ContainsFunctionalTestAssets>false</ContainsFunctionalTestAssets>
  15. <BuildHelixPayload>false</BuildHelixPayload>
  16. <!-- Skip puppeteer tests until https://github.com/dotnet/aspnetcore/issues/54176 is resolved -->
  17. <_NpmAdditionalEnvironmentVariables>PUPPETEER_SKIP_DOWNLOAD=1</_NpmAdditionalEnvironmentVariables>
  18. </PropertyGroup>
  19. <Target Name="Restore">
  20. <Message Text="Restoring NPM packages..." Importance="high" />
  21. <Exec
  22. Command="npm ci"
  23. WorkingDirectory="$(MSBuildThisFileDirectory).."
  24. EnvironmentVariables="$(_NpmAdditionalEnvironmentVariables)" />
  25. </Target>
  26. <Target Name="Build">
  27. <PropertyGroup>
  28. <PackageVersion>$(VersionPrefix)</PackageVersion>
  29. <PackageVersion Condition="'$(VersionSuffix)' != ''">$(VersionPrefix)-$(VersionSuffix)</PackageVersion>
  30. </PropertyGroup>
  31. <MakeDir Directories="$(IntermediateOutputPath)" Condition="!Exists('$(IntermediateOutputPath)')" />
  32. <Message Text="Building NPM packages..." Importance="high" />
  33. <Exec Condition="'$(ContinuousIntegrationBuild)' == 'true'"
  34. Command="node $(MSBuildThisFileDirectory)scripts/npm/pack-workspace.mjs --update-versions $(RepoRoot)package.json $(PackageVersion) $(PackageOutputPath) $(IntermediateOutputPath)"
  35. EnvironmentVariables="$(_NpmAdditionalEnvironmentVariables)" />
  36. <Exec
  37. Command="npm run build"
  38. WorkingDirectory="$(MSBuildThisFileDirectory).."
  39. />
  40. </Target>
  41. <Target Name="_Test" BeforeTargets="Test">
  42. <Message Text="Testing NPM packages..." Importance="high" />
  43. <Exec Command="npm run test" ContinueOnError="true" WorkingDirectory="$(MSBuildThisFileDirectory).." />
  44. </Target>
  45. <Target Name="Pack">
  46. <PropertyGroup>
  47. <PackageVersion>$(VersionPrefix)</PackageVersion>
  48. <PackageVersion Condition="'$(VersionSuffix)' != ''">$(VersionPrefix)-$(VersionSuffix)</PackageVersion>
  49. </PropertyGroup>
  50. <Message Text="Packing NPM packages..." Importance="high" />
  51. <MakeDir Directories="$(PackageOutputPath)" Condition="!Exists('$(PackageOutputPath)')" />
  52. <Exec
  53. Command="node $(MSBuildThisFileDirectory)scripts/npm/pack-workspace.mjs --create-packages $(RepoRoot)package.json $(PackageVersion) $(PackageOutputPath) $(IntermediateOutputPath)"
  54. EnvironmentVariables="$(_NpmAdditionalEnvironmentVariables)" />
  55. <ItemGroup>
  56. <_NpmGeneratedPackages Include="$(PackageOutputPath)/*.tgz" />
  57. </ItemGroup>
  58. <PropertyGroup>
  59. <_NpmFiles>@(_NpmGeneratedPackages->'📦 $(PackageOutputPath)%(FileName)%(Extension)', '%0a ')</_NpmFiles>
  60. </PropertyGroup>
  61. <Message Importance="High" Text="$(MSBuildProjectName) -> %0a%20%20$(_NpmFiles)" />
  62. </Target>
  63. <!-- Import Directory.Build.targets -->
  64. <Import Project="$(MSBuildThisFileDirectory)..\Directory.Build.targets" />
  65. </Project>