@halospv3/hce.shared-config 3.5.3-develop.2 → 3.6.0-develop.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +33 -10
- package/dotnet/.github/workflows/_unit_test.yml +1 -1
- package/dotnet/.github/workflows/dotnet-release.yml +1 -1
- package/dotnet/.github/workflows/sample-dotnet-build.yml +1 -1
- package/dotnet/CleanupWpfTmp.targets +15 -0
- package/dotnet/HCE.Shared.targets +3 -0
- package/mjs/CaseInsensitiveMap.mjs.map +1 -1
- package/mjs/commitlintConfig.mjs.map +1 -1
- package/mjs/debug.mjs.map +1 -1
- package/mjs/dotnet/GithubNugetRegistryInfo.d.mts +5 -5
- package/mjs/dotnet/GithubNugetRegistryInfo.d.mts.map +1 -1
- package/mjs/dotnet/GithubNugetRegistryInfo.mjs +7 -7
- package/mjs/dotnet/GithubNugetRegistryInfo.mjs.map +1 -1
- package/mjs/dotnet/GitlabNugetRegistryInfo.d.mts +6 -6
- package/mjs/dotnet/GitlabNugetRegistryInfo.d.mts.map +1 -1
- package/mjs/dotnet/GitlabNugetRegistryInfo.mjs +14 -14
- package/mjs/dotnet/GitlabNugetRegistryInfo.mjs.map +1 -1
- package/mjs/dotnet/IsNextVersionAlreadyPublished.cli.mjs +5 -5
- package/mjs/dotnet/IsNextVersionAlreadyPublished.cli.mjs.map +1 -1
- package/mjs/dotnet/MSBuildProject.d.mts +28 -28
- package/mjs/dotnet/MSBuildProject.d.mts.map +1 -1
- package/mjs/dotnet/MSBuildProject.mjs +88 -66
- package/mjs/dotnet/MSBuildProject.mjs.map +1 -1
- package/mjs/dotnet/MSBuildProjectProperties.d.mts.map +1 -1
- package/mjs/dotnet/MSBuildProjectProperties.mjs +1 -1
- package/mjs/dotnet/MSBuildProjectProperties.mjs.map +1 -1
- package/mjs/dotnet/NugetProjectProperties.d.mts +3 -3
- package/mjs/dotnet/NugetProjectProperties.d.mts.map +1 -1
- package/mjs/dotnet/NugetProjectProperties.mjs +7 -9
- package/mjs/dotnet/NugetProjectProperties.mjs.map +1 -1
- package/mjs/dotnet/NugetRegistryInfo.d.mts +40 -40
- package/mjs/dotnet/NugetRegistryInfo.d.mts.map +1 -1
- package/mjs/dotnet/NugetRegistryInfo.mjs +170 -148
- package/mjs/dotnet/NugetRegistryInfo.mjs.map +1 -1
- package/mjs/dotnet/helpers.d.mts.map +1 -1
- package/mjs/dotnet/helpers.mjs +33 -34
- package/mjs/dotnet/helpers.mjs.map +1 -1
- package/mjs/eslintConfig.mjs.map +1 -1
- package/mjs/insertPlugins.mjs +2 -2
- package/mjs/insertPlugins.mjs.map +1 -1
- package/mjs/semantic-release__commit-analyzer.d.mts.map +1 -1
- package/mjs/semantic-release__exec.d.mts.map +1 -1
- package/mjs/semantic-release__git.d.mts.map +1 -1
- package/mjs/semantic-release__github.d.mts +1 -0
- package/mjs/semantic-release__github.d.mts.map +1 -1
- package/mjs/semanticReleaseConfig.d.mts.map +1 -1
- package/mjs/semanticReleaseConfig.mjs.map +1 -1
- package/mjs/semanticReleaseConfigDotnet.d.mts.map +1 -1
- package/mjs/semanticReleaseConfigDotnet.mjs +23 -16
- package/mjs/semanticReleaseConfigDotnet.mjs.map +1 -1
- package/mjs/setupGitPluginSpec.d.mts.map +1 -1
- package/mjs/setupGitPluginSpec.default.mjs.map +1 -1
- package/mjs/setupGitPluginSpec.mjs +19 -19
- package/mjs/setupGitPluginSpec.mjs.map +1 -1
- package/mjs/utils/Exact.d.mts.map +1 -1
- package/mjs/utils/GracefulRecursion.d.mts.map +1 -1
- package/mjs/utils/env.d.mts.map +1 -1
- package/mjs/utils/env.mjs.map +1 -1
- package/mjs/utils/execAsync.d.mts +3 -3
- package/mjs/utils/execAsync.d.mts.map +1 -1
- package/mjs/utils/execAsync.mjs +14 -12
- package/mjs/utils/execAsync.mjs.map +1 -1
- package/mjs/utils/isError.mjs.map +1 -1
- package/mjs/utils/miscTypes.d.mts.map +1 -1
- package/mjs/utils/miscTypes.mjs.map +1 -1
- package/mjs/utils/reflection/FunctionLike.d.mts +1 -0
- package/mjs/utils/reflection/FunctionLike.d.mts.map +1 -1
- package/mjs/utils/reflection/GetterDescriptor.d.mts.map +1 -1
- package/mjs/utils/reflection/InstancePropertyDescriptorMap.d.mts.map +1 -1
- package/mjs/utils/reflection/InstanceTypeOrSelfPropertyDescriptorMap.d.mts +1 -1
- package/mjs/utils/reflection/InstanceTypeOrSelfPropertyDescriptorMap.d.mts.map +1 -1
- package/mjs/utils/reflection/OwnGetterDescriptorMap.d.mts +1 -1
- package/mjs/utils/reflection/OwnGetterDescriptorMap.d.mts.map +1 -1
- package/mjs/utils/reflection/OwnKeyOf.d.mts +1 -1
- package/mjs/utils/reflection/OwnKeyOf.d.mts.map +1 -1
- package/mjs/utils/reflection/OwnPropertyDescriptorMap.d.mts.map +1 -1
- package/mjs/utils/reflection/PropertyDescriptorMap.d.mts +1 -1
- package/mjs/utils/reflection/PropertyDescriptorMap.d.mts.map +1 -1
- package/mjs/utils/reflection/filterForGetters.d.mts.map +1 -1
- package/mjs/utils/reflection/filterForGetters.mjs.map +1 -1
- package/mjs/utils/reflection/getOwnPropertyDescriptors.d.mts.map +1 -1
- package/mjs/utils/reflection/getOwnPropertyDescriptors.mjs.map +1 -1
- package/mjs/utils/reflection/getOwnPropertyDescriptorsRecursively.d.mts.map +1 -1
- package/mjs/utils/reflection/getOwnPropertyDescriptorsRecursively.mjs +3 -3
- package/mjs/utils/reflection/getOwnPropertyDescriptorsRecursively.mjs.map +1 -1
- package/mjs/utils/reflection/getPrototypeChainOf.d.mts +2 -2
- package/mjs/utils/reflection/getPrototypeChainOf.d.mts.map +1 -1
- package/mjs/utils/reflection/getPrototypeChainOf.mjs +1 -2
- package/mjs/utils/reflection/getPrototypeChainOf.mjs.map +1 -1
- package/mjs/utils/reflection/getPrototypeOf.d.mts.map +1 -1
- package/mjs/utils/reflection/getPrototypeOf.mjs.map +1 -1
- package/mjs/utils/reflection/inheritance.d.mts +4 -4
- package/mjs/utils/reflection/inheritance.d.mts.map +1 -1
- package/mjs/utils/reflection/inheritance.mjs.map +1 -1
- package/mjs/utils/reflection/isConstructor.d.mts +3 -3
- package/mjs/utils/reflection/isConstructor.d.mts.map +1 -1
- package/mjs/utils/reflection/isConstructor.mjs +7 -7
- package/mjs/utils/reflection/isConstructor.mjs.map +1 -1
- package/mjs/utils/reflection/isGetterDescriptor.d.mts.map +1 -1
- package/mjs/utils/reflection/isGetterDescriptor.mjs.map +1 -1
- package/mjs/utils/reflection/listOwnGetters.d.mts.map +1 -1
- package/mjs/utils/reflection/listOwnGetters.mjs +4 -2
- package/mjs/utils/reflection/listOwnGetters.mjs.map +1 -1
- package/mjs/utils/reflection.d.mts +1 -1
- package/package.json +24 -23
- package/src/dotnet/GithubNugetRegistryInfo.ts +18 -15
- package/src/dotnet/GitlabNugetRegistryInfo.ts +28 -26
- package/src/dotnet/IsNextVersionAlreadyPublished.cli.ts +6 -6
- package/src/dotnet/MSBuildProject.ts +103 -106
- package/src/dotnet/MSBuildProjectProperties.ts +1 -1
- package/src/dotnet/NugetProjectProperties.ts +13 -18
- package/src/dotnet/NugetRegistryInfo.ts +287 -243
- package/src/dotnet/helpers.ts +58 -58
- package/src/insertPlugins.ts +3 -3
- package/src/semantic-release__github.d.ts +1 -0
- package/src/semanticReleaseConfigDotnet.ts +52 -54
- package/src/setupGitPluginSpec.ts +25 -26
- package/src/utils/env.ts +1 -0
- package/src/utils/execAsync.ts +16 -13
- package/src/utils/reflection/FunctionLike.d.ts +1 -0
- package/src/utils/reflection/InstancePropertyDescriptorMap.d.ts +4 -4
- package/src/utils/reflection/InstanceTypeOrSelfPropertyDescriptorMap.d.ts +6 -6
- package/src/utils/reflection/OwnGetterDescriptorMap.d.ts +2 -2
- package/src/utils/reflection/OwnKeyOf.d.ts +3 -3
- package/src/utils/reflection/OwnPropertyDescriptorMap.d.ts +3 -3
- package/src/utils/reflection/PropertyDescriptorMap.d.ts +3 -3
- package/src/utils/reflection/filterForGetters.ts +10 -10
- package/src/utils/reflection/getOwnPropertyDescriptors.ts +2 -2
- package/src/utils/reflection/getOwnPropertyDescriptorsRecursively.ts +13 -13
- package/src/utils/reflection/getPrototypeChainOf.ts +17 -17
- package/src/utils/reflection/getPrototypeOf.ts +2 -2
- package/src/utils/reflection/inheritance.ts +5 -4
- package/src/utils/reflection/isConstructor.ts +7 -7
- package/src/utils/reflection/listOwnGetters.ts +8 -8
- package/tsconfig.base.json +2 -0
|
@@ -6,7 +6,7 @@ import { listOwnGetters } from "../utils/reflection/listOwnGetters.mjs";
|
|
|
6
6
|
import "../utils/reflection.mjs";
|
|
7
7
|
import { type } from "arktype";
|
|
8
8
|
//#region src/dotnet/NugetProjectProperties.ts
|
|
9
|
-
const
|
|
9
|
+
const Type_RepoType = type("\"\"|\"git\"|\"tfs\"");
|
|
10
10
|
const Type_SymbolPackageFormat = type("\"symbols.nupkg\" | \"snupkg\"");
|
|
11
11
|
/**
|
|
12
12
|
* A readonly record of a .csproj or .fsproj with NuGet configuration properties in
|
|
@@ -70,8 +70,6 @@ var NugetProjectProperties = class NugetProjectProperties extends MSBuildProject
|
|
|
70
70
|
if (value !== void 0) consumables.set(key, value);
|
|
71
71
|
}
|
|
72
72
|
super(msbuildProjectFullPath, properties);
|
|
73
|
-
/** convert values to strings */
|
|
74
|
-
for (const [value, key] of consumables.entries()) if (typeof value !== "string") consumables.set(key, String(value));
|
|
75
73
|
const _getAndForget = (key) => NugetProjectProperties.getAndForget(consumables, key);
|
|
76
74
|
let data;
|
|
77
75
|
this._authors = _getAndForget("Authors");
|
|
@@ -106,7 +104,7 @@ var NugetProjectProperties = class NugetProjectProperties extends MSBuildProject
|
|
|
106
104
|
this._packageVersion = _getAndForget("PackageVersion");
|
|
107
105
|
this._product = _getAndForget("Product");
|
|
108
106
|
this._repositoryCommit = _getAndForget("RepositoryCommit");
|
|
109
|
-
if (
|
|
107
|
+
if (Type_RepoType.allows(data = _getAndForget("RepositoryType"))) this._repositoryType = data;
|
|
110
108
|
this._repositoryUrl = _getAndForget("RepositoryUrl");
|
|
111
109
|
if (tBooleanString.allows(data = _getAndForget("SuppressDependenciesWhenPacking"))) this._suppressDependenciesWhenPacking = data;
|
|
112
110
|
if (Type_SymbolPackageFormat.allows(data = _getAndForget("SymbolPackageFormat"))) this._symbolPackageFormat = data;
|
|
@@ -494,24 +492,24 @@ var NugetProjectProperties = class NugetProjectProperties extends MSBuildProject
|
|
|
494
492
|
};
|
|
495
493
|
var NPPGetterNames = class {
|
|
496
494
|
static _prototypeChain;
|
|
497
|
-
static get PrototypeChain() {
|
|
498
|
-
return this._prototypeChain ??= getPrototypesChainOf(NugetProjectProperties, "classes");
|
|
499
|
-
}
|
|
500
495
|
static _instanceGetters;
|
|
501
496
|
static _instanceGettersRecursive;
|
|
502
497
|
static _StaticGetters;
|
|
503
498
|
static _StaticGettersRecursive;
|
|
499
|
+
static get PrototypeChain() {
|
|
500
|
+
return this._prototypeChain ??= getPrototypesChainOf(NugetProjectProperties, "classes");
|
|
501
|
+
}
|
|
504
502
|
static get InstanceGetters() {
|
|
505
503
|
return this._instanceGetters ??= listOwnGetters(NugetProjectProperties, "Instance");
|
|
506
504
|
}
|
|
507
505
|
static get InstanceGettersRecursive() {
|
|
508
|
-
return this._instanceGettersRecursive ??= this.PrototypeChain.flatMap((
|
|
506
|
+
return this._instanceGettersRecursive ??= this.PrototypeChain.flatMap((prototype) => listOwnGetters(prototype, "Instance"));
|
|
509
507
|
}
|
|
510
508
|
static get StaticGetters() {
|
|
511
509
|
return this._StaticGetters ??= listOwnGetters(NugetProjectProperties, "Static");
|
|
512
510
|
}
|
|
513
511
|
static get StaticGettersRecursive() {
|
|
514
|
-
return this._StaticGettersRecursive ??= this.PrototypeChain.flatMap((
|
|
512
|
+
return this._StaticGettersRecursive ??= this.PrototypeChain.flatMap((prototype) => listOwnGetters(prototype, "Static"));
|
|
515
513
|
}
|
|
516
514
|
};
|
|
517
515
|
/** @module NugetProjectProperties */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NugetProjectProperties.mjs","names":[],"sources":["../../src/dotnet/NugetProjectProperties.ts"],"sourcesContent":["import { type } from 'arktype';\nimport { CaseInsensitiveMap } from '../CaseInsensitiveMap.ts';\nimport {\n tBooleanString,\n tEmptyOrBooleanString,\n type BooleanString,\n type EmptyOrBooleanString,\n} from '../utils/miscTypes.ts';\nimport {\n getPrototypesChainOf,\n listOwnGetters,\n type ClassLike,\n type ProtoChainOfClass,\n type WithProto,\n} from '../utils/reflection.ts';\nimport { MSBuildProjectProperties, type Class_MSBPP } from './MSBuildProjectProperties.ts';\n\nconst Type_RepositoryType: type<'' | 'git' | 'tfs'> = type('\"\"|\"git\"|\"tfs\"');\nconst Type_SymbolPackageFormat: type<'symbols.nupkg' | 'snupkg'> = type('\"symbols.nupkg\" | \"snupkg\"');\n\n/**\n * A readonly record of a .csproj or .fsproj with NuGet configuration properties in\n * addition to those specified by {@link MSBuildProjectProperties}. This record\n * should be considered immutable. A new instance should be constructed from MSBuild's evaluation output.\n * @see https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#pack-target-inputs\n */\nexport class NugetProjectProperties extends MSBuildProjectProperties {\n // #region private\n private _isPackable: BooleanString | undefined;\n private _suppressDependenciesWhenPacking: BooleanString | undefined;\n private _packageVersion: string | undefined;\n private _packageId: string | undefined;\n private _packageDescription: string | undefined;\n private _authors: string | undefined;\n private _copyright: string | undefined;\n private _packageRequireLicenseAcceptance: BooleanString | undefined;\n private _developmentDependency: EmptyOrBooleanString | undefined;\n private _packageLicenseExpression: string | undefined;\n private _packageLicenseFile: string | undefined;\n private _packageProjectUrl: string | undefined;\n private _packageIcon: string | undefined;\n private _packageReleaseNotes: string | undefined;\n private _packageReadmeFile: string | undefined;\n private _packageTags: string | undefined;\n private _packageOutputPath: string | undefined;\n private _includeSymbols: EmptyOrBooleanString | undefined;\n private _includeSource: EmptyOrBooleanString | undefined;\n private _packageType: string | undefined;\n private _isTool: EmptyOrBooleanString | undefined;\n private _repositoryUrl: string | undefined;\n private _repositoryType: '' | 'git' | 'tfs' | undefined;\n private _repositoryCommit: string | undefined;\n private _symbolPackageFormat: 'symbols.nupkg' | 'snupkg' | undefined;\n private _noPackageAnalysis: EmptyOrBooleanString | undefined;\n private _minClientVersion: string | undefined;\n private _includeBuiltOutput: BooleanString | undefined;\n private _includeContentInPack: BooleanString | undefined;\n private _buildOutputTargetFolder: string | undefined;\n private _contentTargetFolders: string | undefined;\n private _nuspecFile: string | undefined;\n private _nuspecBasePath: string | undefined;\n private _nuspecProperties: string | undefined;\n private _title: string | undefined;\n private _company: string | undefined;\n private _product: string | undefined;\n // #endregion private\n\n /**\n * Initialize a readonly record of an MSBuild project's properties, including those related to NuGet.\n * @param msbuildProjectFullPath See {@link NugetProjectProperties.MSBuildProjectFullPath}\n * @param properties The dictionary returned by MSBuild's `-getProperty:propname,...` argument\n */\n constructor(\n msbuildProjectFullPath: string,\n properties: CaseInsensitiveMap<string, string>,\n ) {\n /**\n * names of properties to consume in this constructor instead of its super.\n * These are the names of getters, lowercased.\n */\n const keysToMoveOut = NPPGetterNames.InstanceGetters;\n /** Entries to remove from {@link properties} and apply to `this` after calling `super` */\n const consumables = new CaseInsensitiveMap<string, string>();\n // move property by key from `properties` to `consumables`. The types of keys and values in `properties` do not matter here.\n for (const key of keysToMoveOut) {\n const value = NugetProjectProperties.getAndForget(properties, key);\n if (value !== undefined)\n consumables.set(key, value);\n }\n\n // Pass the remainder to super\n super(msbuildProjectFullPath, properties);\n\n /** convert values to strings */\n for (const [value, key] of consumables.entries()) {\n if (typeof value !== 'string')\n consumables.set(key, String(value));\n }\n\n const _getAndForget = (key: string) => NugetProjectProperties.getAndForget(consumables, key);\n let data;\n this._authors = _getAndForget('Authors');\n this._buildOutputTargetFolder = _getAndForget('BuildOutputTargetFolder');\n this._company = _getAndForget('Company');\n this._contentTargetFolders = _getAndForget('ContentTargetFolders');\n this._copyright = _getAndForget('Copyright');\n if (tEmptyOrBooleanString.allows(data = _getAndForget('DevelopmentDependency')))\n this._developmentDependency = data;\n if (tBooleanString.allows(data = _getAndForget('IncludeBuiltOutput')))\n this._includeBuiltOutput = data;\n if (tBooleanString.allows(data = _getAndForget('IncludeContentInPack')))\n this._includeContentInPack = data;\n if (tEmptyOrBooleanString.allows(data = _getAndForget('IncludeSource')))\n this._includeSource = data;\n if (tEmptyOrBooleanString.allows(data = _getAndForget('IncludeSymbols')))\n this._includeSymbols = data;\n if (tBooleanString.allows(data = _getAndForget('IsPackable')))\n this._isPackable = data;\n if (tEmptyOrBooleanString.allows(data = _getAndForget('IsTool')))\n this._isTool = data;\n this._minClientVersion = _getAndForget('MinClientVersion');\n if (tEmptyOrBooleanString.allows(data = _getAndForget('NoPackageAnalysis')))\n this._noPackageAnalysis = data;\n this._nuspecBasePath = _getAndForget('NuspecBasePath');\n this._nuspecFile = _getAndForget('NuspecFile');\n this._nuspecProperties = _getAndForget('NuspecProperties');\n this._packageDescription = _getAndForget('PackageDescription');\n this._packageIcon = _getAndForget('PackageIcon');\n this._packageId = _getAndForget('PackageId');\n this._packageLicenseExpression = _getAndForget('PackageLicenseExpression');\n this._packageLicenseFile = _getAndForget('PackageLicenseFile');\n this._packageOutputPath = _getAndForget('PackageOutputPath');\n this._packageProjectUrl = _getAndForget('PackageProjectUrl');\n this._packageReadmeFile = _getAndForget('PackageReadmeFile');\n this._packageReleaseNotes = _getAndForget('PackageReleaseNotes');\n if (tBooleanString.allows(data = _getAndForget('PackageRequireLicenseAcceptance')))\n this._packageRequireLicenseAcceptance = data;\n this._packageTags = _getAndForget('PackageTags');\n this._packageType = _getAndForget('PackageType');\n this._packageVersion = _getAndForget('PackageVersion');\n this._product = _getAndForget('Product');\n this._repositoryCommit = _getAndForget('RepositoryCommit');\n if (Type_RepositoryType.allows(data = _getAndForget('RepositoryType')))\n this._repositoryType = data;\n this._repositoryUrl = _getAndForget('RepositoryUrl');\n if (tBooleanString.allows(data = _getAndForget('SuppressDependenciesWhenPacking')))\n this._suppressDependenciesWhenPacking = data;\n if (Type_SymbolPackageFormat.allows(data = _getAndForget('SymbolPackageFormat')))\n this._symbolPackageFormat = data;\n this._title = _getAndForget('Title');\n }\n\n /**\n * @returns A string-formatted boolean. If 'false', the project's `Pack`\n * Target (if available) will no-op.\n *\n * Default: `\"true\"`\n */\n get IsPackable(): BooleanString {\n return this._isPackable ??= 'true';\n }\n\n /**\n * @returns `\"true\"` or `\"false\"`. If \"true\", the package's dependencies are\n * excluded from the generated NuGet package.\n *\n * Default: `\"false\"`\n */\n get SuppressDependenciesWhenPacking(): BooleanString {\n return this._suppressDependenciesWhenPacking ??= 'false';\n }\n\n /**\n * @returns A semver-compatible version number in the form\n * Major.Minor.Patch[-Suffix], where -Suffix identifies prerelease versions.\n *\n * Default: {@link Version}\n * @example \"1.0.0\", \"1.0.0-beta\", \"1.0.0-beta-00345\"\n */\n get PackageVersion(): string {\n return this._packageVersion ??= this.Version;\n }\n\n /**\n * @returns The ID of the resulting NuGet package.\n *\n * Default: {@link AssemblyName}\n */\n get PackageId(): string {\n return this._packageId ??= this.AssemblyName;\n }\n\n /**\n * @returns A long description of the package for UI display.\n *\n * Default: {@link Description}\n */\n get PackageDescription(): string {\n return this._packageDescription ??= this.Description;\n }\n\n /**\n * @returns A semicolon-separated list of the package's authors, matching the\n * profile names on nuget.org. These are displayed in the NuGet Gallery on\n * nuget.org and are used to cross-reference packages by the same authors.\n *\n * Default: {@link AssemblyName `AssemblyName`}\n */\n get Authors(): string {\n return this._authors ??= this.AssemblyName;\n }\n\n /**\n * @returns Copyright details for the package.\n *\n * Default: `''`\n */\n get Copyright(): string {\n return this._copyright ??= '';\n }\n\n /**\n * @returns A string-formatted boolean. If `\"true\"`, the client must prompt the\n * consumer to accept the package license before installing the package.\n *\n * Default: `\"false\"`\n */\n get PackageRequireLicenseAcceptance(): BooleanString {\n return this._packageRequireLicenseAcceptance ??= 'false';\n }\n\n /**\n * This boolean only affects the package created from the project.\n * @see\n * {@link https://github.com/NuGet/Home/wiki/DevelopmentDependency-support-for-PackageReference DevelopmentDependency support for PackageReference}\n * @returns A string-formatted boolean. If `\"true\"`, the package is marked as\n * a development-only dependency and is prevented from being included as a\n * dependency in other packages. With PackageReference (NuGet 4.8+), this flag\n * also means that compile-time assets are excluded from compilation.\n *\n * Default: `''` (`false`-y)\n */\n get DevelopmentDependency(): EmptyOrBooleanString {\n return this._developmentDependency ??= '';\n }\n\n /**\n * @returns The {@link https://spdx.org/licenses/ SPDX license identifier} or\n * expression.\n *\n * Default: `''`\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#packing-a-license-expression-or-a-license-file Packing a license expression or a license file}\n * @example \"Apache-2.0\"\n */\n get PackageLicenseExpression(): string {\n return this._packageLicenseExpression ??= '';\n }\n\n /**\n * @returns The path to a license file within the package if you're using a\n * custom license or a license that hasn't been assigned an SPDX identifier.\n *\n * Default: `''`\n */\n get PackageLicenseFile(): string {\n return this._packageLicenseFile ??= '';\n }\n\n /**\n * @returns The package's project URL.\n *\n * Default: `''`\n */\n get PackageProjectUrl(): string {\n return this._packageProjectUrl ??= '';\n }\n\n /**\n * @returns The package icon path, relative to the root of the package.\n *\n * Default: `''`\n * @description You must pack the referenced icon image file. By default, it\n * is not packed.\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#packing-an-icon-image-file Packing an icon image file},\n * {@link https://learn.microsoft.com/en-us/nuget/reference/nuspec#icon icon metadata}\n */\n get PackageIcon(): string {\n return this._packageIcon ??= '';\n }\n\n /**\n * @returns Release notes for the package.\n *\n * Default: `''`\n */\n get PackageReleaseNotes(): string {\n return this._packageReleaseNotes ??= '';\n }\n\n /**\n * @returns The path of the package's README file relative to the package's\n * root.\n *\n * Default: `''`\n * @description You must pack the referenced readme file. By default, it is\n * not packed.\n */\n get PackageReadmeFile(): string {\n return this._packageReadmeFile ??= '';\n }\n\n /**\n * @returns A semicolon-delimited list of tags that designates the package.\n *\n * Default : `''`\n */\n get PackageTags(): string {\n return this._packageTags ??= '';\n }\n\n /**\n * @returns A relative or absolute path determining the where the packed\n * package will be dropped.\n *\n * Default: {@link OutputPath}\n */\n get PackageOutputPath(): string {\n return this._packageOutputPath ??= this.OutputPath;\n }\n\n /**\n * @returns A string-formatted boolean indicating whether the package should\n * create an additional symbols package when the project is packed. The\n * symbols package's format is controlled by the `SymbolPackageFormat`\n * property.\n *\n * Default: `''` (false-y)\n * @description When using `MSBuild -t:pack -p:IncludeSymbols=true`, the\n * corresponding .pdb files are copied along with other output files (.dll,\n * .exe, .winmd, .xml, .json, .pri). Note that setting `IncludeSymbols=true`\n * creates a regular package and a symbols package.\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#includesymbols IncludeSymbols}\n */\n get IncludeSymbols(): EmptyOrBooleanString {\n return this._includeSymbols ??= '';\n }\n\n /**\n * @returns A string-formatted boolean indicating whether the pack process\n * should create a source package. The source package contains the library's\n * source code as well as PDB files. Source files are put under the\n * `src/ProjectName` directory in the resulting package file.\n *\n * Default: `''` (false-y)\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#includesource IncludeSource}\n */\n get IncludeSource(): EmptyOrBooleanString {\n return this._includeSource ??= '';\n }\n\n /**\n * @returns A semicolon-separated list of tags indicating the package's\n * intended use. Custom types are allowed, but cannot be installed via Visual\n * Studio nor nuget.exe. See https://github.com/NuGet/Home/issues/10468.\n *\n * Package types can be version e.g. `PackageType1, 1.0.0.0;PackageType2`\n *\n * Default: `''`\n * @example \"Dependency \", \"DotnetTool\", \"MSBuildSdk\", \"Template\"\n * @see {@link https://learn.microsoft.com/en-us/nuget/create-packages/set-package-type?tabs=dotnet Set a NuGet package type}\n */\n get PackageType(): string {\n return this._packageType ??= '';\n }\n\n /**\n * @returns A string-formatted boolean specifying whether all output files are\n * copied to the *tools* folder instead of the *lib* folder.\n *\n * Default: `''` (false-y)\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#istool IsTool}\n */\n get IsTool(): EmptyOrBooleanString {\n return this._isTool ??= '';\n }\n\n /**\n * @returns The repository URL used to clone or retrieve source code.\n *\n * Default: `''`\n * @example \"https://github.com/NuGet/NuGet.Client.git\".\n */\n get RepositoryUrl(): string {\n return this._repositoryUrl ??= '';\n }\n\n /**\n * @returns The repository type.\n *\n * Default: `''`\n * @example \"git\", \"fts\"\n */\n get RepositoryType(): typeof Type_RepositoryType.inferOut {\n return this._repositoryType ??= '';\n }\n\n /**\n * @returns The (optional) repository commit or changeset to indicate which\n * source the package was built against. {@link RepositoryUrl} must also be\n * specified for this property to be included.\n *\n * Default: `''`\n * @description This is evaluated only during the \"Pack\" and \"Publish\"\n * Targets. If using nuget.exe or Visual Studio, NuGet 4.7.0 or later is\n * required.\n * @example \"0e4d1b598f350b3dc675018d539114d1328189ef\"\n */\n get RepositoryCommit(): string {\n return this._repositoryCommit ??= '';\n }\n\n /**\n * @returns A string specifying the format of the symbols package. If\n * \"symbols.nupkg\", a legacy symbols package is created with a .symbols.nupkg\n * extension containing PDBs, DLLs, and other output files. If \"snupkg\", a\n * snupkg symbol package is created containing the portable PDBs. The default\n * is \"symbols.nupkg\".\n *\n * Default: \"symbols.nupkg\"\n * @example \"symbols.nupkg\", \"snupkg\"\n */\n get SymbolPackageFormat(): typeof Type_SymbolPackageFormat.inferOut {\n return this._symbolPackageFormat ??= 'symbols.nupkg';\n }\n\n /**\n * @returns A string-formatted boolean specifying that `pack` should not run\n * package analysis after building the package.\n *\n * Default: `''` (false-y)\n */\n get NoPackageAnalysis(): EmptyOrBooleanString {\n return this._noPackageAnalysis ??= '';\n }\n\n /**\n * @returns A string specifying the minimum version of the NuGet client that\n * can install this package, enforced by nuget.exe and the Visual Studio\n * Package Manager.\n *\n * Default: `''`\n */\n get MinClientVersion(): string {\n return this._minClientVersion ??= '';\n }\n\n /**\n * @returns A string-formatted boolean value specifying whether the build\n * output assemblies should be packed into the .nupkg file or not.\n *\n * Default: `\"true\"`\n */\n get IncludeBuildOutput(): BooleanString {\n return this._includeBuiltOutput ??= 'true';\n }\n\n /**\n * @returns A string-formatted boolean specifying whether any items that have\n * a type of Content are included in the resulting package automatically.\n *\n * Default: `\"true\"`\n */\n get IncludeContentInPack(): BooleanString {\n return this._includeContentInPack ??= 'true';\n }\n\n /**\n * @returns The output directory of the output assemblies relative to the root\n * of the package. The output assemblies (and other output files) are copied\n * into their respective framework folders.\n *\n * Default: `''`\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#output-assemblies Output assemblies}\n */\n get BuildOutputTargetFolder(): string {\n return this._buildOutputTargetFolder ??= '';\n }\n\n /**\n * @returns A semicolon-separated list of default locations of where all the\n * content files should go if `PackagePath` is not specified for them.\n *\n * Default: `\"content;contentFiles\"`\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#including-content-in-a-package Including content in a package}\n */\n get ContentTargetFolders(): string {\n return this._contentTargetFolders ??= 'content;contentFiles';\n }\n\n /**\n * @returns The relative or absolute path to the `*.nuspec` file being used\n * for packing. If specified, it's used **exclusively** for packaging\n * information, and any information in the projects is not used.\n *\n * Default: `''`\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#packing-using-a-nuspec-file Packing using a .nuspec}\n */\n get NuspecFile(): string {\n return this._nuspecFile ??= '';\n }\n\n /**\n * @returns The base path for the *.nuspec* file.\n *\n * Default: `''`\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#packing-using-a-nuspec-file Packing using a .nuspec}\n */\n get NuspecBasePath(): string {\n return this._nuspecBasePath ??= '';\n }\n\n /**\n * @returns A semicolon-separated list of key=value pairs.\n *\n * Default: `''`\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#packing-using-a-nuspec-file Packing using a .nuspec}\n */\n get NuspecProperties(): string {\n return this._nuspecProperties ??= '';\n }\n\n /**\n * @returns A human-friendly title of the package, typically used in UI displays as\n * on nuget.org and the Package Manager in Visual Studio.\n * Default: {@link PackageId}\n */\n get Title(): string {\n return this._title ??= this.PackageId;\n }\n\n /**\n * @returns Company name or information.\n *\n * Default: {@link Authors}\n */\n get Company(): string {\n return this._company ??= this.Authors;\n }\n\n /**\n * @returns Product name or information.\n *\n * Default: {@link AssemblyName}\n */\n get Product(): string {\n return this._product ??= this.AssemblyName;\n }\n}\n\nexport type Class_NPP = ClassLike<\n typeof NugetProjectProperties\n & WithProto<Class_MSBPP>\n>;\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class NPPGetterNames {\n private static _prototypeChain: ProtoChainOfClass<Class_NPP> | undefined;\n private static get PrototypeChain(): [Class_NPP, Class_MSBPP] {\n return this._prototypeChain ??= getPrototypesChainOf(NugetProjectProperties as Class_NPP, 'classes');\n }\n\n private static _instanceGetters: Exclude<keyof NugetProjectProperties, keyof MSBuildProjectProperties>[] | undefined;\n private static _instanceGettersRecursive: (keyof NugetProjectProperties)[] | undefined;\n private static _StaticGetters: never[] | undefined;\n private static _StaticGettersRecursive: (keyof typeof NugetProjectProperties)[] | undefined;\n\n public static get InstanceGetters(): Exclude<keyof NugetProjectProperties, keyof MSBuildProjectProperties>[] {\n return this._instanceGetters ??= listOwnGetters(NugetProjectProperties as Class_NPP, 'Instance');\n }\n\n public static get InstanceGettersRecursive(): (keyof NugetProjectProperties)[] {\n return this._instanceGettersRecursive ??= this.PrototypeChain.flatMap(\n proto => listOwnGetters<typeof proto, 'Instance'>(proto, 'Instance'),\n );\n }\n\n public static get StaticGetters(): never[] {\n return this._StaticGetters ??= listOwnGetters(NugetProjectProperties as Class_NPP, 'Static');\n };\n\n public static get StaticGettersRecursive(): ('prototype' | 'GetFullPath')[] {\n return this._StaticGettersRecursive ??= this.PrototypeChain.flatMap(\n proto => listOwnGetters(proto, 'Static'),\n );\n }\n}\n\n/** @module NugetProjectProperties */\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NugetProjectProperties.mjs","names":[],"sources":["../../src/dotnet/NugetProjectProperties.ts"],"sourcesContent":["import { type } from 'arktype';\nimport { CaseInsensitiveMap } from '../CaseInsensitiveMap.ts';\nimport {\n tBooleanString,\n tEmptyOrBooleanString,\n type BooleanString,\n type EmptyOrBooleanString,\n} from '../utils/miscTypes.ts';\nimport {\n getPrototypesChainOf,\n listOwnGetters,\n type ClassLike,\n type ProtoChainOfClass as PrototypeChainOfClass,\n type WithProto as WithPrototype,\n} from '../utils/reflection.ts';\nimport { MSBuildProjectProperties, type Class_MSBPP } from './MSBuildProjectProperties.ts';\n\nconst Type_RepoType: type<'' | 'git' | 'tfs'> = type('\"\"|\"git\"|\"tfs\"');\nconst Type_SymbolPackageFormat: type<'symbols.nupkg' | 'snupkg'> = type('\"symbols.nupkg\" | \"snupkg\"');\n\n/**\n * A readonly record of a .csproj or .fsproj with NuGet configuration properties in\n * addition to those specified by {@link MSBuildProjectProperties}. This record\n * should be considered immutable. A new instance should be constructed from MSBuild's evaluation output.\n * @see https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#pack-target-inputs\n */\nexport class NugetProjectProperties extends MSBuildProjectProperties {\n // #region private\n private _isPackable: BooleanString | undefined;\n private _suppressDependenciesWhenPacking: BooleanString | undefined;\n private _packageVersion: string | undefined;\n private _packageId: string | undefined;\n private _packageDescription: string | undefined;\n private _authors: string | undefined;\n private _copyright: string | undefined;\n private _packageRequireLicenseAcceptance: BooleanString | undefined;\n private _developmentDependency: EmptyOrBooleanString | undefined;\n private _packageLicenseExpression: string | undefined;\n private _packageLicenseFile: string | undefined;\n private _packageProjectUrl: string | undefined;\n private _packageIcon: string | undefined;\n private _packageReleaseNotes: string | undefined;\n private _packageReadmeFile: string | undefined;\n private _packageTags: string | undefined;\n private _packageOutputPath: string | undefined;\n private _includeSymbols: EmptyOrBooleanString | undefined;\n private _includeSource: EmptyOrBooleanString | undefined;\n private _packageType: string | undefined;\n private _isTool: EmptyOrBooleanString | undefined;\n private _repositoryUrl: string | undefined;\n private _repositoryType: '' | 'git' | 'tfs' | undefined;\n private _repositoryCommit: string | undefined;\n private _symbolPackageFormat: 'symbols.nupkg' | 'snupkg' | undefined;\n private _noPackageAnalysis: EmptyOrBooleanString | undefined;\n private _minClientVersion: string | undefined;\n private _includeBuiltOutput: BooleanString | undefined;\n private _includeContentInPack: BooleanString | undefined;\n private _buildOutputTargetFolder: string | undefined;\n private _contentTargetFolders: string | undefined;\n private _nuspecFile: string | undefined;\n private _nuspecBasePath: string | undefined;\n private _nuspecProperties: string | undefined;\n private _title: string | undefined;\n private _company: string | undefined;\n private _product: string | undefined;\n // #endregion private\n\n /**\n * Initialize a readonly record of an MSBuild project's properties, including those related to NuGet.\n * @param msbuildProjectFullPath See {@link NugetProjectProperties.MSBuildProjectFullPath}\n * @param properties The dictionary returned by MSBuild's `-getProperty:propname,...` argument\n */\n constructor(\n msbuildProjectFullPath: string,\n properties: CaseInsensitiveMap<string, string>,\n ) {\n /**\n * names of properties to consume in this constructor instead of its super.\n * These are the names of getters, lowercased.\n */\n const keysToMoveOut = NPPGetterNames.InstanceGetters;\n /** Entries to remove from {@link properties} and apply to `this` after calling `super` */\n const consumables = new CaseInsensitiveMap<string, string>();\n // move property by key from `properties` to `consumables`. The types of keys and values in `properties` do not matter here.\n for (const key of keysToMoveOut) {\n const value = NugetProjectProperties.getAndForget(properties, key);\n if (value !== undefined)\n consumables.set(key, value);\n }\n\n // Pass the remainder to super\n super(msbuildProjectFullPath, properties);\n\n const _getAndForget = (key: string) => NugetProjectProperties.getAndForget(consumables, key);\n let data;\n this._authors = _getAndForget('Authors');\n this._buildOutputTargetFolder = _getAndForget('BuildOutputTargetFolder');\n this._company = _getAndForget('Company');\n this._contentTargetFolders = _getAndForget('ContentTargetFolders');\n this._copyright = _getAndForget('Copyright');\n if (tEmptyOrBooleanString.allows(data = _getAndForget('DevelopmentDependency')))\n this._developmentDependency = data;\n if (tBooleanString.allows(data = _getAndForget('IncludeBuiltOutput')))\n this._includeBuiltOutput = data;\n if (tBooleanString.allows(data = _getAndForget('IncludeContentInPack')))\n this._includeContentInPack = data;\n if (tEmptyOrBooleanString.allows(data = _getAndForget('IncludeSource')))\n this._includeSource = data;\n if (tEmptyOrBooleanString.allows(data = _getAndForget('IncludeSymbols')))\n this._includeSymbols = data;\n if (tBooleanString.allows(data = _getAndForget('IsPackable')))\n this._isPackable = data;\n if (tEmptyOrBooleanString.allows(data = _getAndForget('IsTool')))\n this._isTool = data;\n this._minClientVersion = _getAndForget('MinClientVersion');\n if (tEmptyOrBooleanString.allows(data = _getAndForget('NoPackageAnalysis')))\n this._noPackageAnalysis = data;\n this._nuspecBasePath = _getAndForget('NuspecBasePath');\n this._nuspecFile = _getAndForget('NuspecFile');\n this._nuspecProperties = _getAndForget('NuspecProperties');\n this._packageDescription = _getAndForget('PackageDescription');\n this._packageIcon = _getAndForget('PackageIcon');\n this._packageId = _getAndForget('PackageId');\n this._packageLicenseExpression = _getAndForget('PackageLicenseExpression');\n this._packageLicenseFile = _getAndForget('PackageLicenseFile');\n this._packageOutputPath = _getAndForget('PackageOutputPath');\n this._packageProjectUrl = _getAndForget('PackageProjectUrl');\n this._packageReadmeFile = _getAndForget('PackageReadmeFile');\n this._packageReleaseNotes = _getAndForget('PackageReleaseNotes');\n if (tBooleanString.allows(data = _getAndForget('PackageRequireLicenseAcceptance')))\n this._packageRequireLicenseAcceptance = data;\n this._packageTags = _getAndForget('PackageTags');\n this._packageType = _getAndForget('PackageType');\n this._packageVersion = _getAndForget('PackageVersion');\n this._product = _getAndForget('Product');\n this._repositoryCommit = _getAndForget('RepositoryCommit');\n if (Type_RepoType.allows(data = _getAndForget('RepositoryType')))\n this._repositoryType = data;\n this._repositoryUrl = _getAndForget('RepositoryUrl');\n if (tBooleanString.allows(data = _getAndForget('SuppressDependenciesWhenPacking')))\n this._suppressDependenciesWhenPacking = data;\n if (Type_SymbolPackageFormat.allows(data = _getAndForget('SymbolPackageFormat')))\n this._symbolPackageFormat = data;\n this._title = _getAndForget('Title');\n }\n\n /**\n * @returns A string-formatted boolean. If 'false', the project's `Pack`\n * Target (if available) will no-op.\n *\n * Default: `\"true\"`\n */\n get IsPackable(): BooleanString {\n return this._isPackable ??= 'true';\n }\n\n /**\n * @returns `\"true\"` or `\"false\"`. If \"true\", the package's dependencies are\n * excluded from the generated NuGet package.\n *\n * Default: `\"false\"`\n */\n get SuppressDependenciesWhenPacking(): BooleanString {\n return this._suppressDependenciesWhenPacking ??= 'false';\n }\n\n /**\n * @returns A semver-compatible version number in the form\n * Major.Minor.Patch[-Suffix], where -Suffix identifies prerelease versions.\n *\n * Default: {@link Version}\n * @example \"1.0.0\", \"1.0.0-beta\", \"1.0.0-beta-00345\"\n */\n get PackageVersion(): string {\n return this._packageVersion ??= this.Version;\n }\n\n /**\n * @returns The ID of the resulting NuGet package.\n *\n * Default: {@link AssemblyName}\n */\n get PackageId(): string {\n return this._packageId ??= this.AssemblyName;\n }\n\n /**\n * @returns A long description of the package for UI display.\n *\n * Default: {@link Description}\n */\n get PackageDescription(): string {\n return this._packageDescription ??= this.Description;\n }\n\n /**\n * @returns A semicolon-separated list of the package's authors, matching the\n * profile names on nuget.org. These are displayed in the NuGet Gallery on\n * nuget.org and are used to cross-reference packages by the same authors.\n *\n * Default: {@link AssemblyName `AssemblyName`}\n */\n get Authors(): string {\n return this._authors ??= this.AssemblyName;\n }\n\n /**\n * @returns Copyright details for the package.\n *\n * Default: `''`\n */\n get Copyright(): string {\n return this._copyright ??= '';\n }\n\n /**\n * @returns A string-formatted boolean. If `\"true\"`, the client must prompt the\n * consumer to accept the package license before installing the package.\n *\n * Default: `\"false\"`\n */\n get PackageRequireLicenseAcceptance(): BooleanString {\n return this._packageRequireLicenseAcceptance ??= 'false';\n }\n\n /**\n * This boolean only affects the package created from the project.\n * @see\n * {@link https://github.com/NuGet/Home/wiki/DevelopmentDependency-support-for-PackageReference DevelopmentDependency support for PackageReference}\n * @returns A string-formatted boolean. If `\"true\"`, the package is marked as\n * a development-only dependency and is prevented from being included as a\n * dependency in other packages. With PackageReference (NuGet 4.8+), this flag\n * also means that compile-time assets are excluded from compilation.\n *\n * Default: `''` (`false`-y)\n */\n get DevelopmentDependency(): EmptyOrBooleanString {\n return this._developmentDependency ??= '';\n }\n\n /**\n * @returns The {@link https://spdx.org/licenses/ SPDX license identifier} or\n * expression.\n *\n * Default: `''`\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#packing-a-license-expression-or-a-license-file Packing a license expression or a license file}\n * @example \"Apache-2.0\"\n */\n get PackageLicenseExpression(): string {\n return this._packageLicenseExpression ??= '';\n }\n\n /**\n * @returns The path to a license file within the package if you're using a\n * custom license or a license that hasn't been assigned an SPDX identifier.\n *\n * Default: `''`\n */\n get PackageLicenseFile(): string {\n return this._packageLicenseFile ??= '';\n }\n\n /**\n * @returns The package's project URL.\n *\n * Default: `''`\n */\n get PackageProjectUrl(): string {\n return this._packageProjectUrl ??= '';\n }\n\n /**\n * @returns The package icon path, relative to the root of the package.\n *\n * Default: `''`\n * @description You must pack the referenced icon image file. By default, it\n * is not packed.\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#packing-an-icon-image-file Packing an icon image file},\n * {@link https://learn.microsoft.com/en-us/nuget/reference/nuspec#icon icon metadata}\n */\n get PackageIcon(): string {\n return this._packageIcon ??= '';\n }\n\n /**\n * @returns Release notes for the package.\n *\n * Default: `''`\n */\n get PackageReleaseNotes(): string {\n return this._packageReleaseNotes ??= '';\n }\n\n /**\n * @returns The path of the package's README file relative to the package's\n * root.\n *\n * Default: `''`\n * @description You must pack the referenced readme file. By default, it is\n * not packed.\n */\n get PackageReadmeFile(): string {\n return this._packageReadmeFile ??= '';\n }\n\n /**\n * @returns A semicolon-delimited list of tags that designates the package.\n *\n * Default : `''`\n */\n get PackageTags(): string {\n return this._packageTags ??= '';\n }\n\n /**\n * @returns A relative or absolute path determining the where the packed\n * package will be dropped.\n *\n * Default: {@link OutputPath}\n */\n get PackageOutputPath(): string {\n return this._packageOutputPath ??= this.OutputPath;\n }\n\n /**\n * @returns A string-formatted boolean indicating whether the package should\n * create an additional symbols package when the project is packed. The\n * symbols package's format is controlled by the `SymbolPackageFormat`\n * property.\n *\n * Default: `''` (false-y)\n * @description When using `MSBuild -t:pack -p:IncludeSymbols=true`, the\n * corresponding .pdb files are copied along with other output files (.dll,\n * .exe, .winmd, .xml, .json, .pri). Note that setting `IncludeSymbols=true`\n * creates a regular package and a symbols package.\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#includesymbols IncludeSymbols}\n */\n get IncludeSymbols(): EmptyOrBooleanString {\n return this._includeSymbols ??= '';\n }\n\n /**\n * @returns A string-formatted boolean indicating whether the pack process\n * should create a source package. The source package contains the library's\n * source code as well as PDB files. Source files are put under the\n * `src/ProjectName` directory in the resulting package file.\n *\n * Default: `''` (false-y)\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#includesource IncludeSource}\n */\n get IncludeSource(): EmptyOrBooleanString {\n return this._includeSource ??= '';\n }\n\n /**\n * @returns A semicolon-separated list of tags indicating the package's\n * intended use. Custom types are allowed, but cannot be installed via Visual\n * Studio nor nuget.exe. See https://github.com/NuGet/Home/issues/10468.\n *\n * Package types can be version e.g. `PackageType1, 1.0.0.0;PackageType2`\n *\n * Default: `''`\n * @example \"Dependency \", \"DotnetTool\", \"MSBuildSdk\", \"Template\"\n * @see {@link https://learn.microsoft.com/en-us/nuget/create-packages/set-package-type?tabs=dotnet Set a NuGet package type}\n */\n get PackageType(): string {\n return this._packageType ??= '';\n }\n\n /**\n * @returns A string-formatted boolean specifying whether all output files are\n * copied to the *tools* folder instead of the *lib* folder.\n *\n * Default: `''` (false-y)\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#istool IsTool}\n */\n get IsTool(): EmptyOrBooleanString {\n return this._isTool ??= '';\n }\n\n /**\n * @returns The repository URL used to clone or retrieve source code.\n *\n * Default: `''`\n * @example \"https://github.com/NuGet/NuGet.Client.git\".\n */\n get RepositoryUrl(): string {\n return this._repositoryUrl ??= '';\n }\n\n /**\n * @returns The repository type.\n *\n * Default: `''`\n * @example \"git\", \"fts\"\n */\n get RepositoryType(): typeof Type_RepoType.inferOut {\n return this._repositoryType ??= '';\n }\n\n /**\n * @returns The (optional) repository commit or changeset to indicate which\n * source the package was built against. {@link RepositoryUrl} must also be\n * specified for this property to be included.\n *\n * Default: `''`\n * @description This is evaluated only during the \"Pack\" and \"Publish\"\n * Targets. If using nuget.exe or Visual Studio, NuGet 4.7.0 or later is\n * required.\n * @example \"0e4d1b598f350b3dc675018d539114d1328189ef\"\n */\n get RepositoryCommit(): string {\n return this._repositoryCommit ??= '';\n }\n\n /**\n * @returns A string specifying the format of the symbols package. If\n * \"symbols.nupkg\", a legacy symbols package is created with a .symbols.nupkg\n * extension containing PDBs, DLLs, and other output files. If \"snupkg\", a\n * snupkg symbol package is created containing the portable PDBs. The default\n * is \"symbols.nupkg\".\n *\n * Default: \"symbols.nupkg\"\n * @example \"symbols.nupkg\", \"snupkg\"\n */\n get SymbolPackageFormat(): typeof Type_SymbolPackageFormat.inferOut {\n return this._symbolPackageFormat ??= 'symbols.nupkg';\n }\n\n /**\n * @returns A string-formatted boolean specifying that `pack` should not run\n * package analysis after building the package.\n *\n * Default: `''` (false-y)\n */\n get NoPackageAnalysis(): EmptyOrBooleanString {\n return this._noPackageAnalysis ??= '';\n }\n\n /**\n * @returns A string specifying the minimum version of the NuGet client that\n * can install this package, enforced by nuget.exe and the Visual Studio\n * Package Manager.\n *\n * Default: `''`\n */\n get MinClientVersion(): string {\n return this._minClientVersion ??= '';\n }\n\n /**\n * @returns A string-formatted boolean value specifying whether the build\n * output assemblies should be packed into the .nupkg file or not.\n *\n * Default: `\"true\"`\n */\n get IncludeBuildOutput(): BooleanString {\n return this._includeBuiltOutput ??= 'true';\n }\n\n /**\n * @returns A string-formatted boolean specifying whether any items that have\n * a type of Content are included in the resulting package automatically.\n *\n * Default: `\"true\"`\n */\n get IncludeContentInPack(): BooleanString {\n return this._includeContentInPack ??= 'true';\n }\n\n /**\n * @returns The output directory of the output assemblies relative to the root\n * of the package. The output assemblies (and other output files) are copied\n * into their respective framework folders.\n *\n * Default: `''`\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#output-assemblies Output assemblies}\n */\n get BuildOutputTargetFolder(): string {\n return this._buildOutputTargetFolder ??= '';\n }\n\n /**\n * @returns A semicolon-separated list of default locations of where all the\n * content files should go if `PackagePath` is not specified for them.\n *\n * Default: `\"content;contentFiles\"`\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#including-content-in-a-package Including content in a package}\n */\n get ContentTargetFolders(): string {\n return this._contentTargetFolders ??= 'content;contentFiles';\n }\n\n /**\n * @returns The relative or absolute path to the `*.nuspec` file being used\n * for packing. If specified, it's used **exclusively** for packaging\n * information, and any information in the projects is not used.\n *\n * Default: `''`\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#packing-using-a-nuspec-file Packing using a .nuspec}\n */\n get NuspecFile(): string {\n return this._nuspecFile ??= '';\n }\n\n /**\n * @returns The base path for the *.nuspec* file.\n *\n * Default: `''`\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#packing-using-a-nuspec-file Packing using a .nuspec}\n */\n get NuspecBasePath(): string {\n return this._nuspecBasePath ??= '';\n }\n\n /**\n * @returns A semicolon-separated list of key=value pairs.\n *\n * Default: `''`\n * @see\n * {@link https://learn.microsoft.com/en-us/nuget/reference/msbuild-targets#packing-using-a-nuspec-file Packing using a .nuspec}\n */\n get NuspecProperties(): string {\n return this._nuspecProperties ??= '';\n }\n\n /**\n * @returns A human-friendly title of the package, typically used in UI displays as\n * on nuget.org and the Package Manager in Visual Studio.\n * Default: {@link PackageId}\n */\n get Title(): string {\n return this._title ??= this.PackageId;\n }\n\n /**\n * @returns Company name or information.\n *\n * Default: {@link Authors}\n */\n get Company(): string {\n return this._company ??= this.Authors;\n }\n\n /**\n * @returns Product name or information.\n *\n * Default: {@link AssemblyName}\n */\n get Product(): string {\n return this._product ??= this.AssemblyName;\n }\n}\n\nexport type Class_NPP = ClassLike<\n typeof NugetProjectProperties\n & WithPrototype<Class_MSBPP>\n>;\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class NPPGetterNames {\n private static _prototypeChain: PrototypeChainOfClass<Class_NPP> | undefined;\n\n private static _instanceGetters: Exclude<keyof NugetProjectProperties, keyof MSBuildProjectProperties>[] | undefined;\n private static _instanceGettersRecursive: (keyof NugetProjectProperties)[] | undefined;\n private static _StaticGetters: never[] | undefined;\n private static _StaticGettersRecursive: (keyof typeof NugetProjectProperties)[] | undefined;\n\n private static get PrototypeChain(): [Class_NPP, Class_MSBPP] {\n return this._prototypeChain ??= getPrototypesChainOf(NugetProjectProperties as Class_NPP, 'classes');\n }\n\n public static get InstanceGetters(): Exclude<keyof NugetProjectProperties, keyof MSBuildProjectProperties>[] {\n return this._instanceGetters ??= listOwnGetters(NugetProjectProperties as Class_NPP, 'Instance');\n }\n\n public static get InstanceGettersRecursive(): (keyof NugetProjectProperties)[] {\n return this._instanceGettersRecursive ??= this.PrototypeChain.flatMap(\n prototype => listOwnGetters<typeof prototype, 'Instance'>(prototype, 'Instance'),\n );\n }\n\n public static get StaticGetters(): never[] {\n return this._StaticGetters ??= listOwnGetters(NugetProjectProperties as Class_NPP, 'Static');\n };\n\n public static get StaticGettersRecursive(): ('prototype' | 'GetFullPath')[] {\n return this._StaticGettersRecursive ??= this.PrototypeChain.flatMap(\n prototype => listOwnGetters(prototype, 'Static'),\n );\n }\n}\n\n/** @module NugetProjectProperties */\n"],"mappings":";;;;;;;;AAiBA,MAAM,gBAA0C,KAAK,sBAAgB;AACrE,MAAM,2BAA6D,KAAK,gCAA4B;;;;;;;AAQpG,IAAa,yBAAb,MAAa,+BAA+B,yBAAyB;CAEnE;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;;;;;;CAQA,YACE,wBACA,YACA;;;;;EAKA,MAAM,gBAAgB,eAAe;;EAErC,MAAM,cAAc,IAAI,mBAAmC;EAE3D,KAAK,MAAM,OAAO,eAAe;GAC/B,MAAM,QAAQ,uBAAuB,aAAa,YAAY,GAAG;GACjE,IAAI,UAAU,KAAA,GACZ,YAAY,IAAI,KAAK,KAAK;EAC9B;EAGA,MAAM,wBAAwB,UAAU;EAExC,MAAM,iBAAiB,QAAgB,uBAAuB,aAAa,aAAa,GAAG;EAC3F,IAAI;EACJ,KAAK,WAAW,cAAc,SAAS;EACvC,KAAK,2BAA2B,cAAc,yBAAyB;EACvE,KAAK,WAAW,cAAc,SAAS;EACvC,KAAK,wBAAwB,cAAc,sBAAsB;EACjE,KAAK,aAAa,cAAc,WAAW;EAC3C,IAAI,sBAAsB,OAAO,OAAO,cAAc,uBAAuB,CAAC,GAC5E,KAAK,yBAAyB;EAChC,IAAI,eAAe,OAAO,OAAO,cAAc,oBAAoB,CAAC,GAClE,KAAK,sBAAsB;EAC7B,IAAI,eAAe,OAAO,OAAO,cAAc,sBAAsB,CAAC,GACpE,KAAK,wBAAwB;EAC/B,IAAI,sBAAsB,OAAO,OAAO,cAAc,eAAe,CAAC,GACpE,KAAK,iBAAiB;EACxB,IAAI,sBAAsB,OAAO,OAAO,cAAc,gBAAgB,CAAC,GACrE,KAAK,kBAAkB;EACzB,IAAI,eAAe,OAAO,OAAO,cAAc,YAAY,CAAC,GAC1D,KAAK,cAAc;EACrB,IAAI,sBAAsB,OAAO,OAAO,cAAc,QAAQ,CAAC,GAC7D,KAAK,UAAU;EACjB,KAAK,oBAAoB,cAAc,kBAAkB;EACzD,IAAI,sBAAsB,OAAO,OAAO,cAAc,mBAAmB,CAAC,GACxE,KAAK,qBAAqB;EAC5B,KAAK,kBAAkB,cAAc,gBAAgB;EACrD,KAAK,cAAc,cAAc,YAAY;EAC7C,KAAK,oBAAoB,cAAc,kBAAkB;EACzD,KAAK,sBAAsB,cAAc,oBAAoB;EAC7D,KAAK,eAAe,cAAc,aAAa;EAC/C,KAAK,aAAa,cAAc,WAAW;EAC3C,KAAK,4BAA4B,cAAc,0BAA0B;EACzE,KAAK,sBAAsB,cAAc,oBAAoB;EAC7D,KAAK,qBAAqB,cAAc,mBAAmB;EAC3D,KAAK,qBAAqB,cAAc,mBAAmB;EAC3D,KAAK,qBAAqB,cAAc,mBAAmB;EAC3D,KAAK,uBAAuB,cAAc,qBAAqB;EAC/D,IAAI,eAAe,OAAO,OAAO,cAAc,iCAAiC,CAAC,GAC/E,KAAK,mCAAmC;EAC1C,KAAK,eAAe,cAAc,aAAa;EAC/C,KAAK,eAAe,cAAc,aAAa;EAC/C,KAAK,kBAAkB,cAAc,gBAAgB;EACrD,KAAK,WAAW,cAAc,SAAS;EACvC,KAAK,oBAAoB,cAAc,kBAAkB;EACzD,IAAI,cAAc,OAAO,OAAO,cAAc,gBAAgB,CAAC,GAC7D,KAAK,kBAAkB;EACzB,KAAK,iBAAiB,cAAc,eAAe;EACnD,IAAI,eAAe,OAAO,OAAO,cAAc,iCAAiC,CAAC,GAC/E,KAAK,mCAAmC;EAC1C,IAAI,yBAAyB,OAAO,OAAO,cAAc,qBAAqB,CAAC,GAC7E,KAAK,uBAAuB;EAC9B,KAAK,SAAS,cAAc,OAAO;CACrC;;;;;;;CAQA,IAAI,aAA4B;EAC9B,OAAO,KAAK,gBAAgB;CAC9B;;;;;;;CAQA,IAAI,kCAAiD;EACnD,OAAO,KAAK,qCAAqC;CACnD;;;;;;;;CASA,IAAI,iBAAyB;EAC3B,OAAO,KAAK,oBAAoB,KAAK;CACvC;;;;;;CAOA,IAAI,YAAoB;EACtB,OAAO,KAAK,eAAe,KAAK;CAClC;;;;;;CAOA,IAAI,qBAA6B;EAC/B,OAAO,KAAK,wBAAwB,KAAK;CAC3C;;;;;;;;CASA,IAAI,UAAkB;EACpB,OAAO,KAAK,aAAa,KAAK;CAChC;;;;;;CAOA,IAAI,YAAoB;EACtB,OAAO,KAAK,eAAe;CAC7B;;;;;;;CAQA,IAAI,kCAAiD;EACnD,OAAO,KAAK,qCAAqC;CACnD;;;;;;;;;;;;CAaA,IAAI,wBAA8C;EAChD,OAAO,KAAK,2BAA2B;CACzC;;;;;;;;;;CAWA,IAAI,2BAAmC;EACrC,OAAO,KAAK,8BAA8B;CAC5C;;;;;;;CAQA,IAAI,qBAA6B;EAC/B,OAAO,KAAK,wBAAwB;CACtC;;;;;;CAOA,IAAI,oBAA4B;EAC9B,OAAO,KAAK,uBAAuB;CACrC;;;;;;;;;;;CAYA,IAAI,cAAsB;EACxB,OAAO,KAAK,iBAAiB;CAC/B;;;;;;CAOA,IAAI,sBAA8B;EAChC,OAAO,KAAK,yBAAyB;CACvC;;;;;;;;;CAUA,IAAI,oBAA4B;EAC9B,OAAO,KAAK,uBAAuB;CACrC;;;;;;CAOA,IAAI,cAAsB;EACxB,OAAO,KAAK,iBAAiB;CAC/B;;;;;;;CAQA,IAAI,oBAA4B;EAC9B,OAAO,KAAK,uBAAuB,KAAK;CAC1C;;;;;;;;;;;;;;;CAgBA,IAAI,iBAAuC;EACzC,OAAO,KAAK,oBAAoB;CAClC;;;;;;;;;;;CAYA,IAAI,gBAAsC;EACxC,OAAO,KAAK,mBAAmB;CACjC;;;;;;;;;;;;CAaA,IAAI,cAAsB;EACxB,OAAO,KAAK,iBAAiB;CAC/B;;;;;;;;;CAUA,IAAI,SAA+B;EACjC,OAAO,KAAK,YAAY;CAC1B;;;;;;;CAQA,IAAI,gBAAwB;EAC1B,OAAO,KAAK,mBAAmB;CACjC;;;;;;;CAQA,IAAI,iBAAgD;EAClD,OAAO,KAAK,oBAAoB;CAClC;;;;;;;;;;;;CAaA,IAAI,mBAA2B;EAC7B,OAAO,KAAK,sBAAsB;CACpC;;;;;;;;;;;CAYA,IAAI,sBAAgE;EAClE,OAAO,KAAK,yBAAyB;CACvC;;;;;;;CAQA,IAAI,oBAA0C;EAC5C,OAAO,KAAK,uBAAuB;CACrC;;;;;;;;CASA,IAAI,mBAA2B;EAC7B,OAAO,KAAK,sBAAsB;CACpC;;;;;;;CAQA,IAAI,qBAAoC;EACtC,OAAO,KAAK,wBAAwB;CACtC;;;;;;;CAQA,IAAI,uBAAsC;EACxC,OAAO,KAAK,0BAA0B;CACxC;;;;;;;;;;CAWA,IAAI,0BAAkC;EACpC,OAAO,KAAK,6BAA6B;CAC3C;;;;;;;;;CAUA,IAAI,uBAA+B;EACjC,OAAO,KAAK,0BAA0B;CACxC;;;;;;;;;;CAWA,IAAI,aAAqB;EACvB,OAAO,KAAK,gBAAgB;CAC9B;;;;;;;;CASA,IAAI,iBAAyB;EAC3B,OAAO,KAAK,oBAAoB;CAClC;;;;;;;;CASA,IAAI,mBAA2B;EAC7B,OAAO,KAAK,sBAAsB;CACpC;;;;;;CAOA,IAAI,QAAgB;EAClB,OAAO,KAAK,WAAW,KAAK;CAC9B;;;;;;CAOA,IAAI,UAAkB;EACpB,OAAO,KAAK,aAAa,KAAK;CAChC;;;;;;CAOA,IAAI,UAAkB;EACpB,OAAO,KAAK,aAAa,KAAK;CAChC;AACF;AAQA,IAAa,iBAAb,MAA4B;CAC1B,OAAe;CAEf,OAAe;CACf,OAAe;CACf,OAAe;CACf,OAAe;CAEf,WAAmB,iBAA2C;EAC5D,OAAO,KAAK,oBAAoB,qBAAqB,wBAAqC,SAAS;CACrG;CAEA,WAAkB,kBAA2F;EAC3G,OAAO,KAAK,qBAAqB,eAAe,wBAAqC,UAAU;CACjG;CAEA,WAAkB,2BAA6D;EAC7E,OAAO,KAAK,8BAA8B,KAAK,eAAe,SAC5D,cAAa,eAA6C,WAAW,UAAU,CACjF;CACF;CAEA,WAAkB,gBAAyB;EACzC,OAAO,KAAK,mBAAmB,eAAe,wBAAqC,QAAQ;CAC7F;CAEA,WAAkB,yBAA0D;EAC1E,OAAO,KAAK,4BAA4B,KAAK,eAAe,SAC1D,cAAa,eAAe,WAAW,QAAQ,CACjD;CACF;AACF"}
|
|
@@ -18,12 +18,17 @@ declare function getGithubOutput(): Promise<ReturnType<typeof config>["parsed"]>
|
|
|
18
18
|
*/
|
|
19
19
|
declare function getGithubOutputSync(): NonNullable<ReturnType<typeof config>["parsed"]>;
|
|
20
20
|
declare class NugetRegistryInfo {
|
|
21
|
-
private _canPushPackagesToSource;
|
|
22
|
-
private readonly _project;
|
|
23
|
-
private readonly _resolvedEnvVariable;
|
|
24
|
-
private readonly _source;
|
|
25
21
|
static readonly DefaultTokenEnvVars: readonly ["NUGET_TOKEN"];
|
|
26
22
|
/**
|
|
23
|
+
* Get the API token from {@link NugetRegistryInfo#resolvedEnvVariable}
|
|
24
|
+
* @param resolvedEnvironmentVariable The name of the environment variable(s) whose
|
|
25
|
+
* value is a NuGet API key. Typically, the value of
|
|
26
|
+
* {@link NugetRegistryInfo#resolvedEnvVariable}.
|
|
27
|
+
* @returns The value of the first defined environment variable.
|
|
28
|
+
* @throws {Error} when none of the provided environment variables are defined.
|
|
29
|
+
*/
|
|
30
|
+
private static _GetTokenValue;
|
|
31
|
+
/**
|
|
27
32
|
* Convert a URL string to a filesystem folder name.
|
|
28
33
|
*
|
|
29
34
|
* Intended usage: modify the output path of `dotnet pack` based on the NuGet
|
|
@@ -38,6 +43,10 @@ declare class NugetRegistryInfo {
|
|
|
38
43
|
* `${hostname}_${pathname.replace('/', '_')}`.
|
|
39
44
|
*/
|
|
40
45
|
static GetDirNameForSource(source: string): string;
|
|
46
|
+
private _canPushPackagesToSource;
|
|
47
|
+
private readonly _project;
|
|
48
|
+
private readonly _resolvedEnvVariable;
|
|
49
|
+
private readonly _source;
|
|
41
50
|
/**
|
|
42
51
|
* Creates an instance of NugetRegistryInfo.\
|
|
43
52
|
* This class enables the ability to push a given {@link project}'s
|
|
@@ -54,20 +63,20 @@ declare class NugetRegistryInfo {
|
|
|
54
63
|
* Release's config object for later use by `@semantic-release/exec`.
|
|
55
64
|
* - Other EcmaScript modules can access the environment variable(s) and steal
|
|
56
65
|
* your key. Be aware of malicious dependencies!
|
|
57
|
-
* @param
|
|
58
|
-
* @param
|
|
66
|
+
* @param options The input type of {@link NRIOpts.from}
|
|
67
|
+
* @param options.project The project whose package(s) will be
|
|
59
68
|
* pushed.\
|
|
60
69
|
* - Its {@link NugetProjectProperties#PackageId} will be read.\
|
|
61
70
|
* - Its {@link NugetProjectProperties#PackageVersion} will be overridden via CLI args when creating a dummy package. The real package's
|
|
62
71
|
* `PackageVersion` will *not* be overridden.
|
|
63
|
-
* @param [
|
|
72
|
+
* @param [options.tokenEnvVars] The environment variables
|
|
64
73
|
* whose values are tokens with permission to push a package to the NuGet
|
|
65
74
|
* package registry. The array is iterated through until one token is found.
|
|
66
75
|
* If none of the environment variables are defined, this constructor will
|
|
67
76
|
* throw an {@link Error}.
|
|
68
|
-
* @param [
|
|
77
|
+
* @param [options.source] A NuGet package registry's API endpoint URL or name. Default: 'https://api.nuget.org/v3/index.json'
|
|
69
78
|
*/
|
|
70
|
-
constructor(
|
|
79
|
+
constructor(options: typeof NRIOpts["inferIn"]);
|
|
71
80
|
get project(): MSBuildProject;
|
|
72
81
|
/**
|
|
73
82
|
* This is not useful without it being executed as part of a Semantic Release
|
|
@@ -91,15 +100,6 @@ declare class NugetRegistryInfo {
|
|
|
91
100
|
get resolvedEnvVariable(): string | undefined;
|
|
92
101
|
get source(): string;
|
|
93
102
|
/**
|
|
94
|
-
* Get the API token from {@link NugetRegistryInfo#resolvedEnvVariable}
|
|
95
|
-
* @param resolvedEnvVariable The name of the environment variable(s) whose
|
|
96
|
-
* value is a NuGet API key. Typically, the value of
|
|
97
|
-
* {@link NugetRegistryInfo#resolvedEnvVariable}.
|
|
98
|
-
* @returns The value of the first defined environment variable.
|
|
99
|
-
* @throws {Error} when none of the provided environment variables are defined.
|
|
100
|
-
*/
|
|
101
|
-
private static _GetTokenValue;
|
|
102
|
-
/**
|
|
103
103
|
* The type for options and arguments of `dotnet pack`. See https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-pack.
|
|
104
104
|
*
|
|
105
105
|
* {@link NRI.PackPackagesOptionsType.t.propertyOverrides `propertyOverrides`}
|
|
@@ -152,19 +152,19 @@ declare class NugetRegistryInfo {
|
|
|
152
152
|
* When pushing the package(s), you only need to supply the main .nupkg's path
|
|
153
153
|
* or its directory to the dotnet CLI—by default, it will also push the
|
|
154
154
|
* symbols package, if present.
|
|
155
|
-
* @param
|
|
155
|
+
* @param options Options passed to
|
|
156
156
|
* `dotnet pack`, excluding the required `<PROJECT | SOLUTION>` argument. The
|
|
157
157
|
* {@link PackPackagesOptionsType.t.output} path is modified according to the
|
|
158
|
-
* {@link
|
|
158
|
+
* {@link shouldUsePerSourceSubfolder} and {@link shouldUsePerPackageIdSubfolder}
|
|
159
159
|
* arguments.
|
|
160
|
-
* @param
|
|
160
|
+
* @param shouldUsePerSourceSubfolder If true, the path of the package output will
|
|
161
161
|
* include a subfolder named after the NuGet Source.
|
|
162
|
-
* @param
|
|
162
|
+
* @param shouldUsePerPackageIdSubfolder If true, the path of the package output
|
|
163
163
|
* will include a subfolder named after the NuGet package's ID.
|
|
164
164
|
* @returns `dotnet pack "${this.project.Properties.MSBuildProjectFullPath}"
|
|
165
165
|
* -o "${outDir}"` where outDir may be `${cwd()}/publish/${NugetRegistryInfo.GetNameForURL(this.source)}/${this._project.Properties.PackageId}`
|
|
166
166
|
*/
|
|
167
|
-
GetPackCommand(
|
|
167
|
+
GetPackCommand(options: typeof NRI.PackPackagesOptionsType.inferIn, shouldUsePerSourceSubfolder?: boolean, shouldUsePerPackageIdSubfolder?: boolean): string;
|
|
168
168
|
/**
|
|
169
169
|
* !Not ready for use! Remove private modifier and commit as `feat(dotnet)` when ready for release!
|
|
170
170
|
* Blocking Issue: convert all dotnet-related functionality to a Semantic Release plugin!
|
|
@@ -175,14 +175,14 @@ declare class NugetRegistryInfo {
|
|
|
175
175
|
* NuGet packages should be created during the `prepare` step, but complex
|
|
176
176
|
* configuration of `dotnet pack` via command lines intended to be invoked by
|
|
177
177
|
* `@semantic-release/exec` is impractical.
|
|
178
|
-
* @param
|
|
178
|
+
* @param options `dotnet pack` options. See `dotnet pack -h`,
|
|
179
179
|
* https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-pack, and
|
|
180
180
|
* {@link PackPackagesOptionsType}.
|
|
181
|
-
* {@link
|
|
182
|
-
* @param [
|
|
181
|
+
* {@link options['-GetItem']} will _always_ have '_OutputPackItems'.
|
|
182
|
+
* @param [shouldUsePerSourceSubfolder] If `true`, modify the output path to
|
|
183
183
|
* include a subfolder bearing a path-safe encoding of the NuGet Source that
|
|
184
184
|
* will receive the nupkg.
|
|
185
|
-
* @param [
|
|
185
|
+
* @param [shouldUsePerPackageIdSubfolder] If `true`, modify the output path
|
|
186
186
|
* to include a subfolder named after the the PackageId.
|
|
187
187
|
* @returns a string[] containing the full file paths of all new packages i.e.
|
|
188
188
|
* .nupkg, .symbols.nupkg, .snupkg
|
|
@@ -191,7 +191,7 @@ declare class NugetRegistryInfo {
|
|
|
191
191
|
/**
|
|
192
192
|
* Create a dummy package for the current {@link project} by executing a
|
|
193
193
|
* command line like \``dotnet pack ${this.project.Properties.MSBuildProjectFullPath} -p:Version=0.0.1-DUMMY -output ${getDummiesDir(this._project)}/${GetNameForURL(this.source)}`\`
|
|
194
|
-
* @param
|
|
194
|
+
* @param options Options passed to
|
|
195
195
|
* `dotnet pack`, excluding the required `<PROJECT | SOLUTION>` argument.
|
|
196
196
|
* - The `output` field is ignored and overwritten. It is replaced with
|
|
197
197
|
* ${{@link getDummiesDir}({@link project})}/${{@link GetDirNameForSource}({@link source})}
|
|
@@ -202,7 +202,7 @@ declare class NugetRegistryInfo {
|
|
|
202
202
|
* created by the Pack target, as extracted from the dotnet process's STDOUT.
|
|
203
203
|
* If mixed with other nupkgs, filter for the {@link NugetProjectProperties#PackageId}
|
|
204
204
|
*/
|
|
205
|
-
PackDummyPackage(
|
|
205
|
+
PackDummyPackage(options: typeof NRI.PackDummyPackagesOptionsType.inferIn): Promise<string[]>;
|
|
206
206
|
/**
|
|
207
207
|
* Also includes required argument 'ROOT': the directory in which packages
|
|
208
208
|
* should be present and ready to be pushed the default or specified Source.
|
|
@@ -248,29 +248,29 @@ declare class NugetRegistryInfo {
|
|
|
248
248
|
/**
|
|
249
249
|
* Create a `dotnet nuget push` command line from the given options and
|
|
250
250
|
* optional boolean parameters.
|
|
251
|
-
* @param
|
|
252
|
-
* @param
|
|
251
|
+
* @param options See {@link PushPackagesOptionsType}
|
|
252
|
+
* @param shouldUsePerSourceSubfolder If `true`, the NuGet Source name or URL is formatted
|
|
253
253
|
* to a folder name and appended to the ROOT as a subfolder. Do not use
|
|
254
254
|
* wildcards in ROOT with this set to `true`!
|
|
255
|
-
* @param
|
|
255
|
+
* @param shouldUsePerPackageIdSubfolder If `true`, the
|
|
256
256
|
* {@link project}'s {@link NugetProjectProperties#PackageId}
|
|
257
257
|
* is appended to the ROOT as a subfolder. Do not use wildcards in
|
|
258
258
|
* ROOT with this set to `true`!
|
|
259
259
|
* @returns A `dotnet nuget push` command line formatted with the
|
|
260
260
|
* appropriate arguments.
|
|
261
261
|
*/
|
|
262
|
-
GetPushCommand(
|
|
262
|
+
GetPushCommand(options: typeof NRI.PushPackagesOptionsType.inferIn, shouldUsePerSourceSubfolder?: boolean, shouldUsePerPackageIdSubfolder?: boolean): string;
|
|
263
263
|
/**
|
|
264
264
|
* Immediately push packages. The input path may be modified according to the
|
|
265
|
-
* {@link
|
|
265
|
+
* {@link shouldUsePerSourceSubfolder} and {@link shouldUsePerPackageIdSubfolder}
|
|
266
266
|
* arguments.
|
|
267
|
-
* @param
|
|
267
|
+
* @param options The `dotnet nuget push` command line options, including the
|
|
268
268
|
* ROOT argument, the directory containing local nuget packages ready to be
|
|
269
269
|
* pushed.
|
|
270
|
-
* @param
|
|
270
|
+
* @param shouldUsePerSourceSubfolder If `true`, the NuGet Source name or URL is formatted
|
|
271
271
|
* to a folder name and appended to the ROOT as a subfolder. Do not use
|
|
272
272
|
* wildcards in ROOT with this set to `true`!
|
|
273
|
-
* @param
|
|
273
|
+
* @param shouldUsePerPackageIdSubfolder If `true`, the current {@link project}'s
|
|
274
274
|
* PackageId is appended to the ROOT as a subfolder. Do not use wildcards in
|
|
275
275
|
* ROOT with this set to `true`!
|
|
276
276
|
*/
|
|
@@ -294,20 +294,20 @@ declare class NugetRegistryInfo {
|
|
|
294
294
|
* nri.GetPushDummyPackageCommand(pushOpts, false, false),
|
|
295
295
|
* ].join(' && ')
|
|
296
296
|
* ```
|
|
297
|
-
* @param
|
|
297
|
+
* @param options options for `dotnet nuget push`. The following
|
|
298
298
|
* fields are overwritten:
|
|
299
299
|
* - root: getDummiesDir(this.project)
|
|
300
300
|
* - skipDuplicates: true
|
|
301
301
|
* @returns a `dotnet nuget push` command to push a dummy package
|
|
302
302
|
* (created by executing {@link PackDummyPackage}) to {@link source}
|
|
303
303
|
*/
|
|
304
|
-
GetPushDummyCommand(
|
|
304
|
+
GetPushDummyCommand(options: typeof NRI.PushDummyPackagesOptionsType.inferIn): string;
|
|
305
305
|
/**
|
|
306
306
|
* Call {@link GetPushDummyCommand} and immediately execute it.
|
|
307
307
|
* @throws {Error} when the process exits with an error code indicating
|
|
308
308
|
* failure i.e. the command line is invalid, the process fails to start,
|
|
309
309
|
* the push fails, et cetera.
|
|
310
|
-
* @param
|
|
310
|
+
* @param options the ROOT arg and options for `dotnet nuget push`. The following
|
|
311
311
|
* fields are overwritten:
|
|
312
312
|
* - root: getDummiesDir(this.project)
|
|
313
313
|
* - skipDuplicates: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NugetRegistryInfo.d.mts","names":[],"sources":["../../src/dotnet/NugetRegistryInfo.ts"],"mappings":";;;;;;;;;AAmCA;;;iBAAsB,eAAA,
|
|
1
|
+
{"version":3,"file":"NugetRegistryInfo.d.mts","names":[],"sources":["../../src/dotnet/NugetRegistryInfo.ts"],"mappings":"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"}
|