@apimatic/cli 1.1.0-beta.11 → 1.1.0-beta.14
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/README.md +64 -1
- package/lib/actions/publishing/profile/list.d.ts +11 -0
- package/lib/actions/publishing/profile/list.js +29 -0
- package/lib/actions/publishing/profile/list.js.map +1 -0
- package/lib/actions/sdk/generate.d.ts +2 -1
- package/lib/actions/sdk/generate.js +3 -3
- package/lib/actions/sdk/generate.js.map +1 -1
- package/lib/actions/sdk/publish/interactive.d.ts +13 -0
- package/lib/actions/sdk/publish/interactive.js +105 -0
- package/lib/actions/sdk/publish/interactive.js.map +1 -0
- package/lib/actions/sdk/publish/non-interactive.d.ts +14 -0
- package/lib/actions/sdk/publish/non-interactive.js +101 -0
- package/lib/actions/sdk/publish/non-interactive.js.map +1 -0
- package/lib/actions/sdk/publish.d.ts +18 -0
- package/lib/actions/sdk/publish.js +57 -0
- package/lib/actions/sdk/publish.js.map +1 -0
- package/lib/commands/publishing/profile/list.d.ts +9 -0
- package/lib/commands/publishing/profile/list.js +28 -0
- package/lib/commands/publishing/profile/list.js.map +1 -0
- package/lib/commands/sdk/publish.d.ts +18 -0
- package/lib/commands/sdk/publish.js +73 -0
- package/lib/commands/sdk/publish.js.map +1 -0
- package/lib/infrastructure/env-info.d.ts +2 -0
- package/lib/infrastructure/env-info.js +23 -12
- package/lib/infrastructure/env-info.js.map +1 -1
- package/lib/infrastructure/file-service.d.ts +4 -0
- package/lib/infrastructure/file-service.js +43 -0
- package/lib/infrastructure/file-service.js.map +1 -1
- package/lib/infrastructure/git-service.d.ts +0 -1
- package/lib/infrastructure/git-service.js +0 -3
- package/lib/infrastructure/git-service.js.map +1 -1
- package/lib/infrastructure/launcher-service.d.ts +3 -0
- package/lib/infrastructure/launcher-service.js +13 -1
- package/lib/infrastructure/launcher-service.js.map +1 -1
- package/lib/infrastructure/os-extensions.d.ts +2 -0
- package/lib/infrastructure/os-extensions.js +6 -0
- package/lib/infrastructure/os-extensions.js.map +1 -0
- package/lib/infrastructure/service-error.d.ts +1 -0
- package/lib/infrastructure/service-error.js +3 -0
- package/lib/infrastructure/service-error.js.map +1 -1
- package/lib/infrastructure/services/portal-service.d.ts +2 -1
- package/lib/infrastructure/services/portal-service.js +2 -2
- package/lib/infrastructure/services/portal-service.js.map +1 -1
- package/lib/infrastructure/services/publishing-api-service.d.ts +19 -0
- package/lib/infrastructure/services/publishing-api-service.js +111 -0
- package/lib/infrastructure/services/publishing-api-service.js.map +1 -0
- package/lib/infrastructure/zip-service.d.ts +2 -2
- package/lib/infrastructure/zip-service.js +29 -11
- package/lib/infrastructure/zip-service.js.map +1 -1
- package/lib/prompts/format.d.ts +0 -2
- package/lib/prompts/format.js +0 -31
- package/lib/prompts/format.js.map +1 -1
- package/lib/prompts/prompt.d.ts +6 -0
- package/lib/prompts/prompt.js +45 -0
- package/lib/prompts/prompt.js.map +1 -1
- package/lib/prompts/publishing/profile/list.d.ts +9 -0
- package/lib/prompts/publishing/profile/list.js +27 -0
- package/lib/prompts/publishing/profile/list.js.map +1 -0
- package/lib/prompts/sdk/publish/interactive.d.ts +30 -0
- package/lib/prompts/sdk/publish/interactive.js +139 -0
- package/lib/prompts/sdk/publish/interactive.js.map +1 -0
- package/lib/prompts/sdk/publish/non-interactive.d.ts +27 -0
- package/lib/prompts/sdk/publish/non-interactive.js +97 -0
- package/lib/prompts/sdk/publish/non-interactive.js.map +1 -0
- package/lib/prompts/sdk/publish.d.ts +12 -0
- package/lib/prompts/sdk/publish.js +16 -0
- package/lib/prompts/sdk/publish.js.map +1 -0
- package/lib/types/build-context.d.ts +2 -1
- package/lib/types/build-context.js +12 -2
- package/lib/types/build-context.js.map +1 -1
- package/lib/types/events/sdk-publish-validation-failed.d.ts +5 -0
- package/lib/types/events/sdk-publish-validation-failed.js +8 -0
- package/lib/types/events/sdk-publish-validation-failed.js.map +1 -0
- package/lib/types/merge-source-tree-context.js +2 -1
- package/lib/types/merge-source-tree-context.js.map +1 -1
- package/lib/types/package-settings-context.d.ts +10 -0
- package/lib/types/package-settings-context.js +20 -0
- package/lib/types/package-settings-context.js.map +1 -0
- package/lib/types/publish/package-settings-configuration.d.ts +70 -0
- package/lib/types/publish/package-settings-configuration.js +46 -0
- package/lib/types/publish/package-settings-configuration.js.map +1 -0
- package/lib/types/publish/profile-id.d.ts +10 -0
- package/lib/types/publish/profile-id.js +22 -0
- package/lib/types/publish/profile-id.js.map +1 -0
- package/lib/types/publish/publishing-profile.d.ts +18 -0
- package/lib/types/publish/publishing-profile.js +105 -0
- package/lib/types/publish/publishing-profile.js.map +1 -0
- package/lib/types/publish/publishing-profiles.d.ts +12 -0
- package/lib/types/publish/publishing-profiles.js +36 -0
- package/lib/types/publish/publishing-profiles.js.map +1 -0
- package/lib/types/publish/version.d.ts +7 -0
- package/lib/types/publish/version.js +17 -0
- package/lib/types/publish/version.js.map +1 -0
- package/lib/types/publish-api/publish-log.d.ts +20 -0
- package/lib/types/publish-api/publish-log.js +2 -0
- package/lib/types/publish-api/publish-log.js.map +1 -0
- package/lib/types/publish-api/publishing-info.d.ts +4 -0
- package/lib/types/publish-api/publishing-info.js +2 -0
- package/lib/types/publish-api/publishing-info.js.map +1 -0
- package/lib/types/publish-api/publishing-profile-item.d.ts +183 -0
- package/lib/types/publish-api/publishing-profile-item.js +6 -0
- package/lib/types/publish-api/publishing-profile-item.js.map +1 -0
- package/package.json +16 -8
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { log, spinner } from '@clack/prompts';
|
|
2
|
+
import { PublishType } from '../../../types/publish-api/publishing-profile-item.js';
|
|
3
|
+
import { format as f } from '../../../prompts/format.js';
|
|
4
|
+
import { noteWrapped, withSpinner } from '../../prompt.js';
|
|
5
|
+
export class SdkPublishNonInteractivePrompts {
|
|
6
|
+
directoryCannotBeSame(directory) {
|
|
7
|
+
const message = `The ${f.var('src')} and ${f.var('sdk')} directories must be different. Current value: ${f.path(directory)}`;
|
|
8
|
+
log.error(message);
|
|
9
|
+
}
|
|
10
|
+
srcDirectoryDoesNotExist(directory) {
|
|
11
|
+
log.error(`The ${f.var('src')} does not exist at the provided location: ${f.path(directory)}`);
|
|
12
|
+
}
|
|
13
|
+
missingRequiredFlags(options) {
|
|
14
|
+
const message = `Missing required flag(s): ${options.join(', ')}`;
|
|
15
|
+
log.error(message);
|
|
16
|
+
}
|
|
17
|
+
interactiveModeNotice() {
|
|
18
|
+
log.info('You can run the command in interactive mode by not passing any flags.');
|
|
19
|
+
}
|
|
20
|
+
invalidVersion(version) {
|
|
21
|
+
log.error(`Invalid version '${version}'. Please provide a valid version in the format major.minor.patch (e.g., 1.0.0).`);
|
|
22
|
+
}
|
|
23
|
+
invalidProfileId(profileId) {
|
|
24
|
+
log.error(`Invalid profile id '${profileId}' provided. Please provide a valid profile id.`);
|
|
25
|
+
}
|
|
26
|
+
async getPublishingProfiles(fn) {
|
|
27
|
+
return withSpinner('Searching for publishing profile', 'Profile search complete.', 'Failed to search for publishing profile.', fn);
|
|
28
|
+
}
|
|
29
|
+
getPublishingProfilesServiceError(serviceError) {
|
|
30
|
+
log.error(serviceError.errorMessage);
|
|
31
|
+
}
|
|
32
|
+
publishingProfileNotFound(profileId) {
|
|
33
|
+
log.error(`Publishing profile with id '${profileId}' not found. Please check if the provided profile id is correct or create a new publishing profile on the APIMatic App.`);
|
|
34
|
+
}
|
|
35
|
+
languageNotConfiguredForProfile(language) {
|
|
36
|
+
log.error(`No configuration found for '${language}' in the selected publishing profile. Please check the provided profile's configuration on the APIMatic App and try again.`);
|
|
37
|
+
}
|
|
38
|
+
publishTypesNotAvailableForLanguage(publishTypes, language) {
|
|
39
|
+
const types = [...publishTypes]
|
|
40
|
+
.sort((a, b) => (a === PublishType.SourceCodePublishing ? -1 : b === PublishType.SourceCodePublishing ? 1 : 0))
|
|
41
|
+
.join(' + ');
|
|
42
|
+
const noun = publishTypes.length === 1 ? 'type' : 'types';
|
|
43
|
+
log.error(`Publish ${noun} '${types}' not found or not enabled for '${language}' in the selected publishing profile. Please check your profile configuration on the APIMatic App and try again.`);
|
|
44
|
+
}
|
|
45
|
+
sourceCodeOnlyPublishingNotice() {
|
|
46
|
+
log.info('Version tags will not be created in your Git repository because you have opted to publish Source Code only.');
|
|
47
|
+
}
|
|
48
|
+
publishingRunningNotice(profile, language, version, publishType) {
|
|
49
|
+
const targets = [...publishType]
|
|
50
|
+
.sort((a, b) => (a === PublishType.SourceCodePublishing ? -1 : b === PublishType.SourceCodePublishing ? 1 : 0))
|
|
51
|
+
.map((t) => (t === PublishType.PackagePublishing ? 'Package' : 'Source Code'))
|
|
52
|
+
.join(' + ');
|
|
53
|
+
log.info(`Publishing is running for the following:\n\n Profile: ${profile}\n Language: ${language}\n Version: ${version}\n Targets: ${targets}`);
|
|
54
|
+
}
|
|
55
|
+
postPublishingMessage(publishingLogUrl) {
|
|
56
|
+
const message = `To view publishing logs, please visit:
|
|
57
|
+
${f.link(publishingLogUrl)}`;
|
|
58
|
+
noteWrapped(message, 'Next Steps');
|
|
59
|
+
}
|
|
60
|
+
async pollPublishingStatus(getSdkPublishingLogFn) {
|
|
61
|
+
const TERMINAL_STATES = new Set(['Succeeded', 'Failed', 'Exception', 'InternalError']);
|
|
62
|
+
const POLL_INTERVAL_MS = 10000; // poll after every 10 seconds.
|
|
63
|
+
const spin = spinner();
|
|
64
|
+
spin.start('Waiting for publishing status...');
|
|
65
|
+
while (true) {
|
|
66
|
+
const publishingLogResult = await getSdkPublishingLogFn();
|
|
67
|
+
if (publishingLogResult.isErr()) {
|
|
68
|
+
spin.stop('Failed to fetch publishing status.', 1);
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
const { events } = publishingLogResult.value;
|
|
72
|
+
const executionCompleted = events.every((event) => TERMINAL_STATES.has(event.eventType));
|
|
73
|
+
const statusMessage = [...events]
|
|
74
|
+
.sort((a, b) => (a.publishType === 'SourceCode' ? -1 : b.publishType === 'SourceCode' ? 1 : 0))
|
|
75
|
+
.map((event) => {
|
|
76
|
+
var _a;
|
|
77
|
+
const target = event.publishType === 'SourceCode' ? 'Source Code' : 'Package';
|
|
78
|
+
const eventLabels = {
|
|
79
|
+
Queued: 'Queued',
|
|
80
|
+
InProgress: 'In Progress',
|
|
81
|
+
Succeeded: 'Published'
|
|
82
|
+
};
|
|
83
|
+
const label = (_a = eventLabels[event.eventType]) !== null && _a !== void 0 ? _a : 'Failed';
|
|
84
|
+
return `${target}: [${label}]`;
|
|
85
|
+
})
|
|
86
|
+
.join(' | ');
|
|
87
|
+
if (executionCompleted) {
|
|
88
|
+
const isExecutionSuccessful = events.every((event) => event.eventType === 'Succeeded');
|
|
89
|
+
spin.stop(statusMessage, isExecutionSuccessful ? 0 : 1);
|
|
90
|
+
return isExecutionSuccessful;
|
|
91
|
+
}
|
|
92
|
+
spin.message(statusMessage);
|
|
93
|
+
await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL_MS));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=non-interactive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"non-interactive.js","sourceRoot":"","sources":["../../../../src/prompts/sdk/publish/non-interactive.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Result } from 'neverthrow';
|
|
2
|
+
import { ServiceError } from '../../infrastructure/service-error.js';
|
|
3
|
+
import { PublishingInfo } from '../../types/publish-api/publishing-info.js';
|
|
4
|
+
import { PublishType } from '../../types/publish-api/publishing-profile-item.js';
|
|
5
|
+
import { SemVersion } from '../../types/publish/version.js';
|
|
6
|
+
import { Language } from '../../types/sdk/generate.js';
|
|
7
|
+
import { PublishingProfile } from '../../types/publish/publishing-profile.js';
|
|
8
|
+
export declare class SdkPublishPrompts {
|
|
9
|
+
publishSdk(fn: Promise<Result<PublishingInfo, ServiceError>>): Promise<Result<PublishingInfo, ServiceError>>;
|
|
10
|
+
sdkPublishingServiceError(serviceError: ServiceError): void;
|
|
11
|
+
dryRunNotice(publishingProfile: PublishingProfile, language: Language, version: SemVersion, publishType: PublishType[]): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { log } from '@clack/prompts';
|
|
2
|
+
import { PublishType } from '../../types/publish-api/publishing-profile-item.js';
|
|
3
|
+
import { withSpinner } from '../prompt.js';
|
|
4
|
+
export class SdkPublishPrompts {
|
|
5
|
+
publishSdk(fn) {
|
|
6
|
+
return withSpinner('Publishing SDK', 'Publishing initiated.', 'SDK Publishing failed.', fn);
|
|
7
|
+
}
|
|
8
|
+
sdkPublishingServiceError(serviceError) {
|
|
9
|
+
log.error(serviceError.errorMessage);
|
|
10
|
+
}
|
|
11
|
+
dryRunNotice(publishingProfile, language, version, publishType) {
|
|
12
|
+
const targets = publishType.map((t) => (t === PublishType.PackagePublishing ? 'Package' : 'Source Code')).join(' + ');
|
|
13
|
+
log.info(`You can publish this SDK by removing the --dry-run flag. It will be published for the following:\n\n Profile: ${publishingProfile}\n Language: ${language}\n Version: ${version}\n Targets: ${targets}`);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/prompts/sdk/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAIrC,OAAO,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAC;AAGjF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,OAAO,iBAAiB;IACrB,UAAU,CAAC,EAAiD;QACjE,OAAO,WAAW,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;IAEM,yBAAyB,CAAC,YAA0B;QACzD,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAEM,YAAY,CAAC,iBAAoC,EAAE,QAAkB,EAAE,OAAmB,EAAE,WAA0B;QAC3H,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtH,GAAG,CAAC,IAAI,CACN,oHAAoH,iBAAiB,kBAAkB,QAAQ,kBAAkB,OAAO,kBAAkB,OAAO,EAAE,CACpN,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -9,10 +9,11 @@ export declare class BuildContext {
|
|
|
9
9
|
private get buildFile();
|
|
10
10
|
validate(): Promise<boolean>;
|
|
11
11
|
exists(): Promise<boolean>;
|
|
12
|
+
existsSync(): boolean;
|
|
12
13
|
getBuildFileContents(): Promise<BuildConfig>;
|
|
13
14
|
updateBuildFileContents(buildJson: BuildConfig): Promise<void>;
|
|
14
15
|
deleteWorkflowDir(): Promise<void>;
|
|
15
|
-
|
|
16
|
+
getBuildZipPath(tempDir: DirectoryPath, packageSettingsDirectory?: DirectoryPath): Promise<FilePath>;
|
|
16
17
|
getSpecContext(): SpecContext;
|
|
17
18
|
hasSdkSourceTree(language: string): Promise<boolean>;
|
|
18
19
|
getSdkSourceTree(language: string): FilePath;
|
|
@@ -2,6 +2,7 @@ import { FileService } from "../infrastructure/file-service.js";
|
|
|
2
2
|
import { FilePath } from "./file/filePath.js";
|
|
3
3
|
import { FileName } from "./file/fileName.js";
|
|
4
4
|
import { SpecContext } from "./spec-context.js";
|
|
5
|
+
import { TempContext } from "./temp-context.js";
|
|
5
6
|
export class BuildContext {
|
|
6
7
|
constructor(buildDirectory) {
|
|
7
8
|
this.fileService = new FileService();
|
|
@@ -20,6 +21,9 @@ export class BuildContext {
|
|
|
20
21
|
async exists() {
|
|
21
22
|
return await this.fileService.directoryExists(this.buildDirectory);
|
|
22
23
|
}
|
|
24
|
+
existsSync() {
|
|
25
|
+
return this.fileService.directoryExistsSync(this.buildDirectory);
|
|
26
|
+
}
|
|
23
27
|
async getBuildFileContents() {
|
|
24
28
|
const buildFileContent = await this.fileService.getContents(this.buildFile);
|
|
25
29
|
return JSON.parse(buildFileContent);
|
|
@@ -30,8 +34,14 @@ export class BuildContext {
|
|
|
30
34
|
async deleteWorkflowDir() {
|
|
31
35
|
await this.fileService.deleteDirectory(this.buildDirectory.join(".github"));
|
|
32
36
|
}
|
|
33
|
-
|
|
34
|
-
|
|
37
|
+
async getBuildZipPath(tempDir, packageSettingsDirectory) {
|
|
38
|
+
const tempContext = new TempContext(tempDir);
|
|
39
|
+
const tempBuildDir = tempDir.join("build");
|
|
40
|
+
await this.fileService.copyDirectoryContents(this.buildDirectory, tempBuildDir);
|
|
41
|
+
if (packageSettingsDirectory) {
|
|
42
|
+
await this.fileService.copyDirectoryContents(packageSettingsDirectory, tempBuildDir.join('package-settings'));
|
|
43
|
+
}
|
|
44
|
+
return await tempContext.zip(tempBuildDir);
|
|
35
45
|
}
|
|
36
46
|
getSpecContext() {
|
|
37
47
|
return new SpecContext(this.buildDirectory.join("spec"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-context.js","sourceRoot":"","sources":["../../src/types/build-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,YAAY;IAIvB,YAAY,cAA6B;QAHxB,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAI/C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,IAAY,SAAS;QACnB,uCAAuC;QACvC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAChF,CAAC;IAEM,KAAK,CAAC,QAAQ;QACnB,6BAA6B;QAC7B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAEjF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrE,CAAC;IAEM,KAAK,CAAC,oBAAoB;QAC/B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAgB,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAAC,SAAsB;QACzD,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC5B,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9E,CAAC;IAEM,
|
|
1
|
+
{"version":3,"file":"build-context.js","sourceRoot":"","sources":["../../src/types/build-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DomainEvent } from './domain-event.js';
|
|
2
|
+
export class SdkPublishValidationFailedEvent extends DomainEvent {
|
|
3
|
+
constructor(message, commandName, flags) {
|
|
4
|
+
super(message, commandName, flags);
|
|
5
|
+
this.eventName = SdkPublishValidationFailedEvent.name;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=sdk-publish-validation-failed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-publish-validation-failed.js","sourceRoot":"","sources":["../../../src/types/events/sdk-publish-validation-failed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,+BAAgC,SAAQ,WAAW;IAG9D,YAAY,OAAe,EAAE,WAAmB,EAAE,KAA8B;QAC9E,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAHlB,cAAS,GAAG,+BAA+B,CAAC,IAAI,CAAC;IAIpE,CAAC;CACF"}
|
|
@@ -20,7 +20,8 @@ export class MergeSourceTreeContext {
|
|
|
20
20
|
}
|
|
21
21
|
await Promise.all(this.gitService.getMergeFiles(this.sdkWithSourceTree).map((filePath) => this.fileService.deleteFile(filePath)));
|
|
22
22
|
await this.gitService.forceCheckoutMainBranch(this.sdkWithSourceTree);
|
|
23
|
-
await this.fileService.
|
|
23
|
+
await this.fileService.cleanDirectory(this.sdkWithoutSourceTree);
|
|
24
|
+
await this.fileService.copyDirectoryExcluding(this.sdkWithSourceTree, this.sdkWithoutSourceTree, [new FileName(".git")]);
|
|
24
25
|
return { hasSkippedChangesEnabled: true, hasSkippedCustomizations: true };
|
|
25
26
|
}
|
|
26
27
|
async saveWithoutConflicts() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-source-tree-context.js","sourceRoot":"","sources":["../../src/types/merge-source-tree-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAG9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,MAAM,OAAO,sBAAsB;IAKjC,YACmB,iBAAgC,EAChC,oBAAmC,EACnC,cAAwB,EACxB,YAAqB,EACrB,WAAoB,EACpB,gBAAyB;QALzB,sBAAiB,GAAjB,iBAAiB,CAAe;QAChC,yBAAoB,GAApB,oBAAoB,CAAe;QACnC,mBAAc,GAAd,cAAc,CAAU;QACxB,iBAAY,GAAZ,YAAY,CAAS;QACrB,gBAAW,GAAX,WAAW,CAAS;QACpB,qBAAgB,GAAhB,gBAAgB,CAAS;QAV3B,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAChC,eAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,eAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IAS3C,CAAC;IAEE,KAAK,CAAC,mBAAmB;QAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACxF,OAAO,EAAE,wBAAwB,EAAE,IAAI,CAAC,WAAW,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC;QACzF,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClI,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"merge-source-tree-context.js","sourceRoot":"","sources":["../../src/types/merge-source-tree-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PackageConfigurationData } from './publish/package-settings-configuration.js';
|
|
2
|
+
import { Language } from './sdk/generate.js';
|
|
3
|
+
import { DirectoryPath } from './file/directoryPath.js';
|
|
4
|
+
export declare class PackageSettingsContext {
|
|
5
|
+
private readonly packageSettingsDirectory;
|
|
6
|
+
private readonly fileService;
|
|
7
|
+
constructor(packageSettingsDirectory: DirectoryPath);
|
|
8
|
+
private getSettingsFilePath;
|
|
9
|
+
writeConfiguration(packageConfiguration: PackageConfigurationData, language: Language): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FileService } from '../infrastructure/file-service.js';
|
|
2
|
+
import { FilePath } from './file/filePath.js';
|
|
3
|
+
import { FileName } from './file/fileName.js';
|
|
4
|
+
export class PackageSettingsContext {
|
|
5
|
+
constructor(packageSettingsDirectory) {
|
|
6
|
+
this.packageSettingsDirectory = packageSettingsDirectory;
|
|
7
|
+
this.fileService = new FileService();
|
|
8
|
+
}
|
|
9
|
+
getSettingsFilePath(language) {
|
|
10
|
+
return new FilePath(this.packageSettingsDirectory, new FileName(`${language}.json`));
|
|
11
|
+
}
|
|
12
|
+
async writeConfiguration(packageConfiguration, language) {
|
|
13
|
+
const packageSettingsFilePath = this.getSettingsFilePath(language);
|
|
14
|
+
if (await this.fileService.fileExists(packageSettingsFilePath))
|
|
15
|
+
return;
|
|
16
|
+
await this.fileService.createDirectoryIfNotExists(this.packageSettingsDirectory);
|
|
17
|
+
await this.fileService.writeContents(packageSettingsFilePath, JSON.stringify({ packageConfiguration }, null, 2));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=package-settings-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-settings-context.js","sourceRoot":"","sources":["../../src/types/package-settings-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAIhE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,OAAO,sBAAsB;IAGjC,YAA6B,wBAAuC;QAAvC,6BAAwB,GAAxB,wBAAwB,CAAe;QAFnD,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IAEsB,CAAC;IAEhE,mBAAmB,CAAC,QAAkB;QAC5C,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,QAAQ,CAAC,GAAG,QAAQ,OAAO,CAAC,CAAC,CAAC;IACvF,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,oBAA8C,EAAE,QAAkB;QAChG,MAAM,uBAAuB,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,uBAAuB,CAAC;YAAE,OAAO;QACvE,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACjF,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,oBAAoB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACnH,CAAC;CACF"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { Language } from '../sdk/generate.js';
|
|
2
|
+
import { BaseConfigurationItem, JavaDeveloper, JavaDistributionManagement, JavaScm, KeyValueItem, PhpAuthor, PhpSupport, PythonPerson, TsBugs, TsPerson, TsRepository } from '../publish-api/publishing-profile-item.js';
|
|
3
|
+
interface CSharpPackageConfiguration {
|
|
4
|
+
packageId: string;
|
|
5
|
+
authors: string | null;
|
|
6
|
+
description: string | null;
|
|
7
|
+
title: string | null;
|
|
8
|
+
packageTags: string | null;
|
|
9
|
+
repositoryUrl: string | null;
|
|
10
|
+
repositoryType: string | null;
|
|
11
|
+
packageProjectUrl: string | null;
|
|
12
|
+
packageIcon: string | null;
|
|
13
|
+
packageReleaseNotes: string | null;
|
|
14
|
+
copyright: string | null;
|
|
15
|
+
}
|
|
16
|
+
interface JavaPackageConfiguration {
|
|
17
|
+
groupId: string;
|
|
18
|
+
artifactId: string;
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
url: string;
|
|
22
|
+
developers: JavaDeveloper[];
|
|
23
|
+
distributionManagement: JavaDistributionManagement;
|
|
24
|
+
scm: JavaScm;
|
|
25
|
+
}
|
|
26
|
+
interface PhpPackageConfiguration {
|
|
27
|
+
vendorName: string;
|
|
28
|
+
projectName: string;
|
|
29
|
+
description: string;
|
|
30
|
+
type: string | null;
|
|
31
|
+
keywords: string[];
|
|
32
|
+
homepage: string | null;
|
|
33
|
+
authors: PhpAuthor[];
|
|
34
|
+
support: PhpSupport;
|
|
35
|
+
}
|
|
36
|
+
interface PythonPackageConfiguration {
|
|
37
|
+
name: string;
|
|
38
|
+
description: string | null;
|
|
39
|
+
authors: PythonPerson[];
|
|
40
|
+
maintainers: PythonPerson[];
|
|
41
|
+
keywords: string[];
|
|
42
|
+
classifiers: string[];
|
|
43
|
+
urls: KeyValueItem[];
|
|
44
|
+
}
|
|
45
|
+
interface RubyPackageConfiguration {
|
|
46
|
+
name: string;
|
|
47
|
+
authors: string[];
|
|
48
|
+
summary: string;
|
|
49
|
+
description: string | null;
|
|
50
|
+
email: string[];
|
|
51
|
+
homepage: string | null;
|
|
52
|
+
metadata: KeyValueItem[];
|
|
53
|
+
postInstallMessage: string | null;
|
|
54
|
+
requirements: string[];
|
|
55
|
+
}
|
|
56
|
+
interface TypeScriptPackageConfiguration {
|
|
57
|
+
name: string;
|
|
58
|
+
author: TsPerson;
|
|
59
|
+
description: string | null;
|
|
60
|
+
contributors: TsPerson[];
|
|
61
|
+
bugs: TsBugs;
|
|
62
|
+
keywords: string[];
|
|
63
|
+
homepage: string | null;
|
|
64
|
+
repository: TsRepository;
|
|
65
|
+
}
|
|
66
|
+
export type PackageConfigurationData = CSharpPackageConfiguration | JavaPackageConfiguration | PhpPackageConfiguration | PythonPackageConfiguration | RubyPackageConfiguration | TypeScriptPackageConfiguration;
|
|
67
|
+
export declare class PackageSettingsConfiguration {
|
|
68
|
+
static create(language: Language, config: BaseConfigurationItem): PackageConfigurationData;
|
|
69
|
+
}
|
|
70
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Language } from '../sdk/generate.js';
|
|
2
|
+
export class PackageSettingsConfiguration {
|
|
3
|
+
static create(language, config) {
|
|
4
|
+
switch (language) {
|
|
5
|
+
case Language.CSHARP: {
|
|
6
|
+
const { packageId, authors, description, title, packageTags, repositoryUrl, repositoryType, packageProjectUrl, packageIcon, packageReleaseNotes, copyright } = config;
|
|
7
|
+
return {
|
|
8
|
+
packageId,
|
|
9
|
+
authors,
|
|
10
|
+
description,
|
|
11
|
+
title,
|
|
12
|
+
packageTags,
|
|
13
|
+
repositoryUrl,
|
|
14
|
+
repositoryType,
|
|
15
|
+
packageProjectUrl,
|
|
16
|
+
packageIcon,
|
|
17
|
+
packageReleaseNotes,
|
|
18
|
+
copyright
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
case Language.JAVA: {
|
|
22
|
+
const { groupId, artifactId, name, description, url, developers, distributionManagement, scm } = config;
|
|
23
|
+
return { groupId, artifactId, name, description, url, developers, distributionManagement, scm };
|
|
24
|
+
}
|
|
25
|
+
case Language.PHP: {
|
|
26
|
+
const { vendorName, projectName, description, type, keywords, homepage, authors, support } = config;
|
|
27
|
+
return { vendorName, projectName, description, type, keywords, homepage, authors, support };
|
|
28
|
+
}
|
|
29
|
+
case Language.PYTHON: {
|
|
30
|
+
const { name, description, authors, maintainers, keywords, classifiers, urls } = config;
|
|
31
|
+
return { name, description, authors, maintainers, keywords, classifiers, urls };
|
|
32
|
+
}
|
|
33
|
+
case Language.RUBY: {
|
|
34
|
+
const { name, authors, summary, description, email, homepage, metadata, postInstallMessage, requirements } = config;
|
|
35
|
+
return { name, authors, summary, description, email, homepage, metadata, postInstallMessage, requirements };
|
|
36
|
+
}
|
|
37
|
+
case Language.TYPESCRIPT: {
|
|
38
|
+
const { name, author, description, contributors, bugs, keywords, homepage, repository } = config;
|
|
39
|
+
return { name, author, description, contributors, bugs, keywords, homepage, repository };
|
|
40
|
+
}
|
|
41
|
+
case Language.GO:
|
|
42
|
+
return {};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=package-settings-configuration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-settings-configuration.js","sourceRoot":"","sources":["../../../src/types/publish/package-settings-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAkG9C,MAAM,OAAO,4BAA4B;IAChC,MAAM,CAAC,MAAM,CAAC,QAAkB,EAAE,MAA6B;QACpE,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrB,MAAM,EACJ,SAAS,EACT,OAAO,EACP,WAAW,EACX,KAAK,EACL,WAAW,EACX,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,SAAS,EACV,GAAG,MAAiC,CAAC;gBACtC,OAAO;oBACL,SAAS;oBACT,OAAO;oBACP,WAAW;oBACX,KAAK;oBACL,WAAW;oBACX,aAAa;oBACb,cAAc;oBACd,iBAAiB;oBACjB,WAAW;oBACX,mBAAmB;oBACnB,SAAS;iBACV,CAAC;YACJ,CAAC;YACD,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,sBAAsB,EAAE,GAAG,EAAE,GAC5F,MAA+B,CAAC;gBAClC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC;YAClG,CAAC;YACD,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GACxF,MAA8B,CAAC;gBACjC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;YAC9F,CAAC;YACD,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrB,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,GAC5E,MAAiC,CAAC;gBACpC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAClF,CAAC;YACD,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,GACxG,MAA+B,CAAC;gBAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,CAAC;YAC9G,CAAC;YACD,KAAK,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;gBACzB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,GACrF,MAAqC,CAAC;gBACxC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YAC3F,CAAC;YACD,KAAK,QAAQ,CAAC,EAAE;gBACd,OAAO,EAA8B,CAAC;QAC1C,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Result } from 'neverthrow';
|
|
2
|
+
import { PublishingProfileItem } from '../publish-api/publishing-profile-item.js';
|
|
3
|
+
export declare class ProfileId {
|
|
4
|
+
private readonly value;
|
|
5
|
+
private constructor();
|
|
6
|
+
static createFromPublishingProfileItem(profile: PublishingProfileItem): ProfileId;
|
|
7
|
+
static tryCreate(value: string): Result<ProfileId, string>;
|
|
8
|
+
isEqual(other: ProfileId): boolean;
|
|
9
|
+
toString(): string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ok, err } from 'neverthrow';
|
|
2
|
+
export class ProfileId {
|
|
3
|
+
constructor(value) {
|
|
4
|
+
this.value = value;
|
|
5
|
+
}
|
|
6
|
+
static createFromPublishingProfileItem(profile) {
|
|
7
|
+
return new ProfileId(profile.id);
|
|
8
|
+
}
|
|
9
|
+
static tryCreate(value) {
|
|
10
|
+
if (!value || value.trim() === '') {
|
|
11
|
+
return err('Profile ID cannot be empty.');
|
|
12
|
+
}
|
|
13
|
+
return ok(new ProfileId(value));
|
|
14
|
+
}
|
|
15
|
+
isEqual(other) {
|
|
16
|
+
return this.value === other.value;
|
|
17
|
+
}
|
|
18
|
+
toString() {
|
|
19
|
+
return this.value;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=profile-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-id.js","sourceRoot":"","sources":["../../../src/types/publish/profile-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,EAAE,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAG7C,MAAM,OAAO,SAAS;IAGpB,YAAoB,KAAa;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,MAAM,CAAC,+BAA+B,CAAC,OAA8B;QAC1E,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,KAAa;QACnC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAClC,OAAO,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAClC,CAAC;IAEM,OAAO,CAAC,KAAgB;QAC7B,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;IACpC,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Language } from '../sdk/generate.js';
|
|
2
|
+
import { BaseConfigurationItem, PublishingProfileItem, PublishingProfileSummaryGroup, PublishingProfileWithLanguagesGroup, PublishType } from '../publish-api/publishing-profile-item.js';
|
|
3
|
+
export declare class PublishingProfile {
|
|
4
|
+
private readonly item;
|
|
5
|
+
private constructor();
|
|
6
|
+
static create(item: PublishingProfileItem): PublishingProfile;
|
|
7
|
+
toString(): string;
|
|
8
|
+
hasEnabledLanguages(): boolean;
|
|
9
|
+
isLanguageEnabled(language: Language): boolean;
|
|
10
|
+
getEnabledLanguages(): Language[];
|
|
11
|
+
getPublishTypesForLanguage(language: Language): PublishType[];
|
|
12
|
+
getUnallowedPublishTypes(language: Language, requestedTypes: PublishType[]): PublishType[];
|
|
13
|
+
toPublishingProfileSummaryGroup(): PublishingProfileSummaryGroup;
|
|
14
|
+
toPublishingProfileWithLanguagesGroup(): PublishingProfileWithLanguagesGroup;
|
|
15
|
+
getPackageConfigurationForLanguage(language: Language): BaseConfigurationItem | null;
|
|
16
|
+
private getLanguageConfigs;
|
|
17
|
+
private getLanguageConfig;
|
|
18
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Language } from '../sdk/generate.js';
|
|
2
|
+
import { PublishType } from '../publish-api/publishing-profile-item.js';
|
|
3
|
+
export class PublishingProfile {
|
|
4
|
+
constructor(item) {
|
|
5
|
+
this.item = item;
|
|
6
|
+
}
|
|
7
|
+
static create(item) {
|
|
8
|
+
return new PublishingProfile(item);
|
|
9
|
+
}
|
|
10
|
+
toString() {
|
|
11
|
+
return this.item.name;
|
|
12
|
+
}
|
|
13
|
+
hasEnabledLanguages() {
|
|
14
|
+
const languageConfigs = this.getLanguageConfigs();
|
|
15
|
+
return languageConfigs.some(({ packageConfig, gitConfig }) => (packageConfig === null || packageConfig === void 0 ? void 0 : packageConfig.isEnabled) || (gitConfig === null || gitConfig === void 0 ? void 0 : gitConfig.isEnabled));
|
|
16
|
+
}
|
|
17
|
+
isLanguageEnabled(language) {
|
|
18
|
+
const { packageConfig, gitConfig } = this.getLanguageConfig(language);
|
|
19
|
+
return (packageConfig === null || packageConfig === void 0 ? void 0 : packageConfig.isEnabled) === true || (gitConfig === null || gitConfig === void 0 ? void 0 : gitConfig.isEnabled) === true;
|
|
20
|
+
}
|
|
21
|
+
getEnabledLanguages() {
|
|
22
|
+
const languageConfigs = this.getLanguageConfigs();
|
|
23
|
+
return languageConfigs
|
|
24
|
+
.filter(({ packageConfig, gitConfig }) => (packageConfig === null || packageConfig === void 0 ? void 0 : packageConfig.isEnabled) || (gitConfig === null || gitConfig === void 0 ? void 0 : gitConfig.isEnabled))
|
|
25
|
+
.map(({ language }) => language);
|
|
26
|
+
}
|
|
27
|
+
getPublishTypesForLanguage(language) {
|
|
28
|
+
const { packageConfig, gitConfig } = this.getLanguageConfig(language);
|
|
29
|
+
const types = [];
|
|
30
|
+
if ((gitConfig === null || gitConfig === void 0 ? void 0 : gitConfig.isEnabled) === true)
|
|
31
|
+
types.push(PublishType.SourceCodePublishing);
|
|
32
|
+
if ((packageConfig === null || packageConfig === void 0 ? void 0 : packageConfig.isEnabled) === true)
|
|
33
|
+
types.push(PublishType.PackagePublishing);
|
|
34
|
+
return types;
|
|
35
|
+
}
|
|
36
|
+
getUnallowedPublishTypes(language, requestedTypes) {
|
|
37
|
+
const allowedTypes = this.getPublishTypesForLanguage(language);
|
|
38
|
+
return requestedTypes.filter((pt) => !allowedTypes.includes(pt));
|
|
39
|
+
}
|
|
40
|
+
toPublishingProfileSummaryGroup() {
|
|
41
|
+
return {
|
|
42
|
+
apiGroupName: this.item.apiGroupName,
|
|
43
|
+
profiles: [{ name: this.item.name, id: this.item.id, enabledLanguages: this.getEnabledLanguages() }]
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
toPublishingProfileWithLanguagesGroup() {
|
|
47
|
+
return {
|
|
48
|
+
apiGroupName: this.item.apiGroupName,
|
|
49
|
+
profiles: [{ profile: this.item, enabledLanguages: this.getEnabledLanguages() }]
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
getPackageConfigurationForLanguage(language) {
|
|
53
|
+
switch (language) {
|
|
54
|
+
case Language.CSHARP:
|
|
55
|
+
return this.item.cSharpConfiguration;
|
|
56
|
+
case Language.JAVA:
|
|
57
|
+
return this.item.javaConfiguration;
|
|
58
|
+
case Language.GO:
|
|
59
|
+
return this.item.goConfiguration;
|
|
60
|
+
case Language.RUBY:
|
|
61
|
+
return this.item.rubyConfiguration;
|
|
62
|
+
case Language.PHP:
|
|
63
|
+
return this.item.phpConfiguration;
|
|
64
|
+
case Language.PYTHON:
|
|
65
|
+
return this.item.pythonConfiguration;
|
|
66
|
+
case Language.TYPESCRIPT:
|
|
67
|
+
return this.item.typeScriptConfiguration;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
getLanguageConfigs() {
|
|
71
|
+
return [
|
|
72
|
+
{
|
|
73
|
+
language: Language.CSHARP,
|
|
74
|
+
packageConfig: this.item.cSharpConfiguration,
|
|
75
|
+
gitConfig: this.item.cSharpGitConfiguration
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
language: Language.JAVA,
|
|
79
|
+
packageConfig: this.item.javaConfiguration,
|
|
80
|
+
gitConfig: this.item.javaGitConfiguration
|
|
81
|
+
},
|
|
82
|
+
{ language: Language.GO, packageConfig: this.item.goConfiguration, gitConfig: this.item.goGitConfiguration },
|
|
83
|
+
{ language: Language.PHP, packageConfig: this.item.phpConfiguration, gitConfig: this.item.phpGitConfiguration },
|
|
84
|
+
{
|
|
85
|
+
language: Language.PYTHON,
|
|
86
|
+
packageConfig: this.item.pythonConfiguration,
|
|
87
|
+
gitConfig: this.item.pythonGitConfiguration
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
language: Language.RUBY,
|
|
91
|
+
packageConfig: this.item.rubyConfiguration,
|
|
92
|
+
gitConfig: this.item.rubyGitConfiguration
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
language: Language.TYPESCRIPT,
|
|
96
|
+
packageConfig: this.item.typeScriptConfiguration,
|
|
97
|
+
gitConfig: this.item.typeScriptGitConfiguration
|
|
98
|
+
}
|
|
99
|
+
];
|
|
100
|
+
}
|
|
101
|
+
getLanguageConfig(language) {
|
|
102
|
+
return this.getLanguageConfigs().find((lc) => lc.language === language);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=publishing-profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publishing-profile.js","sourceRoot":"","sources":["../../../src/types/publish/publishing-profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Result } from 'neverthrow';
|
|
2
|
+
import { PublishingProfileItem, PublishingProfileSummaryGroup, PublishingProfileWithLanguagesGroup } from '../publish-api/publishing-profile-item.js';
|
|
3
|
+
import { PublishingProfile } from './publishing-profile.js';
|
|
4
|
+
export declare class PublishingProfiles {
|
|
5
|
+
private readonly items;
|
|
6
|
+
private constructor();
|
|
7
|
+
static create(items: PublishingProfileItem[]): Result<PublishingProfiles, string>;
|
|
8
|
+
getActiveProfiles(): PublishingProfile[];
|
|
9
|
+
toActiveProfilesGroups(): PublishingProfileWithLanguagesGroup[];
|
|
10
|
+
toPublishingProfileSummariesByApiGroups(): PublishingProfileSummaryGroup[];
|
|
11
|
+
private groupByApiGroup;
|
|
12
|
+
}
|