DarkPatterns.Build.Pnpm 0.2.2

dotnet add package DarkPatterns.Build.Pnpm --version 0.2.2                
NuGet\Install-Package DarkPatterns.Build.Pnpm -Version 0.2.2                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DarkPatterns.Build.Pnpm" Version="0.2.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DarkPatterns.Build.Pnpm --version 0.2.2                
#r "nuget: DarkPatterns.Build.Pnpm, 0.2.2"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DarkPatterns.Build.Pnpm as a Cake Addin
#addin nuget:?package=DarkPatterns.Build.Pnpm&version=0.2.2

// Install DarkPatterns.Build.Pnpm as a Cake Tool
#tool nuget:?package=DarkPatterns.Build.Pnpm&version=0.2.2                

DarkPatterns.Build.Pnpm

Add build tooling to MSBuild to support PNPM projects!

  1. Create a new pnpm project via pnpm init or other mechanism.

  2. Create a new msbuild project in the same folder as the package.json and set the Sdk to match this package and the latest version. For example:

     <Project Sdk="DarkPatterns.Build.Pnpm/0.1.4">
    
  3. Set the corresponding settings, including PnpmRootPath, PnpmBuildScript, etc.

Configuration

Properties

Name Decription Default
UseCorepack Use pnpm via corepack if 'true' Not set
PnpmBuildScript The command line to run during the build phase pnpm run --if-present build
PnpmTestScript The command line to run for dotnet test pnpm run --if-present test
PnpmLintScript The command line to run for lint checks pnpm run --if-present lint
PnpmRootPath The path to the workspace root for the PNPM project. Should end with a / $(SolutionRoot) or $(ProjectDir)
LintSkipPnpm If 'true', skips running the PnpmLintScript, even if it is set. Not set
PackPnpmOnBuild If 'true', creates the npm .tgz in the $(PackageOutputPath) with only a build. Not set

Items

Name Decription Default
CompileOutputs The files that will be created by the build process None; required to run build script
Compile or PnpmCompile The inputs for build and lint. All files are moved from Compile to PnpmCompile to avoid dotnet format on TS files. src/**
CompileConfig[^1] Inputs that could affect build configuration options. .*rc and *.json files in the project root
RestoreConfig[^1] The inputs for the node restore configuration. $(PnpmRootPath)package.json, $(PnpmRootPath)pnpm-lock.yaml, and package.json
PnpmPackagedFiles Additional inputs that will cause the packaged files to change All CompileConfig items

[^1]: These will be added to the Watch item, for use with dotnet watch.

Targets

PnpmInstall

Runs before building, linting, or restoring the project. Works with other instances of the Sdk to ensure that only one pnpm install is running at a time from within msbuild. Uses --frozen-lockfile in Release mode.

NodeBuild

Runs before Build. Uses CompileOutputs for outputs, which must be provided. Executes the PnpmBuildScript.

Lint

Executes the PnpmLintScript.

PnpmPack

Runs before Publish. Depends on Build. Produces an npm-compatible .tgz in the $(PackageOutputPath) directory.

PrepareLint

Runs before Lint. May be used prior to linting any project to run prerequisite build steps on a solution-wide basis.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.2.2 386 12/5/2024
0.2.1 740 10/20/2024
0.2.0 305 10/6/2024
0.1.15 98 10/5/2024
0.1.14 155 9/2/2024
0.1.13 114 9/2/2024
0.1.12 147 8/23/2024
0.1.11 143 8/15/2024
0.1.10 123 8/15/2024
0.1.9 124 8/15/2024
0.1.8 138 8/15/2024
0.1.7 121 8/15/2024
0.1.6 123 8/8/2024
0.1.5 103 8/7/2024
0.1.4 104 8/7/2024
0.1.3 84 8/5/2024
0.1.2 82 8/5/2024
0.1.1 78 8/5/2024
0.1.0 81 8/3/2024