@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.
- package/CHANGELOG.md +164 -0
- package/dotnet/.github/workflows/_unit_test.yml +0 -3
- package/dotnet/.github/workflows/dotnet-release.yml +0 -3
- package/dotnet/.github/workflows/sample-dotnet-build.yml +0 -3
- package/dotnet/PublishAll.targets +3 -2
- package/dotnet/ZipPublishDir.targets +24 -29
- package/mjs/CaseInsensitiveMap.d.ts +12 -0
- package/mjs/CaseInsensitiveMap.d.ts.map +1 -0
- package/mjs/CaseInsensitiveMap.mjs +33 -0
- package/mjs/CaseInsensitiveMap.mjs.map +1 -0
- package/mjs/commitlintConfig.d.ts +12 -0
- package/mjs/commitlintConfig.d.ts.map +1 -0
- package/mjs/commitlintConfig.mjs +13 -0
- package/mjs/commitlintConfig.mjs.map +1 -0
- package/mjs/debug.d.ts +6 -0
- package/mjs/debug.d.ts.map +1 -0
- package/mjs/debug.mjs +9 -0
- package/mjs/debug.mjs.map +1 -0
- package/mjs/dotnet/GithubNugetRegistryInfo.d.ts +38 -0
- package/mjs/dotnet/GithubNugetRegistryInfo.d.ts.map +1 -0
- package/mjs/dotnet/GithubNugetRegistryInfo.mjs +43 -0
- package/mjs/dotnet/GithubNugetRegistryInfo.mjs.map +1 -0
- package/mjs/dotnet/GitlabNugetRegistryInfo.d.ts +62 -0
- package/mjs/dotnet/GitlabNugetRegistryInfo.d.ts.map +1 -0
- package/mjs/dotnet/GitlabNugetRegistryInfo.mjs +99 -0
- package/mjs/dotnet/GitlabNugetRegistryInfo.mjs.map +1 -0
- package/mjs/dotnet/IsNextVersionAlreadyPublished.cli.d.ts +2 -0
- package/mjs/dotnet/IsNextVersionAlreadyPublished.cli.d.ts.map +1 -0
- package/mjs/dotnet/IsNextVersionAlreadyPublished.cli.mjs +41 -0
- package/mjs/dotnet/IsNextVersionAlreadyPublished.cli.mjs.map +1 -0
- package/mjs/dotnet/MSBuildProject.d.ts +256 -0
- package/mjs/dotnet/MSBuildProject.d.ts.map +1 -0
- package/mjs/dotnet/MSBuildProject.mjs +447 -0
- package/mjs/dotnet/MSBuildProject.mjs.map +1 -0
- package/mjs/dotnet/MSBuildProjectProperties.d.ts +170 -0
- package/mjs/dotnet/MSBuildProjectProperties.d.ts.map +1 -0
- package/mjs/dotnet/MSBuildProjectProperties.mjs +260 -0
- package/mjs/dotnet/MSBuildProjectProperties.mjs.map +1 -0
- package/mjs/dotnet/NugetProjectProperties.d.ts +379 -0
- package/mjs/dotnet/NugetProjectProperties.d.ts.map +1 -0
- package/mjs/dotnet/NugetProjectProperties.mjs +577 -0
- package/mjs/dotnet/NugetProjectProperties.mjs.map +1 -0
- package/mjs/dotnet/NugetRegistryInfo.d.ts +384 -0
- package/mjs/dotnet/NugetRegistryInfo.d.ts.map +1 -0
- package/mjs/dotnet/NugetRegistryInfo.mjs +752 -0
- package/mjs/dotnet/NugetRegistryInfo.mjs.map +1 -0
- package/mjs/dotnet/helpers.d.ts +63 -0
- package/mjs/dotnet/helpers.d.ts.map +1 -0
- package/mjs/dotnet/helpers.mjs +354 -0
- package/mjs/dotnet/helpers.mjs.map +1 -0
- package/mjs/dotnet/index.d.ts +9 -0
- package/mjs/dotnet/index.d.ts.map +1 -0
- package/mjs/dotnet/index.mjs +9 -0
- package/mjs/dotnet/index.mjs.map +1 -0
- package/mjs/dotnet.d.ts +2 -0
- package/mjs/dotnet.d.ts.map +1 -0
- package/mjs/dotnet.mjs +9 -0
- package/mjs/dotnet.mjs.map +1 -0
- package/mjs/eslintConfig.d.ts +4 -0
- package/mjs/eslintConfig.d.ts.map +1 -0
- package/mjs/eslintConfig.mjs +98 -0
- package/mjs/eslintConfig.mjs.map +1 -0
- package/mjs/index.d.ts +3 -0
- package/mjs/index.d.ts.map +1 -0
- package/mjs/index.mjs +4 -0
- package/mjs/index.mjs.map +1 -0
- package/mjs/insertPlugins.d.ts +18 -0
- package/mjs/insertPlugins.d.ts.map +1 -0
- package/mjs/insertPlugins.mjs +73 -0
- package/mjs/insertPlugins.mjs.map +1 -0
- package/mjs/semantic-release__commit-analyzer.d.mjs +2 -0
- package/mjs/semantic-release__commit-analyzer.d.mjs.map +1 -0
- package/mjs/semantic-release__exec.d.mjs +2 -0
- package/mjs/semantic-release__exec.d.mjs.map +1 -0
- package/mjs/semantic-release__git.d.mjs +2 -0
- package/mjs/semantic-release__git.d.mjs.map +1 -0
- package/mjs/semantic-release__github.d.mjs +2 -0
- package/mjs/semantic-release__github.d.mjs.map +1 -0
- package/mjs/semanticReleaseConfig.d.ts +97 -0
- package/mjs/semanticReleaseConfig.d.ts.map +1 -0
- package/mjs/semanticReleaseConfig.mjs +63 -0
- package/mjs/semanticReleaseConfig.mjs.map +1 -0
- package/mjs/semanticReleaseConfigDotnet.d.ts +109 -0
- package/mjs/semanticReleaseConfigDotnet.d.ts.map +1 -0
- package/mjs/semanticReleaseConfigDotnet.mjs +268 -0
- package/mjs/semanticReleaseConfigDotnet.mjs.map +1 -0
- package/mjs/setupGitPluginSpec.d.ts +22 -0
- package/mjs/setupGitPluginSpec.d.ts.map +1 -0
- package/mjs/setupGitPluginSpec.mjs +144 -0
- package/mjs/setupGitPluginSpec.mjs.map +1 -0
- package/mjs/utils/Exact.d.ts +20 -0
- package/mjs/utils/Exact.d.ts.map +1 -0
- package/mjs/utils/Exact.mjs +75 -0
- package/mjs/utils/Exact.mjs.map +1 -0
- package/mjs/utils/GracefulRecursion.d.mjs +2 -0
- package/mjs/utils/GracefulRecursion.d.mjs.map +1 -0
- package/mjs/utils/env.d.ts +24 -0
- package/mjs/utils/env.d.ts.map +1 -0
- package/mjs/utils/env.mjs +39 -0
- package/mjs/utils/env.mjs.map +1 -0
- package/mjs/utils/execAsync.d.ts +37 -0
- package/mjs/utils/execAsync.d.ts.map +1 -0
- package/mjs/utils/execAsync.mjs +59 -0
- package/mjs/utils/execAsync.mjs.map +1 -0
- package/mjs/utils/miscTypes.d.ts +13 -0
- package/mjs/utils/miscTypes.d.ts.map +1 -0
- package/mjs/utils/miscTypes.mjs +10 -0
- package/mjs/utils/miscTypes.mjs.map +1 -0
- package/mjs/utils/reflection/FunctionLike.d.mjs +2 -0
- package/mjs/utils/reflection/FunctionLike.d.mjs.map +1 -0
- package/mjs/utils/reflection/GetterDescriptor.d.mjs +2 -0
- package/mjs/utils/reflection/GetterDescriptor.d.mjs.map +1 -0
- package/mjs/utils/reflection/InstancePropertyDescriptorMap.d.mjs +2 -0
- package/mjs/utils/reflection/InstancePropertyDescriptorMap.d.mjs.map +1 -0
- package/mjs/utils/reflection/InstanceTypeOrSelfPropertyDescriptorMap.d.mjs +2 -0
- package/mjs/utils/reflection/InstanceTypeOrSelfPropertyDescriptorMap.d.mjs.map +1 -0
- package/mjs/utils/reflection/OwnGetterDescriptorMap.d.mjs +2 -0
- package/mjs/utils/reflection/OwnGetterDescriptorMap.d.mjs.map +1 -0
- package/mjs/utils/reflection/OwnKeyOf.d.mjs +2 -0
- package/mjs/utils/reflection/OwnKeyOf.d.mjs.map +1 -0
- package/mjs/utils/reflection/OwnPropertyDescriptorMap.d.mjs +2 -0
- package/mjs/utils/reflection/OwnPropertyDescriptorMap.d.mjs.map +1 -0
- package/mjs/utils/reflection/PropertyDescriptorMap.d.mjs +2 -0
- package/mjs/utils/reflection/PropertyDescriptorMap.d.mjs.map +1 -0
- package/mjs/utils/reflection/filterForGetters.d.ts +7 -0
- package/mjs/utils/reflection/filterForGetters.d.ts.map +1 -0
- package/mjs/utils/reflection/filterForGetters.mjs +27 -0
- package/mjs/utils/reflection/filterForGetters.mjs.map +1 -0
- package/mjs/utils/reflection/getOwnPropertyDescriptors.d.ts +22 -0
- package/mjs/utils/reflection/getOwnPropertyDescriptors.d.ts.map +1 -0
- package/mjs/utils/reflection/getOwnPropertyDescriptors.mjs +34 -0
- package/mjs/utils/reflection/getOwnPropertyDescriptors.mjs.map +1 -0
- package/mjs/utils/reflection/getOwnPropertyDescriptorsRecursively.d.ts +56 -0
- package/mjs/utils/reflection/getOwnPropertyDescriptorsRecursively.d.ts.map +1 -0
- package/mjs/utils/reflection/getOwnPropertyDescriptorsRecursively.mjs +72 -0
- package/mjs/utils/reflection/getOwnPropertyDescriptorsRecursively.mjs.map +1 -0
- package/mjs/utils/reflection/getPrototypeChainOf.d.ts +16 -0
- package/mjs/utils/reflection/getPrototypeChainOf.d.ts.map +1 -0
- package/mjs/utils/reflection/getPrototypeChainOf.mjs +55 -0
- package/mjs/utils/reflection/getPrototypeChainOf.mjs.map +1 -0
- package/mjs/utils/reflection/getPrototypeOf.d.ts +8 -0
- package/mjs/utils/reflection/getPrototypeOf.d.ts.map +1 -0
- package/mjs/utils/reflection/getPrototypeOf.mjs +10 -0
- package/mjs/utils/reflection/getPrototypeOf.mjs.map +1 -0
- package/mjs/utils/reflection/inheritance.d.ts +180 -0
- package/mjs/utils/reflection/inheritance.d.ts.map +1 -0
- package/mjs/utils/reflection/inheritance.mjs +148 -0
- package/mjs/utils/reflection/inheritance.mjs.map +1 -0
- package/mjs/utils/reflection/isConstructor.d.ts +17 -0
- package/mjs/utils/reflection/isConstructor.d.ts.map +1 -0
- package/mjs/utils/reflection/isConstructor.mjs +63 -0
- package/mjs/utils/reflection/isConstructor.mjs.map +1 -0
- package/mjs/utils/reflection/isGetterDescriptor.d.ts +9 -0
- package/mjs/utils/reflection/isGetterDescriptor.d.ts.map +1 -0
- package/mjs/utils/reflection/isGetterDescriptor.mjs +12 -0
- package/mjs/utils/reflection/isGetterDescriptor.mjs.map +1 -0
- package/mjs/utils/reflection/listOwnGetters.d.ts +26 -0
- package/mjs/utils/reflection/listOwnGetters.d.ts.map +1 -0
- package/mjs/utils/reflection/listOwnGetters.mjs +39 -0
- package/mjs/utils/reflection/listOwnGetters.mjs.map +1 -0
- package/mjs/utils/reflection.d.ts +18 -0
- package/mjs/utils/reflection.d.ts.map +1 -0
- package/mjs/utils/reflection.mjs +10 -0
- package/mjs/utils/reflection.mjs.map +1 -0
- package/package.json +17 -17
- package/src/debug.ts +5 -4
- package/src/dotnet/GithubNugetRegistryInfo.ts +17 -9
- package/src/dotnet/GitlabNugetRegistryInfo.ts +19 -5
- package/src/dotnet/IsNextVersionAlreadyPublished.cli.ts +53 -36
- package/src/dotnet/MSBuildProject.ts +150 -5
- package/src/dotnet/MSBuildProjectProperties.ts +2 -1
- package/src/dotnet/NugetProjectProperties.ts +3 -2
- package/src/dotnet/NugetRegistryInfo.ts +94 -8
- package/src/dotnet/helpers.ts +87 -53
- package/src/dotnet/index.ts +8 -0
- package/src/dotnet.ts +1 -0
- package/src/insertPlugins.ts +116 -0
- package/src/semantic-release__exec.d.ts +1 -1
- package/src/semanticReleaseConfig.ts +8 -3
- package/src/semanticReleaseConfigDotnet.ts +90 -88
- package/src/setupGitPluginSpec.ts +4 -1
- package/src/tsconfig.json +1 -1
- package/src/utils/execAsync.ts +13 -1
- package/src/utils/miscTypes.ts +4 -3
- package/src/utils/reflection/inheritance.ts +1 -1
- package/tsconfig.base.json +54 -0
- package/tsconfig.json +22 -0
- package/tsconfig.mjs.json +8 -0
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
import type { NugetProjectProperties } from './NugetProjectProperties.js';
|
|
2
|
+
import { config as configDotenv } from '@dotenvx/dotenvx';
|
|
3
|
+
import { MSBuildEvaluationOutput, MSBuildProject } from './MSBuildProject.js';
|
|
4
|
+
import type { ObjectType } from 'arktype/internal/methods/object.ts';
|
|
5
|
+
import type { Default } from 'arktype/internal/attributes.ts';
|
|
6
|
+
/**
|
|
7
|
+
* Read the contents of $GITHUB_OUTPUT (if its value is a file path) or $TEMP/GITHUB_OUTPUT.
|
|
8
|
+
* If the file doesn't exist, it is created.
|
|
9
|
+
* @returns If successful, a promised object with a parsed key.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getGithubOutput(): Promise<ReturnType<typeof configDotenv>['parsed']>;
|
|
12
|
+
/**
|
|
13
|
+
* Read the contents of $GITHUB_OUTPUT (if its value is a file path) or $TEMP/GITHUB_OUTPUT.
|
|
14
|
+
* If the file doesn't exist, it is created.
|
|
15
|
+
* @returns An object with a parsed key if successful.
|
|
16
|
+
*/
|
|
17
|
+
export declare function getGithubOutputSync(): NonNullable<ReturnType<typeof configDotenv>['parsed']>;
|
|
18
|
+
export declare class NugetRegistryInfo {
|
|
19
|
+
private _canPushPackagesToSource;
|
|
20
|
+
private readonly _project;
|
|
21
|
+
private readonly _resolvedEnvVariable;
|
|
22
|
+
private readonly _source;
|
|
23
|
+
static readonly DefaultTokenEnvVars: readonly ['NUGET_TOKEN'];
|
|
24
|
+
/**
|
|
25
|
+
* Convert a URL string to a filesystem folder name.
|
|
26
|
+
*
|
|
27
|
+
* Intended usage: modify the output path of `dotnet pack` based on the NuGet
|
|
28
|
+
* Source the package should be pushed to. This is extra work is usually
|
|
29
|
+
* unnecessary and you'd typically push the same file to multiple sources.
|
|
30
|
+
* This is for the edge-case scenario of creating multiple nupkgs and signing
|
|
31
|
+
* each one with a different certificate corresponding to a given NuGet
|
|
32
|
+
* Source. This is only useful if the Sources have different certificates
|
|
33
|
+
* registered for a given package/user/organization.
|
|
34
|
+
* @param source The URL of the NuGet Source
|
|
35
|
+
* @returns A string suitable for a local filesystem folder name, formatted as
|
|
36
|
+
* `${hostname}_${pathname.replace('/', '_')}`.
|
|
37
|
+
*/
|
|
38
|
+
static GetDirNameForSource(source: string): string;
|
|
39
|
+
/**
|
|
40
|
+
* Creates an instance of NugetRegistryInfo.\
|
|
41
|
+
* This class enables the ability to push a given {@link project}'s
|
|
42
|
+
* package(s) to the {@link source} of a given NuGet Source's API endpoint with
|
|
43
|
+
* a user-defined API key. This API key, herein referred to as a "token", is
|
|
44
|
+
* derived from the {@link tokenEnvVars} array. This array is iterated through
|
|
45
|
+
* until one of the items is discovered to be an existing environment variable
|
|
46
|
+
* (or is defined in a file named '.env' in the current working directory for
|
|
47
|
+
* LOCAL TESTING ONLY! Do NOT `git add` your private keys!).
|
|
48
|
+
* \
|
|
49
|
+
* WARNING:
|
|
50
|
+
* - The token value is stored privately within this class, but it is plain text.
|
|
51
|
+
* - This private key may be copied to command line strings stored in Semantic
|
|
52
|
+
* Release's config object for later use by `@semantic-release/exec`.
|
|
53
|
+
* - Other EcmaScript modules can access the environment variable(s) and steal
|
|
54
|
+
* your key. Be aware of malicious dependencies!
|
|
55
|
+
* @param opts The input type of {@link NRIOpts.from}
|
|
56
|
+
* @param opts.project The project whose package(s) will be
|
|
57
|
+
* pushed.\
|
|
58
|
+
* - Its {@link NugetProjectProperties#PackageId} will be read.\
|
|
59
|
+
* - Its {@link NugetProjectProperties#PackageVersion} will be overridden via CLI args when creating a dummy package. The real package's
|
|
60
|
+
* `PackageVersion` will *not* be overridden.
|
|
61
|
+
* @param [opts.tokenEnvVars] The environment variables
|
|
62
|
+
* whose values are tokens with permission to push a package to the NuGet
|
|
63
|
+
* package registry. The array is iterated through until one token is found.
|
|
64
|
+
* If none of the environment variables are defined, this constructor will
|
|
65
|
+
* throw an {@link Error}.
|
|
66
|
+
* @param [opts.source] A NuGet package registry's API endpoint URL or name. Default: 'https://api.nuget.org/v3/index.json'
|
|
67
|
+
*/
|
|
68
|
+
constructor(opts: typeof NRIOpts['inferIn']);
|
|
69
|
+
get project(): MSBuildProject;
|
|
70
|
+
/**
|
|
71
|
+
* This is not useful without it being executed as part of a Semantic Release
|
|
72
|
+
* plugin. Deferring this to @semantic-release/exec's prepareCmd is possible,
|
|
73
|
+
* but impractical. You'd need to configure prepareCmd to invoke something
|
|
74
|
+
* like `node customScriptFile.mjs`. It's not worth the hassle.
|
|
75
|
+
* @returns `true` if the token can be used to push nupkg to the given Nuget registry
|
|
76
|
+
* @throws {TypeError | Error | import('../utils/execAsync.js').ChildProcessSpawnException }
|
|
77
|
+
* - {@link Error} | {@link module:utils/execAsync:ChildProcessSpawnException ChildProcessSpawnException}
|
|
78
|
+
* - The token is invalid, of the wrong token type, or lacks permission to push packages
|
|
79
|
+
* - The URL does not exist or a connection could not be established
|
|
80
|
+
* - The command line string is malformed.
|
|
81
|
+
* @deprecated Call during the `verifyConditions` step of Semantic Release! Additionally, {@link GetIsNextVersionAlreadyPublishedCommand}'s return value should be assigned to `prepareCmd` to prevent package version collision errors.
|
|
82
|
+
*/
|
|
83
|
+
get canPushPackagesToSource(): Promise<true>;
|
|
84
|
+
/**
|
|
85
|
+
* The first environment variable found to have a defined value. Set by
|
|
86
|
+
* {@link _GetTokenEnvVariables} in the constructor.
|
|
87
|
+
* @returns The first environment variable found to have a defined value.
|
|
88
|
+
*/
|
|
89
|
+
get resolvedEnvVariable(): string | undefined;
|
|
90
|
+
get source(): string;
|
|
91
|
+
/**
|
|
92
|
+
* Get the API token from {@link NugetRegistryInfo#resolvedEnvVariable}
|
|
93
|
+
* @param resolvedEnvVariable The name of the environment variable(s) whose
|
|
94
|
+
* value is a NuGet API key. Typically, the value of
|
|
95
|
+
* {@link NugetRegistryInfo#resolvedEnvVariable}.
|
|
96
|
+
* @returns The value of the first defined environment variable.
|
|
97
|
+
* @throws {Error} when none of the provided environment variables are defined.
|
|
98
|
+
*/
|
|
99
|
+
private static _GetTokenValue;
|
|
100
|
+
/**
|
|
101
|
+
* The type for options and arguments of `dotnet pack`. See https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-pack.
|
|
102
|
+
*
|
|
103
|
+
* {@link NRI.PackPackagesOptionsType.t.propertyOverrides `propertyOverrides`}
|
|
104
|
+
* is a wrapper for MSBuild's `-property:<n>=<v>` properties override arg.
|
|
105
|
+
*/
|
|
106
|
+
static readonly PackPackagesOptionsType: ObjectType<{
|
|
107
|
+
propertyOverrides?: Record<string, string> | undefined;
|
|
108
|
+
artifactsPath?: string | undefined;
|
|
109
|
+
configuration?: 'Release' | 'Debug' | undefined;
|
|
110
|
+
disableBuildServers?: boolean | undefined;
|
|
111
|
+
force?: boolean | undefined;
|
|
112
|
+
includeSource?: boolean | undefined;
|
|
113
|
+
includeSymbols?: boolean | undefined;
|
|
114
|
+
interactive?: boolean | undefined;
|
|
115
|
+
noBuild?: boolean | undefined;
|
|
116
|
+
noLogo?: boolean | undefined;
|
|
117
|
+
noRestore?: boolean | undefined;
|
|
118
|
+
output?: string | undefined;
|
|
119
|
+
runtime?: string | undefined;
|
|
120
|
+
serviceable?: boolean | undefined;
|
|
121
|
+
terminalLogger?: 'auto' | 'on' | 'off' | undefined;
|
|
122
|
+
useCurrentRuntime?: boolean | undefined;
|
|
123
|
+
verbosity?: 'quiet' | 'minimal' | 'normal' | 'detailed' | 'diagnostic' | undefined;
|
|
124
|
+
versionSuffix?: string | undefined;
|
|
125
|
+
'-GetItem'?: readonly string[] | string[] | undefined;
|
|
126
|
+
}>;
|
|
127
|
+
static readonly PackDummyPackagesOptionsType: ObjectType<{
|
|
128
|
+
propertyOverrides?: Record<string, string> | undefined;
|
|
129
|
+
artifactsPath?: string | undefined;
|
|
130
|
+
configuration?: 'Release' | 'Debug' | undefined;
|
|
131
|
+
disableBuildServers?: boolean | undefined;
|
|
132
|
+
force?: boolean | undefined;
|
|
133
|
+
includeSource?: boolean | undefined;
|
|
134
|
+
includeSymbols?: boolean | undefined;
|
|
135
|
+
interactive?: boolean | undefined;
|
|
136
|
+
noBuild?: boolean | undefined;
|
|
137
|
+
noLogo?: boolean | undefined;
|
|
138
|
+
noRestore?: boolean | undefined;
|
|
139
|
+
runtime?: string | undefined;
|
|
140
|
+
serviceable?: boolean | undefined;
|
|
141
|
+
terminalLogger?: 'auto' | 'on' | 'off' | undefined;
|
|
142
|
+
useCurrentRuntime?: boolean | undefined;
|
|
143
|
+
verbosity?: 'quiet' | 'minimal' | 'normal' | 'detailed' | 'diagnostic' | undefined;
|
|
144
|
+
versionSuffix?: string | undefined;
|
|
145
|
+
'-GetItem'?: readonly string[] | string[] | undefined;
|
|
146
|
+
}>;
|
|
147
|
+
/**
|
|
148
|
+
* Get a `dotnet pack` command line string, outputting the package(s) to a
|
|
149
|
+
* path determined by this method's parameters.
|
|
150
|
+
* When pushing the package(s), you only need to supply the main .nupkg's path
|
|
151
|
+
* or its directory to the dotnet CLI—by default, it will also push the
|
|
152
|
+
* symbols package, if present.
|
|
153
|
+
* @param opts Options passed to
|
|
154
|
+
* `dotnet pack`, excluding the required `<PROJECT | SOLUTION>` argument. The
|
|
155
|
+
* {@link PackPackagesOptionsType.t.output} path is modified according to the
|
|
156
|
+
* {@link usePerSourceSubfolder} and {@link usePerPackageIdSubfolder}
|
|
157
|
+
* arguments.
|
|
158
|
+
* @param usePerSourceSubfolder If true, the path of the package output will
|
|
159
|
+
* include a subfolder named after the NuGet Source.
|
|
160
|
+
* @param usePerPackageIdSubfolder If true, the path of the package output
|
|
161
|
+
* will include a subfolder named after the NuGet package's ID.
|
|
162
|
+
* @returns `dotnet pack "${this.project.Properties.MSBuildProjectFullPath}"
|
|
163
|
+
* -o "${outDir}"` where outDir may be `${cwd()}/publish/${NugetRegistryInfo.GetNameForURL(this.source)}/${this._project.Properties.PackageId}`
|
|
164
|
+
*/
|
|
165
|
+
GetPackCommand(opts: typeof NRI.PackPackagesOptionsType.inferIn, usePerSourceSubfolder?: boolean, usePerPackageIdSubfolder?: boolean): string;
|
|
166
|
+
/**
|
|
167
|
+
* !Not ready for use! Remove private modifier and commit as `feat(dotnet)` when ready for release!
|
|
168
|
+
* Blocking Issue: convert all dotnet-related functionality to a Semantic Release plugin!
|
|
169
|
+
* The current {@link SemanticReleaseConfigDotnet} leverages
|
|
170
|
+
* `@semantic-release/exec` to invoke dotnet commands. This is fine for
|
|
171
|
+
* relatively short command lines, but chaining commands with ' && ' results
|
|
172
|
+
* in quickly-growing complexity.
|
|
173
|
+
* NuGet packages should be created during the `prepare` step, but complex
|
|
174
|
+
* configuration of `dotnet pack` via command lines intended to be invoked by
|
|
175
|
+
* `@semantic-release/exec` is impractical.
|
|
176
|
+
* @param opts `dotnet pack` options. See `dotnet pack -h`,
|
|
177
|
+
* https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-pack, and
|
|
178
|
+
* {@link PackPackagesOptionsType}.
|
|
179
|
+
* {@link opts['-GetItem']} will _always_ have '_OutputPackItems'.
|
|
180
|
+
* @param [usePerSourceSubfolder] If `true`, modify the output path to
|
|
181
|
+
* include a subfolder bearing a path-safe encoding of the NuGet Source that
|
|
182
|
+
* will receive the nupkg.
|
|
183
|
+
* @param [usePerPackageIdSubfolder] If `true`, modify the output path
|
|
184
|
+
* to include a subfolder named after the the PackageId.
|
|
185
|
+
* @returns a string[] containing the full file paths of all new packages i.e.
|
|
186
|
+
* .nupkg, .symbols.nupkg, .snupkg
|
|
187
|
+
*/
|
|
188
|
+
private _PackPackages;
|
|
189
|
+
/**
|
|
190
|
+
* Create a dummy package for the current {@link project} by executing a
|
|
191
|
+
* command line like \``dotnet pack ${this.project.Properties.MSBuildProjectFullPath} -p:Version=0.0.1-DUMMY -output ${getDummiesDir(this._project)}/${GetNameForURL(this.source)}`\`
|
|
192
|
+
* @param opts Options passed to
|
|
193
|
+
* `dotnet pack`, excluding the required `<PROJECT | SOLUTION>` argument.
|
|
194
|
+
* - The `output` field is ignored and overwritten. It is replaced with
|
|
195
|
+
* ${{@link getDummiesDir}({@link project})}/${{@link GetDirNameForSource}({@link source})}
|
|
196
|
+
* - The `output` path will be affixed with a folder named after this
|
|
197
|
+
* {@link NugetRegistryInfo#source}, but will not include a subfolder for the
|
|
198
|
+
* {@link NugetRegistryInfo#project NugetRegistryInfo.project}.{@link MSBuildProject#Properties Properties}.{@link MSBuildProject#Properties#PackageId PackageId}.
|
|
199
|
+
* @returns the full paths of all nupkg, symbols.nupkg, and snupkg files
|
|
200
|
+
* created by the Pack target, as extracted from the dotnet process's STDOUT.
|
|
201
|
+
* If mixed with other nupkgs, filter for the {@link NugetProjectProperties#PackageId}
|
|
202
|
+
*/
|
|
203
|
+
PackDummyPackage(opts: typeof NRI.PackDummyPackagesOptionsType.inferIn): Promise<string[]>;
|
|
204
|
+
/**
|
|
205
|
+
* Also includes required argument 'ROOT': the directory in which packages
|
|
206
|
+
* should be present and ready to be pushed the default or specified Source.
|
|
207
|
+
* The ROOT may also include wildcards e.g. `*.nupkg`, `**\\*.nupkg`
|
|
208
|
+
* See https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-nuget-push
|
|
209
|
+
*
|
|
210
|
+
* Specific to this API:
|
|
211
|
+
* If you want to use this API's default root value (\`${cwd()}/publish`), assign an empty string.
|
|
212
|
+
*/
|
|
213
|
+
static readonly PushPackagesOptionsType: ObjectType<{
|
|
214
|
+
root: string;
|
|
215
|
+
apiKey?: string | undefined;
|
|
216
|
+
configFile?: string | undefined;
|
|
217
|
+
disableBuffering?: boolean | undefined;
|
|
218
|
+
forceEnglishOutput?: boolean | undefined;
|
|
219
|
+
interactive?: boolean | undefined;
|
|
220
|
+
noServiceEndpoint?: boolean | undefined;
|
|
221
|
+
noSymbols?: boolean | undefined;
|
|
222
|
+
skipDuplicate?: boolean | undefined;
|
|
223
|
+
source?: string | undefined;
|
|
224
|
+
symbolApiKey?: string | undefined;
|
|
225
|
+
symbolSource?: string | undefined;
|
|
226
|
+
timeout?: number | undefined;
|
|
227
|
+
}>;
|
|
228
|
+
/**
|
|
229
|
+
* {@link NRI.PushPackagesOptionsType} sans {@link NRI.PushPackagesOptionsType.t.root}.
|
|
230
|
+
* The result of {@link getDummiesDir} is used, instead.
|
|
231
|
+
*/
|
|
232
|
+
static readonly PushDummyPackagesOptionsType: ObjectType<{
|
|
233
|
+
apiKey?: string | undefined;
|
|
234
|
+
configFile?: string | undefined;
|
|
235
|
+
disableBuffering?: boolean | undefined;
|
|
236
|
+
forceEnglishOutput?: boolean | undefined;
|
|
237
|
+
interactive?: boolean | undefined;
|
|
238
|
+
noServiceEndpoint?: boolean | undefined;
|
|
239
|
+
noSymbols?: boolean | undefined;
|
|
240
|
+
source?: string | undefined;
|
|
241
|
+
symbolApiKey?: string | undefined;
|
|
242
|
+
symbolSource?: string | undefined;
|
|
243
|
+
timeout?: number | undefined;
|
|
244
|
+
skipDuplicate: Default<true, true>;
|
|
245
|
+
}>;
|
|
246
|
+
/**
|
|
247
|
+
* Create a `dotnet nuget push` command line from the given options and
|
|
248
|
+
* optional boolean parameters.
|
|
249
|
+
* @param opts See {@link PushPackagesOptionsType}
|
|
250
|
+
* @param usePerSourceSubfolder If `true`, the NuGet Source name or URL is formatted
|
|
251
|
+
* to a folder name and appended to the ROOT as a subfolder. Do not use
|
|
252
|
+
* wildcards in ROOT with this set to `true`!
|
|
253
|
+
* @param usePerPackageIdSubfolder If `true`, the
|
|
254
|
+
* {@link project}'s {@link NugetProjectProperties#PackageId}
|
|
255
|
+
* is appended to the ROOT as a subfolder. Do not use wildcards in
|
|
256
|
+
* ROOT with this set to `true`!
|
|
257
|
+
* @returns A `dotnet nuget push` command line formatted with the
|
|
258
|
+
* appropriate arguments.
|
|
259
|
+
*/
|
|
260
|
+
GetPushCommand(opts: typeof NRI.PushPackagesOptionsType.inferIn, usePerSourceSubfolder?: boolean, usePerPackageIdSubfolder?: boolean): string;
|
|
261
|
+
/**
|
|
262
|
+
* Immediately push packages. The input path may be modified according to the
|
|
263
|
+
* {@link usePerSourceSubfolder} and {@link usePerPackageIdSubfolder}
|
|
264
|
+
* arguments.
|
|
265
|
+
* @param opts The `dotnet nuget push` command line options, including the
|
|
266
|
+
* ROOT argument, the directory containing local nuget packages ready to be
|
|
267
|
+
* pushed.
|
|
268
|
+
* @param usePerSourceSubfolder If `true`, the NuGet Source name or URL is formatted
|
|
269
|
+
* to a folder name and appended to the ROOT as a subfolder. Do not use
|
|
270
|
+
* wildcards in ROOT with this set to `true`!
|
|
271
|
+
* @param usePerPackageIdSubfolder If `true`, the current {@link project}'s
|
|
272
|
+
* PackageId is appended to the ROOT as a subfolder. Do not use wildcards in
|
|
273
|
+
* ROOT with this set to `true`!
|
|
274
|
+
*/
|
|
275
|
+
private _PushPackages;
|
|
276
|
+
/**
|
|
277
|
+
*
|
|
278
|
+
* Get a `dotnet nuget push` command for pushing one or more nupkg/snupkg
|
|
279
|
+
* files created by {@link GetPackCommand} or {@link _PackPackages}.\
|
|
280
|
+
* Like {@link PackDummyPackage}, the output/ROOT path will include a
|
|
281
|
+
* folder named after this NRI instance's {@link NugetRegistryInfo#source},
|
|
282
|
+
* but will not include a subfolder for the
|
|
283
|
+
* {@link NugetRegistryInfo#project NugetRegistryInfo.project}.{@link MSBuildProject#Properties Properties}.{@link MSBuildProject#Properties#PackageId PackageId}
|
|
284
|
+
* @example
|
|
285
|
+
* ```ts
|
|
286
|
+
* const packAndPushDummyCmd = [
|
|
287
|
+
* nri.GetPackCommand(
|
|
288
|
+
* NugetRegistryInfo.PackPackagesOptionsType.from({ root: '' }),
|
|
289
|
+
* false,
|
|
290
|
+
* false,
|
|
291
|
+
* ),
|
|
292
|
+
* nri.GetPushDummyPackageCommand(pushOpts, false, false),
|
|
293
|
+
* ].join(' && ')
|
|
294
|
+
* ```
|
|
295
|
+
* @param opts options for `dotnet nuget push`. The following
|
|
296
|
+
* fields are overwritten:
|
|
297
|
+
* - root: getDummiesDir(this.project)
|
|
298
|
+
* - skipDuplicates: true
|
|
299
|
+
* @returns a `dotnet nuget push` command to push a dummy package
|
|
300
|
+
* (created by executing {@link PackDummyPackage}) to {@link source}
|
|
301
|
+
*/
|
|
302
|
+
GetPushDummyCommand(opts: typeof NRI.PushDummyPackagesOptionsType.inferIn): string;
|
|
303
|
+
/**
|
|
304
|
+
* Call {@link GetPushDummyCommand} and immediately execute it.
|
|
305
|
+
* @throws {Error} when the process exits with an error code indicating
|
|
306
|
+
* failure i.e. the command line is invalid, the process fails to start,
|
|
307
|
+
* the push fails, et cetera.
|
|
308
|
+
* @param opts the ROOT arg and options for `dotnet nuget push`. The following
|
|
309
|
+
* fields are overwritten:
|
|
310
|
+
* - root: getDummiesDir(this.project)
|
|
311
|
+
* - skipDuplicates: true
|
|
312
|
+
* @returns The return type of {@link execAsync} i.e. a {@link Promise} resolving to `{ stdout: string; stderr: string }`.
|
|
313
|
+
*/
|
|
314
|
+
private _PushDummyPackages;
|
|
315
|
+
private static readonly _NugetSearchReturnTypes;
|
|
316
|
+
private static readonly _ParseNugetSearchReturn;
|
|
317
|
+
/**
|
|
318
|
+
* !WARNING: this method requires the Nuget Source to be configured via `dotnet nuget add source` or `dotnet nuget update source`. `NUGET_TOKEN` works, but it may be vulnerable to supply chain attacks.\
|
|
319
|
+
* Call during the `prepare` step of a Semantic Release run.\
|
|
320
|
+
* Determine if the `nextVersion` generated during the `analyze` Semantic
|
|
321
|
+
* Release step was already published to the NuGet {@link source}.
|
|
322
|
+
* @param source The name or URI of the NuGet Source to search. If this API
|
|
323
|
+
* endpoint does not support searches, the operation will fail. If this API
|
|
324
|
+
* endpoint requires authentication (e.g. GitHub), it must be configured via
|
|
325
|
+
* `dotnet nuget add source` or `dotnet nuget update source` before calling
|
|
326
|
+
* this method.
|
|
327
|
+
* @param packageId The ID of the NuGet package to search for.
|
|
328
|
+
* @param nextVersion The nextVersion value generated by semantic-release's hidden ["Create Git tag" step](https://semantic-release.gitbook.io/semantic-release#:~:text=the%20last%20release.-,Create%20Git%20tag,-Create%20a%20Git).
|
|
329
|
+
* @returns A promised boolean.
|
|
330
|
+
* If the promise resolves to `true`, the semantic release run should be
|
|
331
|
+
* cancelled immediately.
|
|
332
|
+
* Otherwise, the release should proceed.
|
|
333
|
+
* @todo utilize in custom plugin inserted at the beginning of `prepare`
|
|
334
|
+
*/
|
|
335
|
+
static IsNextVersionAlreadyPublished(source: string, packageId: string, nextVersion: string): Promise<boolean>;
|
|
336
|
+
/**
|
|
337
|
+
* !WARNING: GITHUB_OUTPUT must be the full path to an environment file.
|
|
338
|
+
* The plugin "semantic-release-output-variables" next-release-version
|
|
339
|
+
*
|
|
340
|
+
* !WARNING: NuGet Source API Key mus tbe configured via `dotnet nuget add source` or `dotnet nuget update source`.
|
|
341
|
+
* Some Sources (e.g. GitHub) require authentication for package searches.
|
|
342
|
+
*
|
|
343
|
+
* # Authenticating NuGet Package Searches
|
|
344
|
+
*
|
|
345
|
+
* ## GitHub NuGet Registry authentication
|
|
346
|
+
* - {@link https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-nuget-registry#authenticating-in-a-github-actions-workflow Authenticating in a GitHub Actions workflow}
|
|
347
|
+
* - {@link https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-nuget-registry#authenticating-with-a-personal-access-token Authenticating with a personal access token}.
|
|
348
|
+
* ## For GitLab NuGet Registry authentication, see
|
|
349
|
+
* - {@link https://docs.gitlab.com/ee/user/packages/nuget_repository/#add-a-source-with-the-net-cli Add a source with the .NET CLI}
|
|
350
|
+
* @returns a string containing a Node.JS command line invoking {@link ./IsNextVersionAlreadyPublished.cli.ts}
|
|
351
|
+
* @see {@link ./IsNextVersionAlreadyPublished.cli.ts}, {@link ./IsNextVersionAlreadyPublished.cli.js}
|
|
352
|
+
*/
|
|
353
|
+
GetIsNextVersionAlreadyPublishedCommand(): string;
|
|
354
|
+
}
|
|
355
|
+
declare const NRI: typeof NugetRegistryInfo;
|
|
356
|
+
/**
|
|
357
|
+
* The base type for {@link NRIOpts} and related types. Extend this type while
|
|
358
|
+
* overriding member types via {@link NRIOptsBase.merge}
|
|
359
|
+
*/
|
|
360
|
+
export declare const NRIOptsBase: ObjectType<{
|
|
361
|
+
project: MSBuildProject | {
|
|
362
|
+
readonly Items: Readonly<Required<MSBuildEvaluationOutput>['Items']>;
|
|
363
|
+
readonly Properties: Readonly<NugetProjectProperties>;
|
|
364
|
+
readonly Targets: readonly string[];
|
|
365
|
+
readonly TargetResults: Required<MSBuildEvaluationOutput>['TargetResults'][];
|
|
366
|
+
};
|
|
367
|
+
source: string;
|
|
368
|
+
tokenEnvVars: readonly string[];
|
|
369
|
+
}>;
|
|
370
|
+
/**
|
|
371
|
+
* The type of the parameter for {@link NugetRegistryInfo}'s constructor.
|
|
372
|
+
*/
|
|
373
|
+
export declare const NRIOpts: ObjectType<{
|
|
374
|
+
project: MSBuildProject | {
|
|
375
|
+
readonly Items: Readonly<Required<MSBuildEvaluationOutput>['Items']>;
|
|
376
|
+
readonly Properties: Readonly<NugetProjectProperties>;
|
|
377
|
+
readonly Targets: readonly string[];
|
|
378
|
+
readonly TargetResults: Required<MSBuildEvaluationOutput>['TargetResults'][];
|
|
379
|
+
};
|
|
380
|
+
tokenEnvVars: Default<readonly string[], readonly ['NUGET_TOKEN']>;
|
|
381
|
+
source: Default<string, string>;
|
|
382
|
+
}>;
|
|
383
|
+
export {};
|
|
384
|
+
//# sourceMappingURL=NugetRegistryInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NugetRegistryInfo.d.ts","sourceRoot":"","sources":["../../src/dotnet/NugetRegistryInfo.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAG1E,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAe1D,OAAO,EAAgB,uBAAuB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAO9D;;;;GAIG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAmB1F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAoB5F;AA0DD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,wBAAwB,CAAwC;IACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqB;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,gBAAuB,mBAAmB,EAAE,SAAS,CAAC,aAAa,CAAC,CACxB;IAE5C;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAOlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;gBACS,IAAI,EAAE,OAAO,OAAO,CAAC,SAAS,CAAC;IAe3C,IAAW,OAAO,IAAI,cAAc,CAEnC;IAED;;;;;;;;;;;;OAYG;IACH,IAAW,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAsBlD;IAED;;;;OAIG;IACH,IAAI,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAE5C;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAe7B;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,uBAAuB,EAAE,UAAU,CAAC;QAClD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;QACvD,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,aAAa,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;QAChD,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC1C,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC5B,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACpC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACrC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAClC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC9B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC7B,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAChC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAClC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;QACnD,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACxC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;QACnF,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;KACvD,CAAC,CA6BA;IAEF,gBAAuB,4BAA4B,EAAE,UAAU,CAAC;QAC9D,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;QACvD,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,aAAa,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;QAChD,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC1C,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC5B,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACpC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACrC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAClC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC9B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC7B,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAChC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAClC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;QACnD,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACxC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;QACnF,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;KACvD,CAAC,CAC8C;IAEhD;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,CACZ,IAAI,EAAE,OAAO,GAAG,CAAC,uBAAuB,CAAC,OAAO,EAChD,qBAAqB,UAAQ,EAC7B,wBAAwB,UAAQ,GAC/B,MAAM;IA4DT;;;;;;;;;;;;;;;;;;;;;OAqBG;YAEW,aAAa;IA8B3B;;;;;;;;;;;;;OAaG;IACU,gBAAgB,CAC3B,IAAI,EAAE,OAAO,GAAG,CAAC,4BAA4B,CAAC,OAAO,GACpD,OAAO,CAAC,MAAM,EAAE,CAAC;IAgCpB;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,CAAC,uBAAuB,EAAE,UAAU,CAAC;QAClD,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACvC,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACzC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAClC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACxC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAChC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACpC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC9B,CAAC,CAiCA;IAEF;;;OAGG;IACH,gBAAuB,4BAA4B,EAAE,UAAU,CAAC;QAC9D,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACvC,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACzC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAClC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACxC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAChC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACpC,CAAC,CAGgB;IAElB;;;;;;;;;;;;;OAaG;IACH,cAAc,CACZ,IAAI,EAAE,OAAO,GAAG,CAAC,uBAAuB,CAAC,OAAO,EAChD,qBAAqB,UAAQ,EAC7B,wBAAwB,UAAQ,GAC/B,MAAM;IAqDT;;;;;;;;;;;;;OAaG;YAEW,aAAa;IAqB3B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,mBAAmB,CACjB,IAAI,EAAE,OAAO,GAAG,CAAC,4BAA4B,CAAC,OAAO,GACpD,MAAM;IAUT;;;;;;;;;;OAUG;YACW,kBAAkB;IAgBhC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAgB7C;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAEE;IAEjD;;;;;;;;;;;;;;;;;OAiBG;WACU,6BAA6B,CACxC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC;IAkBnB;;;;;;;;;;;;;;;;OAgBG;IACH,uCAAuC,IAAI,MAAM;CAgBlD;AAGD,QAAA,MAAM,GAAG,EAAE,OAAO,iBAAqC,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,UAAU,CAAC;IACnC,OAAO,EAAE,cAAc,GAAG;QACxB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACrE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QACtD,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;QACpC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC;KAC9E,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC,CAwCC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,UAAU,CAAC;IAC/B,OAAO,EAAE,cAAc,GAAG;QACxB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACrE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QACtD,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;QACpC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC;KAC9E,CAAC;IACF,YAAY,EAAE,OAAO,CAAC,SAAS,MAAM,EAAE,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;IACnE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC,CAeC,CAAC"}
|