@ir-kit/cli 0.2.0 → 0.3.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 +3 -2
- package/dist/bin.js +2 -3
- package/dist/bin.js.map +1 -1
- package/dist/commands/sdk-all.d.ts.map +1 -1
- package/dist/commands/sdk-all.js +12 -10
- package/dist/commands/sdk-all.js.map +1 -1
- package/dist/commands/sdk-native.d.ts +53 -0
- package/dist/commands/sdk-native.d.ts.map +1 -0
- package/dist/commands/sdk-native.js +121 -0
- package/dist/commands/sdk-native.js.map +1 -0
- package/dist/index.d.ts +1 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/package.json +19 -18
- package/dist/commands/sdk-go.d.ts +0 -13
- package/dist/commands/sdk-go.d.ts.map +0 -1
- package/dist/commands/sdk-go.js +0 -53
- package/dist/commands/sdk-go.js.map +0 -1
- package/dist/commands/sdk-kotlin.d.ts +0 -13
- package/dist/commands/sdk-kotlin.d.ts.map +0 -1
- package/dist/commands/sdk-kotlin.js +0 -54
- package/dist/commands/sdk-kotlin.js.map +0 -1
- package/dist/commands/sdk-swift.d.ts +0 -12
- package/dist/commands/sdk-swift.d.ts.map +0 -1
- package/dist/commands/sdk-swift.js +0 -49
- package/dist/commands/sdk-swift.js.map +0 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
The unified `ir` CLI — one entry point for every ir-kit operation across every supported API standard. Commands are JSON-Schema-defined; the runtime auto-derives flags, prompts, help, and validation from the schema.
|
|
4
4
|
|
|
5
|
-
Part of [ir-kit](https://github.com/
|
|
5
|
+
Part of [ir-kit](https://github.com/ahmedrowaihi/ir-kit).
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
@@ -24,6 +24,7 @@ ir
|
|
|
24
24
|
│ ├── go Generate a Go SDK
|
|
25
25
|
│ ├── kotlin Generate a Kotlin (OkHttp + coroutines) SDK
|
|
26
26
|
│ ├── swift Generate a Swift (URLSession + Codable) SDK
|
|
27
|
+
│ ├── java Generate a Java (java.net.http + Jackson) SDK
|
|
27
28
|
│ ├── typescript Generate a TypeScript SDK via @hey-api/openapi-ts
|
|
28
29
|
│ ├── k6 Generate a typed k6 load-test client
|
|
29
30
|
│ └── all Run every SDK generator in one pass
|
|
@@ -62,7 +63,7 @@ ir k6 sync && ir k6 bundle ./loadtest.ts --out dist/loadtest.js
|
|
|
62
63
|
|
|
63
64
|
## How it works
|
|
64
65
|
|
|
65
|
-
Each command is a thin schema-driven wrapper around a programmatic `runX()` API exposed by the underlying engine package (`@ir-kit/spec-convert`, `@ir-kit/spec-docs`, `@ir-kit/spec-diff`, `@ir-kit/openapi-{go,kotlin,swift,typescript}`, `@ir-kit/k6-toolkit`, `@ir-kit/fn-schema-core`, `@ir-kit/openapi-recon`). All orchestration lives in those engines — the CLI exists to expose them under one entry point with consistent flag UX.
|
|
66
|
+
Each command is a thin schema-driven wrapper around a programmatic `runX()` API exposed by the underlying engine package (`@ir-kit/spec-convert`, `@ir-kit/spec-docs`, `@ir-kit/spec-diff`, `@ir-kit/openapi-{go,kotlin,swift,java,typescript}`, `@ir-kit/k6-toolkit`, `@ir-kit/fn-schema-core`, `@ir-kit/openapi-recon`). All orchestration lives in those engines — the CLI exists to expose them under one entry point with consistent flag UX.
|
|
66
67
|
|
|
67
68
|
```ts
|
|
68
69
|
// Every command follows the same shape:
|
package/dist/bin.js
CHANGED
|
@@ -8,10 +8,8 @@ import { k6BundleCommand } from "./commands/k6-bundle.js";
|
|
|
8
8
|
import { k6SyncCommand } from "./commands/k6-sync.js";
|
|
9
9
|
import { reconCommand } from "./commands/recon.js";
|
|
10
10
|
import { sdkAllCommand } from "./commands/sdk-all.js";
|
|
11
|
-
import { sdkGoCommand } from "./commands/sdk-go.js";
|
|
12
11
|
import { sdkK6Command } from "./commands/sdk-k6.js";
|
|
13
|
-
import { sdkKotlinCommand } from "./commands/sdk-
|
|
14
|
-
import { sdkSwiftCommand } from "./commands/sdk-swift.js";
|
|
12
|
+
import { sdkGoCommand, sdkJavaCommand, sdkKotlinCommand, sdkSwiftCommand, } from "./commands/sdk-native.js";
|
|
15
13
|
import { sdkTypescriptCommand } from "./commands/sdk-typescript.js";
|
|
16
14
|
import { specConvertCommand } from "./commands/spec-convert.js";
|
|
17
15
|
import { specDiffCommand } from "./commands/spec-diff.js";
|
|
@@ -27,6 +25,7 @@ await runCli({
|
|
|
27
25
|
sdkGoCommand,
|
|
28
26
|
sdkKotlinCommand,
|
|
29
27
|
sdkSwiftCommand,
|
|
28
|
+
sdkJavaCommand,
|
|
30
29
|
sdkTypescriptCommand,
|
|
31
30
|
sdkK6Command,
|
|
32
31
|
sdkAllCommand,
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,MAAM,CAAC;IACX,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,OAAO;IAChB,WAAW,EACT,6EAA6E;IAC/E,QAAQ,EAAE;QACR,kBAAkB;QAClB,eAAe;QACf,WAAW;QACX,YAAY;QACZ,gBAAgB;QAChB,eAAe;QACf,cAAc;QACd,oBAAoB;QACpB,YAAY;QACZ,aAAa;QACb,YAAY;QACZ,sBAAsB;QACtB,mBAAmB;QACnB,sBAAsB;QACtB,mBAAmB;QACnB,aAAa;QACb,eAAe;KAChB;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-all.d.ts","sourceRoot":"","sources":["../../src/commands/sdk-all.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sdk-all.d.ts","sourceRoot":"","sources":["../../src/commands/sdk-all.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAWtD,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAgCD,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAiDlD,CAAC"}
|
package/dist/commands/sdk-all.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
2
|
import { generate as generateK6 } from "@ir-kit/k6-gen";
|
|
3
|
-
import { generate as generateGo } from "@ir-kit/openapi-go";
|
|
4
|
-
import { generate as generateKotlin } from "@ir-kit/openapi-kotlin";
|
|
5
|
-
import { generate as generateSwift } from "@ir-kit/openapi-swift";
|
|
6
3
|
import { generate as generateTypescript } from "@ir-kit/openapi-typescript";
|
|
7
|
-
|
|
4
|
+
import { loadOpenAPIForSdk } from "./_load-openapi.js";
|
|
5
|
+
import { nativeSdkTargets } from "./sdk-native.js";
|
|
6
|
+
const TARGETS = [
|
|
7
|
+
...Object.keys(nativeSdkTargets),
|
|
8
|
+
"typescript",
|
|
9
|
+
"k6",
|
|
10
|
+
];
|
|
8
11
|
const args = {
|
|
9
12
|
type: "object",
|
|
10
13
|
properties: {
|
|
@@ -49,6 +52,9 @@ export const sdkAllCommand = {
|
|
|
49
52
|
}
|
|
50
53
|
}
|
|
51
54
|
const targets = requested;
|
|
55
|
+
const native = targets.some((t) => t in nativeSdkTargets)
|
|
56
|
+
? await loadOpenAPIForSdk(input.input)
|
|
57
|
+
: undefined;
|
|
52
58
|
for (const target of targets) {
|
|
53
59
|
const out = join(input.output, target);
|
|
54
60
|
const common = {
|
|
@@ -57,12 +63,8 @@ export const sdkAllCommand = {
|
|
|
57
63
|
clean: input.clean,
|
|
58
64
|
normalize: input.normalize,
|
|
59
65
|
};
|
|
60
|
-
if (target
|
|
61
|
-
await
|
|
62
|
-
else if (target === "kotlin")
|
|
63
|
-
await generateKotlin(common);
|
|
64
|
-
else if (target === "swift")
|
|
65
|
-
await generateSwift(common);
|
|
66
|
+
if (native && target in nativeSdkTargets)
|
|
67
|
+
await nativeSdkTargets[target].generate(native, common);
|
|
66
68
|
else if (target === "typescript")
|
|
67
69
|
await generateTypescript({
|
|
68
70
|
input: input.input,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-all.js","sourceRoot":"","sources":["../../src/commands/sdk-all.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,QAAQ,IAAI,
|
|
1
|
+
{"version":3,"file":"sdk-all.js","sourceRoot":"","sources":["../../src/commands/sdk-all.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { Schema } from "@ir-kit/schema";
|
|
2
|
+
import type { CommandSpec } from "../command-spec.js";
|
|
3
|
+
export interface NativeSdkInput {
|
|
4
|
+
input: string;
|
|
5
|
+
output: string;
|
|
6
|
+
clean?: boolean;
|
|
7
|
+
normalize?: boolean;
|
|
8
|
+
defaultTag?: string;
|
|
9
|
+
[option: string]: unknown;
|
|
10
|
+
}
|
|
11
|
+
export declare const nativeSdkTargets: {
|
|
12
|
+
go: {
|
|
13
|
+
label: string;
|
|
14
|
+
args: {
|
|
15
|
+
gomod: {
|
|
16
|
+
type: string;
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
19
|
+
packageName: {
|
|
20
|
+
type: string;
|
|
21
|
+
description: string;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
generate: (doc: Record<string, unknown>, input: NativeSdkInput) => Promise<import("@ir-kit/openapi-go").GenerateResult>;
|
|
25
|
+
};
|
|
26
|
+
kotlin: {
|
|
27
|
+
label: string;
|
|
28
|
+
args: Record<string, Schema>;
|
|
29
|
+
generate: (doc: Record<string, unknown>, input: NativeSdkInput) => Promise<import("@ir-kit/openapi-kotlin").GenerateResult>;
|
|
30
|
+
};
|
|
31
|
+
swift: {
|
|
32
|
+
label: string;
|
|
33
|
+
args: {
|
|
34
|
+
swiftPackage: {
|
|
35
|
+
type: string;
|
|
36
|
+
description: string;
|
|
37
|
+
default: boolean;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
generate: (doc: Record<string, unknown>, input: NativeSdkInput) => Promise<import("@ir-kit/openapi-swift").GenerateResult>;
|
|
41
|
+
};
|
|
42
|
+
java: {
|
|
43
|
+
label: string;
|
|
44
|
+
args: Record<string, Schema>;
|
|
45
|
+
generate: (doc: Record<string, unknown>, input: NativeSdkInput) => Promise<import("@ir-kit/openapi-java").GenerateResult>;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
export type NativeSdkTargetName = keyof typeof nativeSdkTargets;
|
|
49
|
+
export declare const sdkGoCommand: CommandSpec<NativeSdkInput, void>;
|
|
50
|
+
export declare const sdkKotlinCommand: CommandSpec<NativeSdkInput, void>;
|
|
51
|
+
export declare const sdkSwiftCommand: CommandSpec<NativeSdkInput, void>;
|
|
52
|
+
export declare const sdkJavaCommand: CommandSpec<NativeSdkInput, void>;
|
|
53
|
+
//# sourceMappingURL=sdk-native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-native.d.ts","sourceRoot":"","sources":["../../src/commands/sdk-native.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAqCD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Dc,CAAC;AAE5C,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAyChE,eAAO,MAAM,YAAY,mCAAyB,CAAC;AACnD,eAAO,MAAM,gBAAgB,mCAA6B,CAAC;AAC3D,eAAO,MAAM,eAAe,mCAA4B,CAAC;AACzD,eAAO,MAAM,cAAc,mCAA2B,CAAC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { generate as generateGo } from "@ir-kit/openapi-go";
|
|
2
|
+
import { generate as generateJava } from "@ir-kit/openapi-java";
|
|
3
|
+
import { generate as generateKotlin } from "@ir-kit/openapi-kotlin";
|
|
4
|
+
import { generate as generateSwift } from "@ir-kit/openapi-swift";
|
|
5
|
+
import { loadOpenAPIForSdk } from "./_load-openapi.js";
|
|
6
|
+
const str = (o) => typeof o === "string" ? o : undefined;
|
|
7
|
+
const bool = (o) => typeof o === "boolean" ? o : undefined;
|
|
8
|
+
const common = (doc, input) => ({
|
|
9
|
+
input: doc,
|
|
10
|
+
output: input.output,
|
|
11
|
+
clean: input.clean,
|
|
12
|
+
normalize: input.normalize,
|
|
13
|
+
defaultTag: input.defaultTag,
|
|
14
|
+
});
|
|
15
|
+
const gradleArgs = (lang) => ({
|
|
16
|
+
gradle: {
|
|
17
|
+
type: "boolean",
|
|
18
|
+
description: "Emit build.gradle.kts + settings.gradle.kts at output root",
|
|
19
|
+
default: false,
|
|
20
|
+
},
|
|
21
|
+
packageName: {
|
|
22
|
+
type: "string",
|
|
23
|
+
description: `${lang} package name (default: 'com.example.api')`,
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
export const nativeSdkTargets = {
|
|
27
|
+
go: {
|
|
28
|
+
label: "Go",
|
|
29
|
+
args: {
|
|
30
|
+
gomod: {
|
|
31
|
+
type: "string",
|
|
32
|
+
description: "Emit go.mod with this module path (e.g. github.com/me/sdk)",
|
|
33
|
+
},
|
|
34
|
+
packageName: {
|
|
35
|
+
type: "string",
|
|
36
|
+
description: "Go package name (default: 'api')",
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
generate: (doc, input) => {
|
|
40
|
+
const gomod = str(input.gomod);
|
|
41
|
+
return generateGo({
|
|
42
|
+
...common(doc, input),
|
|
43
|
+
packageName: str(input.packageName),
|
|
44
|
+
...(gomod ? { gomod: { module: gomod } } : {}),
|
|
45
|
+
});
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
kotlin: {
|
|
49
|
+
label: "Kotlin",
|
|
50
|
+
args: gradleArgs("Kotlin"),
|
|
51
|
+
generate: (doc, input) => generateKotlin({
|
|
52
|
+
...common(doc, input),
|
|
53
|
+
packageName: str(input.packageName),
|
|
54
|
+
gradle: bool(input.gradle),
|
|
55
|
+
}),
|
|
56
|
+
},
|
|
57
|
+
swift: {
|
|
58
|
+
label: "Swift",
|
|
59
|
+
args: {
|
|
60
|
+
swiftPackage: {
|
|
61
|
+
type: "boolean",
|
|
62
|
+
description: "Emit Package.swift at output root",
|
|
63
|
+
default: false,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
generate: (doc, input) => generateSwift({
|
|
67
|
+
...common(doc, input),
|
|
68
|
+
package: bool(input.swiftPackage),
|
|
69
|
+
}),
|
|
70
|
+
},
|
|
71
|
+
java: {
|
|
72
|
+
label: "Java",
|
|
73
|
+
args: gradleArgs("Java"),
|
|
74
|
+
generate: (doc, input) => generateJava({
|
|
75
|
+
...common(doc, input),
|
|
76
|
+
packageName: str(input.packageName),
|
|
77
|
+
gradle: bool(input.gradle),
|
|
78
|
+
}),
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
function nativeSdkCommand(name) {
|
|
82
|
+
const target = nativeSdkTargets[name];
|
|
83
|
+
return {
|
|
84
|
+
path: ["sdk", name],
|
|
85
|
+
description: `Generate a ${target.label} SDK from an OpenAPI / TypeSpec spec`,
|
|
86
|
+
args: {
|
|
87
|
+
type: "object",
|
|
88
|
+
properties: {
|
|
89
|
+
input: {
|
|
90
|
+
type: "string",
|
|
91
|
+
description: "OpenAPI spec path, URL, or .tsp file",
|
|
92
|
+
},
|
|
93
|
+
output: { type: "string", description: "Output directory" },
|
|
94
|
+
clean: {
|
|
95
|
+
type: "boolean",
|
|
96
|
+
description: "Wipe output directory before writing",
|
|
97
|
+
default: true,
|
|
98
|
+
},
|
|
99
|
+
normalize: {
|
|
100
|
+
type: "boolean",
|
|
101
|
+
description: "Apply spec normalization",
|
|
102
|
+
default: false,
|
|
103
|
+
},
|
|
104
|
+
defaultTag: {
|
|
105
|
+
type: "string",
|
|
106
|
+
description: "Tag used when an op has none (default: 'Default')",
|
|
107
|
+
},
|
|
108
|
+
...target.args,
|
|
109
|
+
},
|
|
110
|
+
required: ["input", "output"],
|
|
111
|
+
},
|
|
112
|
+
handler: async (input) => {
|
|
113
|
+
await target.generate(await loadOpenAPIForSdk(input.input), input);
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
export const sdkGoCommand = nativeSdkCommand("go");
|
|
118
|
+
export const sdkKotlinCommand = nativeSdkCommand("kotlin");
|
|
119
|
+
export const sdkSwiftCommand = nativeSdkCommand("swift");
|
|
120
|
+
export const sdkJavaCommand = nativeSdkCommand("java");
|
|
121
|
+
//# sourceMappingURL=sdk-native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-native.js","sourceRoot":"","sources":["../../src/commands/sdk-native.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
export type { AnyCommandSpec, CommandSpec, OutputFormat, } from "./command-spec.js";
|
|
2
2
|
export { reconCommand } from "./commands/recon.js";
|
|
3
3
|
export { sdkAllCommand } from "./commands/sdk-all.js";
|
|
4
|
-
export { sdkGoCommand } from "./commands/sdk-go.js";
|
|
5
4
|
export { sdkK6Command } from "./commands/sdk-k6.js";
|
|
6
|
-
export { sdkKotlinCommand } from "./commands/sdk-
|
|
7
|
-
export { sdkSwiftCommand } from "./commands/sdk-swift.js";
|
|
5
|
+
export { sdkGoCommand, sdkJavaCommand, sdkKotlinCommand, sdkSwiftCommand, } from "./commands/sdk-native.js";
|
|
8
6
|
export { sdkTypescriptCommand } from "./commands/sdk-typescript.js";
|
|
9
7
|
export { specConvertCommand } from "./commands/spec-convert.js";
|
|
10
8
|
export { type RunCliOptions, runCli } from "./runtime.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,WAAW,EACX,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,WAAW,EACX,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
export { reconCommand } from "./commands/recon.js";
|
|
2
2
|
export { sdkAllCommand } from "./commands/sdk-all.js";
|
|
3
|
-
export { sdkGoCommand } from "./commands/sdk-go.js";
|
|
4
3
|
export { sdkK6Command } from "./commands/sdk-k6.js";
|
|
5
|
-
export { sdkKotlinCommand } from "./commands/sdk-
|
|
6
|
-
export { sdkSwiftCommand } from "./commands/sdk-swift.js";
|
|
4
|
+
export { sdkGoCommand, sdkJavaCommand, sdkKotlinCommand, sdkSwiftCommand, } from "./commands/sdk-native.js";
|
|
7
5
|
export { sdkTypescriptCommand } from "./commands/sdk-typescript.js";
|
|
8
6
|
export { specConvertCommand } from "./commands/spec-convert.js";
|
|
9
7
|
export { runCli } from "./runtime.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAsB,MAAM,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ir-kit/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Unified `ir` CLI — single entry point for spec loading, conversion, codegen, and reverse-engineering across every supported API standard. Commands are JSON-Schema-defined; runtime auto-derives flags, prompts, help, and validation from the schema.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
"codegen",
|
|
11
11
|
"ir-kit"
|
|
12
12
|
],
|
|
13
|
-
"homepage": "https://github.com/
|
|
13
|
+
"homepage": "https://github.com/ahmedrowaihi/ir-kit/tree/main/packages/cli",
|
|
14
14
|
"bugs": {
|
|
15
|
-
"url": "https://github.com/
|
|
15
|
+
"url": "https://github.com/ahmedrowaihi/ir-kit/issues"
|
|
16
16
|
},
|
|
17
17
|
"license": "MIT",
|
|
18
18
|
"author": {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"repository": {
|
|
23
23
|
"type": "git",
|
|
24
|
-
"url": "git+https://github.com/
|
|
24
|
+
"url": "git+https://github.com/ahmedrowaihi/ir-kit.git",
|
|
25
25
|
"directory": "packages/cli"
|
|
26
26
|
},
|
|
27
27
|
"type": "module",
|
|
@@ -52,20 +52,21 @@
|
|
|
52
52
|
"chokidar": "^4.0.3",
|
|
53
53
|
"citty": "^0.2.2",
|
|
54
54
|
"consola": "^3.4.2",
|
|
55
|
-
"@ir-kit/fn-schema-core": "0.2.
|
|
56
|
-
"@ir-kit/fn-schema-typescript": "0.1.
|
|
57
|
-
"@ir-kit/k6-gen": "0.
|
|
58
|
-
"@ir-kit/k6-toolkit": "0.2.
|
|
59
|
-
"@ir-kit/openapi-go": "
|
|
60
|
-
"@ir-kit/openapi-
|
|
61
|
-
"@ir-kit/openapi-
|
|
62
|
-
"@ir-kit/openapi-
|
|
63
|
-
"@ir-kit/openapi-
|
|
64
|
-
"@ir-kit/
|
|
65
|
-
"@ir-kit/
|
|
66
|
-
"@ir-kit/spec-
|
|
67
|
-
"@ir-kit/spec-
|
|
68
|
-
"@ir-kit/spec-
|
|
55
|
+
"@ir-kit/fn-schema-core": "0.2.1",
|
|
56
|
+
"@ir-kit/fn-schema-typescript": "0.1.2",
|
|
57
|
+
"@ir-kit/k6-gen": "0.4.0",
|
|
58
|
+
"@ir-kit/k6-toolkit": "0.2.2",
|
|
59
|
+
"@ir-kit/openapi-go": "3.0.0",
|
|
60
|
+
"@ir-kit/openapi-java": "1.0.0",
|
|
61
|
+
"@ir-kit/openapi-kotlin": "3.0.0",
|
|
62
|
+
"@ir-kit/openapi-recon": "0.3.0",
|
|
63
|
+
"@ir-kit/openapi-swift": "3.0.0",
|
|
64
|
+
"@ir-kit/openapi-typescript": "0.3.0",
|
|
65
|
+
"@ir-kit/schema": "0.3.1",
|
|
66
|
+
"@ir-kit/spec-convert": "0.3.0",
|
|
67
|
+
"@ir-kit/spec-diff": "0.2.2",
|
|
68
|
+
"@ir-kit/spec-docs": "0.2.2",
|
|
69
|
+
"@ir-kit/spec-loader": "0.3.0"
|
|
69
70
|
},
|
|
70
71
|
"devDependencies": {
|
|
71
72
|
"@types/node": "^22",
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { CommandSpec } from "../command-spec.js";
|
|
2
|
-
interface Input {
|
|
3
|
-
input: string;
|
|
4
|
-
output: string;
|
|
5
|
-
clean?: boolean;
|
|
6
|
-
normalize?: boolean;
|
|
7
|
-
gomod?: string;
|
|
8
|
-
packageName?: string;
|
|
9
|
-
defaultTag?: string;
|
|
10
|
-
}
|
|
11
|
-
export declare const sdkGoCommand: CommandSpec<Input, void>;
|
|
12
|
-
export {};
|
|
13
|
-
//# sourceMappingURL=sdk-go.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-go.d.ts","sourceRoot":"","sources":["../../src/commands/sdk-go.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAoCD,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAgBjD,CAAC"}
|
package/dist/commands/sdk-go.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { generate } from "@ir-kit/openapi-go";
|
|
2
|
-
import { loadOpenAPIForSdk } from "./_load-openapi.js";
|
|
3
|
-
const args = {
|
|
4
|
-
type: "object",
|
|
5
|
-
properties: {
|
|
6
|
-
input: {
|
|
7
|
-
type: "string",
|
|
8
|
-
description: "OpenAPI spec path, URL, or .tsp file",
|
|
9
|
-
},
|
|
10
|
-
output: { type: "string", description: "Output directory" },
|
|
11
|
-
clean: {
|
|
12
|
-
type: "boolean",
|
|
13
|
-
description: "Wipe output directory before writing",
|
|
14
|
-
default: true,
|
|
15
|
-
},
|
|
16
|
-
normalize: {
|
|
17
|
-
type: "boolean",
|
|
18
|
-
description: "Apply hey-api spec normalization",
|
|
19
|
-
default: false,
|
|
20
|
-
},
|
|
21
|
-
gomod: {
|
|
22
|
-
type: "string",
|
|
23
|
-
description: "Emit go.mod with this module path (e.g. github.com/me/sdk)",
|
|
24
|
-
},
|
|
25
|
-
packageName: {
|
|
26
|
-
type: "string",
|
|
27
|
-
description: "Go package name (default: 'api')",
|
|
28
|
-
},
|
|
29
|
-
defaultTag: {
|
|
30
|
-
type: "string",
|
|
31
|
-
description: "Tag used when an op has none (default: 'Default')",
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
|
-
required: ["input", "output"],
|
|
35
|
-
};
|
|
36
|
-
export const sdkGoCommand = {
|
|
37
|
-
path: ["sdk", "go"],
|
|
38
|
-
description: "Generate a Go SDK from an OpenAPI / TypeSpec spec",
|
|
39
|
-
args,
|
|
40
|
-
handler: async (input) => {
|
|
41
|
-
const doc = await loadOpenAPIForSdk(input.input);
|
|
42
|
-
await generate({
|
|
43
|
-
input: doc,
|
|
44
|
-
output: input.output,
|
|
45
|
-
clean: input.clean,
|
|
46
|
-
normalize: input.normalize,
|
|
47
|
-
packageName: input.packageName,
|
|
48
|
-
defaultTag: input.defaultTag,
|
|
49
|
-
...(input.gomod ? { gomod: { module: input.gomod } } : {}),
|
|
50
|
-
});
|
|
51
|
-
},
|
|
52
|
-
};
|
|
53
|
-
//# sourceMappingURL=sdk-go.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-go.js","sourceRoot":"","sources":["../../src/commands/sdk-go.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAYvD,MAAM,IAAI,GAAW;IACnB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sCAAsC;SACpD;QACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;QAC3D,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,sCAAsC;YACnD,OAAO,EAAE,IAAI;SACd;QACD,SAAS,EAAE;YACT,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,OAAO,EAAE,KAAK;SACf;QACD,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,4DAA4D;SAC1E;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kCAAkC;SAChD;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,mDAAmD;SACjE;KACF;IACD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAA6B;IACpD,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACnB,WAAW,EAAE,mDAAmD;IAChE,IAAI;IACJ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,QAAQ,CAAC;YACb,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { CommandSpec } from "../command-spec.js";
|
|
2
|
-
interface Input {
|
|
3
|
-
input: string;
|
|
4
|
-
output: string;
|
|
5
|
-
clean?: boolean;
|
|
6
|
-
normalize?: boolean;
|
|
7
|
-
gradle?: boolean;
|
|
8
|
-
packageName?: string;
|
|
9
|
-
defaultTag?: string;
|
|
10
|
-
}
|
|
11
|
-
export declare const sdkKotlinCommand: CommandSpec<Input, void>;
|
|
12
|
-
export {};
|
|
13
|
-
//# sourceMappingURL=sdk-kotlin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-kotlin.d.ts","sourceRoot":"","sources":["../../src/commands/sdk-kotlin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAqCD,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAgBrD,CAAC"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { generate } from "@ir-kit/openapi-kotlin";
|
|
2
|
-
import { loadOpenAPIForSdk } from "./_load-openapi.js";
|
|
3
|
-
const args = {
|
|
4
|
-
type: "object",
|
|
5
|
-
properties: {
|
|
6
|
-
input: {
|
|
7
|
-
type: "string",
|
|
8
|
-
description: "OpenAPI spec path, URL, or .tsp file",
|
|
9
|
-
},
|
|
10
|
-
output: { type: "string", description: "Output directory" },
|
|
11
|
-
clean: {
|
|
12
|
-
type: "boolean",
|
|
13
|
-
description: "Wipe output before writing",
|
|
14
|
-
default: true,
|
|
15
|
-
},
|
|
16
|
-
normalize: {
|
|
17
|
-
type: "boolean",
|
|
18
|
-
description: "Apply spec normalization",
|
|
19
|
-
default: false,
|
|
20
|
-
},
|
|
21
|
-
gradle: {
|
|
22
|
-
type: "boolean",
|
|
23
|
-
description: "Emit build.gradle.kts + settings.gradle.kts at output root",
|
|
24
|
-
default: false,
|
|
25
|
-
},
|
|
26
|
-
packageName: {
|
|
27
|
-
type: "string",
|
|
28
|
-
description: "Kotlin package name (default: 'com.example.api')",
|
|
29
|
-
},
|
|
30
|
-
defaultTag: {
|
|
31
|
-
type: "string",
|
|
32
|
-
description: "Tag for untagged ops (default: 'Default')",
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
required: ["input", "output"],
|
|
36
|
-
};
|
|
37
|
-
export const sdkKotlinCommand = {
|
|
38
|
-
path: ["sdk", "kotlin"],
|
|
39
|
-
description: "Generate a Kotlin SDK from an OpenAPI / TypeSpec spec",
|
|
40
|
-
args,
|
|
41
|
-
handler: async (input) => {
|
|
42
|
-
const doc = await loadOpenAPIForSdk(input.input);
|
|
43
|
-
await generate({
|
|
44
|
-
input: doc,
|
|
45
|
-
output: input.output,
|
|
46
|
-
clean: input.clean,
|
|
47
|
-
normalize: input.normalize,
|
|
48
|
-
packageName: input.packageName,
|
|
49
|
-
defaultTag: input.defaultTag,
|
|
50
|
-
gradle: input.gradle,
|
|
51
|
-
});
|
|
52
|
-
},
|
|
53
|
-
};
|
|
54
|
-
//# sourceMappingURL=sdk-kotlin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-kotlin.js","sourceRoot":"","sources":["../../src/commands/sdk-kotlin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAYvD,MAAM,IAAI,GAAW;IACnB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sCAAsC;SACpD;QACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;QAC3D,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,4BAA4B;YACzC,OAAO,EAAE,IAAI;SACd;QACD,SAAS,EAAE;YACT,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0BAA0B;YACvC,OAAO,EAAE,KAAK;SACf;QACD,MAAM,EAAE;YACN,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,4DAA4D;YACzE,OAAO,EAAE,KAAK;SACf;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kDAAkD;SAChE;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2CAA2C;SACzD;KACF;IACD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;IACvB,WAAW,EAAE,uDAAuD;IACpE,IAAI;IACJ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,QAAQ,CAAC;YACb,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { CommandSpec } from "../command-spec.js";
|
|
2
|
-
interface Input {
|
|
3
|
-
input: string;
|
|
4
|
-
output: string;
|
|
5
|
-
clean?: boolean;
|
|
6
|
-
normalize?: boolean;
|
|
7
|
-
swiftPackage?: boolean;
|
|
8
|
-
defaultTag?: string;
|
|
9
|
-
}
|
|
10
|
-
export declare const sdkSwiftCommand: CommandSpec<Input, void>;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=sdk-swift.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-swift.d.ts","sourceRoot":"","sources":["../../src/commands/sdk-swift.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAiCD,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAepD,CAAC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { generate } from "@ir-kit/openapi-swift";
|
|
2
|
-
import { loadOpenAPIForSdk } from "./_load-openapi.js";
|
|
3
|
-
const args = {
|
|
4
|
-
type: "object",
|
|
5
|
-
properties: {
|
|
6
|
-
input: {
|
|
7
|
-
type: "string",
|
|
8
|
-
description: "OpenAPI spec path, URL, or .tsp file",
|
|
9
|
-
},
|
|
10
|
-
output: { type: "string", description: "Output directory" },
|
|
11
|
-
clean: {
|
|
12
|
-
type: "boolean",
|
|
13
|
-
description: "Wipe output before writing",
|
|
14
|
-
default: true,
|
|
15
|
-
},
|
|
16
|
-
normalize: {
|
|
17
|
-
type: "boolean",
|
|
18
|
-
description: "Apply spec normalization",
|
|
19
|
-
default: false,
|
|
20
|
-
},
|
|
21
|
-
swiftPackage: {
|
|
22
|
-
type: "boolean",
|
|
23
|
-
description: "Emit Package.swift at output root",
|
|
24
|
-
default: false,
|
|
25
|
-
},
|
|
26
|
-
defaultTag: {
|
|
27
|
-
type: "string",
|
|
28
|
-
description: "Tag for untagged ops (default: 'Default')",
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
required: ["input", "output"],
|
|
32
|
-
};
|
|
33
|
-
export const sdkSwiftCommand = {
|
|
34
|
-
path: ["sdk", "swift"],
|
|
35
|
-
description: "Generate a Swift SDK from an OpenAPI / TypeSpec spec",
|
|
36
|
-
args,
|
|
37
|
-
handler: async (input) => {
|
|
38
|
-
const doc = await loadOpenAPIForSdk(input.input);
|
|
39
|
-
await generate({
|
|
40
|
-
input: doc,
|
|
41
|
-
output: input.output,
|
|
42
|
-
clean: input.clean,
|
|
43
|
-
normalize: input.normalize,
|
|
44
|
-
defaultTag: input.defaultTag,
|
|
45
|
-
package: input.swiftPackage,
|
|
46
|
-
});
|
|
47
|
-
},
|
|
48
|
-
};
|
|
49
|
-
//# sourceMappingURL=sdk-swift.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-swift.js","sourceRoot":"","sources":["../../src/commands/sdk-swift.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAIjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAWvD,MAAM,IAAI,GAAW;IACnB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sCAAsC;SACpD;QACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;QAC3D,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,4BAA4B;YACzC,OAAO,EAAE,IAAI;SACd;QACD,SAAS,EAAE;YACT,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0BAA0B;YACvC,OAAO,EAAE,KAAK;SACf;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,mCAAmC;YAChD,OAAO,EAAE,KAAK;SACf;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2CAA2C;SACzD;KACF;IACD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAA6B;IACvD,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,sDAAsD;IACnE,IAAI;IACJ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,QAAQ,CAAC;YACb,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO,EAAE,KAAK,CAAC,YAAY;SAC5B,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|