Read package version parts and classify an update.

tooling Package references name a dependency and a version, and version changes help teams judge update risk.

Package Reference

version
PackageReference.cs
Replay: real traced execution (multi-file project)
using System;

class Program
{
    static void Main()
    {
        string version = "1.2.0";
        string packageName = "TraceReplay";
        string major = version.Split('.')[0];
        string updateType = major == "1" ? "minor-or-patch" : "major";

        Console.WriteLine($"package={packageName}");
        Console.WriteLine($"version={version}");
        Console.WriteLine($"updateType={updateType}");
    }
}
using System;

class Program
{
    static void Main()
    {
        string version = "1.3.0";
        string packageName = "TraceReplay";
        string major = version.Split('.')[0];
        string updateType = major == "1" ? "minor-or-patch" : "major";

        Console.WriteLine($"package={packageName}");
        Console.WriteLine($"version={version}");
        Console.WriteLine($"updateType={updateType}");
    }
}
using System;

class Program
{
    static void Main()
    {
        string version = "2.0.0";
        string packageName = "TraceReplay";
        string major = version.Split('.')[0];
        string updateType = major == "1" ? "minor-or-patch" : "major";

        Console.WriteLine($"package={packageName}");
        Console.WriteLine($"version={version}");
        Console.WriteLine($"updateType={updateType}");
    }
}
  1. version ← 1.2.0, packageName ← TraceReplay, major ← 1, updateType ← minor-or-patch

    4{5    static void Main()6    {7        string version→ 1.2.0 = "1.2.0"; //@version="1.3.0", "2.0.0"8        string packageName→ TraceReplay = "TraceReplay";9        string major→ 1 = version1.2.0.Split('.')[0];10        string updateType→ minor-or-patch = major1 == "1" ? "minor-or-patch" : "major";1112        Console.WriteLine($"package={packageNameTraceReplay}");13        Console.WriteLine($"version={version1.2.0}");14        Console.WriteLine($"updateType={updateTypeminor-or-patch}");15    }
    outputpackage=TraceReplay
    version=1.2.0
    updateType=minor-or-patch
  1. version ← 1.3.0, packageName ← TraceReplay, major ← 1, updateType ← minor-or-patch

    4{5    static void Main()6    {7        string version→ 1.3.0 = "1.3.0";8        string packageName→ TraceReplay = "TraceReplay";9        string major→ 1 = version1.3.0.Split('.')[0];10        string updateType→ minor-or-patch = major1 == "1" ? "minor-or-patch" : "major";1112        Console.WriteLine($"package={packageNameTraceReplay}");13        Console.WriteLine($"version={version1.3.0}");14        Console.WriteLine($"updateType={updateTypeminor-or-patch}");15    }
    outputpackage=TraceReplay
    version=1.3.0
    updateType=minor-or-patch
  1. version ← 2.0.0, packageName ← TraceReplay, major ← 2, updateType ← major

    4{5    static void Main()6    {7        string version→ 2.0.0 = "2.0.0";8        string packageName→ TraceReplay = "TraceReplay";9        string major→ 2 = version2.0.0.Split('.')[0];10        string updateType→ major = major2 == "1" ? "minor-or-patch" : "major";1112        Console.WriteLine($"package={packageNameTraceReplay}");13        Console.WriteLine($"version={version2.0.0}");14        Console.WriteLine($"updateType={updateTypemajor}");15    }
    outputpackage=TraceReplay
    version=2.0.0
    updateType=major