@halospv3/hce.shared-config 3.0.0-develop.2 → 3.0.0-develop.21

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.
Files changed (188) hide show
  1. package/CHANGELOG.md +164 -0
  2. package/dotnet/.github/workflows/_unit_test.yml +0 -3
  3. package/dotnet/.github/workflows/dotnet-release.yml +0 -3
  4. package/dotnet/.github/workflows/sample-dotnet-build.yml +0 -3
  5. package/dotnet/PublishAll.targets +3 -2
  6. package/dotnet/ZipPublishDir.targets +24 -29
  7. package/mjs/CaseInsensitiveMap.d.ts +12 -0
  8. package/mjs/CaseInsensitiveMap.d.ts.map +1 -0
  9. package/mjs/CaseInsensitiveMap.mjs +33 -0
  10. package/mjs/CaseInsensitiveMap.mjs.map +1 -0
  11. package/mjs/commitlintConfig.d.ts +12 -0
  12. package/mjs/commitlintConfig.d.ts.map +1 -0
  13. package/mjs/commitlintConfig.mjs +13 -0
  14. package/mjs/commitlintConfig.mjs.map +1 -0
  15. package/mjs/debug.d.ts +6 -0
  16. package/mjs/debug.d.ts.map +1 -0
  17. package/mjs/debug.mjs +9 -0
  18. package/mjs/debug.mjs.map +1 -0
  19. package/mjs/dotnet/GithubNugetRegistryInfo.d.ts +38 -0
  20. package/mjs/dotnet/GithubNugetRegistryInfo.d.ts.map +1 -0
  21. package/mjs/dotnet/GithubNugetRegistryInfo.mjs +43 -0
  22. package/mjs/dotnet/GithubNugetRegistryInfo.mjs.map +1 -0
  23. package/mjs/dotnet/GitlabNugetRegistryInfo.d.ts +62 -0
  24. package/mjs/dotnet/GitlabNugetRegistryInfo.d.ts.map +1 -0
  25. package/mjs/dotnet/GitlabNugetRegistryInfo.mjs +99 -0
  26. package/mjs/dotnet/GitlabNugetRegistryInfo.mjs.map +1 -0
  27. package/mjs/dotnet/IsNextVersionAlreadyPublished.cli.d.ts +2 -0
  28. package/mjs/dotnet/IsNextVersionAlreadyPublished.cli.d.ts.map +1 -0
  29. package/mjs/dotnet/IsNextVersionAlreadyPublished.cli.mjs +41 -0
  30. package/mjs/dotnet/IsNextVersionAlreadyPublished.cli.mjs.map +1 -0
  31. package/mjs/dotnet/MSBuildProject.d.ts +256 -0
  32. package/mjs/dotnet/MSBuildProject.d.ts.map +1 -0
  33. package/mjs/dotnet/MSBuildProject.mjs +447 -0
  34. package/mjs/dotnet/MSBuildProject.mjs.map +1 -0
  35. package/mjs/dotnet/MSBuildProjectProperties.d.ts +170 -0
  36. package/mjs/dotnet/MSBuildProjectProperties.d.ts.map +1 -0
  37. package/mjs/dotnet/MSBuildProjectProperties.mjs +260 -0
  38. package/mjs/dotnet/MSBuildProjectProperties.mjs.map +1 -0
  39. package/mjs/dotnet/NugetProjectProperties.d.ts +379 -0
  40. package/mjs/dotnet/NugetProjectProperties.d.ts.map +1 -0
  41. package/mjs/dotnet/NugetProjectProperties.mjs +577 -0
  42. package/mjs/dotnet/NugetProjectProperties.mjs.map +1 -0
  43. package/mjs/dotnet/NugetRegistryInfo.d.ts +384 -0
  44. package/mjs/dotnet/NugetRegistryInfo.d.ts.map +1 -0
  45. package/mjs/dotnet/NugetRegistryInfo.mjs +752 -0
  46. package/mjs/dotnet/NugetRegistryInfo.mjs.map +1 -0
  47. package/mjs/dotnet/helpers.d.ts +63 -0
  48. package/mjs/dotnet/helpers.d.ts.map +1 -0
  49. package/mjs/dotnet/helpers.mjs +354 -0
  50. package/mjs/dotnet/helpers.mjs.map +1 -0
  51. package/mjs/dotnet/index.d.ts +9 -0
  52. package/mjs/dotnet/index.d.ts.map +1 -0
  53. package/mjs/dotnet/index.mjs +9 -0
  54. package/mjs/dotnet/index.mjs.map +1 -0
  55. package/mjs/dotnet.d.ts +2 -0
  56. package/mjs/dotnet.d.ts.map +1 -0
  57. package/mjs/dotnet.mjs +9 -0
  58. package/mjs/dotnet.mjs.map +1 -0
  59. package/mjs/eslintConfig.d.ts +4 -0
  60. package/mjs/eslintConfig.d.ts.map +1 -0
  61. package/mjs/eslintConfig.mjs +98 -0
  62. package/mjs/eslintConfig.mjs.map +1 -0
  63. package/mjs/index.d.ts +3 -0
  64. package/mjs/index.d.ts.map +1 -0
  65. package/mjs/index.mjs +4 -0
  66. package/mjs/index.mjs.map +1 -0
  67. package/mjs/insertPlugins.d.ts +18 -0
  68. package/mjs/insertPlugins.d.ts.map +1 -0
  69. package/mjs/insertPlugins.mjs +73 -0
  70. package/mjs/insertPlugins.mjs.map +1 -0
  71. package/mjs/semantic-release__commit-analyzer.d.mjs +2 -0
  72. package/mjs/semantic-release__commit-analyzer.d.mjs.map +1 -0
  73. package/mjs/semantic-release__exec.d.mjs +2 -0
  74. package/mjs/semantic-release__exec.d.mjs.map +1 -0
  75. package/mjs/semantic-release__git.d.mjs +2 -0
  76. package/mjs/semantic-release__git.d.mjs.map +1 -0
  77. package/mjs/semantic-release__github.d.mjs +2 -0
  78. package/mjs/semantic-release__github.d.mjs.map +1 -0
  79. package/mjs/semanticReleaseConfig.d.ts +97 -0
  80. package/mjs/semanticReleaseConfig.d.ts.map +1 -0
  81. package/mjs/semanticReleaseConfig.mjs +63 -0
  82. package/mjs/semanticReleaseConfig.mjs.map +1 -0
  83. package/mjs/semanticReleaseConfigDotnet.d.ts +109 -0
  84. package/mjs/semanticReleaseConfigDotnet.d.ts.map +1 -0
  85. package/mjs/semanticReleaseConfigDotnet.mjs +268 -0
  86. package/mjs/semanticReleaseConfigDotnet.mjs.map +1 -0
  87. package/mjs/setupGitPluginSpec.d.ts +22 -0
  88. package/mjs/setupGitPluginSpec.d.ts.map +1 -0
  89. package/mjs/setupGitPluginSpec.mjs +144 -0
  90. package/mjs/setupGitPluginSpec.mjs.map +1 -0
  91. package/mjs/utils/Exact.d.ts +20 -0
  92. package/mjs/utils/Exact.d.ts.map +1 -0
  93. package/mjs/utils/Exact.mjs +75 -0
  94. package/mjs/utils/Exact.mjs.map +1 -0
  95. package/mjs/utils/GracefulRecursion.d.mjs +2 -0
  96. package/mjs/utils/GracefulRecursion.d.mjs.map +1 -0
  97. package/mjs/utils/env.d.ts +24 -0
  98. package/mjs/utils/env.d.ts.map +1 -0
  99. package/mjs/utils/env.mjs +39 -0
  100. package/mjs/utils/env.mjs.map +1 -0
  101. package/mjs/utils/execAsync.d.ts +37 -0
  102. package/mjs/utils/execAsync.d.ts.map +1 -0
  103. package/mjs/utils/execAsync.mjs +59 -0
  104. package/mjs/utils/execAsync.mjs.map +1 -0
  105. package/mjs/utils/miscTypes.d.ts +13 -0
  106. package/mjs/utils/miscTypes.d.ts.map +1 -0
  107. package/mjs/utils/miscTypes.mjs +10 -0
  108. package/mjs/utils/miscTypes.mjs.map +1 -0
  109. package/mjs/utils/reflection/FunctionLike.d.mjs +2 -0
  110. package/mjs/utils/reflection/FunctionLike.d.mjs.map +1 -0
  111. package/mjs/utils/reflection/GetterDescriptor.d.mjs +2 -0
  112. package/mjs/utils/reflection/GetterDescriptor.d.mjs.map +1 -0
  113. package/mjs/utils/reflection/InstancePropertyDescriptorMap.d.mjs +2 -0
  114. package/mjs/utils/reflection/InstancePropertyDescriptorMap.d.mjs.map +1 -0
  115. package/mjs/utils/reflection/InstanceTypeOrSelfPropertyDescriptorMap.d.mjs +2 -0
  116. package/mjs/utils/reflection/InstanceTypeOrSelfPropertyDescriptorMap.d.mjs.map +1 -0
  117. package/mjs/utils/reflection/OwnGetterDescriptorMap.d.mjs +2 -0
  118. package/mjs/utils/reflection/OwnGetterDescriptorMap.d.mjs.map +1 -0
  119. package/mjs/utils/reflection/OwnKeyOf.d.mjs +2 -0
  120. package/mjs/utils/reflection/OwnKeyOf.d.mjs.map +1 -0
  121. package/mjs/utils/reflection/OwnPropertyDescriptorMap.d.mjs +2 -0
  122. package/mjs/utils/reflection/OwnPropertyDescriptorMap.d.mjs.map +1 -0
  123. package/mjs/utils/reflection/PropertyDescriptorMap.d.mjs +2 -0
  124. package/mjs/utils/reflection/PropertyDescriptorMap.d.mjs.map +1 -0
  125. package/mjs/utils/reflection/filterForGetters.d.ts +7 -0
  126. package/mjs/utils/reflection/filterForGetters.d.ts.map +1 -0
  127. package/mjs/utils/reflection/filterForGetters.mjs +27 -0
  128. package/mjs/utils/reflection/filterForGetters.mjs.map +1 -0
  129. package/mjs/utils/reflection/getOwnPropertyDescriptors.d.ts +22 -0
  130. package/mjs/utils/reflection/getOwnPropertyDescriptors.d.ts.map +1 -0
  131. package/mjs/utils/reflection/getOwnPropertyDescriptors.mjs +34 -0
  132. package/mjs/utils/reflection/getOwnPropertyDescriptors.mjs.map +1 -0
  133. package/mjs/utils/reflection/getOwnPropertyDescriptorsRecursively.d.ts +56 -0
  134. package/mjs/utils/reflection/getOwnPropertyDescriptorsRecursively.d.ts.map +1 -0
  135. package/mjs/utils/reflection/getOwnPropertyDescriptorsRecursively.mjs +72 -0
  136. package/mjs/utils/reflection/getOwnPropertyDescriptorsRecursively.mjs.map +1 -0
  137. package/mjs/utils/reflection/getPrototypeChainOf.d.ts +16 -0
  138. package/mjs/utils/reflection/getPrototypeChainOf.d.ts.map +1 -0
  139. package/mjs/utils/reflection/getPrototypeChainOf.mjs +55 -0
  140. package/mjs/utils/reflection/getPrototypeChainOf.mjs.map +1 -0
  141. package/mjs/utils/reflection/getPrototypeOf.d.ts +8 -0
  142. package/mjs/utils/reflection/getPrototypeOf.d.ts.map +1 -0
  143. package/mjs/utils/reflection/getPrototypeOf.mjs +10 -0
  144. package/mjs/utils/reflection/getPrototypeOf.mjs.map +1 -0
  145. package/mjs/utils/reflection/inheritance.d.ts +180 -0
  146. package/mjs/utils/reflection/inheritance.d.ts.map +1 -0
  147. package/mjs/utils/reflection/inheritance.mjs +148 -0
  148. package/mjs/utils/reflection/inheritance.mjs.map +1 -0
  149. package/mjs/utils/reflection/isConstructor.d.ts +17 -0
  150. package/mjs/utils/reflection/isConstructor.d.ts.map +1 -0
  151. package/mjs/utils/reflection/isConstructor.mjs +63 -0
  152. package/mjs/utils/reflection/isConstructor.mjs.map +1 -0
  153. package/mjs/utils/reflection/isGetterDescriptor.d.ts +9 -0
  154. package/mjs/utils/reflection/isGetterDescriptor.d.ts.map +1 -0
  155. package/mjs/utils/reflection/isGetterDescriptor.mjs +12 -0
  156. package/mjs/utils/reflection/isGetterDescriptor.mjs.map +1 -0
  157. package/mjs/utils/reflection/listOwnGetters.d.ts +26 -0
  158. package/mjs/utils/reflection/listOwnGetters.d.ts.map +1 -0
  159. package/mjs/utils/reflection/listOwnGetters.mjs +39 -0
  160. package/mjs/utils/reflection/listOwnGetters.mjs.map +1 -0
  161. package/mjs/utils/reflection.d.ts +18 -0
  162. package/mjs/utils/reflection.d.ts.map +1 -0
  163. package/mjs/utils/reflection.mjs +10 -0
  164. package/mjs/utils/reflection.mjs.map +1 -0
  165. package/package.json +17 -17
  166. package/src/debug.ts +5 -4
  167. package/src/dotnet/GithubNugetRegistryInfo.ts +17 -9
  168. package/src/dotnet/GitlabNugetRegistryInfo.ts +19 -5
  169. package/src/dotnet/IsNextVersionAlreadyPublished.cli.ts +53 -36
  170. package/src/dotnet/MSBuildProject.ts +150 -5
  171. package/src/dotnet/MSBuildProjectProperties.ts +2 -1
  172. package/src/dotnet/NugetProjectProperties.ts +3 -2
  173. package/src/dotnet/NugetRegistryInfo.ts +94 -8
  174. package/src/dotnet/helpers.ts +87 -53
  175. package/src/dotnet/index.ts +8 -0
  176. package/src/dotnet.ts +1 -0
  177. package/src/insertPlugins.ts +116 -0
  178. package/src/semantic-release__exec.d.ts +1 -1
  179. package/src/semanticReleaseConfig.ts +8 -3
  180. package/src/semanticReleaseConfigDotnet.ts +90 -88
  181. package/src/setupGitPluginSpec.ts +4 -1
  182. package/src/tsconfig.json +1 -1
  183. package/src/utils/execAsync.ts +13 -1
  184. package/src/utils/miscTypes.ts +4 -3
  185. package/src/utils/reflection/inheritance.ts +1 -1
  186. package/tsconfig.base.json +54 -0
  187. package/tsconfig.json +22 -0
  188. package/tsconfig.mjs.json +8 -0
@@ -0,0 +1,99 @@
1
+ import { isNativeError } from 'node:util/types';
2
+ import { getEnvVarValue } from '../utils/env.mjs';
3
+ import { NugetRegistryInfo, NRIOpts, NRIOptsBase } from './NugetRegistryInfo.mjs';
4
+
5
+ // https://docs.gitlab.com/ee/user/packages/nuget_repository/
6
+ class GitlabNugetRegistryInfo extends NugetRegistryInfo {
7
+ /**
8
+ * The GitLab API v4 root URL.
9
+ * @returns The value of the environment variable `CI_API_V4_URL`.
10
+ * If that's `undefined`, 'https://gitlab.com/api/v4' is returned, instead.
11
+ */
12
+ static get CI_API_V4_URL() {
13
+ return getEnvVarValue('CI_API_V4_URL') ?? 'https://gitlab.com/api/v4';
14
+ }
15
+
16
+ /**
17
+ * CI_PROJECT_ID - If you want to publish to your GitLab server, this needs to be set to the Id of the project you want to publish to. When running in GitLab CI this is already set to the project the pipeline runs in by GitLab.
18
+ * This method checks the contents of your `.env` file, if present.
19
+ * @returns The value of the environment variable `CI_PROJECT_ID` or `undefined`.
20
+ * @todo add URI encoded project pathname as alternative e.g. 'halospv3%2FHCE.Shared' in 'https://gitlab.com/api/v4/projects/halospv3%2FHCE.Shared'
21
+ */
22
+ static get projectId() {
23
+ return getEnvVarValue('CI_PROJECT_ID');
24
+ }
25
+
26
+ /**
27
+ * CI_PROJECT_NAMESPACE_ID
28
+ * This method checks the contents of your `.env` file, if present.
29
+ * @returns The value of the environment variable 'CI_PROJECT_NAMESPACE_ID' or `undefined`.
30
+ */
31
+ static get ownerId() {
32
+ return getEnvVarValue('CI_PROJECT_NAMESPACE_ID');
33
+ }
34
+ static DefaultGitlabTokenEnvVars = Object.freeze(['GL_TOKEN', 'GITLAB_TOKEN', 'CI_JOB_TOKEN']);
35
+
36
+ /**
37
+ * Creates an instance of GitlabNugetRegistryInfo.
38
+ * @param opts The input type of {@link GLNRIOpts.from}
39
+ */
40
+ constructor(opts) {
41
+ const optsOut = GLNRIOpts.from(opts);
42
+ if (isNativeError(optsOut.source)) throw optsOut.source;
43
+ super(optsOut);
44
+ }
45
+
46
+ /**
47
+ * Get the GitLab Nuget API for your project url as seen in https://docs.gitlab.com/ee/user/packages/nuget_repository/index.html#publish-a-nuget-package-by-using-cicd
48
+ * ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/nuget/index.json
49
+ * @returns If {@link this.projectId} is a string, a string formatted like
50
+ * `${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/nuget/index.json`.
51
+ * Else, {@link Error}.
52
+ */
53
+ static get projectUrl() {
54
+ return this.projectId ? `${this.CI_API_V4_URL}/projects/${this.projectId}/packages/nuget/index.json` : new Error('The project-type URL was specified, but one or more of the required environment variables (CI_API_V4_URL, CI_PROJECT_ID) were undefined.');
55
+ }
56
+
57
+ /**
58
+ * ${CI_API_V4_URL}/groups/${CI_PROJECT_NAMESPACE_ID}/-/packages/nuget/index.json
59
+ * @returns If {@link ownerId} is a string, then a string formatted like
60
+ * `${CI_API_V4_URL}/groups/${CI_PROJECT_NAMESPACE_ID}/-/packages/nuget/index.json`.
61
+ * Else, {@link Error}.
62
+ */
63
+ static get groupUrl() {
64
+ return this.ownerId ? `${this.CI_API_V4_URL}/groups/${this.ownerId}/-/packages/nuget/index.json` : new Error('env.CI_PROJECT_NAMESPACE_ID must be defined to use its GitLab API endpoint!');
65
+ }
66
+ }
67
+ const GLNRI = GitlabNugetRegistryInfo;
68
+
69
+ /**
70
+ * The Arktype definition for {@link GitlabNugetRegistryInfo}'s constructor parameter. Construct an object of this type by calling {@link GLNRIOpts.from}
71
+ */
72
+ const GLNRIOpts = NRIOpts.merge({
73
+ tokenEnvVars: NRIOptsBase.get('tokenEnvVars').default(() => GLNRI.DefaultGitlabTokenEnvVars),
74
+ /**
75
+ * The GitLab Nuget API URL to push packages to -OR- a keyword such as "group"
76
+ * or "project" used to determine URL.
77
+ * @default GLNRI.projectUrl
78
+ * @see {@link GLNRI.projectUrl}, {@link GLNRI.groupUrl}
79
+ */
80
+ // todo: change '"group" | "project"' to '"GITLAB:PROJECT" | "GITLAB:GROUP"'
81
+ source: NRIOptsBase.get('source').or('"group" | "project" | Error').pipe(source => {
82
+ switch (source) {
83
+ case 'group':
84
+ {
85
+ return GLNRI.groupUrl;
86
+ }
87
+ case 'project':
88
+ {
89
+ return GLNRI.projectUrl;
90
+ }
91
+ default:
92
+ {
93
+ return source;
94
+ }
95
+ }
96
+ }).default(() => GLNRI.projectUrl)
97
+ });
98
+ export { GLNRIOpts, GitlabNugetRegistryInfo };
99
+ //# sourceMappingURL=GitlabNugetRegistryInfo.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitlabNugetRegistryInfo.mjs","sources":["../../src/dotnet/GitlabNugetRegistryInfo.ts"],"sourcesContent":null,"names":[],"mappings":";;;;AAGA;AACO,MAAM,uBAAuB,SAAS,iBAAiB,CAAC;AAC/D;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,aAAa,GAAG;AAC7B,IAAI,OAAO,cAAc,CAAC,eAAe,CAAC,IAAI,2BAA2B;AACzE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,SAAS,GAAG;AACzB,IAAI,OAAO,cAAc,CAAC,eAAe,CAAC;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,OAAO,GAAG;AACvB,IAAI,OAAO,cAAc,CAAC,yBAAyB,CAAC;AACpD;AACA,EAAE,OAAO,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;;AAEhG;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,IAAI,EAAE;AACpB,IAAI,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM;AAC3D,IAAI,KAAK,CAAC,OAAO,CAAC;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,UAAU,GAAG;AAC1B,IAAI,OAAO,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,GAAG,IAAI,KAAK,CAAC,0IAA0I,CAAC;AAChQ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,QAAQ,GAAG;AACxB,IAAI,OAAO,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,GAAG,IAAI,KAAK,CAAC,6EAA6E,CAAC;AAC/L;AACA;AACA,MAAM,KAAK,GAAG,uBAAuB;;AAErC;AACA;AACA;AACY,MAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;AACvC,EAAE,YAAY,EAAE,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,yBAAyB,CAAC;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI;AACrF,IAAI,QAAQ,MAAM;AAClB,MAAM,KAAK,OAAO;AAClB,QAAQ;AACR,UAAU,OAAO,KAAK,CAAC,QAAQ;AAC/B;AACA,MAAM,KAAK,SAAS;AACpB,QAAQ;AACR,UAAU,OAAO,KAAK,CAAC,UAAU;AACjC;AACA,MAAM;AACN,QAAQ;AACR,UAAU,OAAO,MAAM;AACvB;AACA;AACA,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,UAAU;AACnC,CAAC;;;;"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IsNextVersionAlreadyPublished.cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsNextVersionAlreadyPublished.cli.d.ts","sourceRoot":"","sources":["../../src/dotnet/IsNextVersionAlreadyPublished.cli.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ import { getGithubOutput, NugetRegistryInfo } from './NugetRegistryInfo.mjs';
2
+ import esMain from 'es-main';
3
+
4
+ /**
5
+ * @returns if successful
6
+ * @throws if...
7
+ * - {@link process.argv} does not include...
8
+ * - `--packageId [string]`
9
+ * - `--source [string]`
10
+ * - Value of `await getGithubOutput())['new-release-version']`...
11
+ * - is not a valid Version
12
+ * - already exists at `source`
13
+ */
14
+ async function main() {
15
+ const args = process.argv.slice(2);
16
+ // Parse command-line arguments - https://stackoverflow.com/a/76298476/14894786
17
+ const options = {};
18
+ for (let i = 0; i < args.length; i += 2) {
19
+ const argName = args[i];
20
+ const argValue = args[i + 1];
21
+ if (argValue !== undefined && argName?.startsWith('--') === true && options[argName.slice(2)] !== undefined) {
22
+ options[argName] = argValue;
23
+ }
24
+ }
25
+ if (typeof options.packageId !== 'string') throw new Error('packageId must be a string');
26
+ if (typeof options.source !== 'string') throw new Error('source must be a string');
27
+ const packageId = options.packageId,
28
+ source = options.source,
29
+ versionPattern = new RegExp(/\d+\.\d+\.\d+([-+].+)?/);
30
+ const ghOutput = (await getGithubOutput()) ?? {};
31
+ const matches = versionPattern.exec(ghOutput['new-release-version'] ?? '');
32
+ if (matches === null || matches.length === 0) throw new Error('The variable new-release-version is not present in the GITHUB_OUTPUT env file or its value contains invalid characters.');
33
+ const nextVersion = matches[0];
34
+ const isPublished = await NugetRegistryInfo.IsNextVersionAlreadyPublished(source, packageId, nextVersion);
35
+ if (typeof isPublished !== 'boolean') throw new Error('isPublished is not a boolean');
36
+ if (isPublished) throw new Error(`${packageId}@${nextVersion} already exists at ${source}.`);
37
+ console.log(`OK: ${packageId}@${nextVersion} does NOT yet exist at ${source}. Yay.`);
38
+ return 0;
39
+ }
40
+ if (esMain(import.meta)) await main();
41
+ //# sourceMappingURL=IsNextVersionAlreadyPublished.cli.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsNextVersionAlreadyPublished.cli.mjs","sources":["../../src/dotnet/IsNextVersionAlreadyPublished.cli.ts"],"sourcesContent":null,"names":[],"mappings":";;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI,GAAG;AACtB,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACpC;AACA,EAAE,MAAM,OAAO,GAAG,EAAE;AACpB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC3C,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;AAC3B,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AAChC,IAAI,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;AACjH,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,QAAQ;AACjC;AACA;AACA,EAAE,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;AAC1F,EAAE,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC;AACpF,EAAE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS;AACrC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM;AAC3B,IAAI,cAAc,GAAG,IAAI,MAAM,CAAC,wBAAwB,CAAC;AACzD,EAAE,MAAM,QAAQ,GAAG,CAAC,MAAM,eAAe,EAAE,KAAK,EAAE;AAClD,EAAE,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;AAC5E,EAAE,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,yHAAyH,CAAC;AAC1L,EAAE,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;AAChC,EAAE,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,6BAA6B,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC;AAC3G,EAAE,IAAI,OAAO,WAAW,KAAK,SAAS,EAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC;AACvF,EAAE,IAAI,WAAW,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9F,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,uBAAuB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AACtF,EAAE,OAAO,CAAC;AACV;AACA,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,EAAE"}
@@ -0,0 +1,256 @@
1
+ import { type Scope } from 'arktype';
2
+ import { NugetProjectProperties } from './NugetProjectProperties.js';
3
+ import type { ObjectType } from 'arktype/internal/methods/object.ts';
4
+ declare const msbuildEvaluationOutput: ObjectType<{
5
+ Properties?: Record<string, string> | undefined;
6
+ Items?: Record<string, {
7
+ [x: string]: string | undefined;
8
+ Identity: string;
9
+ FullPath: string;
10
+ RootDir: string;
11
+ Filename: string;
12
+ Extension: string;
13
+ RelativeDir: string;
14
+ Directory: string;
15
+ RecursiveDir: string;
16
+ ModifiedTime: string;
17
+ CreatedTime: string;
18
+ AccessedTime: string;
19
+ DefiningProjectFullPath: string;
20
+ DefiningProjectDirectory: string;
21
+ DefiningProjectName: string;
22
+ DefiningProjectExtension: string;
23
+ SubType?: string;
24
+ TargetFrameworkIdentifier?: string | undefined;
25
+ TargetPlatformMoniker?: string | undefined;
26
+ CopyUpToDateMarker?: string | undefined;
27
+ TargetPlatformIdentifier?: string | undefined;
28
+ TargetFrameworkVersion?: string | undefined;
29
+ ReferenceAssembly?: string | undefined;
30
+ }[]> | undefined;
31
+ TargetResults?: Record<string, {
32
+ Result: 'Success';
33
+ Items: {
34
+ [x: string]: string | undefined;
35
+ Identity: string;
36
+ FullPath: string;
37
+ RootDir: string;
38
+ Filename: string;
39
+ Extension: string;
40
+ RelativeDir: string;
41
+ Directory: string;
42
+ RecursiveDir: string;
43
+ ModifiedTime: string;
44
+ CreatedTime: string;
45
+ AccessedTime: string;
46
+ DefiningProjectFullPath: string;
47
+ DefiningProjectDirectory: string;
48
+ DefiningProjectName: string;
49
+ DefiningProjectExtension: string;
50
+ SubType?: string | undefined;
51
+ TargetFrameworkIdentifier?: string | undefined;
52
+ TargetPlatformMoniker?: string | undefined;
53
+ CopyUpToDateMarker?: string | undefined;
54
+ TargetPlatformIdentifier?: string | undefined;
55
+ TargetFrameworkVersion?: string | undefined;
56
+ ReferenceAssembly?: string | undefined;
57
+ }[];
58
+ } | {
59
+ Result: 'Failure';
60
+ Items: never[];
61
+ }> | undefined;
62
+ }>;
63
+ export declare class MSBuildEvaluationOutput {
64
+ /**
65
+ * @param rawMSBuildEvaluation The output of a CLI MSBuild project evaluation.
66
+ * May be the UTF-8 string-encoded JSON or the object decoded from that JSON.
67
+ */
68
+ constructor(rawMSBuildEvaluation: Parameters<typeof JSON.parse>[0] | Parameters<typeof msbuildEvaluationOutput.from>[0]);
69
+ /**
70
+ * The specified properties and their values as evaluated by MSBuild Core.
71
+ * `-getProperty:{propertyName,...}`
72
+ */
73
+ Properties?: typeof msbuildEvaluationOutput.infer.Properties;
74
+ /**
75
+ * The specified items and their values and associated metadata as evaluated
76
+ * by MSBuild Core.
77
+ * `-getItem:{itemName,...}`
78
+ */
79
+ Items?: typeof msbuildEvaluationOutput.infer.Items;
80
+ /**
81
+ * The specified Targets and their output values as evaluated by MSBuild
82
+ * Core.
83
+ * `-getTargetResult:{targetName,...}`
84
+ */
85
+ TargetResults?: typeof msbuildEvaluationOutput.infer.TargetResults;
86
+ }
87
+ export declare const EvaluationOptions: ObjectType<{
88
+ FullName: string;
89
+ Property: {
90
+ MSBuildProjectFullPath?: string | undefined;
91
+ AssemblyName?: string | undefined;
92
+ BaseIntermediateOutputPath?: string | undefined;
93
+ BaseOutputPath?: string | undefined;
94
+ Description?: string | undefined;
95
+ IntermediateOutput?: string | undefined;
96
+ OutDir?: string | undefined;
97
+ OutputPath?: string | undefined;
98
+ Version?: string | undefined;
99
+ VersionPrefix?: string | undefined;
100
+ VersionSuffix?: string | undefined;
101
+ TargetFramework?: string | undefined;
102
+ TargetFrameworks?: string | undefined;
103
+ RuntimeIdentifier?: string | undefined;
104
+ RuntimeIdentifiers?: string | undefined;
105
+ };
106
+ Targets: readonly string[] | string[];
107
+ GetItem: readonly string[] | string[];
108
+ GetProperty: readonly string[] | string[];
109
+ GetTargetResult: readonly string[] | string[];
110
+ }>;
111
+ export declare class MSBuildProject {
112
+ /**
113
+ * Properties for multi-targeting `dotnet publish` outputs.
114
+ * These are included in {@link NPPGetterNames.InstanceGettersRecursive}.
115
+ */
116
+ static readonly MatrixProperties: readonly string[];
117
+ /**
118
+ * Creates an instance of MSBuildProject.
119
+ * @param opts The order-independent arguments for this constructor.
120
+ * Properties may be added or moved around in this definition without
121
+ * breaking compatibility.
122
+ * @param opts.fullPath The full path of the MSBuild project's file. This
123
+ * should have a '.csproj', '.fsproj', or '.vbproj' file extension.
124
+ * @param opts.projTargets A list of MSBuild Targets supported by the project.
125
+ * @param opts.evaluation The output of an MSBuild project evaluation. This
126
+ * comprises MSBuild Properties, Items, and Target results.
127
+ */
128
+ constructor(opts: {
129
+ fullPath: string;
130
+ projTargets: string[];
131
+ evaluation: MSBuildEvaluationOutput;
132
+ });
133
+ readonly Items: Readonly<Required<MSBuildEvaluationOutput>['Items']>;
134
+ readonly Properties: Readonly<NugetProjectProperties>;
135
+ readonly Targets: readonly string[];
136
+ /**
137
+ * Allows appending subsequent target results.
138
+ */
139
+ readonly TargetResults: Required<MSBuildEvaluationOutput>['TargetResults'][];
140
+ /**
141
+ * @param projectPath The full path of the project file or its directory. A
142
+ * relative path may be passed, but will resolve relative to the current
143
+ * working directory.
144
+ * @param includeNonPublic Include conventionally internal/private MSBuild
145
+ * targets in the result.
146
+ * @returns A string array of the project's MSBuild targets.
147
+ * @todo consider 'file' of -targets[:file]
148
+ * Prints a list of available targets without executing the
149
+ * actual build process. By default the output is written to
150
+ * the console window. If the path to an output file
151
+ * is provided that will be used instead.
152
+ * (Short form: -ts)
153
+ * Example:
154
+ * -ts:out.txt
155
+ */
156
+ static GetTargets(projectPath: string, includeNonPublic?: boolean): Promise<string[]>;
157
+ /**
158
+ * Evaluate {@link Items}, {@link Properties}, and {@link TargetResults},
159
+ * returning them as an instance of {@link MSBuildProject}.\
160
+ * Note: MSBuild will probably fail if Restore is skipped and another
161
+ * target is specified. If you choose Pack, you must do ['Restore', 'Pack'].
162
+ * @param options The result of {@link EvaluationOptions.from}.
163
+ * @returns A promised {@link MSBuildProject} instance.
164
+ * @throws if the exec command fails -OR- the JSON parse fails -OR-
165
+ * MSBuildProject's constructor fails.
166
+ * @see {@link PackableProjectsToMSBuildProjects} for most use-cases.
167
+ */
168
+ static Evaluate(options: typeof EvaluationOptions.inferOut): Promise<MSBuildProject>;
169
+ /**
170
+ * Evaluate multiple project paths with some default Evaluate options.
171
+ * @async
172
+ * @param projectsToPackAndPush An array of MSBuild projects' full file
173
+ * paths. If a path is a directory, files in that directory are filtered for
174
+ * `.csproj`, `.fsproj`, and `.vbproj` project files.
175
+ * See https://github.com/dotnet/sdk/blob/497f334b2862bdf98b30c00ede2fd259ea5f624d/src/Cli/dotnet/Commands/New/MSBuildEvaluation/MSBuildEvaluationResult.cs#L19-L32.\
176
+ * @returns A promised array of {@link MSBuildProject} instances.
177
+ * All known MSBuild and NuGet properties are evaluated.
178
+ * If applicable, a project's "Pack" target is evaluated.
179
+ */
180
+ static PackableProjectsToMSBuildProjects(projectsToPackAndPush: string[]): Promise<Promise<MSBuildProject>[]>;
181
+ static fromJSON(json: string): MSBuildProject;
182
+ }
183
+ /**
184
+ * ArkType type definitions for internal usage, but may be re-used elsewhere
185
+ * @internal
186
+ */
187
+ export declare const _InternalMSBuildEvaluationTypes: Scope<{
188
+ msbuildEvaluationOutput: {
189
+ Properties?: Record<string, string> | undefined;
190
+ Items?: Record<string, {
191
+ [x: string]: string | undefined;
192
+ Identity: string;
193
+ FullPath: string;
194
+ RootDir: string;
195
+ Filename: string;
196
+ Extension: string;
197
+ RelativeDir: string;
198
+ Directory: string;
199
+ RecursiveDir: string;
200
+ ModifiedTime: string;
201
+ CreatedTime: string;
202
+ AccessedTime: string;
203
+ DefiningProjectFullPath: string;
204
+ DefiningProjectDirectory: string;
205
+ DefiningProjectName: string;
206
+ DefiningProjectExtension: string;
207
+ SubType?: string | undefined;
208
+ TargetFrameworkIdentifier?: string | undefined;
209
+ TargetPlatformMoniker?: string | undefined;
210
+ CopyUpToDateMarker?: string | undefined;
211
+ TargetPlatformIdentifier?: string | undefined;
212
+ TargetFrameworkVersion?: string | undefined;
213
+ ReferenceAssembly?: string | undefined;
214
+ }[]> | undefined;
215
+ TargetResults?: Record<string, {
216
+ Result: 'Success';
217
+ Items: {
218
+ [x: string]: string | undefined;
219
+ Identity: string;
220
+ FullPath: string;
221
+ RootDir: string;
222
+ Filename: string;
223
+ Extension: string;
224
+ RelativeDir: string;
225
+ Directory: string;
226
+ RecursiveDir: string;
227
+ ModifiedTime: string;
228
+ CreatedTime: string;
229
+ AccessedTime: string;
230
+ DefiningProjectFullPath: string;
231
+ DefiningProjectDirectory: string;
232
+ DefiningProjectName: string;
233
+ DefiningProjectExtension: string;
234
+ SubType?: string | undefined;
235
+ TargetFrameworkIdentifier?: string | undefined;
236
+ TargetPlatformMoniker?: string | undefined;
237
+ CopyUpToDateMarker?: string | undefined;
238
+ TargetPlatformIdentifier?: string | undefined;
239
+ TargetFrameworkVersion?: string | undefined;
240
+ ReferenceAssembly?: string | undefined;
241
+ }[];
242
+ } | {
243
+ Result: 'Failure';
244
+ Items: never[];
245
+ }> | undefined;
246
+ };
247
+ }>;
248
+ /**
249
+ * Use this in your catch statement or .catch call to return `undefined` when
250
+ * MSBuild error CSC2012 (e.g. "file in use by another process") is reported.
251
+ * @param error Probably an Error object
252
+ * @returns `undefined` if CSC2012 (file in use by another process) occurs
253
+ */
254
+ export declare function catchCsc2012(error: unknown): undefined;
255
+ export {};
256
+ //# sourceMappingURL=MSBuildProject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MSBuildProject.d.ts","sourceRoot":"","sources":["../../src/dotnet/MSBuildProject.ts"],"names":[],"mappings":"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"}