@apimatic/cli 1.1.0-beta.8 → 1.1.0-beta.9
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 +5 -4
- package/lib/actions/sdk/generate.d.ts +1 -1
- package/lib/actions/sdk/generate.js +25 -7
- package/lib/actions/sdk/generate.js.map +1 -1
- package/lib/commands/sdk/generate.d.ts +1 -0
- package/lib/commands/sdk/generate.js +4 -2
- package/lib/commands/sdk/generate.js.map +1 -1
- package/lib/prompts/sdk/generate.d.ts +3 -2
- package/lib/prompts/sdk/generate.js +15 -5
- package/lib/prompts/sdk/generate.js.map +1 -1
- package/lib/types/versioned-build-context.d.ts +10 -4
- package/lib/types/versioned-build-context.js +20 -13
- package/lib/types/versioned-build-context.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ $ npm install -g @apimatic/cli
|
|
|
24
24
|
$ apimatic COMMAND
|
|
25
25
|
running command...
|
|
26
26
|
$ apimatic (--version)
|
|
27
|
-
@apimatic/cli/1.1.0-beta.
|
|
27
|
+
@apimatic/cli/1.1.0-beta.8 win32-x64 node-v23.4.0
|
|
28
28
|
$ apimatic --help [COMMAND]
|
|
29
29
|
USAGE
|
|
30
30
|
$ apimatic COMMAND
|
|
@@ -411,8 +411,8 @@ Generate an SDK for your API
|
|
|
411
411
|
|
|
412
412
|
```
|
|
413
413
|
USAGE
|
|
414
|
-
$ apimatic sdk generate -l csharp|java|php|python|ruby|typescript|go [-i <value>] [-d <value>] [
|
|
415
|
-
<value>]
|
|
414
|
+
$ apimatic sdk generate -l csharp|java|php|python|ruby|typescript|go [-i <value>] [-d <value>] [--api-version
|
|
415
|
+
<value>] [-f] [--zip] [-k <value>]
|
|
416
416
|
|
|
417
417
|
FLAGS
|
|
418
418
|
-d, --destination=<value> directory where the SDK will be generated
|
|
@@ -422,7 +422,8 @@ FLAGS
|
|
|
422
422
|
-k, --auth-key=<value> override current authentication state with an authentication key.
|
|
423
423
|
-l, --language=<option> (required) programming language for SDK generation
|
|
424
424
|
<options: csharp|java|php|python|ruby|typescript|go>
|
|
425
|
-
--
|
|
425
|
+
--api-version=<value> Version of the API to use for SDK generation (if multiple versions exist)
|
|
426
|
+
--zip Download the generated SDK as a .zip archive
|
|
426
427
|
|
|
427
428
|
DESCRIPTION
|
|
428
429
|
Generate an SDK for your API
|
|
@@ -9,5 +9,5 @@ export declare class GenerateAction {
|
|
|
9
9
|
private readonly commandMetadata;
|
|
10
10
|
private readonly authKey;
|
|
11
11
|
constructor(configDir: DirectoryPath, commandMetadata: CommandMetadata, authKey?: string | null);
|
|
12
|
-
readonly execute: (buildDirectory: DirectoryPath, sdkDirectory: DirectoryPath, language: Language, force: boolean, zipSdk: boolean) => Promise<ActionResult>;
|
|
12
|
+
readonly execute: (buildDirectory: DirectoryPath, sdkDirectory: DirectoryPath, language: Language, force: boolean, zipSdk: boolean, apiVersion?: string) => Promise<ActionResult>;
|
|
13
13
|
}
|
|
@@ -10,20 +10,38 @@ export class GenerateAction {
|
|
|
10
10
|
constructor(configDir, commandMetadata, authKey = null) {
|
|
11
11
|
this.prompts = new SdkGeneratePrompts();
|
|
12
12
|
this.portalService = new PortalService();
|
|
13
|
-
this.execute = async (buildDirectory, sdkDirectory, language, force, zipSdk) => {
|
|
13
|
+
this.execute = async (buildDirectory, sdkDirectory, language, force, zipSdk, apiVersion) => {
|
|
14
14
|
if (buildDirectory.isEqual(sdkDirectory)) {
|
|
15
15
|
this.prompts.sameBuildAndSdkDir(buildDirectory);
|
|
16
16
|
return ActionResult.failed();
|
|
17
17
|
}
|
|
18
18
|
const versionedBuildContext = new VersionedBuildContext(buildDirectory);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (
|
|
22
|
-
this.prompts.versionedBuildEmpty();
|
|
19
|
+
const versionedBuildResult = await versionedBuildContext.validate();
|
|
20
|
+
if (versionedBuildResult.isValid) {
|
|
21
|
+
if (versionedBuildResult.versions.length === 0) {
|
|
22
|
+
this.prompts.versionedBuildEmpty(versionedBuildResult.versionsDirectory);
|
|
23
23
|
return ActionResult.failed();
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
let version;
|
|
26
|
+
if (apiVersion) {
|
|
27
|
+
if (!versionedBuildResult.versions.includes(apiVersion)) {
|
|
28
|
+
this.prompts.versionNotFound();
|
|
29
|
+
return ActionResult.failed();
|
|
30
|
+
}
|
|
31
|
+
version = apiVersion;
|
|
32
|
+
}
|
|
33
|
+
else if (versionedBuildResult.versions.length === 1) {
|
|
34
|
+
version = versionedBuildResult.versions[0];
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
const selectedVersion = await this.prompts.selectVersion(versionedBuildResult.versions);
|
|
38
|
+
if (!selectedVersion) {
|
|
39
|
+
return ActionResult.cancelled();
|
|
40
|
+
}
|
|
41
|
+
version = selectedVersion;
|
|
42
|
+
}
|
|
43
|
+
buildDirectory = versionedBuildResult.versionsDirectory.join(version);
|
|
44
|
+
sdkDirectory = sdkDirectory.join(version);
|
|
27
45
|
}
|
|
28
46
|
const specDirectory = buildDirectory.join("spec");
|
|
29
47
|
const specContext = new SpecContext(specDirectory);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/actions/sdk/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,OAAO,cAAc;IAOzB,YAAY,SAAwB,EAAE,eAAgC,EAAE,UAAyB,IAAI;QANpF,YAAO,GAAuB,IAAI,kBAAkB,EAAE,CAAC;QACvD,kBAAa,GAAkB,IAAI,aAAa,EAAE,CAAC;QAWpD,YAAO,GAAG,KAAK,EAC7B,cAA6B,EAC7B,YAA2B,EAC3B,QAAkB,EAClB,KAAc,EACd,MAAe,
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/actions/sdk/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,OAAO,cAAc;IAOzB,YAAY,SAAwB,EAAE,eAAgC,EAAE,UAAyB,IAAI;QANpF,YAAO,GAAuB,IAAI,kBAAkB,EAAE,CAAC;QACvD,kBAAa,GAAkB,IAAI,aAAa,EAAE,CAAC;QAWpD,YAAO,GAAG,KAAK,EAC7B,cAA6B,EAC7B,YAA2B,EAC3B,QAAkB,EAClB,KAAc,EACd,MAAe,EACf,UAAmB,EACI,EAAE;YACzB,IAAI,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;gBAChD,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;YAC/B,CAAC;YAED,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,cAAc,CAAC,CAAC;YACxE,MAAM,oBAAoB,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,CAAC;YACpE,IAAI,oBAAoB,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,oBAAoB,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/C,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;oBACzE,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC/B,CAAC;gBAED,IAAI,OAAe,CAAC;gBACpB,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;wBACxD,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;wBAC/B,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;oBAC/B,CAAC;oBACD,OAAO,GAAG,UAAU,CAAC;gBACvB,CAAC;qBAAM,IAAI,oBAAoB,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtD,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;oBACxF,IAAI,CAAC,eAAe,EAAE,CAAC;wBACrB,OAAO,YAAY,CAAC,SAAS,EAAE,CAAC;oBAClC,CAAC;oBACD,OAAO,GAAG,eAAe,CAAC;gBAC5B,CAAC;gBAED,cAAc,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtE,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,aAAa,CAAC,CAAC;YACnD,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;gBAC/C,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;YAC/B,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC;gBACjH,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;gBACtC,OAAO,YAAY,CAAC,SAAS,EAAE,CAAC;YAClC,CAAC;YAED,OAAO,MAAM,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;gBAC/C,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,aAAa,CAAC,CAAC;gBACnD,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAE3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAC7C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAC3G,CAAC;gBAEF,qCAAqC;gBACrC,IAAI,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;oBACrB,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACvD,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC/B,CAAC;gBAED,MAAM,eAAe,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC/D,MAAM,oBAAoB,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;gBAE5E,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;gBAEhD,OAAO,YAAY,CAAC,OAAO,EAAE,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAjFA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CA+EF"}
|
|
@@ -8,6 +8,7 @@ export default class SdkGenerate extends Command {
|
|
|
8
8
|
zip: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
9
9
|
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
10
|
destination: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
"api-version": import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
12
|
language: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
13
|
};
|
|
13
14
|
static examples: string[];
|
|
@@ -12,7 +12,7 @@ class SdkGenerate extends Command {
|
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
14
|
async run() {
|
|
15
|
-
const { flags: { language, input, destination, force, zip: zipSdk, "auth-key": authKey } } = await this.parse(SdkGenerate);
|
|
15
|
+
const { flags: { language, input, destination, force, zip: zipSdk, "auth-key": authKey, "api-version": apiVersion } } = await this.parse(SdkGenerate);
|
|
16
16
|
const workingDirectory = DirectoryPath.createInput(input);
|
|
17
17
|
const buildDirectory = input ? new DirectoryPath(input, "src") : workingDirectory.join("src");
|
|
18
18
|
const sdkDirectory = destination ? new DirectoryPath(destination) : DirectoryPath.default.join("sdk");
|
|
@@ -22,7 +22,7 @@ class SdkGenerate extends Command {
|
|
|
22
22
|
};
|
|
23
23
|
intro("Generate SDK");
|
|
24
24
|
const action = new GenerateAction(this.getConfigDir(), commandMetadata, authKey);
|
|
25
|
-
const result = await action.execute(buildDirectory, sdkDirectory, language, force, zipSdk);
|
|
25
|
+
const result = await action.execute(buildDirectory, sdkDirectory, language, force, zipSdk, apiVersion);
|
|
26
26
|
outro(result);
|
|
27
27
|
}
|
|
28
28
|
}
|
|
@@ -38,6 +38,8 @@ SdkGenerate.flags = Object.assign(Object.assign(Object.assign(Object.assign(Obje
|
|
|
38
38
|
}) }, FlagsProvider.input), { destination: Flags.string({
|
|
39
39
|
char: "d",
|
|
40
40
|
description: "Directory where the SDK will be generated"
|
|
41
|
+
}), "api-version": Flags.string({
|
|
42
|
+
description: "Version of the API to use for SDK generation (if multiple versions exist)"
|
|
41
43
|
}) }), FlagsProvider.force), { zip: Flags.boolean({
|
|
42
44
|
default: false,
|
|
43
45
|
description: "Download the generated SDK as a .zip archive"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/commands/sdk/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAE/D,MAAqB,WAAY,SAAQ,OAAO;IAAhD;;
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/commands/sdk/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,8 @@ export declare class SdkGeneratePrompts {
|
|
|
9
9
|
generateSDK(fn: Promise<Result<NodeJS.ReadableStream, ServiceError>>): Promise<Result<NodeJS.ReadableStream, ServiceError>>;
|
|
10
10
|
logGenerationError(error: string): void;
|
|
11
11
|
sdkGenerationServiceError(serviceError: ServiceError): void;
|
|
12
|
-
versionedBuildEmpty(): void;
|
|
13
|
-
|
|
12
|
+
versionedBuildEmpty(directory: DirectoryPath): void;
|
|
13
|
+
versionNotFound(): void;
|
|
14
|
+
selectVersion(versions: string[]): Promise<string | undefined>;
|
|
14
15
|
sdkGenerated(sdk: DirectoryPath): void;
|
|
15
16
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isCancel, confirm, log } from "@clack/prompts";
|
|
1
|
+
import { isCancel, confirm, log, select } from "@clack/prompts";
|
|
2
2
|
import { format as f, } from "../format.js";
|
|
3
3
|
import { withSpinner } from "../prompt.js";
|
|
4
4
|
export class SdkGeneratePrompts {
|
|
@@ -33,12 +33,22 @@ export class SdkGeneratePrompts {
|
|
|
33
33
|
sdkGenerationServiceError(serviceError) {
|
|
34
34
|
log.error(serviceError.errorMessage);
|
|
35
35
|
}
|
|
36
|
-
versionedBuildEmpty() {
|
|
37
|
-
const message = `The ${f.var(
|
|
36
|
+
versionedBuildEmpty(directory) {
|
|
37
|
+
const message = `The ${f.var(directory.leafName())} directory is either empty or invalid: ${f.path(directory)}`;
|
|
38
38
|
this.logGenerationError(message);
|
|
39
39
|
}
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
versionNotFound() {
|
|
41
|
+
this.logGenerationError(`The API version is invalid.`);
|
|
42
|
+
}
|
|
43
|
+
async selectVersion(versions) {
|
|
44
|
+
const version = await select({
|
|
45
|
+
message: "Select an API version for SDK generation:",
|
|
46
|
+
options: versions.map((v) => ({ label: v, value: v }))
|
|
47
|
+
});
|
|
48
|
+
if (isCancel(version)) {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
return version;
|
|
42
52
|
}
|
|
43
53
|
sdkGenerated(sdk) {
|
|
44
54
|
log.info(`Generated SDK can be found at ${f.path(sdk)}.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/prompts/sdk/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/prompts/sdk/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,OAAO,kBAAkB;IACtB,KAAK,CAAC,YAAY,CAAC,SAAwB;QAChD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;YAC9B,OAAO,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,0CAA0C;YACvF,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,kBAAkB,CAAC,SAAwB;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC,IAAI,CAC5G,SAAS,CACV,EAAE,CAAC;QAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEM,kBAAkB,CAAC,SAAwB;QAChD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAClG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAEM,sBAAsB;QAC3B,MAAM,OAAO,GAAG,yFAAyF,CAAC;QAC1G,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAEM,WAAW,CAAC,EAAwD;QACzE,OAAO,WAAW,CAAC,gBAAgB,EAAE,6BAA6B,EAAE,wBAAwB,EAAE,EAAE,CAAC,CAAC;IACpG,CAAC;IAEM,kBAAkB,CAAC,KAAa;QACrC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAEM,yBAAyB,CAAC,YAA0B;QACzD,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAEM,mBAAmB,CAAC,SAAwB;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,0CAA0C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAChH,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAEM,eAAe;QACpB,IAAI,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,CAAC;IACzD,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,QAAkB;QAC3C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC;YAC3B,OAAO,EAAE,2CAA2C;YACpD,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;SACvD,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,YAAY,CAAC,GAAkB;QACpC,GAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;CACF"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { DirectoryPath } from "./file/directoryPath.js";
|
|
2
|
+
type VersionedBuildValidateResult = {
|
|
3
|
+
isValid: false;
|
|
4
|
+
} | {
|
|
5
|
+
isValid: true;
|
|
6
|
+
versionsDirectory: DirectoryPath;
|
|
7
|
+
versions: string[];
|
|
8
|
+
};
|
|
2
9
|
export declare class VersionedBuildContext {
|
|
3
10
|
private readonly fileService;
|
|
4
|
-
private readonly
|
|
11
|
+
private readonly buildDirectory;
|
|
5
12
|
constructor(buildDirectory: DirectoryPath);
|
|
6
|
-
|
|
7
|
-
getResolvedBuildDirectory(): Promise<DirectoryPath | null>;
|
|
8
|
-
getRelativePath(resolvedDirectory: DirectoryPath): string;
|
|
13
|
+
validate(): Promise<VersionedBuildValidateResult>;
|
|
9
14
|
}
|
|
15
|
+
export {};
|
|
@@ -1,21 +1,28 @@
|
|
|
1
|
-
import * as path from "path";
|
|
2
1
|
import { FileService } from "../infrastructure/file-service.js";
|
|
2
|
+
import { BuildContext } from "./build-context.js";
|
|
3
3
|
export class VersionedBuildContext {
|
|
4
4
|
constructor(buildDirectory) {
|
|
5
5
|
this.fileService = new FileService();
|
|
6
|
-
this.
|
|
6
|
+
this.buildDirectory = buildDirectory;
|
|
7
7
|
}
|
|
8
|
-
async
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
8
|
+
async validate() {
|
|
9
|
+
var _a;
|
|
10
|
+
const buildContext = new BuildContext(this.buildDirectory);
|
|
11
|
+
if (!(await buildContext.validate())) {
|
|
12
|
+
return { isValid: false };
|
|
13
|
+
}
|
|
14
|
+
const config = await buildContext.getBuildFileContents();
|
|
15
|
+
if (!("generateVersionedPortal" in config)) {
|
|
16
|
+
return { isValid: false };
|
|
17
|
+
}
|
|
18
|
+
const versionsPath = (_a = config.versionsPath) !== null && _a !== void 0 ? _a : "versioned_docs";
|
|
19
|
+
const versionsDirectory = this.buildDirectory.join(versionsPath);
|
|
20
|
+
if (!(await this.fileService.directoryExists(versionsDirectory))) {
|
|
21
|
+
return { isValid: false };
|
|
22
|
+
}
|
|
23
|
+
const versionsDirs = await this.fileService.getSubDirectoriesPaths(versionsDirectory);
|
|
24
|
+
const versions = versionsDirs.map((dir) => dir.leafName());
|
|
25
|
+
return { isValid: true, versionsDirectory, versions };
|
|
19
26
|
}
|
|
20
27
|
}
|
|
21
28
|
//# sourceMappingURL=versioned-build-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versioned-build-context.js","sourceRoot":"","sources":["../../src/types/versioned-build-context.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"versioned-build-context.js","sourceRoot":"","sources":["../../src/types/versioned-build-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQlD,MAAM,OAAO,qBAAqB;IAIhC,YAAY,cAA6B;QAHxB,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAI/C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAEM,KAAK,CAAC,QAAQ;;QACnB,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YACrC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,oBAAoB,EAAE,CAAC;QACzD,IAAI,CAAC,CAAC,yBAAyB,IAAI,MAAM,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,YAAY,GAAG,MAAC,MAAM,CAAC,YAAuB,mCAAI,gBAAgB,CAAC;QACzE,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC;YACjE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;QACtF,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;IACxD,CAAC;CACF"}
|