@apimatic/cli 1.1.0-beta.9 → 1.2.0
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 +117 -14
- package/lib/actions/portal/copilot.d.ts +1 -0
- package/lib/actions/portal/copilot.js +12 -12
- package/lib/actions/portal/copilot.js.map +1 -1
- package/lib/actions/portal/generate.js +7 -1
- package/lib/actions/portal/generate.js.map +1 -1
- package/lib/actions/portal/quickstart.d.ts +1 -0
- package/lib/actions/portal/quickstart.js +79 -10
- package/lib/actions/portal/quickstart.js.map +1 -1
- package/lib/actions/portal/serve.d.ts +1 -0
- package/lib/actions/portal/serve.js +77 -20
- package/lib/actions/portal/serve.js.map +1 -1
- package/lib/actions/portal/toc/new-toc.js +8 -20
- package/lib/actions/portal/toc/new-toc.js.map +1 -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 +9 -5
- package/lib/actions/sdk/generate.js +74 -46
- package/lib/actions/sdk/generate.js.map +1 -1
- package/lib/actions/sdk/merge-source-tree.d.ts +12 -0
- package/lib/actions/sdk/merge-source-tree.js +78 -0
- package/lib/actions/sdk/merge-source-tree.js.map +1 -0
- 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 +56 -0
- package/lib/actions/sdk/publish.js.map +1 -0
- package/lib/actions/sdk/quickstart.d.ts +1 -0
- package/lib/actions/sdk/quickstart.js +19 -2
- package/lib/actions/sdk/quickstart.js.map +1 -1
- package/lib/actions/sdk/save-changes.d.ts +8 -0
- package/lib/actions/sdk/save-changes.js +93 -0
- package/lib/actions/sdk/save-changes.js.map +1 -0
- package/lib/application/portal/recipe/recipe-generator.js +14 -29
- package/lib/application/portal/recipe/recipe-generator.js.map +1 -1
- package/lib/application/portal/toc/toc-structure-generator.d.ts +3 -19
- package/lib/application/portal/toc/toc-structure-generator.js +43 -33
- package/lib/application/portal/toc/toc-structure-generator.js.map +1 -1
- package/lib/commands/portal/recipe/new.js +2 -2
- package/lib/commands/portal/recipe/new.js.map +1 -1
- package/lib/commands/portal/serve.js +3 -3
- package/lib/commands/portal/serve.js.map +1 -1
- package/lib/commands/portal/toc/new.js +2 -2
- package/lib/commands/portal/toc/new.js.map +1 -1
- 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/quickstart.js +1 -1
- package/lib/commands/quickstart.js.map +1 -1
- package/lib/commands/sdk/generate.d.ts +6 -2
- package/lib/commands/sdk/generate.js +35 -9
- package/lib/commands/sdk/generate.js.map +1 -1
- 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/commands/sdk/save-changes.d.ts +14 -0
- package/lib/commands/sdk/save-changes.js +51 -0
- package/lib/commands/sdk/save-changes.js.map +1 -0
- package/lib/hooks/not-found.js +1 -1
- package/lib/hooks/not-found.js.map +1 -1
- package/lib/infrastructure/debounce-service.js +3 -0
- package/lib/infrastructure/debounce-service.js.map +1 -1
- 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 +9 -0
- package/lib/infrastructure/file-service.js +94 -5
- package/lib/infrastructure/file-service.js.map +1 -1
- package/lib/infrastructure/git-service.d.ts +14 -0
- package/lib/infrastructure/git-service.js +90 -0
- package/lib/infrastructure/git-service.js.map +1 -0
- package/lib/infrastructure/launcher-service.d.ts +5 -0
- package/lib/infrastructure/launcher-service.js +35 -2
- 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 +14 -2
- package/lib/infrastructure/service-error.js +26 -9
- package/lib/infrastructure/service-error.js.map +1 -1
- package/lib/infrastructure/services/api-service.d.ts +1 -0
- package/lib/infrastructure/services/api-service.js +26 -2
- package/lib/infrastructure/services/api-service.js.map +1 -1
- package/lib/infrastructure/services/portal-service.d.ts +11 -2
- package/lib/infrastructure/services/portal-service.js +123 -18
- 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/services/validation-service.d.ts +21 -0
- package/lib/infrastructure/services/validation-service.js +94 -4
- package/lib/infrastructure/services/validation-service.js.map +1 -1
- package/lib/infrastructure/zip-service.d.ts +2 -2
- package/lib/infrastructure/zip-service.js +46 -25
- 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/portal/generate.d.ts +1 -1
- package/lib/prompts/portal/generate.js +9 -3
- package/lib/prompts/portal/generate.js.map +1 -1
- package/lib/prompts/portal/quickstart.d.ts +11 -2
- package/lib/prompts/portal/quickstart.js +80 -13
- package/lib/prompts/portal/quickstart.js.map +1 -1
- package/lib/prompts/portal/serve.d.ts +4 -0
- package/lib/prompts/portal/serve.js +20 -1
- package/lib/prompts/portal/serve.js.map +1 -1
- package/lib/prompts/portal/toc/new-toc.d.ts +2 -2
- package/lib/prompts/portal/toc/new-toc.js +3 -3
- package/lib/prompts/portal/toc/new-toc.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/generate.d.ts +7 -3
- package/lib/prompts/sdk/generate.js +25 -13
- package/lib/prompts/sdk/generate.js.map +1 -1
- package/lib/prompts/sdk/merge-source-tree.d.ts +22 -0
- package/lib/prompts/sdk/merge-source-tree.js +90 -0
- package/lib/prompts/sdk/merge-source-tree.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/prompts/sdk/quickstart.d.ts +4 -1
- package/lib/prompts/sdk/quickstart.js +30 -13
- package/lib/prompts/sdk/quickstart.js.map +1 -1
- package/lib/prompts/sdk/save-changes.d.ts +21 -0
- package/lib/prompts/sdk/save-changes.js +84 -0
- package/lib/prompts/sdk/save-changes.js.map +1 -0
- package/lib/types/api/account.d.ts +1 -0
- package/lib/types/build/build.d.ts +82 -2
- package/lib/types/build/build.js +161 -0
- package/lib/types/build/build.js.map +1 -1
- package/lib/types/build-context.d.ts +14 -1
- package/lib/types/build-context.js +82 -4
- package/lib/types/build-context.js.map +1 -1
- package/lib/types/events/sdk-changes-saved.d.ts +8 -0
- package/lib/types/events/sdk-changes-saved.js +11 -0
- package/lib/types/events/sdk-changes-saved.js.map +1 -0
- package/lib/types/events/sdk-changes-tracked.d.ts +8 -0
- package/lib/types/events/sdk-changes-tracked.js +11 -0
- package/lib/types/events/sdk-changes-tracked.js.map +1 -0
- package/lib/types/events/sdk-conflicts-resolved.d.ts +8 -0
- package/lib/types/events/sdk-conflicts-resolved.js +11 -0
- package/lib/types/events/sdk-conflicts-resolved.js.map +1 -0
- 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/file/directory.d.ts +10 -1
- package/lib/types/file/directory.js +63 -5
- package/lib/types/file/directory.js.map +1 -1
- package/lib/types/file/directoryPath.js.map +1 -1
- package/lib/types/file/urlPath.d.ts +4 -0
- package/lib/types/file/urlPath.js +9 -0
- package/lib/types/file/urlPath.js.map +1 -1
- package/lib/types/merge-source-tree-context.d.ts +28 -0
- package/lib/types/merge-source-tree-context.js +63 -0
- package/lib/types/merge-source-tree-context.js.map +1 -0
- 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 +74 -0
- package/lib/types/publish/package-settings-configuration.js +2 -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 +26 -0
- package/lib/types/publish/publishing-profile.js +154 -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 +190 -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/lib/types/save-changes-context.d.ts +17 -0
- package/lib/types/save-changes-context.js +42 -0
- package/lib/types/save-changes-context.js.map +1 -0
- package/lib/types/sdk/generate.d.ts +18 -0
- package/lib/types/sdk/generate.js +25 -0
- package/lib/types/sdk/generate.js.map +1 -1
- package/lib/types/sdk-context.d.ts +5 -4
- package/lib/types/sdk-context.js +26 -13
- package/lib/types/sdk-context.js.map +1 -1
- package/lib/types/sdl/sdl.d.ts +0 -28
- package/lib/types/sdl/sdl.js +1 -128
- package/lib/types/sdl/sdl.js.map +1 -1
- package/lib/types/spec-context.js.map +1 -1
- package/lib/types/temp-context.js.map +1 -1
- package/lib/types/toc/toc-components.d.ts +37 -0
- package/lib/types/toc/toc-components.js +97 -0
- package/lib/types/toc/toc-components.js.map +1 -0
- package/lib/types/toc/toc.d.ts +11 -0
- package/lib/utils/string-utils.d.ts +0 -1
- package/lib/utils/string-utils.js +0 -42
- package/lib/utils/string-utils.js.map +1 -1
- package/package.json +28 -20
- package/lib/types/versioned-build-context.d.ts +0 -15
- package/lib/types/versioned-build-context.js +0 -28
- package/lib/types/versioned-build-context.js.map +0 -1
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { FileService } from "../infrastructure/file-service.js";
|
|
2
2
|
import { FilePath } from "./file/filePath.js";
|
|
3
3
|
import { FileName } from "./file/fileName.js";
|
|
4
|
+
import { BuildConfig } from "./build/build.js";
|
|
5
|
+
import { SpecContext } from "./spec-context.js";
|
|
6
|
+
import { TempContext } from "./temp-context.js";
|
|
4
7
|
export class BuildContext {
|
|
5
8
|
constructor(buildDirectory) {
|
|
6
9
|
this.fileService = new FileService();
|
|
@@ -10,6 +13,10 @@ export class BuildContext {
|
|
|
10
13
|
// TODO: add checks for build file path
|
|
11
14
|
return new FilePath(this.buildDirectory, new FileName("APIMATIC-BUILD.json"));
|
|
12
15
|
}
|
|
16
|
+
/** The APIMATIC-BUILD.json path within this build directory, for callers that hand it to a service. */
|
|
17
|
+
buildConfigFilePath() {
|
|
18
|
+
return this.buildFile;
|
|
19
|
+
}
|
|
13
20
|
async validate() {
|
|
14
21
|
// TODO: add more checks here
|
|
15
22
|
if (!(await this.fileService.directoryExists(this.buildDirectory)))
|
|
@@ -17,17 +24,88 @@ export class BuildContext {
|
|
|
17
24
|
return await this.fileService.fileExists(this.buildFile);
|
|
18
25
|
}
|
|
19
26
|
async exists() {
|
|
20
|
-
return
|
|
27
|
+
return await this.fileService.directoryExists(this.buildDirectory);
|
|
28
|
+
}
|
|
29
|
+
existsSync() {
|
|
30
|
+
return this.fileService.directoryExistsSync(this.buildDirectory);
|
|
21
31
|
}
|
|
22
32
|
async getBuildFileContents() {
|
|
23
33
|
const buildFileContent = await this.fileService.getContents(this.buildFile);
|
|
24
|
-
return
|
|
34
|
+
return BuildConfig.parse(buildFileContent);
|
|
25
35
|
}
|
|
26
|
-
async updateBuildFileContents(
|
|
27
|
-
await this.fileService.writeContents(this.buildFile, JSON.stringify(
|
|
36
|
+
async updateBuildFileContents(buildConfig) {
|
|
37
|
+
await this.fileService.writeContents(this.buildFile, JSON.stringify(buildConfig, null, 2));
|
|
28
38
|
}
|
|
29
39
|
async deleteWorkflowDir() {
|
|
30
40
|
await this.fileService.deleteDirectory(this.buildDirectory.join(".github"));
|
|
31
41
|
}
|
|
42
|
+
async getBuildZipPath(tempDir, packageSettingsDirectory) {
|
|
43
|
+
const tempContext = new TempContext(tempDir);
|
|
44
|
+
const tempBuildDir = tempDir.join("build");
|
|
45
|
+
await this.fileService.copyDirectoryContents(this.buildDirectory, tempBuildDir);
|
|
46
|
+
if (packageSettingsDirectory) {
|
|
47
|
+
await this.fileService.copyDirectoryContents(packageSettingsDirectory, tempBuildDir.join('package-settings'));
|
|
48
|
+
}
|
|
49
|
+
return await tempContext.zip(tempBuildDir);
|
|
50
|
+
}
|
|
51
|
+
getSpecContext() {
|
|
52
|
+
return new SpecContext(this.buildDirectory.join("spec"));
|
|
53
|
+
}
|
|
54
|
+
async hasSdkSourceTree(language) {
|
|
55
|
+
const sourceTreePath = FilePath.create(this.buildDirectory.join("sdk-source-tree").join(`.${language}`).toString());
|
|
56
|
+
if (!sourceTreePath) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
return await this.fileService.fileExists(sourceTreePath);
|
|
60
|
+
}
|
|
61
|
+
getSdkSourceTree(language) {
|
|
62
|
+
return FilePath.create(this.buildDirectory.join("sdk-source-tree").join(`.${language}`).toString());
|
|
63
|
+
}
|
|
64
|
+
async isVersionedBuild() {
|
|
65
|
+
if (!await this.validate()) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
return (await this.getBuildFileContents()).isVersioned();
|
|
69
|
+
}
|
|
70
|
+
async getVersionedBuildDirectory() {
|
|
71
|
+
const buildConfig = await this.getBuildFileContents();
|
|
72
|
+
if (!buildConfig.isVersioned()) {
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
const versionsDirectory = this.buildDirectory.join(buildConfig.versionsPath());
|
|
76
|
+
if (!await this.fileService.directoryExists(versionsDirectory)) {
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
const versionsDirs = await this.fileService.getSubDirectoriesPaths(versionsDirectory);
|
|
80
|
+
return versionsDirs.length > 0 ? versionsDirectory : undefined;
|
|
81
|
+
}
|
|
82
|
+
async getSingleVersionedBuildDirectory() {
|
|
83
|
+
const buildConfig = await this.getBuildFileContents();
|
|
84
|
+
if (!buildConfig.isVersioned()) {
|
|
85
|
+
return undefined;
|
|
86
|
+
}
|
|
87
|
+
const versionsDirectory = this.buildDirectory.join(buildConfig.versionsPath());
|
|
88
|
+
if (!await this.fileService.directoryExists(versionsDirectory)) {
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
const versionsDirs = await this.fileService.getSubDirectoriesPaths(versionsDirectory);
|
|
92
|
+
return versionsDirs.length === 1 ? versionsDirs[0] : undefined;
|
|
93
|
+
}
|
|
94
|
+
async getSelectedVersionedBuildDirectory(versionSelector) {
|
|
95
|
+
const buildConfig = await this.getBuildFileContents();
|
|
96
|
+
if (!buildConfig.isVersioned()) {
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
const versionsDirectory = this.buildDirectory.join(buildConfig.versionsPath());
|
|
100
|
+
if (!await this.fileService.directoryExists(versionsDirectory)) {
|
|
101
|
+
return undefined;
|
|
102
|
+
}
|
|
103
|
+
const versionsDirs = await this.fileService.getSubDirectoriesPaths(versionsDirectory);
|
|
104
|
+
const selectedVersion = await versionSelector(versionsDirs.map(dir => dir.leafName()));
|
|
105
|
+
if (!selectedVersion) {
|
|
106
|
+
return undefined;
|
|
107
|
+
}
|
|
108
|
+
return versionsDirs.find(dir => dir.leafName() === selectedVersion);
|
|
109
|
+
}
|
|
32
110
|
}
|
|
33
111
|
//# sourceMappingURL=build-context.js.map
|
|
@@ -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;
|
|
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 declare class SdkChangesSavedEvent extends DomainEvent {
|
|
3
|
+
protected readonly eventName: string;
|
|
4
|
+
private static readonly message;
|
|
5
|
+
private static readonly commandName;
|
|
6
|
+
private readonly language;
|
|
7
|
+
constructor(language: string);
|
|
8
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DomainEvent } from "./domain-event.js";
|
|
2
|
+
export class SdkChangesSavedEvent extends DomainEvent {
|
|
3
|
+
constructor(language) {
|
|
4
|
+
super(SdkChangesSavedEvent.message, SdkChangesSavedEvent.commandName, {});
|
|
5
|
+
this.eventName = SdkChangesSavedEvent.name;
|
|
6
|
+
this.language = language;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
SdkChangesSavedEvent.message = "Save changes completed.";
|
|
10
|
+
SdkChangesSavedEvent.commandName = "sdk:save-changes";
|
|
11
|
+
//# sourceMappingURL=sdk-changes-saved.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-changes-saved.js","sourceRoot":"","sources":["../../../src/types/events/sdk-changes-saved.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,oBAAqB,SAAQ,WAAW;IAMnD,YAAY,QAAgB;QAC1B,KAAK,CAAC,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QANzD,cAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC;QAOvD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;;AAPuB,4BAAO,GAAG,yBAAkC,AAArC,CAAsC;AAC7C,gCAAW,GAAG,kBAA2B,AAA9B,CAA+B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DomainEvent } from "./domain-event.js";
|
|
2
|
+
export declare class SdkChangesTrackedEvent extends DomainEvent {
|
|
3
|
+
protected readonly eventName: string;
|
|
4
|
+
private static readonly message;
|
|
5
|
+
private static readonly commandName;
|
|
6
|
+
private readonly language;
|
|
7
|
+
constructor(language: string);
|
|
8
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DomainEvent } from "./domain-event.js";
|
|
2
|
+
export class SdkChangesTrackedEvent extends DomainEvent {
|
|
3
|
+
constructor(language) {
|
|
4
|
+
super(SdkChangesTrackedEvent.message, SdkChangesTrackedEvent.commandName, {});
|
|
5
|
+
this.eventName = SdkChangesTrackedEvent.name;
|
|
6
|
+
this.language = language;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
SdkChangesTrackedEvent.message = "SDK generated with track changes enabled.";
|
|
10
|
+
SdkChangesTrackedEvent.commandName = "sdk:generate";
|
|
11
|
+
//# sourceMappingURL=sdk-changes-tracked.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-changes-tracked.js","sourceRoot":"","sources":["../../../src/types/events/sdk-changes-tracked.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IAMrD,YAAY,QAAgB;QAC1B,KAAK,CAAC,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAN7D,cAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC;QAOzD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;;AAPuB,8BAAO,GAAG,2CAAoD,AAAvD,CAAwD;AAC/D,kCAAW,GAAG,cAAuB,AAA1B,CAA2B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DomainEvent } from "./domain-event.js";
|
|
2
|
+
export declare class SdkConflictsResolvedEvent extends DomainEvent {
|
|
3
|
+
protected readonly eventName: string;
|
|
4
|
+
private static readonly message;
|
|
5
|
+
private static readonly commandName;
|
|
6
|
+
private readonly language;
|
|
7
|
+
constructor(language: string);
|
|
8
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DomainEvent } from "./domain-event.js";
|
|
2
|
+
export class SdkConflictsResolvedEvent extends DomainEvent {
|
|
3
|
+
constructor(language) {
|
|
4
|
+
super(SdkConflictsResolvedEvent.message, SdkConflictsResolvedEvent.commandName, {});
|
|
5
|
+
this.eventName = SdkConflictsResolvedEvent.name;
|
|
6
|
+
this.language = language;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
SdkConflictsResolvedEvent.message = "SDK merge conflicts resolved.";
|
|
10
|
+
SdkConflictsResolvedEvent.commandName = "sdk:generate";
|
|
11
|
+
//# sourceMappingURL=sdk-conflicts-resolved.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-conflicts-resolved.js","sourceRoot":"","sources":["../../../src/types/events/sdk-conflicts-resolved.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,yBAA0B,SAAQ,WAAW;IAMxD,YAAY,QAAgB;QAC1B,KAAK,CAAC,yBAAyB,CAAC,OAAO,EAAE,yBAAyB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QANnE,cAAS,GAAG,yBAAyB,CAAC,IAAI,CAAC;QAO5D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;;AAPuB,iCAAO,GAAG,+BAAwC,AAA3C,CAA4C;AACnD,qCAAW,GAAG,cAAuB,AAA1B,CAA2B"}
|
|
@@ -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"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { DirectoryPath } from "./directoryPath.js";
|
|
2
2
|
import { FileName } from "./fileName.js";
|
|
3
3
|
import { TocGroup } from "../toc/toc.js";
|
|
4
|
+
import { FilePath } from "./filePath.js";
|
|
4
5
|
import { TreeNode } from "../../prompts/format.js";
|
|
5
|
-
export type
|
|
6
|
+
export type FileItem = {
|
|
7
|
+
fileName: FileName;
|
|
8
|
+
description?: string;
|
|
9
|
+
};
|
|
10
|
+
export type DirectoryItem = FileItem | Directory;
|
|
6
11
|
export declare class Directory {
|
|
7
12
|
readonly directoryPath: DirectoryPath;
|
|
8
13
|
readonly items: DirectoryItem[];
|
|
@@ -11,7 +16,11 @@ export declare class Directory {
|
|
|
11
16
|
private static readonly folderDescriptions;
|
|
12
17
|
private static readonly fileDescriptions;
|
|
13
18
|
toTreeNode(): TreeNode;
|
|
19
|
+
mapFilesInDirectory(map: (rootDir: DirectoryPath, fileItem: FileItem) => Promise<FileItem | undefined>): Promise<Directory>;
|
|
20
|
+
isEmpty(): boolean;
|
|
21
|
+
getAllFiles(): FilePath[];
|
|
14
22
|
parseContentFolder(baseContentPath: DirectoryPath): Promise<TocGroup[]>;
|
|
15
23
|
private getPageName;
|
|
16
24
|
private isRootContentDirectory;
|
|
25
|
+
static createFromRelativePaths(rootDir: DirectoryPath, fileItems: FileItem[]): Directory;
|
|
17
26
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FileName } from "./fileName.js";
|
|
1
2
|
import { FilePath } from "./filePath.js";
|
|
2
3
|
import { FileService } from "../../infrastructure/file-service.js";
|
|
3
4
|
export class Directory {
|
|
@@ -13,12 +14,13 @@ export class Directory {
|
|
|
13
14
|
name: folderName,
|
|
14
15
|
description: folderDescription,
|
|
15
16
|
items: this.items.map((item) => {
|
|
17
|
+
var _a;
|
|
16
18
|
if (item instanceof Directory) {
|
|
17
19
|
return item.toTreeNode();
|
|
18
20
|
}
|
|
19
21
|
// file case
|
|
20
|
-
const fileName = item.toString();
|
|
21
|
-
const fileDescription = Directory.fileDescriptions[fileName];
|
|
22
|
+
const fileName = item.fileName.toString();
|
|
23
|
+
const fileDescription = (_a = item.description) !== null && _a !== void 0 ? _a : Directory.fileDescriptions[fileName];
|
|
22
24
|
return {
|
|
23
25
|
name: fileName,
|
|
24
26
|
description: fileDescription
|
|
@@ -26,6 +28,38 @@ export class Directory {
|
|
|
26
28
|
})
|
|
27
29
|
};
|
|
28
30
|
}
|
|
31
|
+
async mapFilesInDirectory(map) {
|
|
32
|
+
const mappedItems = [];
|
|
33
|
+
for (const item of this.items) {
|
|
34
|
+
if (item instanceof Directory) {
|
|
35
|
+
const mappedSubDir = await item.mapFilesInDirectory(map);
|
|
36
|
+
if (!mappedSubDir.isEmpty()) {
|
|
37
|
+
mappedItems.push(mappedSubDir);
|
|
38
|
+
}
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
const mappedItem = await map(this.directoryPath, item);
|
|
42
|
+
if (mappedItem) {
|
|
43
|
+
mappedItems.push(mappedItem);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return new Directory(this.directoryPath, mappedItems);
|
|
47
|
+
}
|
|
48
|
+
isEmpty() {
|
|
49
|
+
return this.items.length === 0;
|
|
50
|
+
}
|
|
51
|
+
getAllFiles() {
|
|
52
|
+
const files = [];
|
|
53
|
+
for (const item of this.items) {
|
|
54
|
+
if (item instanceof Directory) {
|
|
55
|
+
files.push(...item.getAllFiles());
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
files.push(new FilePath(this.directoryPath, item.fileName));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return files;
|
|
62
|
+
}
|
|
29
63
|
async parseContentFolder(baseContentPath) {
|
|
30
64
|
const groups = [];
|
|
31
65
|
const pages = [];
|
|
@@ -41,11 +75,11 @@ export class Directory {
|
|
|
41
75
|
}
|
|
42
76
|
}
|
|
43
77
|
else {
|
|
44
|
-
if (item.
|
|
45
|
-
const currentFilePath = new FilePath(this.directoryPath, item);
|
|
78
|
+
if (item.fileName.toString().endsWith(".md")) {
|
|
79
|
+
const currentFilePath = new FilePath(this.directoryPath, item.fileName);
|
|
46
80
|
const relativeFilePath = this.fileService.getRelativePath(currentFilePath, baseContentPath);
|
|
47
81
|
pages.push({
|
|
48
|
-
page: this.getPageName(item),
|
|
82
|
+
page: this.getPageName(item.fileName),
|
|
49
83
|
file: relativeFilePath
|
|
50
84
|
});
|
|
51
85
|
}
|
|
@@ -73,6 +107,30 @@ export class Directory {
|
|
|
73
107
|
isRootContentDirectory(baseContentPath) {
|
|
74
108
|
return this.directoryPath.toString() === baseContentPath.toString();
|
|
75
109
|
}
|
|
110
|
+
static createFromRelativePaths(rootDir, fileItems) {
|
|
111
|
+
const buildDirectory = (pending) => new Directory(pending.pendingDirPath, pending.items.map((item) => ("pendingDirPath" in item ? buildDirectory(item) : item)));
|
|
112
|
+
const root = { pendingDirPath: rootDir, items: [] };
|
|
113
|
+
for (const file of fileItems) {
|
|
114
|
+
const parts = file.fileName.toString().split(/[\\/]/);
|
|
115
|
+
let currentDir = root;
|
|
116
|
+
for (let i = 0; i < parts.length; i++) {
|
|
117
|
+
const part = parts[i];
|
|
118
|
+
const isLastPart = i === parts.length - 1;
|
|
119
|
+
if (isLastPart) {
|
|
120
|
+
currentDir.items.push({ fileName: new FileName(part), description: file.description });
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
let existingDir = currentDir.items.find((item) => "pendingDirPath" in item && item.pendingDirPath.leafName() === part);
|
|
124
|
+
if (!existingDir) {
|
|
125
|
+
existingDir = { pendingDirPath: currentDir.pendingDirPath.join(part), items: [] };
|
|
126
|
+
currentDir.items.push(existingDir);
|
|
127
|
+
}
|
|
128
|
+
currentDir = existingDir;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return buildDirectory(root);
|
|
133
|
+
}
|
|
76
134
|
}
|
|
77
135
|
Directory.folderDescriptions = {
|
|
78
136
|
spec: "# Contains all API definition files",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory.js","sourceRoot":"","sources":["../../../src/types/file/directory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"directory.js","sourceRoot":"","sources":["../../../src/types/file/directory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directoryPath.js","sourceRoot":"","sources":["../../../src/types/file/directoryPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"directoryPath.js","sourceRoot":"","sources":["../../../src/types/file/directoryPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,OAAO,aAAa;IAGxB,YAAY,aAAqB,EAAE,GAAG,QAAkB;QACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,QAAQ,CAAC,CAAC;IAChE,CAAC;IAIM,MAAM,CAAC,WAAW,CAAC,KAAyB;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,aAAa,CAAC,OAAO,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEM,IAAI,CAAC,GAAG,OAAiB;QAC9B,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,OAAO,CAAC,KAAoB;QACjC,OAAO,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa,CAAC;IACpD,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;;AAvBa,qBAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -3,4 +3,8 @@ export declare class UrlPath {
|
|
|
3
3
|
constructor(url: string);
|
|
4
4
|
static create(url: string): UrlPath | undefined;
|
|
5
5
|
toString(): string;
|
|
6
|
+
/** True when the URL points at the local machine (`localhost` or `127.0.0.1`). */
|
|
7
|
+
isLocalhost(): boolean;
|
|
8
|
+
/** Structural equality against another URL. */
|
|
9
|
+
isEqual(other: UrlPath): boolean;
|
|
6
10
|
}
|
|
@@ -18,5 +18,14 @@ export class UrlPath {
|
|
|
18
18
|
toString() {
|
|
19
19
|
return this.url;
|
|
20
20
|
}
|
|
21
|
+
/** True when the URL points at the local machine (`localhost` or `127.0.0.1`). */
|
|
22
|
+
isLocalhost() {
|
|
23
|
+
const hostname = new URL(this.url).hostname;
|
|
24
|
+
return hostname === "localhost" || hostname === "127.0.0.1";
|
|
25
|
+
}
|
|
26
|
+
/** Structural equality against another URL. */
|
|
27
|
+
isEqual(other) {
|
|
28
|
+
return this.url === other.url;
|
|
29
|
+
}
|
|
21
30
|
}
|
|
22
31
|
//# sourceMappingURL=urlPath.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urlPath.js","sourceRoot":"","sources":["../../../src/types/file/urlPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,OAAO,OAAO;IAGlB,YAAY,GAAW;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,GAAW;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClD,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,WAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"urlPath.js","sourceRoot":"","sources":["../../../src/types/file/urlPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,OAAO,OAAO;IAGlB,YAAY,GAAW;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,GAAW;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClD,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,WAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,kFAAkF;IAC3E,WAAW;QAChB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC5C,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,WAAW,CAAC;IAC9D,CAAC;IAED,+CAA+C;IACxC,OAAO,CAAC,KAAc;QAC3B,OAAO,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC;IAChC,CAAC;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Directory } from "./file/directory.js";
|
|
2
|
+
import { DirectoryPath } from "./file/directoryPath.js";
|
|
3
|
+
import { FilePath } from "./file/filePath.js";
|
|
4
|
+
export declare class MergeSourceTreeContext {
|
|
5
|
+
private readonly sdkWithSourceTree;
|
|
6
|
+
private readonly sdkWithoutSourceTree;
|
|
7
|
+
private readonly sourceTreePath;
|
|
8
|
+
private readonly trackChanges;
|
|
9
|
+
private readonly skipChanges;
|
|
10
|
+
private readonly hasSdkSourceTree;
|
|
11
|
+
private readonly fileService;
|
|
12
|
+
private readonly zipService;
|
|
13
|
+
private readonly gitService;
|
|
14
|
+
constructor(sdkWithSourceTree: DirectoryPath, sdkWithoutSourceTree: DirectoryPath, sourceTreePath: FilePath, trackChanges: boolean, skipChanges: boolean, hasSdkSourceTree: boolean);
|
|
15
|
+
saveSkippingChanges(): Promise<{
|
|
16
|
+
hasSkippedChangesEnabled: boolean;
|
|
17
|
+
hasSkippedCustomizations: boolean;
|
|
18
|
+
}>;
|
|
19
|
+
saveWithoutConflicts(): Promise<{
|
|
20
|
+
hasSourceTreeTracked: boolean;
|
|
21
|
+
hasSourceTreeAlreadyTracked: boolean;
|
|
22
|
+
hasAppliedCustomizations: boolean;
|
|
23
|
+
}>;
|
|
24
|
+
saveWithResolvedConflicts(): Promise<void>;
|
|
25
|
+
private saveSourceTree;
|
|
26
|
+
getConflictedFilesDirectory(): Promise<Directory>;
|
|
27
|
+
cleanUp(onCleanUpFailure: () => Promise<void>): Promise<void>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { FileService } from "../infrastructure/file-service.js";
|
|
2
|
+
import { GitService } from "../infrastructure/git-service.js";
|
|
3
|
+
import { ZipService } from "../infrastructure/zip-service.js";
|
|
4
|
+
import { FileName } from "./file/fileName.js";
|
|
5
|
+
export class MergeSourceTreeContext {
|
|
6
|
+
constructor(sdkWithSourceTree, sdkWithoutSourceTree, sourceTreePath, trackChanges, skipChanges, hasSdkSourceTree) {
|
|
7
|
+
this.sdkWithSourceTree = sdkWithSourceTree;
|
|
8
|
+
this.sdkWithoutSourceTree = sdkWithoutSourceTree;
|
|
9
|
+
this.sourceTreePath = sourceTreePath;
|
|
10
|
+
this.trackChanges = trackChanges;
|
|
11
|
+
this.skipChanges = skipChanges;
|
|
12
|
+
this.hasSdkSourceTree = hasSdkSourceTree;
|
|
13
|
+
this.fileService = new FileService();
|
|
14
|
+
this.zipService = new ZipService();
|
|
15
|
+
this.gitService = new GitService();
|
|
16
|
+
}
|
|
17
|
+
async saveSkippingChanges() {
|
|
18
|
+
if (!this.skipChanges || !await this.gitService.hasCustomBranch(this.sdkWithSourceTree)) {
|
|
19
|
+
return { hasSkippedChangesEnabled: this.skipChanges, hasSkippedCustomizations: false };
|
|
20
|
+
}
|
|
21
|
+
await Promise.all(this.gitService.getMergeFiles(this.sdkWithSourceTree).map((filePath) => this.fileService.deleteFile(filePath)));
|
|
22
|
+
await this.gitService.forceCheckoutMainBranch(this.sdkWithSourceTree);
|
|
23
|
+
await this.fileService.cleanDirectory(this.sdkWithoutSourceTree);
|
|
24
|
+
await this.fileService.copyDirectoryExcluding(this.sdkWithSourceTree, this.sdkWithoutSourceTree, [new FileName(".git")]);
|
|
25
|
+
return { hasSkippedChangesEnabled: true, hasSkippedCustomizations: true };
|
|
26
|
+
}
|
|
27
|
+
async saveWithoutConflicts() {
|
|
28
|
+
const mergeFiles = this.gitService.getMergeFiles(this.sdkWithSourceTree);
|
|
29
|
+
if (await this.fileService.fileExists(mergeFiles[0])) {
|
|
30
|
+
for (const filePath of mergeFiles) {
|
|
31
|
+
await this.fileService.deleteFile(filePath);
|
|
32
|
+
}
|
|
33
|
+
return { hasSourceTreeTracked: false, hasSourceTreeAlreadyTracked: false, hasAppliedCustomizations: false };
|
|
34
|
+
}
|
|
35
|
+
if (this.trackChanges || this.hasSdkSourceTree) {
|
|
36
|
+
await this.saveSourceTree();
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
hasSourceTreeTracked: this.trackChanges || this.hasSdkSourceTree,
|
|
40
|
+
hasSourceTreeAlreadyTracked: this.trackChanges && this.hasSdkSourceTree,
|
|
41
|
+
hasAppliedCustomizations: await this.gitService.hasCustomBranch(this.sdkWithSourceTree)
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
async saveWithResolvedConflicts() {
|
|
45
|
+
await this.gitService.commitResolvedConflicts(this.sdkWithSourceTree);
|
|
46
|
+
// Re create the sdkWithoutSourceTree using the updated resolved state of the sdkWithSourceTree
|
|
47
|
+
await this.fileService.cleanDirectory(this.sdkWithoutSourceTree);
|
|
48
|
+
await this.fileService.copyDirectoryExcluding(this.sdkWithSourceTree, this.sdkWithoutSourceTree, [new FileName(".git")]);
|
|
49
|
+
await this.saveSourceTree();
|
|
50
|
+
}
|
|
51
|
+
async saveSourceTree() {
|
|
52
|
+
await this.fileService.ensurePathExists(this.sourceTreePath);
|
|
53
|
+
await this.gitService.forceCheckoutMainBranch(this.sdkWithSourceTree);
|
|
54
|
+
await this.zipService.archive(this.sdkWithSourceTree.join(".git"), this.sourceTreePath);
|
|
55
|
+
}
|
|
56
|
+
async getConflictedFilesDirectory() {
|
|
57
|
+
return await this.gitService.getDirectoryWithUnmergedFiles(this.sdkWithSourceTree);
|
|
58
|
+
}
|
|
59
|
+
async cleanUp(onCleanUpFailure) {
|
|
60
|
+
await this.fileService.pollDeleteDirectory(this.sdkWithSourceTree, onCleanUpFailure);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=merge-source-tree-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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,74 @@
|
|
|
1
|
+
import { JavaDeveloper, JavaDistributionManagement, JavaScm, PhpAuthor, PhpSupport, PythonPerson, TsBugs, TsPerson, TsRepository } from '../publish-api/publishing-profile-item.js';
|
|
2
|
+
export interface GitConfiguration {
|
|
3
|
+
isEnabled: boolean;
|
|
4
|
+
credentialsId: string;
|
|
5
|
+
repositoryName: string;
|
|
6
|
+
branch: string;
|
|
7
|
+
}
|
|
8
|
+
export interface CSharpPackageConfiguration {
|
|
9
|
+
packageId: string;
|
|
10
|
+
authors: string | null;
|
|
11
|
+
description: string | null;
|
|
12
|
+
title: string | null;
|
|
13
|
+
packageTags: string | null;
|
|
14
|
+
repositoryUrl: string | null;
|
|
15
|
+
repositoryType: string | null;
|
|
16
|
+
packageProjectUrl: string | null;
|
|
17
|
+
packageIcon: string | null;
|
|
18
|
+
packageReleaseNotes: string | null;
|
|
19
|
+
copyright: string | null;
|
|
20
|
+
}
|
|
21
|
+
export interface JavaPackageConfiguration {
|
|
22
|
+
groupId: string;
|
|
23
|
+
artifactId: string;
|
|
24
|
+
name: string;
|
|
25
|
+
description: string;
|
|
26
|
+
url: string;
|
|
27
|
+
developers: JavaDeveloper[];
|
|
28
|
+
distributionManagement: JavaDistributionManagement;
|
|
29
|
+
scm: JavaScm;
|
|
30
|
+
}
|
|
31
|
+
export interface PhpPackageConfiguration {
|
|
32
|
+
vendorName: string;
|
|
33
|
+
projectName: string;
|
|
34
|
+
description: string;
|
|
35
|
+
type: string | null;
|
|
36
|
+
keywords: string[];
|
|
37
|
+
homepage: string | null;
|
|
38
|
+
authors: PhpAuthor[];
|
|
39
|
+
support: PhpSupport;
|
|
40
|
+
}
|
|
41
|
+
export interface PythonPackageConfiguration {
|
|
42
|
+
name: string;
|
|
43
|
+
description: string | null;
|
|
44
|
+
authors: PythonPerson[];
|
|
45
|
+
maintainers: PythonPerson[];
|
|
46
|
+
keywords: string[];
|
|
47
|
+
classifiers: string[];
|
|
48
|
+
urls: Record<string, string>;
|
|
49
|
+
}
|
|
50
|
+
export interface RubyPackageConfiguration {
|
|
51
|
+
name: string;
|
|
52
|
+
authors: string[];
|
|
53
|
+
summary: string;
|
|
54
|
+
description: string | null;
|
|
55
|
+
email: string[];
|
|
56
|
+
homepage: string | null;
|
|
57
|
+
metadata: Record<string, string>;
|
|
58
|
+
postInstallMessage: string | null;
|
|
59
|
+
requirements: string[];
|
|
60
|
+
}
|
|
61
|
+
export interface TypeScriptPackageConfiguration {
|
|
62
|
+
name: string;
|
|
63
|
+
author: TsPerson;
|
|
64
|
+
description: string | null;
|
|
65
|
+
contributors: TsPerson[];
|
|
66
|
+
bugs: TsBugs;
|
|
67
|
+
keywords: string[];
|
|
68
|
+
homepage: string | null;
|
|
69
|
+
repository: TsRepository;
|
|
70
|
+
}
|
|
71
|
+
export interface GoPackageConfiguration {
|
|
72
|
+
packageName: string;
|
|
73
|
+
}
|
|
74
|
+
export type PackageConfigurationData = CSharpPackageConfiguration | JavaPackageConfiguration | PhpPackageConfiguration | PythonPackageConfiguration | RubyPackageConfiguration | TypeScriptPackageConfiguration | GoPackageConfiguration;
|