@apimatic/cli 1.1.0-beta.10 → 1.1.0-beta.13
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 +105 -6
- package/lib/actions/portal/generate.js +7 -1
- package/lib/actions/portal/generate.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 +5 -1
- package/lib/actions/sdk/generate.js +55 -40
- 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.js +1 -1
- 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/commands/portal/recipe/new.js +2 -2
- package/lib/commands/portal/recipe/new.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 +4 -2
- package/lib/commands/sdk/generate.js +26 -8
- 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/env-info.d.ts +2 -0
- package/lib/infrastructure/env-info.js +22 -11
- 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/portal-service.d.ts +6 -1
- package/lib/infrastructure/services/portal-service.js +37 -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/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/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/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 +5 -3
- package/lib/prompts/sdk/generate.js +20 -14
- 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/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/build/build.d.ts +2 -0
- package/lib/types/build/build.js.map +1 -1
- package/lib/types/build-context.d.ts +11 -0
- package/lib/types/build-context.js +81 -1
- 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/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 +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/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-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/spec-context.js.map +1 -1
- package/lib/types/temp-context.js.map +1 -1
- package/package.json +18 -9
- 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
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { err, ok } from 'neverthrow';
|
|
2
|
+
import { PublishingProfile } from './publishing-profile.js';
|
|
3
|
+
export class PublishingProfiles {
|
|
4
|
+
constructor(items) {
|
|
5
|
+
this.items = items;
|
|
6
|
+
}
|
|
7
|
+
static create(items) {
|
|
8
|
+
if (items.length === 0) {
|
|
9
|
+
return err('No publishing profiles found. Please create a publishing profile on the APIMatic App before publishing an SDK.');
|
|
10
|
+
}
|
|
11
|
+
return ok(new PublishingProfiles(items.map((item) => PublishingProfile.create(item))));
|
|
12
|
+
}
|
|
13
|
+
getActiveProfiles() {
|
|
14
|
+
return this.items.filter((p) => p.hasEnabledLanguages());
|
|
15
|
+
}
|
|
16
|
+
toActiveProfilesGroups() {
|
|
17
|
+
return this.groupByApiGroup(this.getActiveProfiles().map((p) => p.toPublishingProfileWithLanguagesGroup()));
|
|
18
|
+
}
|
|
19
|
+
toPublishingProfileSummariesByApiGroups() {
|
|
20
|
+
return this.groupByApiGroup(this.items.map((p) => p.toPublishingProfileSummaryGroup()));
|
|
21
|
+
}
|
|
22
|
+
groupByApiGroup(entries) {
|
|
23
|
+
const map = new Map();
|
|
24
|
+
for (const entry of entries) {
|
|
25
|
+
const existing = map.get(entry.apiGroupName);
|
|
26
|
+
if (existing) {
|
|
27
|
+
existing.profiles.push(...entry.profiles);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
map.set(entry.apiGroupName, Object.assign(Object.assign({}, entry), { profiles: [...entry.profiles] }));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return [...map.values()];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=publishing-profiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publishing-profiles.js","sourceRoot":"","sources":["../../../src/types/publish/publishing-profiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAU,MAAM,YAAY,CAAC;AAM7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,OAAO,kBAAkB;IAC7B,YAAqC,KAA0B;QAA1B,UAAK,GAAL,KAAK,CAAqB;IAAG,CAAC;IAE5D,MAAM,CAAC,MAAM,CAAC,KAA8B;QACjD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC,gHAAgH,CAAC,CAAC;QAC/H,CAAC;QAED,OAAO,EAAE,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC;IAEM,iBAAiB;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC3D,CAAC;IAEM,sBAAsB;QAC3B,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;IAC9G,CAAC;IAEM,uCAAuC;QAC5C,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC;IAEO,eAAe,CAA0D,OAAY;QAC3F,MAAM,GAAG,GAAG,IAAI,GAAG,EAAa,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC7C,IAAI,QAAQ,EAAE,CAAC;gBACZ,QAAQ,CAAC,QAAsB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,kCAAO,KAAK,KAAE,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAG,CAAC;YAC3E,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3B,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ok, err } from 'neverthrow';
|
|
2
|
+
export class SemVersion {
|
|
3
|
+
constructor(value) {
|
|
4
|
+
this.value = value;
|
|
5
|
+
}
|
|
6
|
+
static tryCreate(value) {
|
|
7
|
+
const parts = value.split('.');
|
|
8
|
+
if (parts.length !== 3 || !parts.every((p) => p !== '' && !isNaN(Number(p)) && Number(p) >= 0)) {
|
|
9
|
+
return err('Invalid version format. Expected major.minor.patch (e.g., 1.0.0).');
|
|
10
|
+
}
|
|
11
|
+
return ok(new SemVersion(value));
|
|
12
|
+
}
|
|
13
|
+
toString() {
|
|
14
|
+
return this.value;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/types/publish/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,EAAE,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,OAAO,UAAU;IAGrB,YAAoB,KAAa;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,KAAa;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC/F,OAAO,GAAG,CAAC,mEAAmE,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
type SdkLanguage = "CSharp" | "Java" | "Php" | "Python" | "Ruby" | "TypeScript";
|
|
2
|
+
type PublishType = "Package" | "SourceCode";
|
|
3
|
+
type PublishEventType = "Queued" | "InProgress" | "Succeeded" | "Failed" | "Exception" | "InternalError";
|
|
4
|
+
export interface PublishLogEventItem {
|
|
5
|
+
sdkLanguage: SdkLanguage;
|
|
6
|
+
languageVersion: string;
|
|
7
|
+
publishType: PublishType;
|
|
8
|
+
eventType: PublishEventType;
|
|
9
|
+
inProgressTimeStamp: string | null;
|
|
10
|
+
timeStamp: string;
|
|
11
|
+
logUrl: string | null;
|
|
12
|
+
sdkUrl: string | null;
|
|
13
|
+
packageUrl: string | null;
|
|
14
|
+
sourceUrl: string | null;
|
|
15
|
+
}
|
|
16
|
+
export interface PublishLogItem {
|
|
17
|
+
publishLogId: string;
|
|
18
|
+
events: PublishLogEventItem[];
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-log.js","sourceRoot":"","sources":["../../../src/types/publish-api/publish-log.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publishing-info.js","sourceRoot":"","sources":["../../../src/types/publish-api/publishing-info.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { Language } from '../sdk/generate.js';
|
|
2
|
+
export declare enum PublishType {
|
|
3
|
+
PackagePublishing = "package",
|
|
4
|
+
SourceCodePublishing = "sourcecode"
|
|
5
|
+
}
|
|
6
|
+
export interface KeyValueItem {
|
|
7
|
+
key: string;
|
|
8
|
+
value: string;
|
|
9
|
+
}
|
|
10
|
+
export interface BaseConfigurationItem {
|
|
11
|
+
isEnabled: boolean;
|
|
12
|
+
credentialsId: string;
|
|
13
|
+
}
|
|
14
|
+
export interface GitConfigurationItem extends BaseConfigurationItem {
|
|
15
|
+
repositoryName: string;
|
|
16
|
+
branch: string;
|
|
17
|
+
}
|
|
18
|
+
export interface CSharpConfigurationItem extends BaseConfigurationItem {
|
|
19
|
+
packageId: string;
|
|
20
|
+
authors: string | null;
|
|
21
|
+
description: string | null;
|
|
22
|
+
title: string | null;
|
|
23
|
+
packageTags: string | null;
|
|
24
|
+
repositoryUrl: string | null;
|
|
25
|
+
repositoryType: string | null;
|
|
26
|
+
packageProjectUrl: string | null;
|
|
27
|
+
packageIcon: string | null;
|
|
28
|
+
packageReleaseNotes: string | null;
|
|
29
|
+
copyright: string | null;
|
|
30
|
+
}
|
|
31
|
+
export interface GoConfigurationItem extends BaseConfigurationItem {
|
|
32
|
+
packageName: string;
|
|
33
|
+
}
|
|
34
|
+
export interface JavaDeveloper {
|
|
35
|
+
name: string;
|
|
36
|
+
email: string;
|
|
37
|
+
organization: string | null;
|
|
38
|
+
organizationUrl: string | null;
|
|
39
|
+
}
|
|
40
|
+
export interface JavaSnapShotRepository {
|
|
41
|
+
id: string;
|
|
42
|
+
name: string | null;
|
|
43
|
+
url: string | null;
|
|
44
|
+
}
|
|
45
|
+
export interface JavaDistributionManagement {
|
|
46
|
+
snapShotRepository: JavaSnapShotRepository;
|
|
47
|
+
}
|
|
48
|
+
export interface JavaScm {
|
|
49
|
+
connection: string;
|
|
50
|
+
developerConnection: string;
|
|
51
|
+
url: string;
|
|
52
|
+
}
|
|
53
|
+
export interface JavaConfigurationItem extends BaseConfigurationItem {
|
|
54
|
+
groupId: string;
|
|
55
|
+
artifactId: string;
|
|
56
|
+
name: string;
|
|
57
|
+
description: string;
|
|
58
|
+
url: string;
|
|
59
|
+
developers: JavaDeveloper[];
|
|
60
|
+
distributionManagement: JavaDistributionManagement;
|
|
61
|
+
scm: JavaScm;
|
|
62
|
+
}
|
|
63
|
+
export interface PhpAuthor {
|
|
64
|
+
name: string | null;
|
|
65
|
+
email: string | null;
|
|
66
|
+
homepage: string | null;
|
|
67
|
+
role: string | null;
|
|
68
|
+
}
|
|
69
|
+
export interface PhpSupport {
|
|
70
|
+
email: string | null;
|
|
71
|
+
issues: string | null;
|
|
72
|
+
forum: string | null;
|
|
73
|
+
wiki: string | null;
|
|
74
|
+
irc: string | null;
|
|
75
|
+
chat: string | null;
|
|
76
|
+
source: string | null;
|
|
77
|
+
docs: string | null;
|
|
78
|
+
rss: string | null;
|
|
79
|
+
}
|
|
80
|
+
export interface PhpConfigurationItem extends BaseConfigurationItem {
|
|
81
|
+
gitCredentialsId: string;
|
|
82
|
+
repositoryName: string;
|
|
83
|
+
branchName: string;
|
|
84
|
+
vendorName: string;
|
|
85
|
+
projectName: string;
|
|
86
|
+
description: string;
|
|
87
|
+
type: string | null;
|
|
88
|
+
keywords: string[];
|
|
89
|
+
homepage: string | null;
|
|
90
|
+
authors: PhpAuthor[];
|
|
91
|
+
support: PhpSupport;
|
|
92
|
+
releaseNotes: string | null;
|
|
93
|
+
}
|
|
94
|
+
export interface PythonPerson {
|
|
95
|
+
email: string | null;
|
|
96
|
+
name: string | null;
|
|
97
|
+
}
|
|
98
|
+
export interface PythonConfigurationItem extends BaseConfigurationItem {
|
|
99
|
+
name: string;
|
|
100
|
+
description: string | null;
|
|
101
|
+
authors: PythonPerson[];
|
|
102
|
+
maintainers: PythonPerson[];
|
|
103
|
+
keywords: string[];
|
|
104
|
+
classifiers: string[];
|
|
105
|
+
urls: KeyValueItem[];
|
|
106
|
+
}
|
|
107
|
+
export interface RubyConfigurationItem extends BaseConfigurationItem {
|
|
108
|
+
name: string;
|
|
109
|
+
authors: string[];
|
|
110
|
+
summary: string;
|
|
111
|
+
description: string | null;
|
|
112
|
+
email: string[];
|
|
113
|
+
homepage: string | null;
|
|
114
|
+
metadata: KeyValueItem[];
|
|
115
|
+
postInstallMessage: string | null;
|
|
116
|
+
requirements: string[];
|
|
117
|
+
}
|
|
118
|
+
export interface TsPerson {
|
|
119
|
+
name: string | null;
|
|
120
|
+
email: string | null;
|
|
121
|
+
url: string | null;
|
|
122
|
+
}
|
|
123
|
+
export interface TsBugs {
|
|
124
|
+
url: string | null;
|
|
125
|
+
email: string | null;
|
|
126
|
+
}
|
|
127
|
+
export interface TsRepository {
|
|
128
|
+
type: string | null;
|
|
129
|
+
url: string | null;
|
|
130
|
+
directory: string | null;
|
|
131
|
+
}
|
|
132
|
+
export interface TypeScriptConfigurationItem extends BaseConfigurationItem {
|
|
133
|
+
name: string;
|
|
134
|
+
author: TsPerson;
|
|
135
|
+
description: string | null;
|
|
136
|
+
contributors: TsPerson[];
|
|
137
|
+
bugs: TsBugs;
|
|
138
|
+
keywords: string[];
|
|
139
|
+
homepage: string | null;
|
|
140
|
+
repository: TsRepository;
|
|
141
|
+
}
|
|
142
|
+
export interface PublishingProfileItem {
|
|
143
|
+
id: string;
|
|
144
|
+
name: string;
|
|
145
|
+
apiGroupId: string;
|
|
146
|
+
apiGroupName: string;
|
|
147
|
+
cSharpConfiguration: CSharpConfigurationItem | null;
|
|
148
|
+
goConfiguration: GoConfigurationItem | null;
|
|
149
|
+
javaConfiguration: JavaConfigurationItem | null;
|
|
150
|
+
phpConfiguration: PhpConfigurationItem | null;
|
|
151
|
+
pythonConfiguration: PythonConfigurationItem | null;
|
|
152
|
+
rubyConfiguration: RubyConfigurationItem | null;
|
|
153
|
+
typeScriptConfiguration: TypeScriptConfigurationItem | null;
|
|
154
|
+
cSharpGitConfiguration: GitConfigurationItem | null;
|
|
155
|
+
goGitConfiguration: GitConfigurationItem | null;
|
|
156
|
+
javaGitConfiguration: GitConfigurationItem | null;
|
|
157
|
+
phpGitConfiguration: GitConfigurationItem | null;
|
|
158
|
+
pythonGitConfiguration: GitConfigurationItem | null;
|
|
159
|
+
rubyGitConfiguration: GitConfigurationItem | null;
|
|
160
|
+
typeScriptGitConfiguration: GitConfigurationItem | null;
|
|
161
|
+
}
|
|
162
|
+
export interface LanguagePublishingConfig {
|
|
163
|
+
language: Language;
|
|
164
|
+
packageConfig: BaseConfigurationItem | null;
|
|
165
|
+
gitConfig: BaseConfigurationItem | null;
|
|
166
|
+
}
|
|
167
|
+
export interface PublishingProfileWithLanguages {
|
|
168
|
+
profile: PublishingProfileItem;
|
|
169
|
+
enabledLanguages: Language[];
|
|
170
|
+
}
|
|
171
|
+
export interface PublishingProfileWithLanguagesGroup {
|
|
172
|
+
apiGroupName: string;
|
|
173
|
+
profiles: PublishingProfileWithLanguages[];
|
|
174
|
+
}
|
|
175
|
+
export interface PublishingProfileSummary {
|
|
176
|
+
name: string;
|
|
177
|
+
id: string;
|
|
178
|
+
enabledLanguages: Language[];
|
|
179
|
+
}
|
|
180
|
+
export interface PublishingProfileSummaryGroup {
|
|
181
|
+
apiGroupName: string;
|
|
182
|
+
profiles: PublishingProfileSummary[];
|
|
183
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publishing-profile-item.js","sourceRoot":"","sources":["../../../src/types/publish-api/publishing-profile-item.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,4CAA6B,CAAA;IAC7B,kDAAmC,CAAA;AACrC,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Directory } from "./file/directory.js";
|
|
2
|
+
import { DirectoryPath } from "./file/directoryPath.js";
|
|
3
|
+
import { FilePath } from "./file/filePath.js";
|
|
4
|
+
import { Language } from "./sdk/generate.js";
|
|
5
|
+
export declare class SaveChangesContext {
|
|
6
|
+
private readonly sourceTreePath;
|
|
7
|
+
private readonly sdkReviewDirectory;
|
|
8
|
+
private readonly fileService;
|
|
9
|
+
private readonly zipService;
|
|
10
|
+
private readonly gitService;
|
|
11
|
+
private readonly sdkInputDirectory;
|
|
12
|
+
constructor(sourceTreePath: FilePath, sdkReviewDirectory: DirectoryPath, sdkInputDirectory: DirectoryPath | undefined, workingDirectory: DirectoryPath, language: Language, version: string | undefined);
|
|
13
|
+
isSdkInputDirectoryMissing(onMissingDirectory: (directory: DirectoryPath) => void): Promise<boolean>;
|
|
14
|
+
getChangesForReviewDirectory(): Promise<Directory>;
|
|
15
|
+
cleanUpSdkReviewDirectory(onCleanUpFailure: () => void): Promise<void>;
|
|
16
|
+
saveSourceTree(): Promise<void>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
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 SaveChangesContext {
|
|
6
|
+
constructor(sourceTreePath, sdkReviewDirectory, sdkInputDirectory, workingDirectory, language, version) {
|
|
7
|
+
this.sourceTreePath = sourceTreePath;
|
|
8
|
+
this.sdkReviewDirectory = sdkReviewDirectory;
|
|
9
|
+
this.fileService = new FileService();
|
|
10
|
+
this.zipService = new ZipService();
|
|
11
|
+
this.gitService = new GitService();
|
|
12
|
+
this.sdkInputDirectory = sdkInputDirectory !== null && sdkInputDirectory !== void 0 ? sdkInputDirectory : (version
|
|
13
|
+
? workingDirectory.join("sdk").join(version).join(language)
|
|
14
|
+
: workingDirectory.join("sdk").join(language));
|
|
15
|
+
}
|
|
16
|
+
async isSdkInputDirectoryMissing(onMissingDirectory) {
|
|
17
|
+
if (await this.fileService.directoryEmpty(this.sdkInputDirectory)) {
|
|
18
|
+
onMissingDirectory(this.sdkInputDirectory);
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
async getChangesForReviewDirectory() {
|
|
24
|
+
const sdkGitDir = this.sdkReviewDirectory.join(".git");
|
|
25
|
+
await this.fileService.createDirectoryIfNotExists(sdkGitDir);
|
|
26
|
+
await this.zipService.unArchive(this.sourceTreePath, sdkGitDir);
|
|
27
|
+
await this.gitService.checkoutCustomBranch(this.sdkReviewDirectory);
|
|
28
|
+
await this.fileService.cleanDirectoryExcluding(this.sdkReviewDirectory, [new FileName(".git")]);
|
|
29
|
+
await this.fileService.copyDirectoryExcluding(this.sdkInputDirectory, this.sdkReviewDirectory, [new FileName(".git")]);
|
|
30
|
+
return this.gitService.getDirectoryWithUpdatedFiles(this.sdkReviewDirectory);
|
|
31
|
+
}
|
|
32
|
+
async cleanUpSdkReviewDirectory(onCleanUpFailure) {
|
|
33
|
+
await this.fileService.pollDeleteDirectory(this.sdkReviewDirectory, onCleanUpFailure);
|
|
34
|
+
}
|
|
35
|
+
async saveSourceTree() {
|
|
36
|
+
const sdkGitDir = this.sdkReviewDirectory.join(".git");
|
|
37
|
+
await this.gitService.commitReviewedChanges(this.sdkReviewDirectory);
|
|
38
|
+
await this.gitService.forceCheckoutMainBranch(this.sdkReviewDirectory);
|
|
39
|
+
await this.zipService.archive(sdkGitDir, this.sourceTreePath);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=save-changes-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"save-changes-context.js","sourceRoot":"","sources":["../../src/types/save-changes-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;AAI9C,MAAM,OAAO,kBAAkB;IAM7B,YACmB,cAAwB,EACxB,kBAAiC,EAClD,iBAA4C,EAC5C,gBAA+B,EAC/B,QAAkB,EAClB,OAA2B;QALV,mBAAc,GAAd,cAAc,CAAU;QACxB,uBAAkB,GAAlB,kBAAkB,CAAe;QAPnC,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAChC,eAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,eAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAW7C,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,CAAC,OAAO;YAClD,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC3D,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,0BAA0B,CAAC,kBAAsD;QAC5F,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAClE,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,4BAA4B;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpE,MAAM,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAChG,MAAM,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAEvH,OAAO,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/E,CAAC;IAEM,KAAK,CAAC,yBAAyB,CAAC,gBAA4B;QACjE,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IACxF,CAAC;IAEM,KAAK,CAAC,cAAc;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrE,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACvE,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAChE,CAAC;CACF"}
|
|
@@ -2,13 +2,14 @@ import { DirectoryPath } from "./file/directoryPath.js";
|
|
|
2
2
|
import { FilePath } from "./file/filePath.js";
|
|
3
3
|
import { Language } from "./sdk/generate.js";
|
|
4
4
|
export declare class SdkContext {
|
|
5
|
-
private readonly sdkDirectory;
|
|
6
5
|
private readonly language;
|
|
7
6
|
private readonly fileService;
|
|
8
7
|
private readonly zipService;
|
|
9
|
-
|
|
8
|
+
private readonly sdkDirectory;
|
|
9
|
+
constructor(language: Language, sdkDirectory: DirectoryPath, requireUncustomizedDir: boolean, version?: string);
|
|
10
10
|
private get zipPath();
|
|
11
|
-
get sdkLanguageDirectory(): DirectoryPath;
|
|
12
11
|
exists(): Promise<boolean>;
|
|
13
|
-
save(
|
|
12
|
+
save(tempSdkDirectory: DirectoryPath, zipSdk: boolean): Promise<DirectoryPath>;
|
|
13
|
+
loadSdkInTempDirectory(tempDirectory: DirectoryPath, tempSdk: FilePath): Promise<DirectoryPath>;
|
|
14
|
+
loadSdkWithSourceTreeInTempDirectory(tempDirectory: DirectoryPath, tempSdk: FilePath, tempSdkSourceTree: FilePath): Promise<DirectoryPath>;
|
|
14
15
|
}
|
package/lib/types/sdk-context.js
CHANGED
|
@@ -3,30 +3,43 @@ import { FilePath } from "./file/filePath.js";
|
|
|
3
3
|
import { FileName } from "./file/fileName.js";
|
|
4
4
|
import { ZipService } from "../infrastructure/zip-service.js";
|
|
5
5
|
export class SdkContext {
|
|
6
|
-
constructor(sdkDirectory,
|
|
7
|
-
this.sdkDirectory = sdkDirectory;
|
|
6
|
+
constructor(language, sdkDirectory, requireUncustomizedDir, version) {
|
|
8
7
|
this.language = language;
|
|
9
8
|
this.fileService = new FileService();
|
|
10
9
|
this.zipService = new ZipService();
|
|
10
|
+
const baseDirectory = requireUncustomizedDir ? sdkDirectory.join('uncustomized') : sdkDirectory;
|
|
11
|
+
this.sdkDirectory = version ? baseDirectory.join(version).join(language) : baseDirectory.join(language);
|
|
11
12
|
}
|
|
12
13
|
get zipPath() {
|
|
13
|
-
return new FilePath(this.
|
|
14
|
-
}
|
|
15
|
-
get sdkLanguageDirectory() {
|
|
16
|
-
return this.sdkDirectory.join(this.language);
|
|
14
|
+
return new FilePath(this.sdkDirectory, new FileName(`${this.language}.zip`));
|
|
17
15
|
}
|
|
18
16
|
async exists() {
|
|
19
|
-
return !(await this.fileService.directoryEmpty(this.
|
|
17
|
+
return !(await this.fileService.directoryEmpty(this.sdkDirectory));
|
|
20
18
|
}
|
|
21
|
-
async save(
|
|
22
|
-
await this.fileService.cleanDirectory(this.
|
|
23
|
-
if (
|
|
24
|
-
await this.fileService.
|
|
19
|
+
async save(tempSdkDirectory, zipSdk) {
|
|
20
|
+
await this.fileService.cleanDirectory(this.sdkDirectory);
|
|
21
|
+
if (!zipSdk) {
|
|
22
|
+
await this.fileService.copyDirectoryContents(tempSdkDirectory, this.sdkDirectory);
|
|
25
23
|
}
|
|
26
24
|
else {
|
|
27
|
-
await this.zipService.
|
|
25
|
+
await this.zipService.archive(tempSdkDirectory, this.zipPath);
|
|
28
26
|
}
|
|
29
|
-
return this.
|
|
27
|
+
return this.sdkDirectory;
|
|
28
|
+
}
|
|
29
|
+
async loadSdkInTempDirectory(tempDirectory, tempSdk) {
|
|
30
|
+
const tempSdkDirectory = tempDirectory.join('sdk-original');
|
|
31
|
+
await this.fileService.createDirectoryIfNotExists(tempSdkDirectory);
|
|
32
|
+
await this.zipService.unArchive(tempSdk, tempSdkDirectory);
|
|
33
|
+
return tempSdkDirectory;
|
|
34
|
+
}
|
|
35
|
+
async loadSdkWithSourceTreeInTempDirectory(tempDirectory, tempSdk, tempSdkSourceTree) {
|
|
36
|
+
const tempSdkDirectory = tempDirectory.join('sdk');
|
|
37
|
+
await this.fileService.createDirectoryIfNotExists(tempSdkDirectory);
|
|
38
|
+
await this.zipService.unArchive(tempSdk, tempSdkDirectory);
|
|
39
|
+
const gitSourceTreeDir = tempSdkDirectory.join('.git');
|
|
40
|
+
await this.fileService.createDirectoryIfNotExists(gitSourceTreeDir);
|
|
41
|
+
await this.zipService.unArchive(tempSdkSourceTree, gitSourceTreeDir);
|
|
42
|
+
return tempSdkDirectory;
|
|
30
43
|
}
|
|
31
44
|
}
|
|
32
45
|
//# sourceMappingURL=sdk-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-context.js","sourceRoot":"","sources":["../../src/types/sdk-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":"sdk-context.js","sourceRoot":"","sources":["../../src/types/sdk-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,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,MAAM,OAAO,UAAU;IAKrB,YACmB,QAAkB,EACnC,YAA2B,EAC3B,sBAA+B,EAC/B,OAAgB;QAHC,aAAQ,GAAR,QAAQ,CAAU;QALpB,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAChC,eAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAS7C,MAAM,aAAa,GAAG,sBAAsB,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAEhG,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1G,CAAC;IAED,IAAY,OAAO;QACjB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAC;IAC/E,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACrE,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,gBAA+B,EAAE,MAAe;QAChE,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAAC,aAA4B,EAAE,OAAiB;QACjF,MAAM,gBAAgB,GAAG,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC3D,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEM,KAAK,CAAC,oCAAoC,CAC/C,aAA4B,EAC5B,OAAiB,EACjB,iBAA2B;QAE3B,MAAM,gBAAgB,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC3D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QACrE,OAAO,gBAAgB,CAAC;IAC1B,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-context.js","sourceRoot":"","sources":["../../src/types/spec-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;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,MAAM,OAAO,WAAW;
|
|
1
|
+
{"version":3,"file":"spec-context.js","sourceRoot":"","sources":["../../src/types/spec-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;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,MAAM,OAAO,WAAW;IAMtB,YAAY,aAA4B;QALvB,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAChC,eAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAK7C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,QAAQ;QACnB,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,QAAkB;QAChD,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAClG,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAA6B,EAAE,QAAkB;QACjE,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temp-context.js","sourceRoot":"","sources":["../../src/types/temp-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,OAAO,WAAW;IAItB,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAHxC,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAChC,eAAU,GAAG,IAAI,UAAU,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"temp-context.js","sourceRoot":"","sources":["../../src/types/temp-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,OAAO,WAAW;IAItB,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAHxC,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAChC,eAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IAEc,CAAC;IAE9D,IAAY,eAAe;QACzB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,cAA6B;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;QACtC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACxD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,YAAmC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;QACtC,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACzD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
|