@postman/sdk-config 0.6.0 → 0.7.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/dist/index.cjs +112 -27
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +112 -27
- package/dist/index.js.map +1 -1
- package/dist/sdk-config/index.cjs +112 -27
- package/dist/sdk-config/index.cjs.map +1 -1
- package/dist/sdk-config/index.d.cts +1 -1
- package/dist/sdk-config/index.d.ts +1 -1
- package/dist/sdk-config/index.js +112 -27
- package/dist/sdk-config/index.js.map +1 -1
- package/dist/sdk-config/v1/index.cjs +112 -27
- package/dist/sdk-config/v1/index.cjs.map +1 -1
- package/dist/sdk-config/v1/index.d.cts +13 -1
- package/dist/sdk-config/v1/index.d.ts +13 -1
- package/dist/sdk-config/v1/index.js +112 -27
- package/dist/sdk-config/v1/index.js.map +1 -1
- package/dist/sdk-config-ir/index.cjs +5 -0
- package/dist/sdk-config-ir/index.cjs.map +1 -1
- package/dist/sdk-config-ir/index.d.cts +1 -1
- package/dist/sdk-config-ir/index.d.ts +1 -1
- package/dist/sdk-config-ir/index.js +5 -0
- package/dist/sdk-config-ir/index.js.map +1 -1
- package/dist/sdk-config-ir/v1/index.cjs +5 -0
- package/dist/sdk-config-ir/v1/index.cjs.map +1 -1
- package/dist/sdk-config-ir/v1/index.d.cts +20 -2
- package/dist/sdk-config-ir/v1/index.d.ts +20 -2
- package/dist/sdk-config-ir/v1/index.js +5 -0
- package/dist/sdk-config-ir/v1/index.js.map +1 -1
- package/dist/{typescript-BruxA5zG.d.cts → typescript-BdDv_kwT.d.cts} +8 -0
- package/dist/{typescript-BruxA5zG.d.ts → typescript-BdDv_kwT.d.ts} +8 -0
- package/package.json +1 -1
- package/src/sdk-config-ir/v1/README.md +4 -2
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { FernConfigMappingDiagnostic, FernConfigMappingError, FernConfigMappingResult, FernResolvedGeneratorGroupInput, FernResolvedGeneratorInput, FernSdkConfigLanguage, SDK_CONFIG_V1_SCHEMA_VERSION, SdkConfigV1, SdkConfigV1ApiConfig, SdkConfigV1ApiConfigInput, SdkConfigV1ClientConfig, SdkConfigV1ClientConfigInput, SdkConfigV1ClientConfigOverride, SdkConfigV1Dependency, SdkConfigV1DocsConfig, SdkConfigV1Document, SdkConfigV1GenerationConfig, SdkConfigV1GenerationConfigInput, SdkConfigV1GenerationConfigOverride, SdkConfigV1Input, SdkConfigV1OutputConfig, SdkConfigV1PackageConfig, SdkConfigV1PublishConfig, SdkConfigV1PublishRegistry, SdkConfigV1ReplayConfig, SdkConfigV1SourceConfig, SdkConfigV1SourceSpec, SdkConfigV1Target, SdkConfigV1WebhookSignature, SdkConfigV1WebhookSignatureInput, mapFernConfigToSdkConfigV1, parseSdkConfigV1, parseSdkConfigV1ForConsumption, sdkConfigV1ApiConfigSchema, sdkConfigV1AuthConfigSchema, sdkConfigV1AuthSchemeSchema, sdkConfigV1ClientConfigOverrideSchema, sdkConfigV1ClientConfigSchema, sdkConfigV1DependencySchema, sdkConfigV1DocsConfigSchema, sdkConfigV1GenerationConfigOverrideSchema, sdkConfigV1GenerationConfigSchema, sdkConfigV1OutputConfigSchema, sdkConfigV1PackageConfigSchema, sdkConfigV1PublishConfigSchema, sdkConfigV1PublishRegistrySchema, sdkConfigV1ReadmeCustomSectionSchema, sdkConfigV1ReadmeEndpointSchema, sdkConfigV1ReplayConfigSchema, sdkConfigV1Schema, sdkConfigV1SourceConfigSchema, sdkConfigV1SourceSpecSchema, sdkConfigV1TargetSchema, sdkConfigV1WebhookSignatureSchema, splitSdkConfigV1TargetGeneration, validateSdkConfigV1 } from './sdk-config/v1/index.cjs';
|
|
2
|
-
export { C as CliGenerationConfig, a as CsharpGenerationConfig, D as Dependency, G as GoGenerationConfig, J as JavaGenerationConfig, b as JsonObject, c as JsonValue, K as KotlinGenerationConfig, M as McpAvailabilityStatus, d as McpGenerationConfig, e as McpToolFilter, P as PackageConfig, f as PhpGenerationConfig, g as PlanModifiers, h as PythonGenerationConfig, R as RubyGenerationConfig, i as RustGenerationConfig, S as SwiftGenerationConfig, T as TerraformGenerationConfig, j as TypescriptGenerationConfig, k as cliGenerationConfigSchema, l as composerPackageNameSchema, m as csharpGenerationConfigSchema, n as dependencySchema, o as exactSemverSchema, p as goGenerationConfigSchema, q as goModulePathSchema, r as javaGenerationConfigSchema, s as jsonObjectSchema, t as jsonValueSchema, u as kotlinGenerationConfigSchema, v as mcpAvailabilityStatuses, w as mcpGenerationConfigSchema, x as nonEmptyStringSchema, y as packageConfigSchema, z as phpGenerationConfigSchema, A as pythonGenerationConfigSchema, B as relativePathSchema, E as rubyGenerationConfigSchema, F as rustGenerationConfigSchema, k as sdkConfigV1CliGenerationConfigSchema, l as sdkConfigV1ComposerPackageNameSchema, m as sdkConfigV1CsharpGenerationConfigSchema, o as sdkConfigV1ExactSemverSchema, p as sdkConfigV1GoGenerationConfigSchema, q as sdkConfigV1GoModulePathSchema, r as sdkConfigV1JavaGenerationConfigSchema, u as sdkConfigV1KotlinGenerationConfigSchema, w as sdkConfigV1McpGenerationConfigSchema, x as sdkConfigV1NonEmptyStringSchema, z as sdkConfigV1PhpGenerationConfigSchema, A as sdkConfigV1PythonGenerationConfigSchema, B as sdkConfigV1RelativePathSchema, E as sdkConfigV1RubyGenerationConfigSchema, F as sdkConfigV1RustGenerationConfigSchema, H as sdkConfigV1SwiftGenerationConfigSchema, I as sdkConfigV1TerraformGenerationConfigSchema, L as sdkConfigV1TypescriptGenerationConfigSchema, H as swiftGenerationConfigSchema, I as terraformGenerationConfigSchema, L as typescriptGenerationConfigSchema } from './typescript-
|
|
2
|
+
export { C as CliGenerationConfig, a as CsharpGenerationConfig, D as Dependency, G as GoGenerationConfig, J as JavaGenerationConfig, b as JsonObject, c as JsonValue, K as KotlinGenerationConfig, M as McpAvailabilityStatus, d as McpGenerationConfig, e as McpToolFilter, P as PackageConfig, f as PhpGenerationConfig, g as PlanModifiers, h as PythonGenerationConfig, R as RubyGenerationConfig, i as RustGenerationConfig, S as SwiftGenerationConfig, T as TerraformGenerationConfig, j as TypescriptGenerationConfig, k as cliGenerationConfigSchema, l as composerPackageNameSchema, m as csharpGenerationConfigSchema, n as dependencySchema, o as exactSemverSchema, p as goGenerationConfigSchema, q as goModulePathSchema, r as javaGenerationConfigSchema, s as jsonObjectSchema, t as jsonValueSchema, u as kotlinGenerationConfigSchema, v as mcpAvailabilityStatuses, w as mcpGenerationConfigSchema, x as nonEmptyStringSchema, y as packageConfigSchema, z as phpGenerationConfigSchema, A as pythonGenerationConfigSchema, B as relativePathSchema, E as rubyGenerationConfigSchema, F as rustGenerationConfigSchema, k as sdkConfigV1CliGenerationConfigSchema, l as sdkConfigV1ComposerPackageNameSchema, m as sdkConfigV1CsharpGenerationConfigSchema, o as sdkConfigV1ExactSemverSchema, p as sdkConfigV1GoGenerationConfigSchema, q as sdkConfigV1GoModulePathSchema, r as sdkConfigV1JavaGenerationConfigSchema, u as sdkConfigV1KotlinGenerationConfigSchema, w as sdkConfigV1McpGenerationConfigSchema, x as sdkConfigV1NonEmptyStringSchema, z as sdkConfigV1PhpGenerationConfigSchema, A as sdkConfigV1PythonGenerationConfigSchema, B as sdkConfigV1RelativePathSchema, E as sdkConfigV1RubyGenerationConfigSchema, F as sdkConfigV1RustGenerationConfigSchema, H as sdkConfigV1SwiftGenerationConfigSchema, I as sdkConfigV1TerraformGenerationConfigSchema, L as sdkConfigV1TypescriptGenerationConfigSchema, H as swiftGenerationConfigSchema, I as terraformGenerationConfigSchema, L as typescriptGenerationConfigSchema } from './typescript-BdDv_kwT.cjs';
|
|
3
3
|
export { ApiConfig, ApiConfigInput, ApiImportSettings, AuthConfig, AuthScheme, ClientConfig, ClientConfigInput, ClientConfigOverride, CompatibilityConfig, CredentialResolution, DocsConfig, GenerationConfig, LanguageGenerationConfig, LegacyInput, OutputConfig, PublishConfig, PublishRegistry, ReadmeCustomSection, ReadmeEndpoint, ReplayConfig, SDK_CONFIG_IR_V1_SCHEMA_VERSION, SdkConfigIrCapability, SdkConfigIrV1, SdkConfigIrV1Input, SerializedSdkConfigIrV1, SourceConfig, SourceSpecConfig, SourceSpecType, TargetConfig, TargetLanguage, UnsupportedField, WebhookSignature, WebhookSignatureInput, apiConfigSchema, apiImportSettingsSchema, authConfigSchema, authSchemeSchema, clientConfigOverrideSchema, clientConfigSchema, clientRetryOverrideSchema, compatibilityConfigSchema, docsConfigSchema, generationConfigSchema, languageGenerationConfigSchema, legacyInputSchema, outputConfigSchema, parseSdkConfigIrV1, parseSdkConfigIrV1ForConsumption, publishConfigSchema, publishRegistrySchema, readmeCustomSectionSchema, readmeEndpointSchema, replayConfigSchema, sdkConfigIrCapabilitySchema, sdkConfigIrV1Schema, serializeSdkConfigIrV1, sourceConfigSchema, sourceSpecConfigSchema, sourceSpecTypeSchema, targetConfigSchema, targetLanguageSchema, unsupportedFieldSchema, webhookSignatureSchema } from './sdk-config-ir/v1/index.cjs';
|
|
4
4
|
import 'zod';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { FernConfigMappingDiagnostic, FernConfigMappingError, FernConfigMappingResult, FernResolvedGeneratorGroupInput, FernResolvedGeneratorInput, FernSdkConfigLanguage, SDK_CONFIG_V1_SCHEMA_VERSION, SdkConfigV1, SdkConfigV1ApiConfig, SdkConfigV1ApiConfigInput, SdkConfigV1ClientConfig, SdkConfigV1ClientConfigInput, SdkConfigV1ClientConfigOverride, SdkConfigV1Dependency, SdkConfigV1DocsConfig, SdkConfigV1Document, SdkConfigV1GenerationConfig, SdkConfigV1GenerationConfigInput, SdkConfigV1GenerationConfigOverride, SdkConfigV1Input, SdkConfigV1OutputConfig, SdkConfigV1PackageConfig, SdkConfigV1PublishConfig, SdkConfigV1PublishRegistry, SdkConfigV1ReplayConfig, SdkConfigV1SourceConfig, SdkConfigV1SourceSpec, SdkConfigV1Target, SdkConfigV1WebhookSignature, SdkConfigV1WebhookSignatureInput, mapFernConfigToSdkConfigV1, parseSdkConfigV1, parseSdkConfigV1ForConsumption, sdkConfigV1ApiConfigSchema, sdkConfigV1AuthConfigSchema, sdkConfigV1AuthSchemeSchema, sdkConfigV1ClientConfigOverrideSchema, sdkConfigV1ClientConfigSchema, sdkConfigV1DependencySchema, sdkConfigV1DocsConfigSchema, sdkConfigV1GenerationConfigOverrideSchema, sdkConfigV1GenerationConfigSchema, sdkConfigV1OutputConfigSchema, sdkConfigV1PackageConfigSchema, sdkConfigV1PublishConfigSchema, sdkConfigV1PublishRegistrySchema, sdkConfigV1ReadmeCustomSectionSchema, sdkConfigV1ReadmeEndpointSchema, sdkConfigV1ReplayConfigSchema, sdkConfigV1Schema, sdkConfigV1SourceConfigSchema, sdkConfigV1SourceSpecSchema, sdkConfigV1TargetSchema, sdkConfigV1WebhookSignatureSchema, splitSdkConfigV1TargetGeneration, validateSdkConfigV1 } from './sdk-config/v1/index.js';
|
|
2
|
-
export { C as CliGenerationConfig, a as CsharpGenerationConfig, D as Dependency, G as GoGenerationConfig, J as JavaGenerationConfig, b as JsonObject, c as JsonValue, K as KotlinGenerationConfig, M as McpAvailabilityStatus, d as McpGenerationConfig, e as McpToolFilter, P as PackageConfig, f as PhpGenerationConfig, g as PlanModifiers, h as PythonGenerationConfig, R as RubyGenerationConfig, i as RustGenerationConfig, S as SwiftGenerationConfig, T as TerraformGenerationConfig, j as TypescriptGenerationConfig, k as cliGenerationConfigSchema, l as composerPackageNameSchema, m as csharpGenerationConfigSchema, n as dependencySchema, o as exactSemverSchema, p as goGenerationConfigSchema, q as goModulePathSchema, r as javaGenerationConfigSchema, s as jsonObjectSchema, t as jsonValueSchema, u as kotlinGenerationConfigSchema, v as mcpAvailabilityStatuses, w as mcpGenerationConfigSchema, x as nonEmptyStringSchema, y as packageConfigSchema, z as phpGenerationConfigSchema, A as pythonGenerationConfigSchema, B as relativePathSchema, E as rubyGenerationConfigSchema, F as rustGenerationConfigSchema, k as sdkConfigV1CliGenerationConfigSchema, l as sdkConfigV1ComposerPackageNameSchema, m as sdkConfigV1CsharpGenerationConfigSchema, o as sdkConfigV1ExactSemverSchema, p as sdkConfigV1GoGenerationConfigSchema, q as sdkConfigV1GoModulePathSchema, r as sdkConfigV1JavaGenerationConfigSchema, u as sdkConfigV1KotlinGenerationConfigSchema, w as sdkConfigV1McpGenerationConfigSchema, x as sdkConfigV1NonEmptyStringSchema, z as sdkConfigV1PhpGenerationConfigSchema, A as sdkConfigV1PythonGenerationConfigSchema, B as sdkConfigV1RelativePathSchema, E as sdkConfigV1RubyGenerationConfigSchema, F as sdkConfigV1RustGenerationConfigSchema, H as sdkConfigV1SwiftGenerationConfigSchema, I as sdkConfigV1TerraformGenerationConfigSchema, L as sdkConfigV1TypescriptGenerationConfigSchema, H as swiftGenerationConfigSchema, I as terraformGenerationConfigSchema, L as typescriptGenerationConfigSchema } from './typescript-
|
|
2
|
+
export { C as CliGenerationConfig, a as CsharpGenerationConfig, D as Dependency, G as GoGenerationConfig, J as JavaGenerationConfig, b as JsonObject, c as JsonValue, K as KotlinGenerationConfig, M as McpAvailabilityStatus, d as McpGenerationConfig, e as McpToolFilter, P as PackageConfig, f as PhpGenerationConfig, g as PlanModifiers, h as PythonGenerationConfig, R as RubyGenerationConfig, i as RustGenerationConfig, S as SwiftGenerationConfig, T as TerraformGenerationConfig, j as TypescriptGenerationConfig, k as cliGenerationConfigSchema, l as composerPackageNameSchema, m as csharpGenerationConfigSchema, n as dependencySchema, o as exactSemverSchema, p as goGenerationConfigSchema, q as goModulePathSchema, r as javaGenerationConfigSchema, s as jsonObjectSchema, t as jsonValueSchema, u as kotlinGenerationConfigSchema, v as mcpAvailabilityStatuses, w as mcpGenerationConfigSchema, x as nonEmptyStringSchema, y as packageConfigSchema, z as phpGenerationConfigSchema, A as pythonGenerationConfigSchema, B as relativePathSchema, E as rubyGenerationConfigSchema, F as rustGenerationConfigSchema, k as sdkConfigV1CliGenerationConfigSchema, l as sdkConfigV1ComposerPackageNameSchema, m as sdkConfigV1CsharpGenerationConfigSchema, o as sdkConfigV1ExactSemverSchema, p as sdkConfigV1GoGenerationConfigSchema, q as sdkConfigV1GoModulePathSchema, r as sdkConfigV1JavaGenerationConfigSchema, u as sdkConfigV1KotlinGenerationConfigSchema, w as sdkConfigV1McpGenerationConfigSchema, x as sdkConfigV1NonEmptyStringSchema, z as sdkConfigV1PhpGenerationConfigSchema, A as sdkConfigV1PythonGenerationConfigSchema, B as sdkConfigV1RelativePathSchema, E as sdkConfigV1RubyGenerationConfigSchema, F as sdkConfigV1RustGenerationConfigSchema, H as sdkConfigV1SwiftGenerationConfigSchema, I as sdkConfigV1TerraformGenerationConfigSchema, L as sdkConfigV1TypescriptGenerationConfigSchema, H as swiftGenerationConfigSchema, I as terraformGenerationConfigSchema, L as typescriptGenerationConfigSchema } from './typescript-BdDv_kwT.js';
|
|
3
3
|
export { ApiConfig, ApiConfigInput, ApiImportSettings, AuthConfig, AuthScheme, ClientConfig, ClientConfigInput, ClientConfigOverride, CompatibilityConfig, CredentialResolution, DocsConfig, GenerationConfig, LanguageGenerationConfig, LegacyInput, OutputConfig, PublishConfig, PublishRegistry, ReadmeCustomSection, ReadmeEndpoint, ReplayConfig, SDK_CONFIG_IR_V1_SCHEMA_VERSION, SdkConfigIrCapability, SdkConfigIrV1, SdkConfigIrV1Input, SerializedSdkConfigIrV1, SourceConfig, SourceSpecConfig, SourceSpecType, TargetConfig, TargetLanguage, UnsupportedField, WebhookSignature, WebhookSignatureInput, apiConfigSchema, apiImportSettingsSchema, authConfigSchema, authSchemeSchema, clientConfigOverrideSchema, clientConfigSchema, clientRetryOverrideSchema, compatibilityConfigSchema, docsConfigSchema, generationConfigSchema, languageGenerationConfigSchema, legacyInputSchema, outputConfigSchema, parseSdkConfigIrV1, parseSdkConfigIrV1ForConsumption, publishConfigSchema, publishRegistrySchema, readmeCustomSectionSchema, readmeEndpointSchema, replayConfigSchema, sdkConfigIrCapabilitySchema, sdkConfigIrV1Schema, serializeSdkConfigIrV1, sourceConfigSchema, sourceSpecConfigSchema, sourceSpecTypeSchema, targetConfigSchema, targetLanguageSchema, unsupportedFieldSchema, webhookSignatureSchema } from './sdk-config-ir/v1/index.js';
|
|
4
4
|
import 'zod';
|
package/dist/index.js
CHANGED
|
@@ -784,6 +784,7 @@ function githubOutput(value, publishInfo, rawOutput, language, sourcePath, state
|
|
|
784
784
|
consume(state, [...sourcePath, "repo"]);
|
|
785
785
|
const publication = publishInfo ? mapPublication(publishInfo, rawOutput, language, [...sourcePath, "publishInfo"], state, index) : void 0;
|
|
786
786
|
const type = stringValue(value.type);
|
|
787
|
+
const licensePackage = mapGithubLicense(value.license, [...sourcePath, "license"], state);
|
|
787
788
|
const reviewers = mapReviewers(value.reviewers, [...sourcePath, "reviewers"], state);
|
|
788
789
|
if (type) consume(state, [...sourcePath, "type"]);
|
|
789
790
|
if (typeof value.makePr === "boolean") consume(state, [...sourcePath, "makePr"]);
|
|
@@ -810,9 +811,20 @@ function githubOutput(value, publishInfo, rawOutput, language, sourcePath, state
|
|
|
810
811
|
},
|
|
811
812
|
...publication ? { publish: publication.publish } : {}
|
|
812
813
|
},
|
|
813
|
-
|
|
814
|
+
// The GitHub license wins over a publication-supplied one; `licensePackage` is `{}` or `{ license }`.
|
|
815
|
+
...optionalObject("package", { ...publication?.package, ...licensePackage })
|
|
814
816
|
};
|
|
815
817
|
}
|
|
818
|
+
var basicLicenseTypes = { mit: "MIT", apache: "APACHE" };
|
|
819
|
+
function mapGithubLicense(value, sourcePath, state) {
|
|
820
|
+
if (!isObject(value) || stringValue(value.type) !== "basic") return {};
|
|
821
|
+
const id = stringValue(value.id);
|
|
822
|
+
const type = id ? basicLicenseTypes[id.toLowerCase()] : void 0;
|
|
823
|
+
if (!type) return {};
|
|
824
|
+
consume(state, [...sourcePath, "type"]);
|
|
825
|
+
consume(state, [...sourcePath, "id"]);
|
|
826
|
+
return { license: { type } };
|
|
827
|
+
}
|
|
816
828
|
function consumeCredentialObject(value, sourcePath, state) {
|
|
817
829
|
if (!isObject(value)) return;
|
|
818
830
|
for (const field of ["username", "password", "token", "apiKey"]) {
|
|
@@ -1812,17 +1824,22 @@ var typescriptGenerationConfigSchema = z.strictObject({
|
|
|
1812
1824
|
compilerOptions: compilerOptionsSchema.optional(),
|
|
1813
1825
|
httpClient: httpClientSchema.optional(),
|
|
1814
1826
|
packageManager: z.enum(["pnpm", "yarn"]).optional(),
|
|
1827
|
+
/** e.g. `1.22.22` — from the customer's own `config.packageJson.packageManager` (`yarn@1.22.22`). */
|
|
1828
|
+
packageManagerVersion: nonEmptyStringSchema.optional(),
|
|
1815
1829
|
testFramework: z.enum(["jest", "vitest"]).optional(),
|
|
1816
1830
|
namingStrategy: z.enum(["base", "originalPropertyNames"]).optional(),
|
|
1817
1831
|
bundle: z.boolean().optional(),
|
|
1818
1832
|
exportClassDefault: z.boolean().optional(),
|
|
1819
1833
|
/** Name of the top-level namespace export emitted by Fern-compatible TypeScript SDKs. */
|
|
1820
1834
|
namespaceExportName: nonEmptyStringSchema.optional(),
|
|
1835
|
+
consolidateTypeFiles: z.boolean().optional(),
|
|
1821
1836
|
allowCustomFetcher: z.boolean().optional(),
|
|
1822
1837
|
useBrandedStringAliases: z.boolean().optional(),
|
|
1823
1838
|
useLegacyExports: z.boolean().optional(),
|
|
1824
1839
|
useBigInt: z.boolean().optional(),
|
|
1825
1840
|
serdeLayer: z.boolean().optional(),
|
|
1841
|
+
/** Ship only the ESM build (drops CJS) to avoid the Node dual-package hazard. */
|
|
1842
|
+
esmOnly: z.boolean().optional(),
|
|
1826
1843
|
scripts: z.array(packageScriptSchema).optional()
|
|
1827
1844
|
});
|
|
1828
1845
|
|
|
@@ -2496,15 +2513,23 @@ function mapCommonConfig(language, config, state, client, generation, packageCon
|
|
|
2496
2513
|
};
|
|
2497
2514
|
}
|
|
2498
2515
|
const pythonClient = language === "python" ? takeObject(config, ["client"], state, basePath) : void 0;
|
|
2516
|
+
const typescriptNaming = language === "typescript" || language === "mcp" ? takeObject(config, ["naming"], state, basePath) : void 0;
|
|
2499
2517
|
const directClientName = takeString(config, ["clientName", "clientClassName"], state, basePath);
|
|
2500
|
-
const nestedClientName = pythonClient ? takeString(pythonClient.value, ["className"], state, pythonClient.path) : void 0;
|
|
2518
|
+
const nestedClientName = pythonClient ? takeString(pythonClient.value, ["className"], state, pythonClient.path) : typescriptNaming ? takeString(typescriptNaming.value, ["client"], state, typescriptNaming.path) : void 0;
|
|
2501
2519
|
const directExportedClientName = takeString(
|
|
2502
2520
|
config,
|
|
2503
2521
|
["exportedClientName", "exportedClientClassName"],
|
|
2504
2522
|
state,
|
|
2505
2523
|
basePath
|
|
2506
2524
|
);
|
|
2507
|
-
const nestedExportedClientName = pythonClient ? takeString(pythonClient.value, ["exportedClassName"], state, pythonClient.path) :
|
|
2525
|
+
const nestedExportedClientName = pythonClient ? takeString(pythonClient.value, ["exportedClassName"], state, pythonClient.path) : typescriptNaming ? (
|
|
2526
|
+
// TypeScript's `naming.namespace` is the base every other naming.* field defaults from
|
|
2527
|
+
// (Fern's docs: `client` defaults to `${PascalCase(namespace)}Client`, same for
|
|
2528
|
+
// `environment`/`error`/etc.) — the same role `exportedClientName` already plays for every
|
|
2529
|
+
// other language's `clientPrefix` derivation.
|
|
2530
|
+
takeString(typescriptNaming.value, ["namespace"], state, typescriptNaming.path)
|
|
2531
|
+
) : void 0;
|
|
2532
|
+
const nestedEnvironmentTypeName = typescriptNaming ? takeString(typescriptNaming.value, ["environment"], state, typescriptNaming.path) : void 0;
|
|
2508
2533
|
const naming = compact({
|
|
2509
2534
|
pagerName: takeString(
|
|
2510
2535
|
config,
|
|
@@ -2514,12 +2539,7 @@ function mapCommonConfig(language, config, state, client, generation, packageCon
|
|
|
2514
2539
|
),
|
|
2515
2540
|
clientName: directClientName ?? nestedClientName,
|
|
2516
2541
|
exportedClientName: directExportedClientName ?? nestedExportedClientName,
|
|
2517
|
-
environmentTypeName: takeString(
|
|
2518
|
-
config,
|
|
2519
|
-
["environmentClassName", "environmentEnumName"],
|
|
2520
|
-
state,
|
|
2521
|
-
basePath
|
|
2522
|
-
),
|
|
2542
|
+
environmentTypeName: takeString(config, ["environmentClassName", "environmentEnumName"], state, basePath) ?? nestedEnvironmentTypeName,
|
|
2523
2543
|
apiErrorName: takeString(config, ["baseApiExceptionClassName"], state, basePath),
|
|
2524
2544
|
baseErrorName: takeString(config, ["baseExceptionClassName"], state, basePath)
|
|
2525
2545
|
});
|
|
@@ -2533,6 +2553,10 @@ function mapCommonConfig(language, config, state, client, generation, packageCon
|
|
|
2533
2553
|
basePath
|
|
2534
2554
|
);
|
|
2535
2555
|
if (webSockets !== void 0) generation.webSockets = webSockets;
|
|
2556
|
+
if (language === "typescript") {
|
|
2557
|
+
const streams = mapTypescriptStreams(config, state, basePath);
|
|
2558
|
+
if (streams) generation.streams = streams;
|
|
2559
|
+
}
|
|
2536
2560
|
const generateFullProject = takeBoolean(config, ["generateFullProject"], state, basePath);
|
|
2537
2561
|
if (generateFullProject !== void 0) generation.generateFullProject = generateFullProject;
|
|
2538
2562
|
const inlineTypes = takeBoolean(config, ["enableInlineTypes"], state, basePath);
|
|
@@ -2550,6 +2574,18 @@ function mapCommonConfig(language, config, state, client, generation, packageCon
|
|
|
2550
2574
|
if (packagePath !== void 0) generation.layout = { packagePath };
|
|
2551
2575
|
mapDependencies(config, state, packageConfig, basePath);
|
|
2552
2576
|
}
|
|
2577
|
+
function mapTypescriptStreams(config, state, basePath) {
|
|
2578
|
+
const responseType = takeEnum(config, ["streamType"], ["wrapper", "web"], state, basePath);
|
|
2579
|
+
const fileResponseType = takeEnum(
|
|
2580
|
+
config,
|
|
2581
|
+
["fileResponseType"],
|
|
2582
|
+
["stream", "binary-response"],
|
|
2583
|
+
state,
|
|
2584
|
+
basePath
|
|
2585
|
+
);
|
|
2586
|
+
if (responseType === void 0 && fileResponseType === void 0) return void 0;
|
|
2587
|
+
return { enabled: true, ...compact({ responseType, fileResponseType }) };
|
|
2588
|
+
}
|
|
2553
2589
|
function mapLanguageConfig(language, config, state, packageConfig, basePath) {
|
|
2554
2590
|
switch (language) {
|
|
2555
2591
|
case "typescript":
|
|
@@ -2583,29 +2619,39 @@ function mapLanguageConfig(language, config, state, packageConfig, basePath) {
|
|
|
2583
2619
|
}
|
|
2584
2620
|
}
|
|
2585
2621
|
function mapTypescript(config, state, packageConfig, basePath) {
|
|
2586
|
-
|
|
2622
|
+
const packageJsonManifest = mapPackageManifest(
|
|
2623
|
+
config,
|
|
2624
|
+
["packageJson"],
|
|
2625
|
+
state,
|
|
2626
|
+
packageConfig,
|
|
2627
|
+
basePath
|
|
2628
|
+
);
|
|
2629
|
+
const packageJsonPackageManager = packageJsonManifest ? takeString(packageJsonManifest.value, ["packageManager"], state, packageJsonManifest.path) : void 0;
|
|
2630
|
+
const packageManagerAtIndex = packageJsonPackageManager ? packageJsonPackageManager.indexOf("@", packageJsonPackageManager.startsWith("@") ? 1 : 0) : -1;
|
|
2631
|
+
const packageManagerVersionPart = packageManagerAtIndex >= 0 ? packageJsonPackageManager?.slice(packageManagerAtIndex + 1).split("+")[0] : void 0;
|
|
2632
|
+
const packageManagerVersion = packageManagerVersionPart || void 0;
|
|
2587
2633
|
const serdeLayer = takeBoolean(config, ["serdeLayer"], state, basePath);
|
|
2588
2634
|
const noSerdeLayer = takeBoolean(config, ["noSerdeLayer"], state, basePath);
|
|
2589
2635
|
const fetchSupport = takeEnum(config, ["fetchSupport"], ["native"], state, basePath);
|
|
2636
|
+
const namingObject = takeObject(config, ["naming"], state, basePath);
|
|
2637
|
+
const nestedNamespace = namingObject ? takeString(namingObject.value, ["namespace"], state, namingObject.path) : void 0;
|
|
2590
2638
|
return compact({
|
|
2591
2639
|
typescriptVersion: takeString(config, ["typescriptVersion"], state, basePath),
|
|
2592
2640
|
zodVersion: takeString(config, ["zodVersion"], state, basePath),
|
|
2593
2641
|
packageManager: takeEnum(config, ["packageManager"], ["pnpm", "yarn"], state, basePath),
|
|
2642
|
+
packageManagerVersion,
|
|
2594
2643
|
testFramework: takeEnum(config, ["testFramework"], ["jest", "vitest"], state, basePath),
|
|
2595
2644
|
httpClient: fetchSupport === "native" ? { name: "fetch" } : void 0,
|
|
2596
2645
|
bundle: takeBoolean(config, ["bundle"], state, basePath),
|
|
2597
2646
|
exportClassDefault: takeBoolean(config, ["exportClassDefault"], state, basePath),
|
|
2598
|
-
namespaceExportName: takeString(
|
|
2599
|
-
|
|
2600
|
-
["namespaceExportName", "namespaceExport"],
|
|
2601
|
-
state,
|
|
2602
|
-
basePath
|
|
2603
|
-
),
|
|
2647
|
+
namespaceExportName: takeString(config, ["namespaceExportName", "namespaceExport"], state, basePath) ?? nestedNamespace,
|
|
2648
|
+
consolidateTypeFiles: takeBoolean(config, ["consolidateTypeFiles"], state, basePath),
|
|
2604
2649
|
allowCustomFetcher: takeBoolean(config, ["allowCustomFetcher"], state, basePath),
|
|
2605
2650
|
useBrandedStringAliases: takeBoolean(config, ["useBrandedStringAliases"], state, basePath),
|
|
2606
2651
|
useLegacyExports: takeBoolean(config, ["useLegacyExports"], state, basePath),
|
|
2607
2652
|
useBigInt: takeBoolean(config, ["useBigInt"], state, basePath),
|
|
2608
|
-
serdeLayer: serdeLayer ?? (noSerdeLayer === void 0 ? void 0 : !noSerdeLayer)
|
|
2653
|
+
serdeLayer: serdeLayer ?? (noSerdeLayer === void 0 ? void 0 : !noSerdeLayer),
|
|
2654
|
+
esmOnly: takeBoolean(config, ["esmOnly"], state, basePath)
|
|
2609
2655
|
});
|
|
2610
2656
|
}
|
|
2611
2657
|
function mapPython(config, state, packageConfig, basePath) {
|
|
@@ -2716,7 +2762,8 @@ function mapCsharp(config, state, packageConfig, basePath) {
|
|
|
2716
2762
|
});
|
|
2717
2763
|
}
|
|
2718
2764
|
function mapPhp(config, state, packageConfig, basePath) {
|
|
2719
|
-
mapPackageManifest(config, ["composerJson"], state, packageConfig, basePath);
|
|
2765
|
+
const manifest = mapPackageManifest(config, ["composerJson"], state, packageConfig, basePath);
|
|
2766
|
+
if (manifest) mapComposerRequirements(manifest, state, packageConfig);
|
|
2720
2767
|
const packageName = takeString(config, ["packageName"], state, basePath);
|
|
2721
2768
|
if (packageName !== void 0) packageConfig.packageName = packageName;
|
|
2722
2769
|
return compact({
|
|
@@ -2724,6 +2771,20 @@ function mapPhp(config, state, packageConfig, basePath) {
|
|
|
2724
2771
|
generateClientInterfaces: takeBoolean(config, ["generateClientInterfaces"], state, basePath)
|
|
2725
2772
|
});
|
|
2726
2773
|
}
|
|
2774
|
+
function mapComposerRequirements(manifest, state, packageConfig) {
|
|
2775
|
+
const fields = [
|
|
2776
|
+
["require", "extraDependencies"],
|
|
2777
|
+
["require-dev", "extraDevDependencies"]
|
|
2778
|
+
];
|
|
2779
|
+
for (const [composerField, packageField] of fields) {
|
|
2780
|
+
const located = takeObject(manifest.value, [composerField], state, manifest.path);
|
|
2781
|
+
if (!located) continue;
|
|
2782
|
+
const dependencies = Object.entries(located.value).flatMap(
|
|
2783
|
+
([name, dependency]) => mapDependency(name, dependency, state, [...located.path, name])
|
|
2784
|
+
);
|
|
2785
|
+
if (dependencies.length) packageConfig[packageField] = dependencies;
|
|
2786
|
+
}
|
|
2787
|
+
}
|
|
2727
2788
|
function mapRuby(config, state, packageConfig, basePath) {
|
|
2728
2789
|
const moduleName = takeString(config, ["moduleName"], state, basePath);
|
|
2729
2790
|
if (moduleName !== void 0) packageConfig.moduleName = moduleName;
|
|
@@ -2893,28 +2954,52 @@ function takeCustomSections(value, language, activeLanguages, state, basePath) {
|
|
|
2893
2954
|
}
|
|
2894
2955
|
function mapPackageManifest(config, aliases, state, packageConfig, basePath) {
|
|
2895
2956
|
const manifest = takeObject(config, aliases, state, basePath);
|
|
2896
|
-
if (!manifest) return;
|
|
2957
|
+
if (!manifest) return void 0;
|
|
2897
2958
|
const packageName = takeString(manifest.value, ["name"], state, manifest.path);
|
|
2898
2959
|
const description = takeString(manifest.value, ["description"], state, manifest.path);
|
|
2960
|
+
const keywords = takeStringArray(manifest.value, ["keywords"], state, manifest.path);
|
|
2899
2961
|
const license = takeString(manifest.value, ["license"], state, manifest.path);
|
|
2900
2962
|
const author = takeObject(manifest.value, ["author"], state, manifest.path);
|
|
2901
2963
|
const authorName = author ? takeString(author.value, ["name"], state, author.path) : void 0;
|
|
2902
|
-
const authors =
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2964
|
+
const authors = [
|
|
2965
|
+
...authorName && author ? [
|
|
2966
|
+
compact({
|
|
2967
|
+
name: authorName,
|
|
2968
|
+
email: takeString(author.value, ["email"], state, author.path),
|
|
2969
|
+
url: takeString(author.value, ["url"], state, author.path)
|
|
2970
|
+
})
|
|
2971
|
+
] : [],
|
|
2972
|
+
...takeManifestAuthors(manifest, state)
|
|
2973
|
+
];
|
|
2909
2974
|
Object.assign(
|
|
2910
2975
|
packageConfig,
|
|
2911
2976
|
compact({
|
|
2912
2977
|
packageName,
|
|
2913
2978
|
description,
|
|
2914
|
-
|
|
2979
|
+
homepage: takeString(manifest.value, ["homepage"], state, manifest.path),
|
|
2980
|
+
keywords,
|
|
2981
|
+
authors: authors.length ? authors : void 0,
|
|
2915
2982
|
license: license ? { type: license } : void 0
|
|
2916
2983
|
})
|
|
2917
2984
|
);
|
|
2985
|
+
return manifest;
|
|
2986
|
+
}
|
|
2987
|
+
function takeManifestAuthors(manifest, state) {
|
|
2988
|
+
const located = locate(manifest.value, ["authors"], manifest.path);
|
|
2989
|
+
if (!located || !Array.isArray(located.value)) return [];
|
|
2990
|
+
return located.value.flatMap((entry, index) => {
|
|
2991
|
+
if (!isObject(entry)) return [];
|
|
2992
|
+
const path = [...located.path, index];
|
|
2993
|
+
const name = takeString(entry, ["name"], state, path);
|
|
2994
|
+
if (!name) return [];
|
|
2995
|
+
return [
|
|
2996
|
+
compact({
|
|
2997
|
+
name,
|
|
2998
|
+
email: takeString(entry, ["email"], state, path),
|
|
2999
|
+
url: takeString(entry, ["url"], state, path)
|
|
3000
|
+
})
|
|
3001
|
+
];
|
|
3002
|
+
});
|
|
2918
3003
|
}
|
|
2919
3004
|
function takePythonAdditionalInitExports(config, state, basePath) {
|
|
2920
3005
|
const located = locate(config, ["additionalInitExports"], basePath);
|