dotnet-deps-parser
Advanced tools
Comparing version 5.5.0 to 5.5.1
import 'source-map-support/register'; | ||
import { DepType, PkgTree, PropsLookup } from './parsers'; | ||
export { buildDepTreeFromPackagesConfig, buildDepTreeFromProjectFile, buildDepTreeFromProjectJson, buildDepTreeFromProjectAssetsJson, buildDepTreeFromFiles, extractTargetFrameworksFromFiles, extractTargetFrameworksFromProjectFile, extractTargetFrameworksFromProjectConfig, containsPackageReference, extractTargetFrameworksFromProjectJson, extractTargetFrameworksFromProjectAssetsJson, extractTargetSdkFromGlobalJson, extractProps, PkgTree, DepType, }; | ||
export { buildDepTreeFromPackagesConfig, buildDepTreeFromProjectFile, buildDepTreeFromProjectJson, buildDepTreeFromProjectAssetsJson, buildDepTreeFromFiles, containsPackageReference, extractTargetFrameworksFromFiles, extractTargetFrameworksFromProjectFile, extractTargetFrameworksFromProjectConfig, extractTargetFrameworksFromProjectJson, extractTargetFrameworksFromProjectAssetsJson, extractTargetSdkFromGlobalJson, extractProps, isSupportedByV2GraphGeneration, PkgTree, DepType, }; | ||
declare function buildDepTreeFromProjectJson(manifestFileContents: string, includeDev?: boolean): PkgTree; | ||
@@ -9,2 +9,3 @@ declare function buildDepTreeFromProjectAssetsJson(manifestFileContents: string, targetFramework?: string): PkgTree; | ||
declare function buildDepTreeFromFiles(root: string, manifestFilePath: string, includeDev?: boolean, targetFramework?: string): PkgTree | Promise<PkgTree>; | ||
declare function isSupportedByV2GraphGeneration(targetFramework: string): boolean; | ||
declare function extractTargetFrameworksFromFiles(root: string, manifestFilePath: string, includeDev?: boolean): Promise<string[]>; | ||
@@ -11,0 +12,0 @@ declare function extractTargetFrameworksFromProjectFile(manifestFileContents: string): Promise<string[]>; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.DepType = exports.extractProps = exports.extractTargetSdkFromGlobalJson = exports.extractTargetFrameworksFromProjectAssetsJson = exports.extractTargetFrameworksFromProjectJson = exports.containsPackageReference = exports.extractTargetFrameworksFromProjectConfig = exports.extractTargetFrameworksFromProjectFile = exports.extractTargetFrameworksFromFiles = exports.buildDepTreeFromFiles = exports.buildDepTreeFromProjectAssetsJson = exports.buildDepTreeFromProjectJson = exports.buildDepTreeFromProjectFile = exports.buildDepTreeFromPackagesConfig = void 0; | ||
exports.DepType = exports.isSupportedByV2GraphGeneration = exports.extractProps = exports.extractTargetSdkFromGlobalJson = exports.extractTargetFrameworksFromProjectAssetsJson = exports.extractTargetFrameworksFromProjectJson = exports.extractTargetFrameworksFromProjectConfig = exports.extractTargetFrameworksFromProjectFile = exports.extractTargetFrameworksFromFiles = exports.containsPackageReference = exports.buildDepTreeFromFiles = exports.buildDepTreeFromProjectAssetsJson = exports.buildDepTreeFromProjectJson = exports.buildDepTreeFromProjectFile = exports.buildDepTreeFromPackagesConfig = void 0; | ||
require("source-map-support/register"); | ||
@@ -70,2 +70,28 @@ const fs = require("fs"); | ||
exports.buildDepTreeFromFiles = buildDepTreeFromFiles; | ||
// The V2 project aimed at removing virtually all of this reinvention of the wheel logic in favor of utilization of | ||
// the `dotnet` cli itself, publicly referred to as just 'V2', is done iteratively. Since this package is shared with | ||
// both internal and external packages that all make up parts of the V2 project, we add the shared logic here. | ||
// Further, at least to keep project development iterative, don't support needle and haystack'ing dependency JSON | ||
// for target frameworks other than .NET 5+ and .NET Core, as other frameworks generates vastly other types of | ||
// .json graphs, requiring a whole other parsing strategy to extract tne runtime dependencies. | ||
// For a list of version naming currently available, see | ||
// https://learn.microsoft.com/en-us/dotnet/standard/frameworks#supported-target-frameworks | ||
function isSupportedByV2GraphGeneration(targetFramework) { | ||
// Everything that does not start with 'net' is already game over. E.g. Windows Phone (wp) or silverlight (sl) etc. | ||
if (!targetFramework.startsWith('net')) { | ||
return false; | ||
} | ||
// What's left is: | ||
// - .NET Core: netcoreappN.N, | ||
// - .NET 5+ netN.N, | ||
// - .NET Standard: netstandardN.N and | ||
// - .NET Framework: netNNN, all of which we support except the latter. | ||
// So if there's a dot, we're good. | ||
if (targetFramework.includes('.')) { | ||
return true; | ||
} | ||
// Otherwise it's something before .NET 5 and we're out | ||
return false; | ||
} | ||
exports.isSupportedByV2GraphGeneration = isSupportedByV2GraphGeneration; | ||
function extractTargetFrameworksFromFiles(root, manifestFilePath, includeDev = false) { | ||
@@ -72,0 +98,0 @@ if (!root || !manifestFilePath) { |
@@ -47,3 +47,3 @@ { | ||
}, | ||
"version": "5.5.0" | ||
"version": "5.5.1" | ||
} |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
52581
652